Zone Equipment Simulation[LINK]
When the EnergyPlus HVAC simulation manager needs to simulate the zone equipment side of the air loop it calls ManageZoneEquipment, the zone equipment simulation manager subroutine. Like the other managers, ManageZoneEquipment has a very simple structure:
IF (GetInputFlag) THEN
CALL GetZoneEquipment
GetInputFlag = .FALSE.
END IF
CALL InitZoneEquipment(FirstHVACIteration)
IF (ZoneSizingCalc) THEN
CALL SizeZoneEquipment
ELSE
CALL SimZoneEquipment(FirstHVACIteration, SimAir)
END IF
CALL RecordZoneEquipment(SimAir)
CALL ReportZoneEquipment
SimZone = .False.
RETURN
If the user input data has not been input, get the data and store it in the zone equipment data structures
Perform zone equipment initialization calculations.
If calculation of the design zone air flow rates and loads needs to be done, do it. The results of this calculation are stored in the zone sizing and air terminal sizing data structures and used by the component automatic sizing algorithms and the central system sizing calculations.
Otherwise simulate all of the zone equipment.
Transfer the zone equipment outlet node data to the inlet nodes of the primary air systems and check for convergence (done in RecordZoneEquipment by calling UpdateHVACInterface).
The input specifying a set of zone equipment consists of:
-
the ZoneHVAC:EquipmentConnections object data;
the zone connection to the air loop – air inlet nodes, exhaust nodes, return nodes, and zone node;
the components serving each zone – air terminal units, fan coils etc.;
-
zone supply air path data;
- zone splitters and supply plenums;
-
zone return air path data;
- zone mixers and return plenums;
Initialization Calculations[LINK]
One Time Calculations[LINK]
There are no one time calculations for zone equipment
Begin Environment Initializations[LINK]
For each controlled zone initialize the zone inlet, exhaust and zone nodes to standard conditions. Namely:
Tnode=20oC
Wnode=Woa
hnode=PsyHFnTdbW(20.0,Woa)
˙mnode=0
Qunode=1.0
pnode=poa
where Woa is the humidity of the outside air; PsyHFnTdbW is the EnergyPlus psychrometric function for enthalpy h, given temperature and humidity ratio; poa is the pressure of the outside air; and Qu is quality.
System Time Step Initializations[LINK]
For each controlled zone, set the exhaust nodes conditions equal to the zone node conditions; except set the exhaust nodes mass flow rate and min and max available mass flow rates to zero.
The subroutine SimZoneEquipment does the actual simulation of all the zone equipment. Note that this includes components that are part of the demand side of an air loop as well as components that are independent of any air loop.
For zone equipment components that are part of the demand side of an air loop the simulation sequence is effectively performed in the direction of the air flow. First the supply air plenums and zone splitters are simulated in their input order. Then the air terminal units are simulated followed by the zone return plenums and zone mixer. Each air terminal unit sets its inlet node to the air mass flow rate required to satisfy its zone load. These mass flow rates are then passed back upstream to the air loop demand-side inlet nodes at the end of each zone equipment simulation sequence. These demand-side inlet mass flow rates are then used as mass flow rate setpoints in the air loop supply-side simulation.
If multiple air-conditioning components are attached to a zone, the components are simulated in the order specified by the user assigned priority given in the ZoneHVAC:EquipmentList object, using one of four load distribution schemes. See Zone Equipment Load Distribution described in 1.4
For each full air loop there should be 1 supply air path for each primary air system outlet (i.e. 1 for single duct systems, 2 for dual duct systems). For each full air loop there may be one return air path. The supply air paths consist of any combination of zone splitters and zone supply air plenums as long as it forms a tree structure with the supply air path inlet node the root and the air terminal unit inlet nodes as the leaves. The return air paths consist of any combination of zone mixers and zone return air plenums as long as it forms a tree structure with the demand-side outlet node the root and the zone return air nodes as the leaves.
-
Loop over all the supply air paths.
- Loop over each component (supply plenum or zone splitter) on the supply air path and simulate each component. The components are simulated in input order.
-
Loop over all the controlled zones.
Set the required system output.
-
Loop over the components serving the zone in the user prioritized order.
Simulate each component.
Increment the required system output.
-
Loop over all the supply air paths
Loop over the components on each supply air path in reverse input order. This reverse order simulation passes the air terminal units inlet mass flows back upstream to the return air path inlet node.
Check to see if the supply air path inlet node mass flow rate has changed. If it has set the SimAir flag to true. This signals the HVAC manager that the supply-side of the air loop needs to be resimulated.
Calculate the zone air flow mass balance – the zone inlet and exhaust mass flow rates are summed and the zone node and return air node mass flow rates are determined by a mass balance for each zone.
Calculate the conditions at each zone return air node. Here energy not included in the zone energy balance such as light-heat-to-return-air is added to the return nodes of the controlled zones.
-
Loop over all of the return air paths.
- Loop over each component (return plenum or zone mixer) on the return air path and simulate each component.
This completes a single simulation sequence of all the zone equipment.
Zone Equipment Load Distribution[LINK]
The function DistributeSystemOutputRequired allocates the current zone load among the available pieces of zone equipment for the current load type (cooling, heating, or no-load). Because some air loop components such as AirLoopHVAC:UnitarySystem may be controlled based on a control zone load, the sequenced loads must be known prior to the final iteration of the HVAC simulation so that the air loop equipment will adjust its output accordingly. When the zone equipment list is initially read, the maximum number of equipment across all zones is used to set the number of air loop iterations required after the initial iteration, MinAirLoopIterationsAfterFirst. The control sequence is shown below.
-
Initial iteration (FirstHVACIteration is true)
Set all sequenced loads to the full zone design load for the current load type (cooling or heating).
Simulate air loops and zone equipment.
Do not adjust any of the sequenced loads - all equipment is called with the design load.
Store the sensible output (capacity) for each piece of equipment.
-
Second iteration (FirstHVACIteration is false)
-
Set all sequenced loads according to the specified load distribution scheme:
SequentialLoad - Initially all sequenced loads are set to the full load required.
UniformLoad - The sequenced loads for all active equipment are set to the full load divided by the number of active pieces of equipment. All inactive sequenced loads are set to zero.
UniformPLR - Using the current equipment capacities (stored during the initial iteration), distribute the load among the available pieces of equipment, such that each one is operating at the same part load ratio (PLR).
SequentialUniformPLR - Using the current equipment capacities (stored during the initial iteration), determine how many of the available pieces of equipment are required to meet the current full load. Then distribute the load among those pieces of equipment, such that each one is operating at the same part load ratio (PLR).
Simulate air loops.
-
Simulate zone equipment.
If the load distribution type is SequentialLoad, update each successive sequenced load to be the current remaining load.
Otherwise, leave the sequenced loads as-is from the initial distribution.
-
Third iteration and beyond (FirstHVACIteration is false)
Simulate air loops.
-
Simulate zone equipment.
If the load distribution type is SequentialLoad, update each successive sequenced load to be the current remaining load.
Otherwise, leave the sequenced loads as-is from the initial distribution.
Zone Equipment Simulation[LINK]
When the EnergyPlus HVAC simulation manager needs to simulate the zone equipment side of the air loop it calls ManageZoneEquipment, the zone equipment simulation manager subroutine. Like the other managers, ManageZoneEquipment has a very simple structure:
If the user input data has not been input, get the data and store it in the zone equipment data structures
Perform zone equipment initialization calculations.
If calculation of the design zone air flow rates and loads needs to be done, do it. The results of this calculation are stored in the zone sizing and air terminal sizing data structures and used by the component automatic sizing algorithms and the central system sizing calculations.
Otherwise simulate all of the zone equipment.
Transfer the zone equipment outlet node data to the inlet nodes of the primary air systems and check for convergence (done in RecordZoneEquipment by calling UpdateHVACInterface).
Input data[LINK]
The input specifying a set of zone equipment consists of:
the ZoneHVAC:EquipmentConnections object data;
the zone connection to the air loop – air inlet nodes, exhaust nodes, return nodes, and zone node;
the components serving each zone – air terminal units, fan coils etc.;
zone supply air path data;
zone return air path data;
Initialization Calculations[LINK]
One Time Calculations[LINK]
There are no one time calculations for zone equipment
Begin Environment Initializations[LINK]
For each controlled zone initialize the zone inlet, exhaust and zone nodes to standard conditions. Namely:
Tnode=20oC
Wnode=Woa
hnode=PsyHFnTdbW(20.0,Woa)
˙mnode=0
Qunode=1.0
pnode=poa
where Woa is the humidity of the outside air; PsyHFnTdbW is the EnergyPlus psychrometric function for enthalpy h, given temperature and humidity ratio; poa is the pressure of the outside air; and Qu is quality.
System Time Step Initializations[LINK]
For each controlled zone, set the exhaust nodes conditions equal to the zone node conditions; except set the exhaust nodes mass flow rate and min and max available mass flow rates to zero.
Simulation[LINK]
The subroutine SimZoneEquipment does the actual simulation of all the zone equipment. Note that this includes components that are part of the demand side of an air loop as well as components that are independent of any air loop.
For zone equipment components that are part of the demand side of an air loop the simulation sequence is effectively performed in the direction of the air flow. First the supply air plenums and zone splitters are simulated in their input order. Then the air terminal units are simulated followed by the zone return plenums and zone mixer. Each air terminal unit sets its inlet node to the air mass flow rate required to satisfy its zone load. These mass flow rates are then passed back upstream to the air loop demand-side inlet nodes at the end of each zone equipment simulation sequence. These demand-side inlet mass flow rates are then used as mass flow rate setpoints in the air loop supply-side simulation.
If multiple air-conditioning components are attached to a zone, the components are simulated in the order specified by the user assigned priority given in the ZoneHVAC:EquipmentList object, using one of four load distribution schemes. See Zone Equipment Load Distribution described in 1.4
For each full air loop there should be 1 supply air path for each primary air system outlet (i.e. 1 for single duct systems, 2 for dual duct systems). For each full air loop there may be one return air path. The supply air paths consist of any combination of zone splitters and zone supply air plenums as long as it forms a tree structure with the supply air path inlet node the root and the air terminal unit inlet nodes as the leaves. The return air paths consist of any combination of zone mixers and zone return air plenums as long as it forms a tree structure with the demand-side outlet node the root and the zone return air nodes as the leaves.
Loop over all the supply air paths.
Loop over all the controlled zones.
Set the required system output.
Loop over the components serving the zone in the user prioritized order.
Simulate each component.
Increment the required system output.
Loop over all the supply air paths
Loop over the components on each supply air path in reverse input order. This reverse order simulation passes the air terminal units inlet mass flows back upstream to the return air path inlet node.
Check to see if the supply air path inlet node mass flow rate has changed. If it has set the SimAir flag to true. This signals the HVAC manager that the supply-side of the air loop needs to be resimulated.
Calculate the zone air flow mass balance – the zone inlet and exhaust mass flow rates are summed and the zone node and return air node mass flow rates are determined by a mass balance for each zone.
Calculate the conditions at each zone return air node. Here energy not included in the zone energy balance such as light-heat-to-return-air is added to the return nodes of the controlled zones.
Loop over all of the return air paths.
This completes a single simulation sequence of all the zone equipment.
Zone Equipment Load Distribution[LINK]
The function DistributeSystemOutputRequired allocates the current zone load among the available pieces of zone equipment for the current load type (cooling, heating, or no-load). Because some air loop components such as AirLoopHVAC:UnitarySystem may be controlled based on a control zone load, the sequenced loads must be known prior to the final iteration of the HVAC simulation so that the air loop equipment will adjust its output accordingly. When the zone equipment list is initially read, the maximum number of equipment across all zones is used to set the number of air loop iterations required after the initial iteration, MinAirLoopIterationsAfterFirst. The control sequence is shown below.
Initial iteration (FirstHVACIteration is true)
Set all sequenced loads to the full zone design load for the current load type (cooling or heating).
Simulate air loops and zone equipment.
Do not adjust any of the sequenced loads - all equipment is called with the design load.
Store the sensible output (capacity) for each piece of equipment.
Second iteration (FirstHVACIteration is false)
Set all sequenced loads according to the specified load distribution scheme:
SequentialLoad - Initially all sequenced loads are set to the full load required.
UniformLoad - The sequenced loads for all active equipment are set to the full load divided by the number of active pieces of equipment. All inactive sequenced loads are set to zero.
UniformPLR - Using the current equipment capacities (stored during the initial iteration), distribute the load among the available pieces of equipment, such that each one is operating at the same part load ratio (PLR).
SequentialUniformPLR - Using the current equipment capacities (stored during the initial iteration), determine how many of the available pieces of equipment are required to meet the current full load. Then distribute the load among those pieces of equipment, such that each one is operating at the same part load ratio (PLR).
Simulate air loops.
Simulate zone equipment.
If the load distribution type is SequentialLoad, update each successive sequenced load to be the current remaining load.
Otherwise, leave the sequenced loads as-is from the initial distribution.
Third iteration and beyond (FirstHVACIteration is false)
Simulate air loops.
Simulate zone equipment.
If the load distribution type is SequentialLoad, update each successive sequenced load to be the current remaining load.
Otherwise, leave the sequenced loads as-is from the initial distribution.
Documentation content copyright © 1996-2023 The Board of Trustees of the University of Illinois and the Regents of the University of California through the Ernest Orlando Lawrence Berkeley National Laboratory. All rights reserved. EnergyPlus is a trademark of the US Department of Energy.
This documentation is made available under the EnergyPlus Open Source License v1.0.