Skip to content

Commit

Permalink
Get file to run and report system name
Browse files Browse the repository at this point in the history
  • Loading branch information
rraustad committed Dec 15, 2023
1 parent 8b79a80 commit 08733a7
Show file tree
Hide file tree
Showing 5 changed files with 140 additions and 74 deletions.
1 change: 0 additions & 1 deletion src/EnergyPlus/AirLoopHVACDOAS.cc
Original file line number Diff line number Diff line change
Expand Up @@ -853,7 +853,6 @@ namespace AirLoopHVACDOAS {
if (state.dataGlobal->BeginEnvrnFlag && this->MyEnvrnFlag) {
bool ErrorsFound = false;
Real64 rho;
state.dataSize->CurSysNum = this->m_OASystemNum;
for (int CompNum = 1; CompNum <= state.dataAirLoop->OutsideAirSys(this->m_OASystemNum).NumComponents; ++CompNum) {
std::string CompType = state.dataAirLoop->OutsideAirSys(this->m_OASystemNum).ComponentType(CompNum);
std::string CompName = state.dataAirLoop->OutsideAirSys(this->m_OASystemNum).ComponentName(CompNum);
Expand Down
2 changes: 1 addition & 1 deletion src/EnergyPlus/Autosizing/HeatingCapacitySizing.cc
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,7 @@ Real64 HeatingCapacitySizer::size(EnergyPlusData &state, Real64 _originalValue,

this->selectSizerOutput(state, errorsFound);

if (this->isCoilReportObject && this->curSysNum <= state.dataHVACGlobal->NumPrimaryAirSys) {
if (this->isCoilReportObject) {
if (CoilInTemp > -999.0) { // set inlet air properties used during capacity sizing if available, allow for negative winter temps
state.dataRptCoilSelection->coilSelectionReportObj->setCoilEntAirTemp(
state, this->compName, this->compType, CoilInTemp, this->curSysNum, this->curZoneEqNum);
Expand Down
61 changes: 54 additions & 7 deletions src/EnergyPlus/ReportCoilSelection.cc
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
#include <string>

// EnergyPlus Headers
#include <EnergyPlus/AirLoopHVACDOAS.hh>
#include <EnergyPlus/BoilerSteam.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <EnergyPlus/DataAirLoop.hh>
Expand Down Expand Up @@ -149,7 +150,9 @@ void ReportCoilSelection::writeCoilSelectionOutput(EnergyPlusData &state)
OutputReportPredefined::PreDefTableEntry(state,
state.dataOutRptPredefined->pdchHeatCoilAirloopName,
c->coilName_,
c->airloopNum > 0 ? state.dataAirSystemsData->PrimaryAirSystems(c->airloopNum).Name : "N/A");
c->airloopNum > 0 && c->airloopNum <= state.dataHVACGlobal->NumPrimaryAirSys
? state.dataAirSystemsData->PrimaryAirSystems(c->airloopNum).Name
: "N/A");
OutputReportPredefined::PreDefTableEntry(state,
state.dataOutRptPredefined->pdchHeatCoilPlantloopName,
c->coilName_,
Expand Down Expand Up @@ -248,7 +251,9 @@ void ReportCoilSelection::writeCoilSelectionOutput(EnergyPlusData &state)
OutputReportPredefined::PreDefTableEntry(state,
state.dataOutRptPredefined->pdchCoilAirloopName_CCs,
c->coilName_,
c->airloopNum > 0 ? state.dataAirSystemsData->PrimaryAirSystems(c->airloopNum).Name : "N/A");
c->airloopNum > 0 && c->airloopNum <= state.dataHVACGlobal->NumPrimaryAirSys
? state.dataAirSystemsData->PrimaryAirSystems(c->airloopNum).Name
: "N/A");
OutputReportPredefined::PreDefTableEntry(state, state.dataOutRptPredefined->pdchCoilPlantloopName_CCs, c->coilName_, c->plantLoopName);
// end of std 229 New coil connections table entries

Expand Down Expand Up @@ -543,7 +548,7 @@ void ReportCoilSelection::doAirLoopSetup(EnergyPlusData &state, int const coilVe
{
// this routine sets up some things for central air systems, needs to follow setting of an airloop num
auto &c(coilSelectionDataObjs[coilVecIndex]);
if (c->airloopNum > 0 && allocated(state.dataAirSystemsData->PrimaryAirSystems)) {
if (c->airloopNum > 0 && c->airloopNum <= state.dataAirSystemsData->PrimaryAirSystems.size()) {
// see if there is an OA controller
if (state.dataAirSystemsData->PrimaryAirSystems(c->airloopNum).OASysExists) {
// loop over OA controllers and match node num ?
Expand Down Expand Up @@ -735,7 +740,12 @@ void ReportCoilSelection::doFinalProcessingOfCoilData(EnergyPlusData &state)
} // if (zoneEquipList.numOfEquipTypes > 0)
} // if (c->ZoneEqNum > 0)

if (c->airloopNum > 0 && c->zoneEqNum == 0) {
if (c->airloopNum > state.dataHVACGlobal->NumPrimaryAirSys && c->oASysNum > 0) {
c->coilLocation = "DOAS AirLoop";
c->typeHVACname = "AirLoopHVAC:DedicatedOutdoorAirSystem";
int DOASSysNum = state.dataAirLoop->OutsideAirSys(c->oASysNum).AirLoopDOASNum;
c->userNameforHVACsystem = state.dataAirLoopHVACDOAS->airloopDOAS[DOASSysNum].Name;
} else if (c->airloopNum > 0 && c->zoneEqNum == 0) {
c->coilLocation = "AirLoop";
c->typeHVACname = "AirLoopHVAC";
c->userNameforHVACsystem = state.dataAirSystemsData->PrimaryAirSystems(c->airloopNum).Name;
Expand Down Expand Up @@ -1276,7 +1286,8 @@ void ReportCoilSelection::setCoilCoolingCapacity(
// if ( c->zoneEqNum > 0 ) doZoneEqSetup( index );
c->oASysNum = curOASysNum;

if (curSysNum > 0 && c->zoneEqNum == 0 && allocated(state.dataSize->FinalSysSizing) && allocated(SysSizPeakDDNum)) {
if (curSysNum > 0 && c->zoneEqNum == 0 && allocated(state.dataSize->FinalSysSizing) && allocated(SysSizPeakDDNum) &&
curSysNum <= state.dataHVACGlobal->NumPrimaryAirSys) {

// These next blocks does not always work with SizingPeriod:WeatherFileDays or SizingPeriod:WeatherFileConditionType, protect against hard
// crash
Expand Down Expand Up @@ -1530,7 +1541,7 @@ void ReportCoilSelection::setCoilHeatingCapacity(
doAirLoopSetup(state, index);
c->zoneEqNum = curZoneEqNum;
// if ( c->zoneEqNum > 0 ) doZoneEqSetup( index );
if (curSysNum > 0 && c->zoneEqNum == 0 && allocated(state.dataSize->FinalSysSizing)) {
if (curSysNum > 0 && c->zoneEqNum == 0 && curSysNum <= state.dataSize->FinalSysSizing.size()) {
auto &finalSysSizing = state.dataSize->FinalSysSizing(curSysNum);
c->desDayNameAtSensPeak = finalSysSizing.HeatDesDay;

Expand Down Expand Up @@ -1755,6 +1766,42 @@ void ReportCoilSelection::setCoilHeatingCapacity(
c->coilDesLvgWetBulb = Psychrometrics::PsyTwbFnTdbWPb(
state, c->coilDesLvgTemp, c->coilDesLvgHumRat, state.dataEnvrn->StdBaroPress, "ReportCoilSelection::setCoilHeatingCapacity");
c->coilDesLvgEnth = Psychrometrics::PsyHFnTdbW(c->coilDesLvgTemp, c->coilDesLvgHumRat);
} else if (curOASysNum > 0 && c->airloopNum > state.dataHVACGlobal->NumPrimaryAirSys) {
if (!state.dataAirLoopHVACDOAS->airloopDOAS.empty()) {
c->oASysNum = curOASysNum; // where should this get set? It's -999 here.
int DOASSysNum = state.dataAirLoop->OutsideAirSys(curOASysNum).AirLoopDOASNum;
c->coilDesEntTemp = state.dataAirLoopHVACDOAS->airloopDOAS[DOASSysNum].HeatOutTemp;
c->coilDesEntHumRat = state.dataAirLoopHVACDOAS->airloopDOAS[DOASSysNum].HeatOutHumRat;
if (c->coilDesEntTemp > -999.0 && c->coilDesEntHumRat > -999.0) {
c->coilDesEntWetBulb = Psychrometrics::PsyTwbFnTdbWPb(
state, c->coilDesEntTemp, c->coilDesEntHumRat, state.dataEnvrn->StdBaroPress, "ReportCoilSelection::setCoilHeatingCapacity");
c->coilDesEntEnth = Psychrometrics::PsyHFnTdbW(c->coilDesEntTemp, c->coilDesEntHumRat);
}
c->coilDesLvgTemp = state.dataAirLoopHVACDOAS->airloopDOAS[DOASSysNum].PreheatTemp;
c->coilDesLvgHumRat = state.dataAirLoopHVACDOAS->airloopDOAS[DOASSysNum].PreheatHumRat;
if (c->coilDesLvgTemp > -999.0 && c->coilDesLvgHumRat > -999.0) {
c->coilDesLvgWetBulb = Psychrometrics::PsyTwbFnTdbWPb(
state, c->coilDesLvgTemp, c->coilDesLvgHumRat, state.dataEnvrn->StdBaroPress, "ReportCoilSelection::setCoilHeatingCapacity");
c->coilDesLvgEnth = Psychrometrics::PsyHFnTdbW(c->coilDesLvgTemp, c->coilDesLvgHumRat);
}
int sizMethod = 0;
bool sizMethodsAreTheSame = true;
for (int airLoopNum = 0; airLoopNum < state.dataAirLoopHVACDOAS->airloopDOAS[DOASSysNum].m_AirLoopNum.size(); ++airLoopNum) {
int actualAirLoopNum = state.dataAirLoopHVACDOAS->airloopDOAS[DOASSysNum].m_AirLoopNum[airLoopNum];
if (airLoopNum == 0) {
sizMethod = state.dataSize->FinalSysSizing(actualAirLoopNum).SizingOption;
} else {
if (sizMethod != state.dataSize->FinalSysSizing(actualAirLoopNum).SizingOption) {
sizMethodsAreTheSame = false;
}
}
}
if (sizMethodsAreTheSame) {
c->coilSizingMethodConcurrence = sizMethod;
} else {
// c->coilSizingMethodConcurrence = DataSizing::Combination; // TRANE
}
}
} else {
// do nothing
}
Expand All @@ -1772,7 +1819,7 @@ void ReportCoilSelection::setCoilHeatingCapacity(
c->coilDesMassFlow = finalZoneSizing.DesHeatMassFlow;
c->coilDesVolFlow = c->coilDesMassFlow / state.dataEnvrn->StdRhoAir;
}
} else if (curSysNum > 0 && allocated(state.dataSize->FinalSysSizing)) {
} else if (curSysNum > 0 && curSysNum <= state.dataHVACGlobal->NumPrimaryAirSys) {
auto &finalSysSizing = state.dataSize->FinalSysSizing(curSysNum);
if (curOASysNum > 0 && allocated(state.dataSize->OASysEqSizing)) {
auto &oASysEqSizing = state.dataSize->OASysEqSizing(curSysNum);
Expand Down
4 changes: 3 additions & 1 deletion src/EnergyPlus/UnitarySystem.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15933,7 +15933,9 @@ namespace UnitarySystems {
thisOASysEqSizing.HeatingCapacity = false;
this->m_FirstPass = false;
} else if (state.dataSize->CurSysNum > 0) {
state.dataAirLoop->AirLoopControlInfo(state.dataSize->CurSysNum).UnitarySysSimulating = false;
if (state.dataSize->CurSysNum <= state.dataHVACGlobal->NumPrimaryAirSys) {
state.dataAirLoop->AirLoopControlInfo(state.dataSize->CurSysNum).UnitarySysSimulating = false;
}
DataSizing::resetHVACSizingGlobals(state, state.dataSize->CurZoneEqNum, state.dataSize->CurSysNum, this->m_FirstPass);
} else if (state.dataSize->CurZoneEqNum > 0) {
DataSizing::resetHVACSizingGlobals(state, state.dataSize->CurZoneEqNum, state.dataSize->CurSysNum, this->m_FirstPass);
Expand Down
Loading

5 comments on commit 08733a7

@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.

10332-DOAS-incorrect-system-name-in-CoilDetails (rraustad) - x86_64-Linux-Ubuntu-22.04-gcc-11.4: OK (3573 of 3587 tests passed, 0 test warnings)

Messages:\n

  • 8 tests had: Table big diffs.

Failures:\n

integration Test Summary

  • Passed: 786
  • Failed: 6

regression Test Summary

  • Passed: 798
  • Failed: 8

Build Badge Test Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

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

10332-DOAS-incorrect-system-name-in-CoilDetails (rraustad) - Win64-Windows-10-VisualStudio-16: OK (2753 of 2759 tests passed, 0 test warnings)

Failures:\n

integration Test Summary

  • Passed: 783
  • Failed: 6

Build Badge Test Badge

@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.

10332-DOAS-incorrect-system-name-in-CoilDetails (rraustad) - x86_64-MacOS-10.17-clang-14.0.0: OK (3532 of 3546 tests passed, 0 test warnings)

Messages:\n

  • 8 tests had: Table big diffs.

Failures:\n

integration Test Summary

  • Passed: 783
  • Failed: 6

regression Test Summary

  • Passed: 778
  • Failed: 8

Build Badge Test Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

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

10332-DOAS-incorrect-system-name-in-CoilDetails (rraustad) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-IntegrationCoverage-Debug: Tests Failed (689 of 790 tests passed, 0 test warnings)

Failures:\n

integration Test Summary

  • Passed: 689
  • Failed: 101

Build Badge Test Badge Coverage 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.

10332-DOAS-incorrect-system-name-in-CoilDetails (rraustad) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-UnitTestsCoverage-Debug: OK (1971 of 1972 tests passed, 0 test warnings)

Failures:\n

EnergyPlusFixture Test Summary

  • Passed: 1485
  • Failed: 1

Build Badge Test Badge Coverage Badge

Please sign in to comment.