Add support for variable speed coils for SingleZoneVAV control type in AirLoopHVAC:UnitarySystem#11142
Add support for variable speed coils for SingleZoneVAV control type in AirLoopHVAC:UnitarySystem#11142
SingleZoneVAV control type in AirLoopHVAC:UnitarySystem#11142Conversation
lymereJ
left a comment
There was a problem hiding this comment.
Code walkthrough:
| } else if (this->m_SimASHRAEModel && this->m_SimASHRAEModelOn) { | ||
| state.dataUnitarySystems->CompOnMassFlow = this->m_HeatMassFlowRate[this->m_NumOfSpeedHeating]; | ||
| state.dataUnitarySystems->CompOnFlowRatio = this->m_MSHeatingSpeedRatio[this->m_NumOfSpeedHeating]; |
There was a problem hiding this comment.
Set the "compressor on" flow rate (and associated variable) to be the highest cooling/heating speed. This is only done when doing the SZVAV calculation. Changes below are similar.
|
|
||
| state->dataGlobal->BeginEnvrnFlag = true; | ||
|
|
||
| // Test for zone 1 - Heating |
There was a problem hiding this comment.
Add new unit test and check all operating "zones" of the SZVAV control strategy for both heating and cooling operation.
| add_simulation_test(IDF_FILE _5ZoneAirCooled_annual.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw ANNUAL_SIMULATION) | ||
| add_simulation_test(IDF_FILE _5ZoneAirCooled_LeapYear_annual.idf EPW_FILE MadeUpLeapYear.epw ANNUAL_SIMULATION) | ||
| add_simulation_test(IDF_FILE UnitarySystem_MultiSpeedDX_EconoStaging.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw ANNUAL_SIMULATION) | ||
| add_simulation_test(IDF_FILE UnitarySystem_VariableSpeedDX_SZVAV.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw ANNUAL_SIMULATION) |
There was a problem hiding this comment.
Add new example file; Results shown in the PR are generated from this file.
| bool m_ValidASHRAEHeatCoil = false; | ||
| bool m_SimASHRAEModel = false; // flag denoting that ASHRAE model (SZVAV) should be used | ||
| bool m_SimASHRAEModel = false; // flag denoting that ASHRAE model (SZVAV) should be used | ||
| bool m_SimASHRAEModelOn = false; // flag denoting that the SZVAV calculation is active |
There was a problem hiding this comment.
New flag to denote that the SZVAV calculation are being performed. This allows the initial calls to calcUnitarySystemToLoad in controlUnitarySystemOutput to not be based on the SZVAV flow rates, for example when determining which speed to pick to meet the load.
| if (this->m_SimASHRAEModel) { | ||
| this->m_HeatingCycRatio = PartLoadRatio; | ||
| this->m_HeatingSpeedRatio = 1.0; | ||
| } else if (this->m_SingleMode == 0) { |
There was a problem hiding this comment.
Single mode-like operation for SZVAV calcs.
| if (this->m_SimASHRAEModel) { | ||
| CoilPLR = PartLoadRatio; | ||
| } else if (this->m_CoolingSpeedNum > 1) { |
There was a problem hiding this comment.
Passing the actual PLR when running the SZVAV control strategy.
|
Results from the example file: Cooling Operation
Heating Operation
|
|
@lymereJ @Myoldmopar it has been 33 days since this pull request was last updated. |
| " Coil:Cooling:DX:VariableSpeed,", | ||
| " Sys 2 Furnace DX Cool Cooling Coil, !- Name", | ||
| " Sys 2 Furnace DX Cool Mixed Air Outlet, !- Indoor Air Inlet Node Name", | ||
| " Sys 2 Furnace DX Cool Cooling Coil Outlet, !- Indoor Air Outlet Node Name", | ||
| " 3, !- Number of Speeds {dimensionless}", | ||
| " 3, !- Nominal Speed Level {dimensionless}", | ||
| " 3513.72009, !- Gross Rated Total Cooling Capacity At Selected Nominal Speed Level {W}", |
There was a problem hiding this comment.
Not the most critical issue, but can you cleanup the comment alignment a bit here to help with readability?
|
We'll try this one more time. It builds fine locally on my Arm64 Mac. |
|
Everyone seems happy here, and this has lingered long enough. Merging. |








Pull request overview
Addresses #10866: the EMS code developed by TRANE was similar to the
calcSZVAVModelroutine already implemented in EnergyPlus and available through theSingleZoneVAVcontrol type forAirLoopHVAC:UnitarySystemobjects. TRANE requested that we add support for variable speed coil objects.Description of the purpose of this PR
The
SingleZoneVAVcontrol type forAirLoopHVAC:UnitarySystemcurrently only supportsCoil:Cooling/Heating:WaterorCoil:Cooling/Heating:DX:SingleSpeedcoil objects. This new feature add support forCoil:Cooling/Heating:DX:VariableSpeed.Pull Request Author
Reviewer