Engineering Reference
Engineering Reference
0 Documentation
Engineering Reference
Build: 1c5ba897d1
COPYRIGHT (c) 1996-2018 THE BOARD OF TRUSTEES OF THE UNIVERSITY OF ILLINOIS,
THE REGENTS OF THE UNIVERSITY OF CALIFORNIA THROUGH THE ERNEST ORLANDO
LAWRENCE BERKELEY NATIONAL LABORATORY, OAK RIDGE NATIONAL LABORATORY,
MANAGED BY UT-BATTELLE, ALLIANCE FOR SUSTAINABLE ENERGY, LLC, AND OTHER
CONTRIBUTORS. ALL RIGHTS RESERVED. NO PART OF THIS MATERIAL MAY BE REPRO-
DUCED OR TRANSMITTED IN ANY FORM OR BY ANY MEANS WITHOUT THE PRIOR WRIT-
TEN PERMISSION OF THE UNIVERSITY OF ILLINOIS OR THE ERNEST ORLANDO LAWRENCE
BERKELEY NATIONAL LABORATORY. ENERGYPLUS IS A TRADEMARK OF THE US DEPART-
MENT OF ENERGY.
Contents
2
Chapter 1
Overview
3
4 CHAPTER 1. OVERVIEW
BeginSimulationFlag EndSimulationFlag
BeginEnvironmentFlag EndEnvironmentFlag (one to many days)
BeginDayFlag EndDayFlag
BeginHourFlag EndHourFlag
BeginTimeStepFlag EndTimeStepFlag
There is also a WarmupFlag to signal that the program is in warmup state. The operation of
these flags can be seen in the following subroutine. The advantage of using the flag system is that
any subroutine throughout the code can determine the exact state of the simulation by checking
the status of the flags.
SUBROUTINE ManageSimulation ! Main driver routine for this module
BeginSimFlag = .TRUE.
EndSimFlag = .FALSE.
CALL OpenOutputFiles
CALL GetProjectData
CALL GetEnvironmentInfo ! Get the number and type of Environments
DO Envrn = 1, NumOfEnvrn ! Begin environment loop ...
BeginEnvrnFlag = .TRUE.
EndEnvrnFlag = .FALSE.
WarmupFlag = .TRUE.
DayOfSim = 0
DO WHILE (( [Link]).OR.( WarmupFlag)) ! Begin day loop ...
DayOfSim = DayOfSim + 1
BeginDayFlag = .TRUE.
EndDayFlag = .FALSE.
DO HourOfDay = 1, 24 ! Begin hour loop ...
BeginHourFlag = .TRUE.
EndHourFlag = .FALSE.
DO TimeStep = 1, NumOfTimeStepInHour ! Begin time step (TINC) loop ...
BeginTimeStepFlag = .TRUE.
EndTimeStepFlag = .FALSE.
! Set the End_Flag variables to true if necessary. Note that each flag builds on
! the previous level. EndDayFlag cannot be .true. unless EndHourFlag is also .true.,
! etc.
! Note that the EndEnvrnFlag and the EndSimFlag cannot be set during warmup.
! Note also that BeginTimeStepFlag , EndTimeStepFlag , and the
! SubTimeStepFlags can/will be set/reset in the HVAC Manager.
IF (( [Link] )) THEN
1.4. WARMUP CONVERGENCE 5
CALL CloseOutputFiles
RETURN
END SUBROUTINE ManageSimulation
qh − qh,prev
< qtol (1.3)
qh
qc − qc,prev
< qtol (1.4)
qc
where Tmax,prev is the maximum zone temperature of previous day, Tmax is the maximum zone
temperature of current day, Ttol is the value of temperature tolerance, qh,prev is the maximum
heating load of previous day, qh, is the maximum heating load of current day, qtol is the value
6 CHAPTER 1. OVERVIEW
of load tolerance, qc,prev is the maximum cooling load of previous day, and qc, is the maximum
cooling load of current day.
Note that a minimum load of 100W is used to establish a fraction for the maximum loads when
they are less than the minimum. This is done to avoid a false negative indication for the percentage
load difference that may appear when zonal loads are very small. The convergence checks are
repeated until passed for all zones. EnergyPlus assumes that the warmup period has been reached
steady-periodic when these four parameters are within tolerance. Finally, temperature and load
differences between the last two warmup days for individual zone at each time step in the last
warmup day are reported so that users can easily track whether or not the warmup period has
converged. The input parameters and output related to the warmup period are discussed in the
Input-Output Reference.
1.4. WARMUP CONVERGENCE 7
EnergyPlus is an integrated simulation. This means that all three of the major parts, building,
system, and plant, must be solved simultaneously. In programs with sequential simulation, such
as BLAST or DOE-2, the building zones, air handling systems, and central plant equipment are
simulated sequentially with no feedback from one to the other. The sequential solution begins with
a zone heat balance that updates the zone conditions and determines the heating/cooling loads
at all time steps. This information is fed to the air handling simulation to determine the system
response; but that response does not affect zone conditions. Similarly, the system information is
passed to the plant simulation without feedback. This simulation technique works well when the
system response is a well-defined function of the air temperature of the conditioned space. For a
cooling situation, a typical supply and demand situation is shown schematically in the Figure 2.1.
Here, the operating point is at the intersection of the supply and demand curves.
However, in most situations the system capacity is dependent on outside conditions and/or other
parameters of the conditioned space. The simple supply and demand situation above becomes a
more complex relationship and the system curve is not fixed. The solution should move up and
down the demand curve. This doesn’t happen in sequential simulation methods and the lack of
feedback from the system to the building can lead to nonphysical results. For example, if the
system provides too much cooling to a conditioned space the excess is reported by the program as
“overcooling”. Other categories of unmatched loads exist and are similarly reported by the program.
8
2.1. BASIS FOR THE ZONE AND AIR SYSTEM INTEGRATION 9
While this kind of reporting enables the affected system or plant components to be properly sized,
the system designer would, in most cases, prefer to see the actual change in zone temperature. The
same mismatches can occur between the system and plant simulations when they are simulated
sequentially.
To obtain a simulation that is physically realistic, the elements have to be linked in a simulta-
neous solution scheme. The entire integrated program can be represented as a series of functional
elements connected by fluid loops as shown in Figure “Schematic of Simultaneous Solution Scheme”.
In EnergyPlus all the elements are integrated and controlled by the Integrated Solution Manager.
The loops are divided into supply and demand sides, and the solution scheme generally relies on
successive substitution iteration to reconcile supply and demand using the Gauss-Seidell philosophy
of continuous updating.
In the sections which follow, the various individual functions of the integrated solution will be
described.
dTz ∑ ∑
slN Nsurf aces N∑
zones
where:
∑
Nsl
Q̇i = sum of the convective internal loads
i=1
∑aces
Nsurf
hi Ai (Tsi − Tz ) = convective heat transfer from the zone surfaces
i=1
10 CHAPTER 2. INTEGRATED SOLUTION MANAGER
∑
Nsl ∑
Nsurf aces N∑
zones
Air systems provide hot or cold air to the zones to meet heating or cooling loads. The system
energy provided to the zone, Qsys, can thus be formulated from the difference between the supply
air enthalpy and the enthalpy of the air leaving the zone as in Equation :
∑
Nsl ∑aces
Nsurf ∑
Nzones
Cz dT z
= Q̇i + hi Ai (Tsi − Tz ) + ṁi Cp (Tzi − Tz )
dt
i=1 i=1 i=1 (2.4)
+ṁinf Cp (T∞ − Tz ) + ṁsys Cp (Tsup − Tz )
The sum of zone loads and air system output now equals the change in energy stored in the
zone. Typically, the capacitance Cz would be that of the zone air only. However, thermal masses
assumed to be in equilibrium with the zone air could be included in this term.
EnergyPlus provides three different solution algorithms to solve the zone air energy and moisture
balance equations. These are defined in the Algorithm field in the ZoneAirHeatBalanceAlgorithm
object: 3rdOrderBackwardDifference, EulerMethod and AnalyticalSolution. The first two methods
to solve Equation use the finite difference approximation while the third uses an analytical solution.
A short description is given below.
In order to calculate the derivative term with respect to time, a finite difference approximation
may be used, such as:
dT ( )
= (δt)−1 Tz t − Tz t−δt + O (δt) (2.5)
dt
The use of numerical integration in a long time simulation is a cause for some concern due to
the potential build-up of truncation error over many time steps. In this case, the finite difference
approximation is of low order that further aggravates the problem. However, the cyclic nature
of building energy simulations should cause truncation errors to cancel over each daily cycle so
that no net accumulation of error occurs, even over many days of simulation (Walton, 1990). The
2.1. BASIS FOR THE ZONE AND AIR SYSTEM INTEGRATION 11
Euler formula, Equation , was employed in Equation to replace the derivative term. All the terms
containing the zone mean air temperature were then grouped on the left hand side of the equation.
Since the remaining terms are not known at the current time, they were lagged by one time step
and collected on the right hand side. This manipulation resulted in Equation , the formula for
updating the zone mean air temperature:
( )
Tzt −Tzt−δt ∑aces
Nsurf ∑
Nzones
Cz dt
+ Tzt hi Ai + ṁi Cp + ṁinf Cp + ṁsys Cp =
i=1 i=1
( )t−δt (2.6)
∑
N sl ∑
Nsurf aces ∑
Nzones
Q̇ti + ṁsys Cp Tsupply
t
+ hi Ai Tsi + ṁi Cp Tzi + ṁinf Cp T∞
i=1 i=1 i=1
One final rearrangement was to move the lagged temperature in the derivative approximation
to the right side of the equation. The explicit appearance of the zone air temperature was thus
eliminated from one side of the equation. An energy balance equation that includes the effects of
zone capacitance was then obtained by dividing both sides by the coefficient of Tz:
( )t−δt
∑
Nsl ∑aces
Nsurf ∑
Nzones
t
Q̇ti + ṁsys Cp Tsupply + Cz Tδtz + hi Ai Tsi + ṁi Cp Tzi + ṁinf Cp T∞
i=1 i=1 i=1
Tzt = ( ) (2.7)
Cz
∑aces
Nsurf ∑
Nzones
δt
+ hi Ai + ṁi Cp + ṁinf Cp + ṁsys Cp
i=1 i=1
Equation could be used to estimate zone air temperatures, and is defined as the EulerMethod,
one of the three solution algorithms provided in the ZoneAirHeatBalanceAlgorithm object. How-
ever, it can severely limit the time step size under some conditions. To improve on this, higher
order expressions for the first derivative, with corresponding higher-order truncation errors, were
developed. The goal of this approach was to allow for the use of larger time steps in the simulation
than would be possible using the first order Euler form, without experiencing instabilities. Approx-
imations from second through fifth order were tried as reported by Taylor, et al. (1990) with the
conclusion that the third order finite difference approximation, shown below, gave the best results:
( )
dTz −1 11 t 3 1 ( )
≈ (δt) Tz − 3Tzt−δt + Tzt−2δt − Tzt−3δt + O δt3 (2.8)
dt t 6 2 3
When this form for the derivative is used, equation changes to:
( 11 ) N∑sl ∑aces
Nsurf
Cz (δt)−1 T
6 z
t
− 3Tz
t−δt
+ 3 t−2δt
T
2 z
− 1 t−3δt
T
3 z
= Q̇ i + hi Ai (Tsi − Tz )
i=1 i=1 (2.9)
∑
Nzones
+ ṁi Cp (Tzi − Tz ) + ṁinf Cp (T∞ − Tz ) + ṁsys Cp (Tsup − Tz )
i=1
∑
Nsl ∑aces
Nsurf N∑
zones (Cz)( )
Q̇i+ hiAiTsi+ ṁiCpTzi+ṁinf CpT∞+ṁsysCpTsupply− δt
−3Tzt−δt+32Tzt−2δt−13Tzt−3δt
Tzt=i=1 i=1 i=1
(11)Cz ∑aces
Nsurf N∑
zones
6 δt
+ hiA+ ṁiCp+ṁinf Cp+ṁsysC
i=1 i=1
(2.10)
This is the form historically used in EnergyPlus and is the current default referred to as 3rdOrder-
BackwardDifference in the ZoneAirHeatBalanceAlgorithm object. This algorithm requires zone air
temperatures at three previous time steps and uses constant temperature coefficients. The assump-
tion is that three previous time steps lengths are the same.
The AnalyticalSolution algorithm is an integration approach. While the 3rd order finite difference
approximation provides stability without requiring a prohibitively small time step, the method still
has truncation errors and requires a fixed time step length for the previous three simulation time
steps. Therefore, different time step lengths for the previous three simulation time steps may make
the temperature coefficients invalid.
The AnalyticalSolution algorithm provides a possible way to obtain solutions without truncation
errors and independent of time step length. In addition, the algorithm only requires the zone air
temperature for one previous time step, instead of three previous time steps as required by the
3rdOrderBackwardDifference algorithm. The integrated (analytical) solution for Eq. (4) may be
expressed as follows:
N
∑
N sl ∑aces
surf ∑
Nzones
Nsurf aces
∑
N sl ∑ ∑
Nzones
Q̇i + hi Ai Tsi + ṁi Cp Tzi +ṁinf Cp T∞ +ṁsys Cp Tsup
+ i=1 i=1
Nsurf aces
i=1
∑ ∑
Nzones
hi Ai + ṁi Cp +ṁinf Cp +ṁsys Cp
i=1 i=1
Since the load on the zone drives the entire process, that load is used as a starting point to
give a demand to the air system. Then a simulation of the air system provides the actual supply
capability and the zone temperature is adjusted if necessary. This process in EnergyPlus is referred
to as a Predictor/Corrector process. It is summarized below.
Code Reference: the ZoneTempPredictorCorrector module performs the calculations.
deviations at the time step level. Or it can be increased to try and account for the additional
capacitance in the air loop not specified in the zone, i.e. dampers, diffusers, duct work, etc., to
see the effect on the dynamics of the simulation. See the Input/Output Reference for additional
information (Object: ZoneCapacitanceMultiplier:ResearchSpecial).
In the source code below we see how the ZoneVolCapMultpSens increases the zone volume used
for the air ratio at the time step in the air system. This multiplier is constant throughout the
simulation.
AIRRAT(ZoneNum) = Zone(ZoneNum)%Volume \*** ZoneVolCapMultpSens **\* &
PsyRhoAirFnPbTdbW (OutBaroPress ,MAT(ZoneNum),ZoneAirHumRat(ZoneNum))\* &
PsyCpAirFnWTdb(ZoneAirHumRat(ZoneNum),MAT(ZoneNum))/( TimeStepSys \* SecInHour)
• Using equation , an estimate is made of the air system energy required to balance the equation
with the zone air temperature equal to the setpoint temperature.
• With that quantity as a demand, the air system is simulated to determine its actual supply
capability at the time of the simulation. This will include a plant simulation if necessary.
• The actual air system capability is used in equation to calculate the resulting zone tempera-
ture.
the characteristic times of the air system and zones, except in the case of small air system capacity
in relation to zone capacitance. This situation has the potential for unstable feedback between the
zone and air system, resulting in an oscillatory or diverging solution.
Prior to implementing the new heat balance method (3rdOrderBackwardDifference) in IBLAST,
several air system control strategies were considered. The primary objective was selection of a
control method that would be numerically stable over a reasonable range of conditions, realistic
from the standpoint of looking and operating like an actual air system controller, and flexible
enough to be applied to all current and projected systems. The method actually implemented in
IBLAST, and later EnergyPlus, took advantage of the computational model’s “knowledge” of how
much energy enters or leaves the zone as a function of zone air temperature i.e., the zone load. The
real controller, on the other hand, does not have this information. The net zone load is given by
Equation :
∑
Nsl ∑
Nsurf aces N∑
zones
This is Equation without the term due to the air system. In addition, Tz is now the desired
zone temperature as defined by the control system setpoints that must be specified for each zone.
An assumption was made that if the air system has sufficient capacity (based on the desired zone
air temperature) to meet the zone conditioning requirements (i.e. Qsys = Qload) at the desired
zone air temperature then those requirements will be met. On the other hand, if the air system
cannot provide enough conditioning to the zone to maintain the desired temperature, then the air
system provides its maximum output to the zone and the zone air temperature is allowed to “float.”
Equation was used to calculate the air system output required to maintain the desired zone air
temperature; the actual zone temperature update was accomplished using Equation . This method
was called predictive system energy balance. It has many characteristics of a predictor-corrector
method since the air system response is first approximated based on a predicted zone temperature
and then the actual change in zone temperature is determined from that air system response. The
predictive air system energy balance method required that the system controls on air mass flow rate,
supply air temperature, etc., be formulated as a function of the zone air temperature. However,
this was not a serious drawback. The first example considered was a single zone draw through air
system. Typically, such systems have a cooling coil and heating coil in series, and constant air
volume flow rate. Single zone draw through systems run at maximum capacity when turned on;
so the only way to regulate net air system output and keep the zone air temperature within the
desired range is to turn the air system on and off. A simplified schematic of this system type is
shown in Figure 2.3. Simplified Single Zone Draw Through Air System.
The amount of heating or cooling provided by the air system in relation to the desired zone air
temperature is given by:
temperature, as well as the supply air volume, are continuous functions of zone air temperature. As
shown in Figure 2.5. Idealized Variable Volume System Operation., when the zone air temperature
is between Tcl and Tcu , cooling is required and the air system varies the supply air flow rate while
maintaining a constant supply air temperature. When the zone air temperature is between Thl and
Thu , heating is required and air is supplied at a constant minimum flow rate while the supply air
temperature is varied.
The next figure (Idealized variable volume system operation) shows idealized behavior of a VAV
system; in practice, the air flow rate and temperature are not exact linear functions of zone air
temperature.
As long as a VAV system has sufficient capacity, the zone air temperatures can be expected
to vary within the limits defining the range of operation of the air damper, when cooling, or the
throttling range of the reheat coil, when the air system is heating. This means that the desired
16 CHAPTER 2. INTEGRATED SOLUTION MANAGER
zone air temperature, used to predict the air system response, is variable and must be calculated
in order to determine the air system output. For the purposes of this calculation, the following
definitions were found useful:
∑
Nsl ∑
Nsurf aces N∑
zones
∑
Nsurf aces N∑
zones
Equations and are derived, respectively, from the numerator and denominator of Equation but
with the system related terms omitted. Also excluded from these expressions are the effects of zone
capacitance.
When a zone requires cooling, the VAV system is designed to provide air to that zone at a
constant supply air temperature. The amount of cooling is matched to the load by dampers in the
supply air duct that vary the air volume flow rate of being supplied to the zone. Assuming that
the volume flow rate varies linearly with zone air temperature, the volume flow rate of supply air
normalized to the maximum flow rate, or supply air fraction, is given by:
( )
Tz − Tc, lower
ηc = ηc, min + (1 − ηc, min ) ; ηc, min ≤ ηc ≤ 1.0 (2.16)
Tc, upper − Tc, lower
Normally, the minimum supply air fraction η c,min must be greater than zero to ensure a supply
of fresh air sufficient to eliminate contaminants from the zone.
Conversely, when heating is required in a zone, the VAV system becomes a constant volume
flow rate system with a variable supply air temperature. The dampers are set to provide air to
2.3. AIR SYSTEM CONTROL 17
the zone at the minimum supply air fraction. Throttling the hot water supply to the reheat coil,
which effectively alters the coil’s heating capacity, modulates the supply air temperature. Again,
assuming the heat energy output varies linearly with zone air temperature and normalizing with
respect to the maximum coil output gives the following result:
( )
Th, upper − Tz
ηh = ; 0 ≤ ηh ≤ 1.0 (2.17)
Th, upper − Th, lower
Observe that when η h is equal to zero, the zone is supplied with air at the cooling coil outlet
temperature at the minimum air fraction. Because the control strategies of the VAV system are
different whether the air system is heating or cooling, two equations are necessary to describe the
air system output in terms of η h and η c . These expressions are as shown in Equations and :
( )
Q̇sys,h = ηh Q̇h/c, max + Cp ρV̇min Tc/c − Tz,pred,heat (2.18)
( )( )
Q̇sys,c = Cp ρ ηc V̇max Tc/c − Tz,pred,cool (2.19)
Equation is valid for zone air temperatures below Th,upper , while Equation is valid for all tem-
peratures above this value. Equating the system output to the zone load, as given by Equation , the
definitions of η c and η h were then used to develop expressions for the predicted zone air temperature
in the cases of heating and cooling:
Q̇slope
C2 = (2.25)
Cp ρV̇max
Q̇0
C3 = (2.26)
Cp ρV̇max
Once the predicted zone air temperature has been calculated from Equations and , the air system
response may be determined. When a zone requires cooling the system supply air temperature is
constant at the cooling coil outlet temperature and the volume flow rate is given by:
18 CHAPTER 2. INTEGRATED SOLUTION MANAGER
ηh Q̇h/c,max
Tsup ply = Tc/c + (2.28)
Cp ρV̇min
The reheat coil capacity fraction η h is determined by using Equation . Once Equation or ,
has been used, the supply air flow rate and temperature are known. These values are then used
in Equation to calculate the updated zone air temperature. The equations describing VAV system
operation may be solved without iteration if the cooling coil outlet temperature is constant, i.e. if the
coil has infinite capacity, and if the reheat coil capacity varies linearly with zone air temperature.
This is not the case, either in practice or in simulations, when realistic coil models are used.
Therefore, an iteration scheme was developed that solved these equations simultaneously with the
coil performance models.
∑
Nsl ∑aces
Nsurf ∑
Nzones
ρair Vz CW dW
dt
z
= kgmasssched load + Ai hmi ρairz (Wsurf si − Wzt ) + ṁi (Wzi − Wzt )
i=1 i=1 i=1
+ṁinf (W∞ − Wzt ) + ṁsys (Wsup − Wzt )
(2.29)
where
CW = humidity capacity multiplier (See the InputOutput Reference for additional information
on the object ZoneCapacitanceMultiplier:ResearchSpecial)
In the same manner as described above for zone air temperature (ref. Basis for the Zone and Air
System Integration), the solution algorithms provided in the ZoneAirHeatBalanceAlgorithm object
are also applied to zone air moisture calculations.
In order to calculate the derivative term with respect to time, the first order backward finite
difference method, defined as the EulerMethod in the ZoneAirHeatBalanceAlgorithm object, may
be used:
dW
= (δt)−1 (Wzt − Wzt−δt ) + O(δt) (2.30)
dt
The zone air humidity ratio update at the current time step using the EulerMethod may be
expressed as follows:
( ) N∑sl ∑aces
Nsurf
ρair V CW (δt)−1 Wzt − Wzt−δt = kgmasssched load + Ai hmi ρairz (Wsurf si − Wzt )
i=1 i=1 (2.31)
∑
Nzones
+ ṁi (Wzi − Wzt ) + ṁinf (W∞ − Wzt ) + ṁsys (Wsup − Wzt )
i=1
2.4. MOISTURE PREDICTOR-CORRECTOR 19
To preserve the stability of the calculation of the zone humidity ratio, the third order differential
approximation, derived by a Taylor Series and used in the calculation of the next time step’s zone
air temperature, is also applied to the zone air humidity ratio calculations. This algorithm is the
default choice and is defined as 3rdOrderBackwardDifference in the ZoneAirHeatBalanceAlgorithm
object.
The third order derivative derived from a Taylor Series expansion is defined as:
( 11 )
dWz W t
z − 3Wz
t−δt
+ 3
Wz
t−2δt
− f rac13Wz
t−3δt ( )
≈ 6 2
+ O δt3 . (2.32)
dt t δt
The coefficients of the approximated derivative are very close to the coefficients of the analogous
Adams-Bashforth algorithm. Then the approximated derivative is substituted into the mass balance
and the terms with the humidity ratio at past time steps are all put on the right hand side of the
equation. This third order derivative zone humidity ratio update increases the number of previous
time steps that are used in calculating the new zone humidity ratio, and decreases the dependence
on the most recent. The higher order derivative approximations have the potential to allow the use
of larger time steps by smoothing transitions through sudden changes in zone operating conditions.
ρair Vz CW
( 11 ) ∑aces
Nsurf ∑
Nzones ∑
N sl
δt 6
Wzt + Ai hmi ρairz Wzt + ṁi Wzt + ṁinf Wzt + ṁsys Wzt = kgmasssched load
i=1 i=1 i=1
∑aces
Nsurf ∑
Nzones
+ Ai hmi ρairz Wsurf si + ṁi Wzi + ṁinf W∞ + ṁsys Wsup
i=1 ( i=1 )
− ρair Vδtz CW −3Wzt−δt + 32 Wzt−2δt − 12 Wzt−3δt
(2.33)
This gives us the basic air mass balance equation that will be solved two different ways, one
way for the predict step and one way for the correct step.
Since the third choice of solution algorithms uses an integration approach, defined as Analyt-
icalSolution in the ZoneAirHeatBalanceAlgorithm object, it does not require any approximations
and has no truncation errors. The solutions in both prediction and correction are provided below
in detail.
Since the program provides three solution algorithms, the moisture prediction from each solution
algorithm is given below.
[Link] EulerMethod
For this solution algorithm, the air mass balance for the predicted air system load or response is:
20 CHAPTER 2. INTEGRATED SOLUTION MANAGER
( )
PredictedSystemLoad[kgW ater/sec]=ρairVzCW (δt)−1 Wsetpoint
t −Wzt−δt
[ ]
∑
N sl ∑
Nsurf aces ( ) Nzones
∑ ( ) ( )
− kgmassschedload+ Aihmiρairz Wsurf si−Wsetpoint +
t ṁi Wzi−Wsetpoint +ṁinf W∞−Wsetpoint
t t (2.35)
i=1 i=1 i=1
[Link] ThirdOrderBackwardDifference
For this solution algorithm, the air mass balance for the predicted system load or response is given
below:
( )
( ) Nsurf ∑aces ∑
Nzones
PredictedSystemLoad[kgW ater/sec]= ρairV z CW 11
δt 6
+ A h ρ
i mi airz + ṁ i+ ṁinf Wz −
t
[ i=1 i=1
] (2.36)
∑
N sl ∑
Nsurf aces
∑
Nzones ( )
kgmassschedload+ AihmiρairzWsurf si+ ṁiWzi+ṁinf W∞+ρairV z CW
δt
3W t−δt 3
z − W
2 z
t−2δt 1
+ W
3 z
t−3δt
i=1 i=1 i=1
Then, using the following substitutions, the air mass balance equation becomes:
∑
Nsurf aces N∑
zones
∑
Nsl ∑
Nsurf aces N∑
zones
ρair Vz CW
C= (2.39)
δt
[ ]
PredictedSystemLoad [kgW ater / sec] = 11 ∗ C + A ∗ WSetP oint −
[ ( 6 )] (2.40)
B + C ∗ 3Wzt−δt − 32 Wzt−2δt + 31 Wzt−3δt
[Link] AnalyticalSolution
For this solution algorithm, the air mass balance for the predicted air system load or response is
given below:
[ ]
∑aces
Nsurf ∑
Nzones
PredictedSystemLoad [kgW ater / sec] = Ai hmi ρairz + ṁi Wzi + ṁinf ∗
N i=1 i=1
∑aces
surf ∑
Nzones
Nsurf aces
−1 (2.41)
∑ ∑
Nzones
At the prediction point in the simulation, the system air mass flows are not known; therefore,
the system response is approximated. The predicted air system moisture load is then used in the
system simulation to achieve the best results possible. The system simulation components that have
moisture control will try to meet this predicted moisture load. For example, humidifiers will look
for positive moisture loads and add moisture at the specified rate to achieve the relative humidity
setpoint. Likewise, dehumidification processes will try to remove moisture at the specified negative
predicted moisture load to meet the relative humidity setpoint.
After the system simulation is completed the actual response from the air system is used in the
moisture correction of step, which is shown next.
[Link] EulerMethod
∑
Nsl ∑aces
Nsurf N∑
zones t−δt
kgmassschedload+ AihmiρairzWsurf si+ ṁiWzi+ṁinf W∞+ṁsysWsup+ρairVzCW Wzδt
Wzt=i=1 i=1 i=1
ρairVzCW ∑aces
Nsurf N∑
zones
δt
+ Aihmiρairz+ ṁi+ṁinf +ṁsys
i=1 i=1
(2.42)
[Link] ThirdOrderBackwardDifference
∑
N sl ∑
Nsurf aces
∑
Nzones
kgmassschedload+ AihmiρairzWsurf si+ ṁiWzi+ṁinf W∞+ṁsysWsup+ρairVz CW
δt
(3Wzt−δt−23Wzt−2δt+13Wzt−3δt)
i=1 i=1 i=1
Wzt=
ρairVz CW (11) ∑ ∑
Nsurf aces Nzones
δt 6
+ Aihmiρairz+ ṁi+ṁinf +ṁsys
i=1 i=1
(2.43)
Using the same A, B, and C parameters from the prediction step modified with actual zone
mass flows with the air system ON and OFF result in:
If (ZoneSupplyAirMassFlowRate > 0.0) Then
∑
Nsurf aces N∑
zones
∑
Nsl ∑
Nsurf aces N∑
zones
B= kgmasssched load + Ai hmi ρairz Wsurf si + ṁi Wzi + ṁinf W∞ + ṁsys Wsup (2.45)
i=1 i=1 i=1
22 CHAPTER 2. INTEGRATED SOLUTION MANAGER
ρair Vz CW
C= (2.46)
δt
Else If (ZoneSupplyAirMassFlowRate < = 0.0) Then
∑
Nsurf aces N∑
zones
∑
Nsl ∑
Nsurf aces N∑
zones
B= kgmasssched load + Ai hmi ρairz Wsurf si + ṁi Wzi + ṁinf W∞ + ṁExhaust W∞ (2.48)
i=1 i=1 i=1
ρair Vz CW
C= (2.49)
δt
End If
Inserting in the parameters A, B and C above in the air mass balance equation, it simplifies to:
[ ( )]
B + C ∗ 3W t−δt
− 3
W t−2δt
+ 1
W t−3δt
Wzt = z
( 11 ) 2 z 3 z
(2.50)
6
∗ C + A
[Link] AnalyticalSolution
Nsurf aces
∑
N sl ∑ ∑
Nzones
kgmasssched load + Ai hmi ρairz Wsurf si + ṁi Wzi +ṁinf W∞ +ṁsys Wsup
Wzt = Wzt−δt − i=1 i=1
Nsurf aces
i=1
∗
∑ ∑
Nzones
Ai hmi ρairz + ṁi +ṁinf +ṁsys
Nsurf aces
i=1 i=1
∑ ∑
Nzones
Nsurf aces
∑
N sl ∑ ∑
Nzones
kgmasssched load + Ai hmi ρairz Wsurf si + ṁi Wzi +ṁinf W∞ +ṁsys Wsup
i=1 i=1 i=1
Nsurf aces
∑ ∑
Nzones
Ai hmi ρairz + ṁi +ṁinf +ṁsys
i=1 i=1
(2.51)
The above solutions are implemented in the Correct Zone Air Humidity Ratio step in Ener-
gyPlus. This moisture update equation is used for the Conduction Transfer Function (CTF) heat
balance algorithm, in addition to the effective moisture penetration depth (EMPD) with conduction
transfer function heat balance algorithm. The equations are identical except that the convection
to the zone surfaces is non-zero for the moisture penetration depth case. This moisture update
allows both methods to be updated in the same way, with the only difference being the additional
moisture capacitance of the zone surfaces for the Effective Moisture Penetration Depth (EMPD)
solution approach.
When the HAMT (Combined Heat And Moisture Finite Element) defined in the HeatBalanceAl-
gorithm object is applied, the moisture update equations are also the same as the equations used
in the effective moisture penetration depth (EMPD) with conduction transfer function solution
algorithm.
2.5. CARBON DIOXIDE PREDICTOR-CORRECTOR 23
• it will not accurately predict energy use when humidity is being actively controlled, and
• it will not provide insight into the moisture content and potential moisture problems associated
with a specific wall construction.
The effective moisture penetration depth (EMPD) model will address the first two concerns
above: it can accurately predict indoor humidity, and can accurately predict energy use associated
with controlling humidity. The EMPD model requires more user input than the effective capacitance
model, specifically some of the moisture properties of the materials in the building. For more
information, see the Effective Moisture Penetration Depth Model section in this document.
Like the EMPD model, the combined heat, air, and moisture transfer (HAMT) model addresses
the first two issues discussed above for the effective capacitance model. It also addresses the third,
by providing temperature and moisture profiles through composite building walls, and helping to
identify surfaces with high surface humidity. The HAMT model requires a few more user inputs on
moisture properties of materials than the EMPD model, and this model also increases the required
simulation time by an order of magnitude. For more information on this model, see the Combined
Heat and Moisture Transfer (HAMT) Model section in this document.
Note that the EMPD and HAMT models above ensure accurate calculations of the effect of
moisture buffering, but it will only be accurate relative to reality when given appropriate inputs for
the material properties.
Woods, J., J. Winkler, D. Christensen, Moisture modeling: Effective moisture penetration depth
versus effective capacitance, in Thermal Performance of the Exterior Envelopes of Whole Buildings
XII International Conference. 2013a: Clearwater, FL.
Woods, J., Winkler, J, and Christensen, D. Evaluation of the Effective Moisture Penetration
Depth Model for Estimating Moisture Buffering in Buildings, NREL/TP-5500-57441, 2013b.
t ∑
Nsl ∑
Nzones
ρair Vz CCO2 dC z
= kgmasssched load ∗ 1.06 + ṁi (Czi − Czt ) + ṁinf (C∞ − Czt )
dt
i=1 i=1 (2.52)
+ṁsys (Csup − Czt )
24 CHAPTER 2. INTEGRATED SOLUTION MANAGER
where:
∑
Nsl
kgmasssched load = sum of scheduled internal carbon dioxide loads. The zone air density is used
i=1
to convert the volumetric rate of carbon dioxide generation from user input into mass generation
rate∑ [kg/s].The coefficient of 106 is used to make the units of carbon dioxide as ppm.
Nzones
i=1 ṁi (Czi − Czt ) = carbon dioxide transfer due to interzone air mixing [ppm-kg/s]
Czi = carbon dioxide concentration in the zone air being transferred into this zone [ppm]
ṁinf (C∞ − Czt ) = carbon dioxide transfer due to infiltration and ventilation of outdoor air [ppm-
kg/s]
C∞ = carbon dioxide concentration in outdoor air [ppm]
ṁsys (Csup − Czt ) = carbon dioxide transfer due to system supply [ppm-kg/s]
Csup = carbon dioxide concentration in the system supply airstream [ppm]
ṁsys = air system supply mass flow rate [kg/s]
t
ρair Vz dCdt
z
= carbon dioxide storage term in zone air [kg/s]
t
Cz = zone air carbon dioxide concentration at the current time step [ppm]
ρair = zone air density [kg/m3 ]
Vz = zone volume [m3 ]
CCO2 = carbon dioxide capacity multiplier [dimensionless] (See the InputOutput Reference for
additional information on the object ZoneCapacitanceMultiplier:ResearchSpecial)
In the same manner as described above for zone air temperature (ref. Basis for the Zone and Air
System Integration), the solution algorithms provided in the ZoneAirHeatBalanceAlgorithm object
are also applied to the zone air carbon dioxide calculations.
In order to calculate the derivative term with respect to time, the first order backward finite
difference method, defined as the EulerMethod in the ZoneAirHeatBalanceAlgorithm object, may
be used:
dCzt
= (δt)−1 (Czt − Czt−δt ) + O(δt) (2.53)
dt
The zone air carbon dioxide concentration update at the current time step using the Euler-
Method may be expressed as follows:
( ) N∑sl ∑
Nzones
ρair VZ CCO2 (δt)−1 Czt − Czt−δt = kgmasssched load ∗ 106 + ṁi (Czi − Czt )
i=1 i=1 (2.54)
+ṁinf (C∞ − Czt ) + ṁsys (Csup − Czt )
To preserve the stability of the calculation of the zone carbon dioxide concentration, the third
order differential approximation, derived by a Taylor Series and used in the calculation of the next
time step’s zone air temperature, is also applied to the zone air carbon dioxide calculations. This
algorithm is the default choice and is defined as ThirdOrderBackwardDifference in the ZoneAirHeat-
BalanceAlgorithm object.
The third order derivative derived from a Taylor Series expansion is defined as:
and the terms with the carbon dioxide concentration at past time steps are all put on the right-hand
side of the equation. This third order derivative zone carbon dioxide update increases the number
of previous time steps that are used in calculating the new zone carbon dioxide concentration, and
decreases the dependence on the most recent. The higher order derivative approximations have the
potential to allow the use of larger time steps by smoothing transitions through sudden changes in
zone operating conditions.
( 11 ) ∑
Nzones ∑
N sl
ρair Vz CCO2
δt 6
Czt + ṁi Czt + ṁinf Czt + ṁsys Czt = kgmasssched load ∗ 106
i=1 i=1
(2.56)
∑
Nzones
+ ṁi Czi + ṁinf C∞ + ṁsys Csup − ρair Vz CCO2
δt
(−3Czt−δt + 3 t−2δt
C
2 z
− 1 t−3δt
C
3 z
)
i=1
This gives us the basic air mass balance equation that will be solved two different ways, one
way for the predict step and one way for the correct step.
Since the third choice of solution algorithms uses an integration approach, defined as Analyt-
icalSolution in the ZoneAirHeatBalanceAlgorithm object, it does not require any approximations
and has no truncation errors. The solutions in both prediction and correction are provided below
in detail.
( )
PredictedSystemLoad = ṁsys Csup − Czt (2.57)
Since the program provides three solution algorithms, the carbon dioxide prediction from each
solution algorithm is given below.
[Link] EulerMethod
For this solution algorithm, the air mass balance for the predicted air system load or response is:
( t )
PredictedSystemLoad [kg/ sec] = ρair VZ CCO2 (δt)−1 Csetpoint − Czt−δt
[N ]
∑sl ∑
Nzones ( ) ( )
− kgmasssched load ∗ 10 +
6
ṁi Czi − Csetpoint + ṁinf C∞ − Csetpoint
t t (2.58)
i=1 i=1
[Link] ThirdOrderBackwardDifference
For this solution algorithm, the air mass balance for the predicted system load or response is given
below:
26 CHAPTER 2. INTEGRATED SOLUTION MANAGER
[ ]
( 11 ) ∑
Nzones
PredictedSystemLoad [kg/ sec] = ρair Vz CCO2
6
+δt
ṁi + ṁinf ∗ Csetpoint
t
[N i=1 ]
∑sl ∑
Nzones ( t−δt 3 t−2δt 1 t−3δt )
− kgmasssched load ∗ 10 +
6
ṁi Czi + ṁinf C∞ + ρair Vz CCO2
δt
3Cz − 2 Cz + 3 Cz
i=1 i=1
(2.59)
[Link] AnalyticalSolution
For this solution algorithm, the air mass balance for the predicted air system load or response is
given below:
Nzones
[N ] ∑
∑
zones ṁi +ṁ inf
PredictedSystemLoad[kg/sec]= ṁi+ṁinf ∗Csetpoint
t
−Czt−δt∗exp− ρi=1
air VZ CCO2
δt∗
i=1
−1
∑
Nzones (N )
ṁi+ṁinf ∑sl N∑
zones
1−exp− i=1
δt − kgmassschedload∗10 + 6
ṁiCzi+ṁinf C∞
ρairVZ CCO2
i=1 i=1
(2.60)
At the prediction point in the simulation, the system air mass flows are not known; therefore,
the system response is approximated. The predicted air system carbon dioxide load is then used in
the system simulation to achieve the best results possible. If a central HVAC system provides the
outdoor flow rate from a Controller:MechanicalVentilation object, the outdoor airflow rate may be
approximated as:
( ) ( )
PredictedSystemLoad = ṁsys Csup − Czt ≈ ṁOA,z C∞ − Csetpoint
t
(2.61)
where:
ṁOA,z = supply outdoor airflow rate into the controlled zone [kg/s]
The above approximation is based on the assumption that the carbon dioxide concentration at
the outdoor air (OA) mixer inlet is equal to the zone air outlet concentration level, and the carbon
dioxide level at the zone supply air inlet is equal to the level at the outlet node of the OA mixer.
After the system simulation is completed the actual response from the air system is used in the
carbon dioxide correction step, which is shown next.
[Link] EulerMethod
∑
Nsl ∑
Nzones t−δt
kgmasssched load ∗ 106 + ṁi Czi + ṁinf C∞ + ṁsys Csup + ρair VZ CCO2 Czδt
i=1 i=1
Czt = (2.62)
ρair VZ CCO2 ∑
Nzones
δt
+ ṁi + ṁinf + ṁsys
i=1
[Link] ThirdOrderBackwardDifference
∑
Nsl N∑
zones
kgmassschedload∗106+ ṁiCzi+ṁinf C∞+ṁsysCsup+ρairVδt
Z CCO2
(3Czt−δt−23Czt−2δt+13Czt−3δt)
Czt =i=1 i=1
( ) N∑
ρairVZ CCO2 11
zones
δt 6
+ ṁi+ṁinf +ṁsys
i=1
(2.63)
[Link] AnalyticalSolution
∑
N sl ∑
Nzones ∑
Nzones
kgmasssched load ∗106 + ṁi Czi +ṁinf C∞ +ṁsys Csys ṁi +ṁinf +ṁsys
Czt = Czt−δt − i=1
∑
Nzones
i=1 ∗ exp − i=1
ρair VZ CCO2
δt
ṁi +ṁinf +ṁsys
i=1
∑
N sl ∑
Nzones
kgmasssched load ∗106 + ṁi Czi +ṁinf C∞ +ṁsys Csys
+ i=1 ∑
Nzones
i=1
t
dCf,z ∑
Nsource N∑
sink ∑
Nzones ( )
ρair Vz Mf or dt
= ρair Gf,i ∗ 1.06 −ρair Rf,i Cf,z + ṁi Cf,z,i − Cf,z
t
( i=1 ) ( i )
∑ i=1
C
(2.65)
+ṁinf Cf,∞ − Cf,z + ṁsys Cf,sup − Cf,z + hj ρAj ( ks,j
t t
j
− Cf,z ) + Sf (Cf,z
t−δt
)
j
where:
∑
Nsource
ρair Gf,i = Sum of internal generic contaminant loads from sources in a zone or interior
i=1
surfaces.
The zone air density is used to convert the volumetric rate of generic contaminant generation
from user input into mass generation rate [kg/s].The coefficient of 106 is used to make the units of
generic contaminant as ppm.
N∑
sink
ρair Rf,i Cf,z = Sum of removal rate from sinks in a zone or interior surfaces [ppm-kg/s]
i
28 CHAPTER 2. INTEGRATED SOLUTION MANAGER
∑Nzones ( )
ṁi Cf,z,i − Cf,z
i=1
t
= Generic contaminant transfer due to interzone air mixing [ppm-kg/s]
Cf,z,i(= Generic contaminant
) concentration in the zone air being transferred into this zone [ppm]
ṁinf Cf,∞ − Cf,z = Generic contaminant transfer due to infiltration and ventilation of outdoor
t
air [ppm-kg/s]
Cf,∞ (= Generic contaminant
) concentration in outdoor air [ppm]
ṁsys Cf,sup − Cf,z = Generic contaminant transfer due to system supply [ppm-kg/s]
t
( t ) Nsource
∑ N∑
sink N∑
zones ( )
ρairVzMf or(δt)−1 Cf,z −Cf,z
t−δt
= ρairGf,i∗1.06−ρair Rf,iCf,z+ ṁi Cf,z,i−Cf,z
t
( ) ( i=1 )
∑ Cs,j
i i=1 (2.67)
+ṁinf Cf,∞−Cf,z +ṁsys Cf,sup−Cf,z + hj ρAj ( kj −Cf,z)+Sf
t t
j
To preserve the stability of the calculation of the zone generic contaminant concentration, the
third order differential approximation, derived by a Taylor Series and used in the calculation of
the next time step’s zone air temperature, is also applied to the zone air carbon dioxide calcula-
tions. This algorithm is the default choice and is defined as ThirdOrderBackwardDifference in the
ZoneAirHeatBalanceAlgorithm object.
The third order derivative resulting from a Taylor Series expansion is defined as:
t
dCf,z 11 t
C
6 f,z
− 3Cf,z
t−δt t−2δt
+ 32 Cf,z − 13 Cf,z
t−3δt
≈ + O(δt3 ) (2.68)
dt δt
2.6. GENERIC CONTAMINANT PREDICTOR-CORRECTOR 29
The coefficients of the approximated derivative are very close to the coefficients of the analogous
Adams-Bashforth algorithm. Then the approximated derivative is substituted into the mass balance,
and the terms with the carbon dioxide concentration at past time steps are all put on the right-hand
side of the equation. This third order derivative zone carbon dioxide update increases the number
of previous time steps that are used in calculating the new zone generic contaminant concentration
and decreases the dependence on the most recent. The higher order derivative approximations have
the potential to allow the use of larger time steps by smoothing transitions through sudden changes
in zone operating conditions.
ρair Vz Mf or ( 11 ) t
N∑
sink
t
∑
Nzones
t t t
∑ t
δt 6
Cf,z + ρair Rf,i Cf,z + ṁi Cf,z + ṁinf Cf,z + ṁsys Cf,z + hj ρAj Cf,z
i i=1 j
∑
Nsource ∑
Nzones ∑ Cs,j
= ρair Gf,i ∗ 1.06 + ṁi Cf,z,i + ṁinf Cf,∞ + ṁsys Cf,sup + hj ρAj kj
+ Sf
i=1
ρ V M ( i=1
) j
− air δtz f or −3Cf,zt−δt t−2δt
+ 32 Cf,z − 31 Cf,z
t−3δt
(2.69)
This gives us the basic air mass balance equation that will be solved in two different ways, one
way for the predict step and one way for the correct step.
Since the third choice of solution algorithms uses an integration approach, defined as Analyt-
icalSolution in the ZoneAirHeatBalanceAlgorithm object, it does not require any approximations
and has no truncation errors. The solutions in both prediction and correction are provided below
in detail.
Since the program provides three solution algorithms, the generic contaminant prediction from
each solution algorithm is given below.
[Link] EulerMethod
For this solution algorithm, the air mass balance for the predicted air system load or response is:
( )
PredictedSystemLoad [kg/ sec] = ρair Vz Mf or (δt)−1 Csetpoint − Cf,z t−δt
[N ]
∑
source N∑
sink ∑
Nzones
− ρair Gf,i ∗ 1.0 −ρair
6
Rf,i Csetpoint + ṁi (Cf,z,i − Csetpoint ) + Sf
[ i=1 i i=1 ]
(2.71)
∑ C
− ṁinf (Cf,∞ − Csetpoint ) + hj ρAj ( ks,j j
− Csetpoint )
j
30 CHAPTER 2. INTEGRATED SOLUTION MANAGER
[Link] ThirdOrderBackwardDifference
For this solution algorithm, the air mass balance for the predicted system load or response is given
below:
[ ]
ρ Vz Mf or(11) N∑
sink ∑
Nzones
PredictedSystemLoad[kg/sec]= air δt 6
Csetpoint− ρair Rf,iCsetpoint+ ṁiCsetpoint+ṁinf Csetpoint
[ i i=1
]
∑ ∑
Nsource ∑
Nzones ∑ C (2.72)
− hj ρAj Csetpoint+ ρairGf,i∗1.06+ ṁiCf,z,i+ṁinf Cf,∞+ hj ρAj ks,j +Sf
j
ρ
j
Vz Mf or
( i=1
) i=1 j
t−δt 3 t−2δt 1 t−3δt
+ air δt −3Cf,z +2Cf,z −3Cf,z
[Link] AnalyticalSolution
For this solution algorithm, the air mass balance for the predicted air system load or response is
given below:
[ ]
∑
Nzones N∑
sink ∑
PredictedSystemLoad [kg/ sec] = ṁi + ṁinf + ρair Rf,i + hj ρAj ∗
i=1 i
j
∑
Nzones N∑
sink ∑
ṁi +ṁinf +ρair Rf,i + hj ρAj
t
Csetpoint − Czt−δt ∗ exp − δt ∗
i=1 i j
ρair VZ MF OR
−1 (2.73)
∑
Nzones N∑
sink ∑
ṁi +ṁinf +ρair Rf,i + hj ρAj
1 − exp − δt −
i=1 i j
ρair VZ MF OR
( )
∑
Nsource ∑
Nzones ∑ Cs,j
ρair Gf,i ∗ 1.06 + ṁi Cf,z,i + ṁinf Cf,∞ + hj ρAj kj
+ Sf
i=1 i=1 j
At the prediction point in the simulation, the system air mass flows are not known; therefore, the
system response is approximated. The predicted air system generic contaminant load is then used
in the system simulation to achieve the best results possible. If a central HVAC system provides
the outdoor flow rate from a Controller:MechanicalVentilation object, the outdoor airflow rate may
be approximated as:
( ) ( )
PredictedSystemLoad = ṁsys Cf,sup − Cf,z
t
≈ ṁOA,z Cf,∞ − Csetpoint
t
(2.74)
where:
ṁOA,z = Supply outdoor airflow rate into the controlled zone [kg/s]
The above approximation is based on the assumption that the generic contaminant concentration
at the outdoor air (OA) mixer inlet is equal to the zone air outlet concentration level, and the generic
contaminant level at the zone supply air inlet is equal to the level at the outlet node of the OA
mixer.
After the system simulation is completed, the actual response from the air system is used in the
generic contaminant correction step, which is shown next.
2.7. ZONE AIR MASS FLOW CONSERVATION 31
[Link] EulerMethod
∑
Nsource ∑
Nzones ∑ C C t−δt
ρair Gf,i ∗1.06 + ṁi Cf,z,i +ṁinf Cf,∞ +ṁsys Cf,sup + hj ρAj ks,j +ρair VZ MF OR f,z
δt
+Sf
j
t
Cf,z = i=1 i=1
N∑
sink ∑
Nzones
j
∑
(2.75)
ρair Vz Mf or (δt)−1 +ρair Rf,i + ṁi +ṁinf +ṁsys + hj ρAj
i i=1 j
[Link] ThirdOrderBackwardDifference
∑
Nsource ∑
Nzones
ρair Gf,i ∗ 1.06 + ṁi Cf,z,i + ṁinf Cf,∞ + ṁsys Cf,sup
i=1
∑ Cs,j
i=1
+ hj ρAj kj
+ ρair VZ MF OR
δt
t−δt
(3Cf,z − 32 Cf,z
t−2δt t−3δt
+ 13 Cf,z ) + Sf (2.76)
t j
Cf,z = N∑
sink ∑
Nzones ∑
ρair Vz Mf or (δt)−1 ( 11
6 )
+ρair Rf,i + ṁi +ṁinf +ṁsys + hj ρAj
i i=1 j
[Link] AnalyticalSolution
∑
Nsource ∑
Nzones ∑ C
ρair Gf,i ∗1.06 + ṁi Cf,z,i +ṁinf Cf,∞ +ṁsys Cf,sys + hj ρAj ks,j
t−δt j
t
Cf,z = Cf,z − i=1
∑
Nzones
i=1
N∑
sink ∑
j
∗
ṁi +ṁinf +ṁsys +ρair Rf,i + hj ρAj
i=1 i
j
∑
Nzones N∑
sink ∑
ṁi +ṁinf +ṁsys +ρair Rf,i + hj ρAj
exp − i=1
ρair VZ MF OR
i j
δt + (2.77)
∑
Nsource ∑
Nzones ∑ C
ρair Gf,i ∗1.06 + ṁi Cf,z,i +ṁinf Cf,∞ +ṁsys Cf,sys + hj ρAj ks,j +Sf
i=1 i=1 j j
∑
Nzones N∑
sink ∑
ṁi +ṁinf +ṁsys +ρair Rf,i + hj ρAj
i=1 i j
The above solutions are implemented in the Correct Zone Air Generic Contaminant step in the
Zone Contaminant Predictor Corrector module of EnergyPlus.
• If there are no zone mixing flows to adjacent zones, then the zone air mass flow is balanced
by setting the Zone Mixing objects mass flow rate to zero.
• If there are no zone exhaust fans defined and there are no zone mixing objects specified, then
a zone in an air loop is always balanced.
• Infiltration mass flow is included in the zone air mass flow balance depending upon one of
three options: none (all infiltration is assumed to be self-balanced), all zones, or only zones
that serve as a source zone for zone mixing objects.
• The base infiltration mass flow rate (calculated based on user inputs) may be controlled one
of two ways for zone air mass flow balance purposes: adjust the base infiltration up or down as
needed to balance the zone air mass flow, or assume the base infiltration rate is self-balanced
and add infiltration if needed to balance the zone air mass flow.
• Optional user inputs can override the default return air flow rate.
The zone air mass flow conservation equation always includes: supply air flow rates, return air
flow rates, and zone exhaust fan flow rates. Zone mixing and infiltration object flow rates may be
included depending upon the selected options. A particular zone can be a source zone, receiving
zone, or both depending on the number of ZoneMixing objects specified for that zone.
If there is only one return node and no Zone Return Air Node 1 Flow Rate Basis Nodes, then: