NREL / EnergyPlus

EnergyPlus™ is a whole building energy simulation program that engineers, architects, and researchers use to model both energy consumption and water use in buildings.
https://energyplus.net
Other
1.15k stars 392 forks source link

AirLoopHVAC:DedicatedOutdoorAirSystem vector issue in sizing #10814

Open mjwitte opened 2 weeks ago

mjwitte commented 2 weeks ago

Issue overview

User file fails here in debug:

https://github.com/NREL/EnergyPlus/blob/ec7398adcfbd2ba6bc71e72b57e3febb6cd99708/src/EnergyPlus/Autosizing/SystemAirFlowSizing.cc#L779-L782

this->curSysNum = 2, but state.dataSize->SysSizPeakDDNum size is only 1.

Seems related to the fixes in #10334 ?

Here's the call stack. image

Details

Some additional details for this issue (if relevant):

Checklist

Add to this list or remove from it as applicable. This is a simple templated set of guidelines.

rraustad commented 2 weeks ago

When CurSysNum > NumPrimaryAirSys, this indicates a DOAS system. From AirloopHVACDOAS:

state.dataSize->CurSysNum = state.dataHVACGlobal->NumPrimaryAirSys + this->m_AirLoopDOASNum + 1;
state.dataSize->CurOASysNum = this->m_OASystemNum;

SystemAirFlowSizing is called for the fans. This defect file has fans in the DOAS.

AirLoopHVAC:OutdoorAirSystem:EquipmentList,
  DOAS loop Outdoor air Equipment List,  !- Name
  Fan:SystemModel,         !- Component 1 Object Type
  DOAS loop DOAS AHU Supply Fan,  !- Component 1 Name
  Fan:SystemModel,         !- Component 2 Object Type
  DOAS loop DOAS AHU Extract Fan;  !- Component 2 Name

I don't see any checks for DOAS in this part of the SystemAirFlow sizing module, such as directly above in the heat recovery block or this from HeatingAirFlowSizing:

} else if (outsideAirSys(this->curOASysNum).AirLoopDOASNum > -1) {
    this->autoSizedValue =
        this->airloopDOAS[outsideAirSys(this->curOASysNum).AirLoopDOASNum].SizingMassFlow / state.dataEnvrn->StdRhoAir;