Skip to content

Commit

Permalink
RAMAN
Browse files Browse the repository at this point in the history
  • Loading branch information
jmythms committed Mar 19, 2021
1 parent 7e0de59 commit d40f4a9
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 42 deletions.
52 changes: 18 additions & 34 deletions src/EnergyPlus/RoomAirModelAirflowNetwork.cc
Original file line number Diff line number Diff line change
Expand Up @@ -110,25 +110,9 @@ namespace RoomAirModelAirflowNetwork {
using namespace DataHeatBalance;

// Object Data
Array1D<RAFNData> RAFN;

namespace {
bool InitRoomAirModelAirflowNetworkOneTimeFlag(true);
bool InitRoomAirModelAirflowNetworkOneTimeFlagConf(true);
bool InitRoomAirModelAirflowNetworkEnvrnFlag(true);
bool LoadPredictionRoomAirModelAirflowNetworkOneTimeFlag(true);
} // namespace

// Functions

void clear_state()
{
InitRoomAirModelAirflowNetworkOneTimeFlag = true;
InitRoomAirModelAirflowNetworkOneTimeFlagConf = true;
InitRoomAirModelAirflowNetworkEnvrnFlag = true;
LoadPredictionRoomAirModelAirflowNetworkOneTimeFlag = true;
RAFN.deallocate();
}

void SimRoomAirModelAirflowNetwork(EnergyPlusData &state, int const ZoneNum) // index number for the specified zone
{
Expand Down Expand Up @@ -162,7 +146,7 @@ namespace RoomAirModelAirflowNetwork {
ShowFatalError(state, "SimRoomAirModelAirflowNetwork: Zone is not defined in the RoomAirModelAirflowNetwork model =" + state.dataHeatBal->Zone(ZoneNum).Name);
}

auto &thisRAFN(RAFN(RAFNNum));
auto &thisRAFN(state.dataRoomAirflowNetModel->RAFN(RAFNNum));
thisRAFN.ZoneNum = ZoneNum;

// model control volume for each roomAir:node in the zone.
Expand Down Expand Up @@ -204,14 +188,14 @@ namespace RoomAirModelAirflowNetwork {

// SUBROUTINE LOCAL VARIABLE DECLARATIONS:
//////////// hoisted into namespace ////////////////////////////////////////////////
// static bool OneTimeFlag_FindFirstLastPtr( true ); // one time setup flag // LoadPredictionRoomAirModelAirflowNetworkOneTimeFlag
// static bool OneTimeFlag_FindFirstLastPtr( true ); // one time setup flag // state.dataRoomAirflowNetModel->LoadPredictionRoomAirModelAirflowNetworkOneTimeFlag
////////////////////////////////////////////////////////////////////////////////////
int RAFNNum;


if (LoadPredictionRoomAirModelAirflowNetworkOneTimeFlag) {
RAFN.allocate(state.dataRoomAirMod->NumOfRoomAirflowNetControl);
LoadPredictionRoomAirModelAirflowNetworkOneTimeFlag = false;
if (state.dataRoomAirflowNetModel->LoadPredictionRoomAirModelAirflowNetworkOneTimeFlag) {
state.dataRoomAirflowNetModel->RAFN.allocate(state.dataRoomAirMod->NumOfRoomAirflowNetControl);
state.dataRoomAirflowNetModel->LoadPredictionRoomAirModelAirflowNetworkOneTimeFlag = false;
}

RAFNNum = state.dataRoomAirMod->RoomAirflowNetworkZoneInfo(ZoneNum).RAFNNum;
Expand All @@ -220,7 +204,7 @@ namespace RoomAirModelAirflowNetwork {
ShowFatalError(state, "LoadPredictionRoomAirModelAirflowNetwork: Zone is not defined in the RoomAirModelAirflowNetwork model =" +
state.dataHeatBal->Zone(ZoneNum).Name);
}
auto &thisRAFN(RAFN(RAFNNum));
auto &thisRAFN(state.dataRoomAirflowNetModel->RAFN(RAFNNum));
thisRAFN.ZoneNum = ZoneNum;

thisRAFN.InitRoomAirModelAirflowNetwork(state, RoomAirNode);
Expand All @@ -247,9 +231,9 @@ namespace RoomAirModelAirflowNetwork {

// SUBROUTINE LOCAL VARIABLE DECLARATIONS:
//////////// hoisted into namespace ////////////////////////////////////////////////
// static bool MyOneTimeFlag( true ); // one time setup flag // InitRoomAirModelAirflowNetworkOneTimeFlag
// static bool MyOneTimeFlagConf( true ); // one time setup flag for zone configuration // InitRoomAirModelAirflowNetworkOneTimeFlagConf
// static bool MyEnvrnFlag( true ); // one time setup flag for zone configuration // InitRoomAirModelAirflowNetworkEnvrnFlag
// static bool MyOneTimeFlag( true ); // one time setup flag // state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkOneTimeFlag
// static bool MyOneTimeFlagConf( true ); // one time setup flag for zone configuration // state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkOneTimeFlagConf
// static bool MyEnvrnFlag( true ); // one time setup flag for zone configuration // state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkEnvrnFlag
////////////////////////////////////////////////////////////////////////////////////
Real64 SumLinkMCp;
Real64 SumLinkMCpT;
Expand Down Expand Up @@ -279,7 +263,7 @@ namespace RoomAirModelAirflowNetwork {
Array1D<Real64> SupplyFrac;
Array1D<Real64> ReturnFrac;

if (InitRoomAirModelAirflowNetworkOneTimeFlag) { // then do one - time setup inits
if (state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkOneTimeFlag) { // then do one - time setup inits

// loop over all zones with RoomAirflowNetwork model
for (LoopZone = 1; LoopZone <= state.dataGlobal->NumOfZones; ++LoopZone) {
Expand Down Expand Up @@ -317,10 +301,10 @@ namespace RoomAirModelAirflowNetwork {
state.dataRoomAirMod->RoomAirflowNetworkZoneInfo(LoopZone).Node(LoopAirNode).Name);
}
}
InitRoomAirModelAirflowNetworkOneTimeFlag = false;
state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkOneTimeFlag = false;
}

if (InitRoomAirModelAirflowNetworkOneTimeFlagConf) { // then do one - time setup inits
if (state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkOneTimeFlagConf) { // then do one - time setup inits
if (allocated(state.dataZoneEquip->ZoneEquipConfig) && allocated(state.dataZoneEquip->ZoneEquipList)) {
MaxNodeNum = 0;
MaxEquipNum = 0;
Expand Down Expand Up @@ -490,15 +474,15 @@ namespace RoomAirModelAirflowNetwork {
}
}
}
InitRoomAirModelAirflowNetworkOneTimeFlagConf = false;
state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkOneTimeFlagConf = false;
if (allocated(NodeFound)) NodeFound.deallocate();
if (ErrorsFound) {
ShowFatalError(state, "GetRoomAirflowNetworkData: Errors found getting air model input. Program terminates.");
}
}
} // End of InitRoomAirModelAirflowNetworkOneTimeFlagConf
} // End of state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkOneTimeFlagConf

if (state.dataGlobal->BeginEnvrnFlag && InitRoomAirModelAirflowNetworkEnvrnFlag) {
if (state.dataGlobal->BeginEnvrnFlag && state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkEnvrnFlag) {
for (LoopZone = 1; LoopZone <= state.dataGlobal->NumOfZones; ++LoopZone) {
if (!state.dataRoomAirMod->RoomAirflowNetworkZoneInfo(LoopZone).IsUsed) continue;
for (LoopAirNode = 1; LoopAirNode <= state.dataRoomAirMod->RoomAirflowNetworkZoneInfo(LoopZone).NumOfAirNodes;
Expand Down Expand Up @@ -533,10 +517,10 @@ namespace RoomAirModelAirflowNetwork {
state.dataRoomAirMod->RoomAirflowNetworkZoneInfo(LoopZone).Node(LoopAirNode).SysDepZoneLoadsLaggedOld = 0.0;
}
}
InitRoomAirModelAirflowNetworkEnvrnFlag = false;
state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkEnvrnFlag = false;
}
if (!state.dataGlobal->BeginEnvrnFlag) {
InitRoomAirModelAirflowNetworkEnvrnFlag = true;
state.dataRoomAirflowNetModel->InitRoomAirModelAirflowNetworkEnvrnFlag = true;
}

// reuse code in ZoneTempPredictorCorrector for sensible components.
Expand Down Expand Up @@ -846,7 +830,7 @@ namespace RoomAirModelAirflowNetwork {
Real64 SumSysM; // !Zone sum of air system MassFlowRate
Real64 SumSysMW; // !Zone sum of air system MassFlowRate*W
int EquipLoop; // !Index of equipment loop
int Loop; // !Index of RAFN node
int Loop; // !Index of state.dataRoomAirflowNetModel->RAFN node
bool Found; //
Real64 SumLinkM; // !Zone sum of MassFlowRate from the AirflowNetwork model
Real64 SumLinkMW; // !Zone sum of MassFlowRate*W from the AirflowNetwork model
Expand Down
14 changes: 10 additions & 4 deletions src/EnergyPlus/RoomAirModelAirflowNetwork.hh
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,6 @@ namespace RoomAirModelAirflowNetwork {
};

// Object data
extern Array1D<RAFNData> RAFN;

void clear_state();

void SimRoomAirModelAirflowNetwork(EnergyPlusData &state, int const ZoneNum); // index number for the specified zone

Expand All @@ -112,10 +109,19 @@ namespace RoomAirModelAirflowNetwork {

struct RoomAirModelAirflowNetworkData : BaseGlobalStruct
{
bool InitRoomAirModelAirflowNetworkOneTimeFlag = true;
bool InitRoomAirModelAirflowNetworkOneTimeFlagConf = true;
bool InitRoomAirModelAirflowNetworkEnvrnFlag = true;
bool LoadPredictionRoomAirModelAirflowNetworkOneTimeFlag = true;
Array1D<RoomAirModelAirflowNetwork::RAFNData> RAFN;

void clear_state() override
{

this->InitRoomAirModelAirflowNetworkOneTimeFlag = true;
this->InitRoomAirModelAirflowNetworkOneTimeFlagConf = true;
this->InitRoomAirModelAirflowNetworkEnvrnFlag = true;
this->LoadPredictionRoomAirModelAirflowNetworkOneTimeFlag = true;
this->RAFN.clear();
}
};

Expand Down
2 changes: 0 additions & 2 deletions src/EnergyPlus/StateManagement.cc
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@
#include <EnergyPlus/Photovoltaics.hh>
#include <EnergyPlus/Psychrometrics.hh>
#include <EnergyPlus/ReportCoilSelection.hh>
#include <EnergyPlus/RoomAirModelAirflowNetwork.hh>
#include <EnergyPlus/RoomAirModelUserTempPattern.hh>
#include <EnergyPlus/ScheduleManager.hh>

Expand Down Expand Up @@ -151,6 +150,5 @@ void EnergyPlus::clearAllStates(EnergyPlusData &state)
PhotovoltaicThermalCollectors::clear_state();
Psychrometrics::clear_state();
PVWatts::clear_state();
RoomAirModelAirflowNetwork::clear_state();
ScheduleManager::clear_state();
}
4 changes: 2 additions & 2 deletions tst/EnergyPlus/unit/RoomAirflowNetwork.unit.cc
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ class RoomAirflowNetworkTest : public EnergyPlusFixture
state->dataAirflowNetwork->AirflowNetworkLinkageData.allocate(5);
state->dataAirflowNetwork->AirflowNetworkNodeSimu.allocate(6);
state->dataAirflowNetwork->AirflowNetworkLinkSimu.allocate(5);
RAFN.allocate(state->dataGlobal->NumOfZones);
state->dataRoomAirflowNetModel->RAFN.allocate(state->dataGlobal->NumOfZones);
}

virtual void TearDown()
Expand Down Expand Up @@ -289,7 +289,7 @@ TEST_F(RoomAirflowNetworkTest, RAFNTest)
PsyCpAirFnW(state->dataHeatBalFanSys->ZoneAirHumRat(ZoneNum)));

RoomAirNode = 1;
auto &thisRAFN(RAFN(ZoneNum));
auto &thisRAFN(state->dataRoomAirflowNetModel->RAFN(ZoneNum));
thisRAFN.ZoneNum = ZoneNum;

thisRAFN.InitRoomAirModelAirflowNetwork(*state, RoomAirNode);
Expand Down

4 comments on commit d40f4a9

@nrel-bot-3
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Global-Psychrometrics (jmythms) - x86_64-MacOS-10.15-clang-11.0.0: OK (3065 of 3065 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot-2b
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Global-Psychrometrics (jmythms) - x86_64-Linux-Ubuntu-18.04-gcc-7.5: OK (3104 of 3105 tests passed, 0 test warnings)

Messages:\n

  • 1 test had: EIO diffs.
  • 1 test had: ESO small diffs.
  • 1 test had: MTR small diffs.
  • 1 test had: Table big diffs.

Failures:\n

regression Test Summary

  • Passed: 741
  • Failed: 1

Build Badge Test Badge

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Global-Psychrometrics (jmythms) - x86_64-Linux-Ubuntu-18.04-gcc-7.5-UnitTestsCoverage-Debug: OK (1618 of 1619 tests passed, 0 test warnings)

Failures:\n

API Test Summary

  • Passed: 10
  • NUMERICAL: 1

Build Badge Test Badge Coverage Badge

@nrel-bot-2b
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Global-Psychrometrics (jmythms) - x86_64-Linux-Ubuntu-18.04-gcc-7.5-IntegrationCoverage-Debug: OK (726 of 727 tests passed, 0 test warnings)

Failures:\n

integration Test Summary

  • Passed: 726
  • Timeout: 1

Build Badge Test Badge Coverage Badge

Please sign in to comment.