# Component Sizing[LINK]

In EnergyPlus each HVAC component sizes itself. Each component module contains a sizing subroutine. When a component is called for the first time in a simulation, it reads in its user specified input data and then calls the sizing subroutine. This routine checks the autosizable input fields for missing data and calculates the data when needed.

A number of high-level variables are used in the sizing subroutines.

*CurDuctType* (in *DataSizing*) contains the information about the current duct type. The types can be *main*, *cooling*, *heating* or *other*.

*CurZoneEqNum* (in *DataSizing*) is the current zone equipment set index and indicates that the component is a piece of zone equipment and should size itself using the zone sizing data arrays.

*CurSysNum* (in *DataSizing*) is the current air loop index and indicates that the component is part of the primary air system and should size itself using the system sizing data arrays.

Fan sizing is done in subroutine *SizeFan*.

### Max Flow Rate[LINK]

If the fan is part of the central air system then check the duct type.

For duct type = *main, other* or default, ˙Vfan,max=DesMainVolFlowsys

For duct type = *cooling*, ˙Vfan,max=DesCoolVolFlowsys

For duct type = *heating*, ˙Vfan,max=DesHeatVolFlowsys

If the fan is zone equipment then check whether it is part of a component that only does heating.

For heating only ˙Vfan,max=DesHeatVolFlowzone ;

Otherwise ˙Vfan,max=max(DesHeatVolFlowzone,DesCoolVolFlowzone)

If the max fan flow rate is less than *SmallAirVolFlow* the max flow rate is set to zero.

## Coil:Cooling:Water[LINK]

The sizing is done in function *SizeWaterCoil* of module *WaterCoils*

### Initial Calculations[LINK]

For central cooling coils, the first step is to determine the design air flow rate, load, and design air entering and exit conditions. The coil design air flow rate is not generally the same as the maximum system air flow rate (used to size the central fans). The cooling coil peak load (either sensible or total) can occur at a different time than the system peak flow rate. Hence the coil air entering conditions can be different than those at the peak system flow rate. Also, the method of controlling the coil’s cooling output may also affect coil design flow rate as well as the coil design exit temperature and humidity.

By choosing Type of Load to Size On = *Sensible* or *Total* in Sizing:System the user indicates to the program to save the cooling coil air flow rate and system air conditions (mixed, return, outside) at the time of either the system cooling sensible or total load peak. Note that the choice *VentilationRequirement* uses the time of the sensible peak.

Choosing Central Cooling Capacity Control Method = *VAV*, *Bypass*, *VT*, or *OnOff* indicates which type of cooling output control the program should assume when calculating the design air flow rate. The function *GetCoilDesFlowT* in module *ReportSizingManager* calculates the air flow rate and exit air temperature for each capacity control method.

Cooling coil calculations for different capacity control methods
VAV |
Tcc,exit=Tcool,supply˙Vcc,air=˙mcc,air,peakρair |

Bypass |
Tcc,exit=Tcool,supply˙Vcc,air=˙Vcc,air,max⋅max(0,min(1,Tmix,at−peak−Tsup,avgTmix,at−peak−Tcc,exit)) |

VT |
Tcc,exit=max(Tcool,supply,Tsup,avg)˙Vcc,air=˙Vcc,air,max |

OnOff |
Tcc,exit=Tcool,supply˙Vcc,air=˙Vsys,air,max |

Where:

Tsup,avg=Tzones,avg−∑zones˙Qsens,at−peakρaircp,air˙Vcool,air,max

and:

Cp,air : the specific heat of air (J/kgC)

˙mcc,air,peak : the air mass flow rate through the cooling coil at the sensible or total system peak cooling load (m3/s)

∑zones˙Qsens,at−peak : sum of the zone sensible cooling loads at the time of the peak system cooling load

ρair : the density of air (kg/m3)

Tcc,exit : the design cooling coil exit temperature (c)

Tcool,supply : the supply air temperature for cooling specified in Sizing:System (C)

Tmix,at−peak : the mixed air temperature at the time of the system peak cooling load (C)

Tzones,avg : the average zone temperature at the time of the system peak cooling load (C)

˙Vcc,air : the design volumetric air flow rate through the cooling coil (m3/s). This is the flow rate at either the sensible or total cooling load peak from the design period calculations.

˙Vcool,air,max : the maximum cooling volumetric air flow rate from the design calculations (m3/s). This flow rate occurs at the maximum zone cooling demand.

˙Vsys,air,max : the maximum volumetric air flow rate from the design calculations (m3/s). This flow rate occurs at either the maximum zone cooling or heating demand.

### Design Coil Load - System Coils[LINK]

Design coil load (cooling capacity) is not an input for Coil:Cooling:Water. It is used for calculating the design water flow rate.

The design load is calculated as:

˙Qcoil,des=˙ma,coil,des(ha,coil,des,in−ha,coil,des,out)

Where:

ha,coil,des,in : is the coil design inlet air enthalpy (J/kg)

ha,coil,des,out : is the coil design outlet air enthalpy (J/kg), and

˙ma,coil,des : is the coil design air mass flow rate (kg/s)

The design air mass flow rate depends on the location of the coil. If the coil is in the outside air stream, the flow rate is set to

ρair˙Va,coil,oa,des

where ˙Va,coil.oa,des is the design outside air volumetric flow rate for the system. Otherwise, it is set to:

ρair˙Vcc,air

where ˙Vcc,air is calculated above in the Initial Calculations section.

To obtain the inlet and outlet enthalpies, we need the inlet and outlet temperatures and humidity ratios. The inlet and outlet conditions depend on whether the coil is in the outside air stream and if it is not, whether or not there is outside air preconditioning.

####
**Coil in outside air stream**:[LINK]

Tair,in,des=Tout,cool,at−peak (the outside air temperature at the design cooling peak)

Tair,out,des=Tsys,precool (the specified Precool Design Temperature from the System:Sizing object)

Wair,in,des=Wout,cool,at−peak (the outside humidity ratio at the design cooling peak)

Wair,out,des=Wsys,precool (the specified Precool Design Humidity Ratio from the System:Sizing object)

####
**Coil in main air stream, no preconditioning of outside air**[LINK]

Tair,in,des=Tmix,cool,at−peak (the mixed air temperature at the design cooling peak)

Wair,in,des=Wmix,cool,at−peak (the mixed humidity ratio at the design cooling peak)

Tair,out,des=Tcc,exit (calculated above in the Initial Calculation section)

Wair,out,des=Wsup,cool (the specified Central Cooling Design Supply Air Humidity Ratio from the Sizing:System object)

####
**Coil in main air stream, outside air preconditioned**[LINK]

The oustide air fraction is calculated as (where Vcc,air is calculated as above)

foa=˙Vair,out,des˙Vcc,air

Tair,in,des=foaTprecool+(1−foa)Tret,cool,at−peak (Precool temperature is the specified Precool Design Temperature from System:Sizing Manager; T_ret_cool_at-peak is the return temperature at the system cooling peak load)

Wair,in,des=foaWprecool+(1−foa)Wret,cool,at−peak (Precool humidity ratio is the specified Precool Design Humidity Ratio from System:Sizing Manager; W_ret_cool_at-peak is the return humidity ratio at the system cooling peak load)

Tair,out,des=Tcc,exit (calculated above in the Initial Calculation section)

Wair,out,des=Wsup,cool (the specified Central Cooling Design Supply Air Humidity Ratio from the Sizing:System object)

With the inlet and outlet conditions established, we can obtain the inlet and outlet enthalpies:

hair,coil,des,in=PsyHFnTdbW(Tair,in,des,Wair,in,des)hair,coil,des,out=PsyHFnTdbW(Tair,out,des,Wair,out,des)

Where PsyHFnTdbW is the EnergyPlus function for calculation air specific enthalpy given the air temperature and humidity ratio. We now have all we need to calculate the design coil capacity, ˙Qcoil,des .

### Design Coil Load - Zone Coils[LINK]

If the coil is part of an AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction unit or an ZoneHVAC:FourPipeFanCoil, the cooling load (cooling capacity) is passed down from the terminal unit or fan coil sizing calculations. Otherwise the load is defined as:

˙Qcoil,des=˙ma,coil,des(ha,coil,des,in−ha,coil,des,out)

Where:

ha,coil,des,in : is the coil design inlet air enthalpy (J/kg)

ha,coil,des,out : is the coil design outlet air enthalpy (J/kg), and

˙ma,coil,des : is the coil design air mass flow rate (kg/s)

The enthalpies are given by:

hair,coil,des,in=PsyHFnTdbW(Tair,in,des,Wair,in,des)hair,coil,des,out=PsyHFnTdbW(Tair,out,des,Wair,out,des)

Where the inputs to those functions are the coil inlet design conditions. For coils in terminal units these are set at the system level to the system design supply air temperature. For zonal units they are set to design return air, mixed air, or outside air as appropriate to the unit. Tair,out,des is set to the zone cooling design supply air temperature as specified in the *Zone:Sizing* inputs. Wair,out,des is set to the zone cooling design supply air humidity ratio as specified in the *Zone:Sizing* inputs.

### Design Water Flow Rate (m3/s) - System Coils[LINK]

The design water volumetric flow rate is calculated using:

˙Vw,coil,des=˙Qcoil,desρwcp,wΔTw,des

Where ΔTw,des is just the *Loop Design Temperature Difference* user input from *Sizing:Plant* (if the coil is in the outside air stream, 1/2 the *Loop Design Temperature Difference* is used). The design coil load *Loadcoil,des* is calculated from:

### Design Water Flow Rate (m3/s) - Zone Coils[LINK]

If the coil is part of an AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction unit or an ZoneHVAC:FourPipeFanCoil, the chilled water flow rate is passed down from the terminal unit or fan coil sizing calculations. Otherwise the flow is set to:

˙Vw,coil,des=˙Qcoil,desρwcp,wΔTw,des

Where ΔTw,des is just the *Loop Design Temperature Difference* user input from *Sizing:Plant*.

### Design Air Flow Rate - System Coils[LINK]

The design air volumetric flow rate for the system cooling coil is set to:

the design outside air flow rate if the coil is in the outside air stream;

the coil design flow rate from function GetCoilDesFlowT described in section “Initial Calculations”;

the design flow rate set by the parent component (such as a unitary system) containing the cooling coil.

### Design Air Flow Rate - Zone Coils[LINK]

Zone chilled water coils are always part of a zone HVAC component. In almost all cases the design flow rate is passed down from the design flow rate of the parent component. Otherwise if the parent component does cooling only the flow rate for the coil is set to the zone design cooling flow rate. And if the parent component does both cooling and heating, the coil flow rate is set to the maximum of the zone design cooling and heating flow rates.

### Design Air Inlet Temperature - System Coils[LINK]

The inlet air temperature depends on whether the coil is in the outside air stream and if it is not, whether or not there is outside air preconditioning.

Coil in outside air stream: Tair,in,des=Tout,cool,at−peak (the outside air temperature set at the design cooling peak).

Coil in main air stream, no preconditioning of outside air: Tair,in,des=Tmix,cool,at−peak (the mixed air temperature at the cooling design peak).

Coil in main air stream, outside air preconditioned. The outside air fraction is calculated as foa=˙Vair,out,des/˙Vcc,air , where ˙Vcc,air is calculated above. Then Tair,in,des=foaTprecool+(1−foa)Tret,cool,at−peak , where Tprecool is the specified *Precool Design Temperature* from *System:Sizing*, and Tret,cool,at−peak is the return temperature at the system cooling peak load.

### Design Air Inlet Temperature - Zone Coils[LINK]

The design inlet temperature depends on whether the coil is in a terminal unit or a zonal unit, and where the coil is positioned within the unit.

For the AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction terminal unit the design inlet temperature is set to the zone temperature at the time of the zone cooling peak, since the coil is located in the induced air stream.

For fan coil units the design inlet temperature is set to the mixed air temperature: Tair,in,des=foaToa,coolpeak+(1−foa)Tz,coolpeak , where foa=ρa˙Vz,oa,des/˙mz,cool,des

In all other cases the design inlet temperature is set to the zone design cooling coil inlet temperature which is calculated in the zone sizing simulation and is basically the same calculation as the fan coil unit.

### Design Air Outlet Temperature - System Coils[LINK]

The outlet air temperature depends on whether the coil is in the outside air stream.

Coil in outside air stream: Tair,out,des = Tsys,des,precool (the specified Precool Design Temperature from the Sizing:System object).

Coil in main air stream: the design outlet air temperature is set to the temperature calculated in the Initial Calculation section above.

### Design Air Outlet Temperature - Zone Coils[LINK]

If the coil is part of an AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction unit, then:

˙Qcoil,des=cp,airρair˙Vw,coil,desΔTw,desT1=Tair,in,des−˙Qcoil,des/(ρaircp,air˙Vair,coil,des)T2=Tw,out,des+2Tair,out,des=max(T1,T2)

For all other cases Tair,out,des is set to Tz,sup,des (the zone design supply air temperature as specified in Sizing:Zone).

### Design Inlet Air Humidity Ratio - System Coils[LINK]

The design inlet humidity ratio depends on whether the coil is in the outside air stream and if it is not, whether or not there is outside air preconditioning.

Coil in outside air stream: Wair,in,des=Wout,cool,at−peak (the outside air humidity ratio at the design cooling peak).

Coil in main air stream, no preconditioning of outside air: Wair,in,des=Wmix,cool,at−peak (the mixed air humidity ratio at the cooling design peak).

Coil in main air stream, outside air preconditioned. The outside air fraction is calculated as foa=˙Vair,out,des/˙Vcc,air , where ˙Vcc,air is calculated above. Then Wair,in,des=foaWprecool+(1−foa)Wret,cool,at−peak , where Wprecool is the specified *Precool Design Humidity Ratio* from *System:Sizing*, and Wret,cool,at−peak is the return humidity ratio at the system cooling peak load.

### Design Air Inlet Humidity Ratio - Zone Coils[LINK]

The design inlet humidity ratio depends on whether the coil is in a terminal unit or a zonal unit, and where the coil is positioned within the unit.

For the AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction terminal unit the design inlet humidity ratio is set to the zone humidity ratio at the time of the zone cooling peak, since the coil is located in the induced air stream.

For fan coil units the design inlet humidity ratio is set to the mixed air humidity ratio: Wair,in,des=foaWoa,coolpeak+(1−foa)Wz,coolpeak , where foa=ρa˙Vz,oa,des/˙mz,cool,des

In all other cases the design inlet humidity ratio is set to the zone design cooling coil inlet hunidity ratio which is calculated in the zone sizing simulation and is basically the same calculation as the fan coil unit.

### Design Outlet Air Humidity Ratio - System Coils[LINK]

The outlet air humidity ratio depends on whether the coil is in the outside air stream.

Coil in outside air stream: Wair,out,des = Wsys,des,precool (the specified Precool Design Humidity Ratio from the Sizing:System object)

Coil in main air stream: Wair,out,des = PsyWFnTdbRhPb(Tair,out,des,0.9,Pair,std), where PsyWFnTdbRhPb is the EnergyPlus psychrometric function to calculate humidity ratio from drybulb temperature, relative humidity, and atmospheric pressure. The design outlet humidity ratio is being set to the humidity ratio at 90% relative humidity and design outlet temperature.

### Design Outlet Air Humidity Ratio - Zone Coils[LINK]

If the coil is part of an AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction unit, then:

Get the dewpoint temperature at Wair,in,des: Tdp,in=PsyTdpFnWPb(Wair,in,des,Pair,std)

If Tdp,in < = Tw,in,des set Wair,out,des = Wair,in,des. Otherwise set Wair,out,des = min(PsyWFnTdbRhPb(Tair,out,des,0.9,Pair,std),Wair,in,des)

### Design Inlet Water Temperature - System Coils[LINK]

The Design Inlet Water Temperature is set to the Design Loop Exit Temperature specified in the Sizing:Plant object for the water loop serving this coil.

### Design Inlet Water Temperature - Zone Coils[LINK]

The Design Inlet Water Temperature is set to the Design Loop Exit Temperature specified in the Sizing:Plant object for the water loop serving this coil.

## Coil:Cooling:Water:DetailedGeometry Sizing[LINK]

The sizing is done in subroutine *SizeWaterCoil*

### Max Water Flow Rate of Coil[LINK]

The calculation is identical to that done for *Coil:Cooling:Water*.

### Number of Tubes per Row[LINK]

Ntube/row=Int(13750⋅˙Vcoil,water,max)

*Ntube/row* = **Max**(*Ntube/row*,3)

Depending on the duct type, get the coil design air flow rate.

For duct type = *main, other* or default

˙mair,des=ρair⋅DesMainVolFlowsys

for duct type = *cooling*

˙mair,des=ρair⋅DesCoolVolFlowsys

for duct type = *heating*

˙mair,des=ρair⋅DesHeatVolFlowsys

Dfin=0.335⋅˙mair,des

### Minimum Air Flow Area[LINK]

Depending on the duct type, get the coil design air flow rate.

For duct type = *main, other* or default

˙mair,des=ρair⋅DesMainVolFlowsys

for duct type = *cooling*

˙mair,des=ρair⋅DesCoolVolFlowsys

for duct type = *heating*

˙mair,des=ρair⋅DesHeatVolFlowsys

AMinAirFlow=0.44⋅˙mair,des

### Fin Surface Area[LINK]

Depending on the duct type, get the coil design air flow rate.

For duct type = *main, other* or default

˙mair,des=ρair⋅DesMainVolFlowsys

for duct type = *cooling*

˙mair,des=ρair⋅DesCoolVolFlowsys

for duct type = *heating*

˙mair,des=ρair⋅DesHeatVolFlowsys

AFinSurf=78.5⋅˙mair,des

### Total Tube Inside Area[LINK]

*Atube,totalinside* = 4.4 **Dtube,inside* **Ntuberows* **Ntubes/row*

Where *Dtube,inside* is the tube inside diameter.

### Tube Outside Surf Area[LINK]

*Atube,outside* = 4.1 **Dtube,outside* **Ntuberows* **Ntubes/row*

Where *Dtube,outside* is the tube outside diameter.

*Depthcoil* = *Depthtubespacing* * *Ntuberows*

## Coil:Cooling:WaterToAirHeatPump:EquationFit Sizing[LINK]

The sizing is done in subroutine *SizeHVACWaterToAir*

### Rated Air Flow Rate[LINK]

The calculation is identical to that done for *Coil:Cooling:Water*.

### Rated Water Flow Rate[LINK]

The calculation is identical to that done for *Coil:Cooling:Water*, which is the coil design load divided by the *Loop Design Temperature Difference* user input from *Sizing:Plant.* If there is a companion heating coil, the heating coil design load is used so that both modes will have the same rated water flow rate. For sizing the plant loop serving this coil, only one half of this flow rate is used since both the cooling and heating coil will save a flow rate but only one of these coils will operate at a time.

### Rated Total Cooling Capacity[LINK]

The calculation for coil operating temperatures (inlet and outlet) are identical to that done for *Coil:Cooling:Water*. The following calculations are then performed to determine the rated total cooling capacity.

TWB,ratio=TWB,air,in,des+273.15C283.15C

TS,ratio=29.44C+273.15C283.15C

where:

$T_{WB,ratio} = $ ratio of load-side inlet air wet-bulb temperature in Kelvin to a reference temperature

$T_{S,ratio} = $ ratio of source-side inlet water temperature in Kelvin to a reference temperature

TCC1 = user input for Total Cooling Capacity Coefficient 1

TCC2 = user input for Total Cooling Capacity Coefficient 2

TCC3 = user input for Total Cooling Capacity Coefficient 3

TCC4 = user input for Total Cooling Capacity Coefficient 4

TCC5 = user input for Total Cooling Capacity Coefficient 5

TotCapTempModFac=TCC1+TCC2(TWB,ratio)+TCC3(TS,ratio)+TCC4+TCC5

The 4th and 5th coefficient (TCC4 and TCC5) used in the above equation are multipliers for the load-side and source-side flow ratios, respectively. For sizing, these ratios are assumed to be 1.

The enthalpy of the entering air is then compared with the enthalpy of the exiting air. The calculations for air enthalpy are identical to that done for *Coil:Cooling:Water*. If the entering air enthalpy is less than the exiting air enthalpy, a reference value of 48,000 J/kg is used as the entering air enthalpy. If the TotCapTempModFac calculation above yields 0 as the result, a value of 1 is used in the following calculation. If the design air mass flow rate is determined to be less than a very small flow value (0.001 kg/s) or the capacity calculated here is less than 0, the coil total cooling capacity is set equal to 0.

˙Qcoil,des,total=⎧⎪
⎪⎨⎪
⎪⎩˙mair,des(Hin−Hout)TotCapTempModFacifHin>Hout˙mair,des(48000−Hout)TotCapTempModFacotherwise

### Rated Sensible Cooling Capacity[LINK]

The calculation for coil operating temperatures (inlet and outlet) are identical to that done for *Coil:Cooling:Water*. The following calculations are then performed to determine the rated sensible cooling capacity.

TDB,ratio=TDB,air,in,des+273.15C283.15C

TS,ratio=29.44C+273.15C283.15C

where:

${T_{DB,ratio}} = $ ratio of load-side inlet air dry-bulb temperature in Kelvin to a reference temperature

SCC1 = user input for Sensible Cooling Capacity Coefficient 1

SCC2 = user input for Sensible Cooling Capacity Coefficient 2

SCC3 = user input for Sensible Cooling Capacity Coefficient 3

SCC4 = user input for Sensible Cooling Capacity Coefficient 4

SCC5 = user input for Sensible Cooling Capacity Coefficient 5

SCC6 = user input for Sensible Cooling Capacity Coefficient 6

SensCapTempModFac=SCC1+SCC2(TDB,ratio)+SCC3(TWB,ratio)+SCC4(TS,ratio)+SCC5+SCC6

The 5th and 6th coefficient (SCC5 and SCC6) used in the above equation are multipliers for the load-side and source-side flow ratios, respectively. For sizing, these ratios are assumed to be 1.

The dry-bulb temperature of the entering air is then compared with the dry-bulb temperature of the exiting air. The calculations for air dry-bulb temperature are identical to that done for *Coil:Cooling:Water*. If the entering air dry-bulb temperature is less than the exiting air dry-bulb temperature, a reference value of 24 C is used as the entering air dry-bulb temperature. If the SensCapTempModFac calculation above yields 0 as the result, a value of 1 is used in the following calculation. If the design air mass flow rate is determined to be less than a very small flow value (0.001 kg/s) or the capacity calculated here is less than 0, the coil sensible cooling capacity is set equal to 0.

˙Qcoil,des,sensible=⎧⎪
⎪⎨⎪
⎪⎩˙mair,desCp,air,des(TDB,in−TDB,out)SensCapTempModFacifTDB,in>TDB,out˙mair,desCp,air,des(24−TDB,out)SensCapTempModFacotherwise

## Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit Sizing[LINK]

For the cooling coil of VS WSHP, we specify a nominal speed level. During the sizing calculation, the Rated Air Volume Flow Rate, the Rated Water Volume Flow Rate and the Rated Total Cooling Capacity at the Selected Nominal Speed Level are determined in the same way as the *Coil:Cooling:WaterToAirHeatPump:EquationFit* object. The sensible heat transfer rate is not allowed for auto-sizing, instead, it is a function of the rated air and water flow rates, rated total cooling capacity and the Reference Unit SHR at the nominal speed level. The default nominal speed level is the highest speed. However, the model allows the user to select a nominal speed level rather than the highest.

### Rated Air Flow Rate[LINK]

The calculation is identical to that done for *Coil:Cooling:WaterToAirHeatPump:EquationFit*.

### Rated Water Flow Rate[LINK]

The calculation is identical to that done for *Coil:Cooling:WaterToAirHeatPump:EquationFit* , which is the coil design load divided by the *Loop Design Temperature Difference* user input from *Sizing:Plant.* If there is a companion heating coil, the heating coil design load is used so that both modes will have the same rated water flow rate. For sizing the plant loop serving this coil, only one half of this flow rate is used since both the cooling and heating coil will save a flow rate but only one of these coils will operate at a time.

### Rated Total Cooling Capacity[LINK]

The calculation for coil operating temperatures (inlet and outlet) are identical to that done for *Coil:Cooling:WaterToAirHeatPump:EquationFit*. The calculations for air enthalpy are similar to that done for *Coil:Cooling:WaterToAirHeatPump:EquationFit.* The difference is in calculating the total cooling capacity temperature modifier function at the selected nominal speed level, as below:

TotCapTempModFracNominalSpeed=a+b∗WBi+c∗WB2i+d∗EWT+e∗EWT2+f∗WBi∗EWT

where

WBi = wet-bulb temperature of the air entering the heating coil, degC

EWT = entering water temperature, degC

a-f = regression curve-fit coefficients.

If the entering air enthalpy is less than the exiting air enthalpy, a reference value of 48,000 J/kg is used as the entering air enthalpy. If the *TotCapTempModFac* calculation above yields 0 as the result, a value of 1 is used in the following calculation. If the rated air mass flow rate is determined to be less than a very small flow value (0.001 kg/s) or the capacity calculated here is less than 0, the coil total cooling capacity is set equal to 0.

*If Hin > Hout Then*

˙Qcoil,rated,total=mair,rated(Hin−Hout)/TotCapTempModFracNominalSpeed

*Else*

˙Qcoil,rated,total=mair,rated(48000−Hout)/TotCapTempModFracNominalSpeed

*End If*

## Coil:Heating:WaterToAirHeatPump:EquationFit Sizing[LINK]

The sizing is done in subroutine *SizeHVACWaterToAir.*

### Rated Air Flow Rate[LINK]

The calculation is identical to that done for *Coil:Cooling:Water*.

### Rated Water Flow Rate[LINK]

The calculation is identical to that done for *Coil:Cooling:Water* , which is the coil design load divided by the *Loop Design Temperature Difference* user input from *Sizing:Plant.* For sizing the plant loop serving this coil, only one half of this flow rate is used since both the cooling and heating coil will save a flow rate but only one of these coils will operate at a time.

### Rated Total Heating Capacity[LINK]

The rated total heating capacity is set equal to the rated total cooling capacity.

## Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit Sizing[LINK]

For the heating coil of VS WSHP, we specify a nominal speed level. During the sizing calculation, the Rated Air Volume Flow Rate and the Rated Water Volume Flow Rate are determined in the same way as the *Coil:Heating:WaterToAirHeatPump:EquationFit* object. On the other hand, the Rated Heating Capacity at the Selected Nominal Speed Level should be the same as the total cooling capacity of its corresponding cooling coil, which has to be sized first. The default nominal speed level will be the highest speed. However, the model allows the user to select a nominal speed level rather than the highest.

### Rated Air Flow Rate[LINK]

The calculation is identical to that done for Coil:Cooling:WaterToAirHeatPump:EquationFit.

### Rated Water Flow Rate[LINK]

The calculation is identical to that done for Coil:Cooling:WaterToAirHeatPump:EquationFit, which is the coil design load divided by the *Loop Design Temperature Difference* user input from *Sizing:Plant.* For sizing the plant loop serving this coil, only one half of this flow rate is used since both the cooling and heating coil will save a flow rate but only one of these coils will operate at a time.

### Rated Total Heating Capacity[LINK]

The rated total heating capacity is set equal to the rated total cooling capacity.

## Coil:Heating:Water Sizing[LINK]

The sizing is done in subroutine *SizeWaterCoil*.

### Max Water Flow Rate of Coil[LINK]

With the coil load from the system design data array and the user specified (in a Sizing:Plant object) design hot water temperature fall, calculate the max water flow rate:

˙Vcoil,water,max=HeatCapsys/(Cp,water⋅ρwater⋅ΔTplt,hw,des)

Using the zone design coil inlet and supply air conditions calculate the design coil load.

If the coil is not part of an induction unit then obtain the coil inlet temperature from the zone design data array;

*Tin,air = DesHeatCoilInTempzone*

If the coil is part of an induction unit take into account the induced air:

*Fracminflow* = *MinFlowFraczone*

*Tin,air* = *DesHeatCoilInTempzone* * *Fracminflow* +

*ZoneTempAtHeatPeakzone* *(1- *Fracminflow*)

*Tout,air = HeatDesTempzone*

W*out,air = HeatDesHumRatzone*

If the coil is part of a terminal unit the mass flow rate is determined by the volumetric flow rate of the terminal unit:

˙mair,des=ρair⋅˙mair,des,tu

Otherwise the design flow is obtained from the zone design data array:

˙mair,des=DesHeatMassFlowzone

Qcoil,des=cp,air˙mair,des⋅(Tout,air−Tin,air)

Here *cp,air* is calculated at the outlet humidity and the average of the inlet and outlet temperatures.

With the coil load and the user specified (in a Sizing:Plant object) design hot water temperature decrease, calculate the max water flow rate:

˙Vcoil,water,max=Qcoil,des/(Cp,water⋅ρwater⋅ΔTplt,hw,des)

### UA of the Coil[LINK]

To obtain the UA of the coil, we specify the model inputs (other than the UA) at design conditions and the design coil load that the coil must meet. Then we numerically invert the coil model to solve for the UA that will enable the coil to meet the design coil load given the specified inputs.

The design coil load is the system design sensible cooling capacity;

*Qcoil,des* = *HeatCapsys*

The required inputs for the simple coil model are:

*Tin,air* = *HeatMixTempsys*

*Win,air* = *HeatMixHumRatsys*

*Tin,water* = *ExitTempplt,hw,des*

˙min,water=ρwater⋅˙Vcoil,water,max

Depending on the duct type, get the coil design air flow rate.

For duct type = *main, other* or default

*˙min,air=ρair⋅DesMainVolFlowsys*

for duct type = *cooling*

*˙min,air=ρair⋅DesCoolVolFlowsys*

for duct type = *heating*

˙min,air=ρair⋅DesHeatVolFlowsys

We now have all the data needed to obtain UA. The numerical inversion is carried out by calling subroutine *SolveRegulaFalsi*. This is a general utility routine for finding the zero of a function. In this case it finds the UA that will zero the residual function - the difference between the design coil load and the coil output divided by the design coil load. The residual is calculated in the function *SimpleHeatingCoilUAResidual*.

If the coil is not part of an induction unit then obtain the coil inlet temperature from the zone design data array;

*Tin,air = DesHeatCoilInTempzone*

If the coil is part of an induction unit take into account the induced air:

*Fracminflow* = *MinFlowFraczone*

*Tin,air* = *DesHeatCoilInTempzone* * *Fracminflow* +

*ZoneTempAtHeatPeakzone* *(1- *Fracminflow*)

*Win,air* = *DesHeatCoilInHumRatzone*

*Tin,water* = *ExitTempplt,hw,des*

˙min,water=ρwater⋅˙Vcoil,water,max

*Tout,air = HeatDesTempzone*

W*out,air = HeatDesHumRatzone*

If the coil is part of a terminal unit the mass flow rate is determined by the volumetric flow rate of the terminal unit:

˙mair,des=ρair⋅˙mair,des,tu

Otherwise the design flow is obtained from the zone design data array:

˙mair,des=DesHeatMassFlowzone

˙Qcoil,des=cp,air⋅˙mair,des⋅(Tout,air−Tin,air)

Here *cp,air* is calculated at the outlet humidity and the average of the inlet and outlet temperatures.

We now have all the data needed to obtain UA. The numerical inversion is carried out by calling subroutine *SolveRegulaFalsi*. This is a general utility routine for finding the zero of a function. In this case it finds the UA that will zero the residual function - the difference between the design coil load and the coil output divided by the design coil load. The residual is calculated in the function *SimpleHeatingCoilUAResidual*.

## Coil:Heating:Steam Sizing[LINK]

The sizing is done in subroutine *SizeSteamCoil*.

### Maximum Steam Flow Rate[LINK]

The maximum steam volumetric flow rate is calculated using:

˙Vcoil,steam,max=Loadcoil,desρsteam(hfg+cp,w⋅ΔTsc)

The steam density (ρsteam ) is for saturated steam at 100 degC (101325.0 Pa) and *hfg* is the latent heat of vaporization of water at 100 degC (101325.0 Pa). *Cp,w* is the heat capacity of saturated water (condensate) at 100 degC (101325.0 Pa) and ΔTsc is the Degree of Subcooling defined in the Coil:Heating:Steam object input. The design coil load *Loadcoil,des* is calculated from:

Loadcoil,des=˙mair,des(cp,air)(Tair,coil,des,out−Tair,coil,des,in)

The design air mass flow rate depends on the location of the coil (duct type). For duct type = *main,* the flow rate is set to *rair* **DesMainVolFlowsys* **MinSysAirFlowRatio*. If the coil is in a cooling duct the flow rate is set to *rair* **DesCoolVolFlowsys* **MinSysAirFlowRatio*. If the coil is in a heating duct the flow rate is set to *rair* **DesHeatVolFlowsys*. If the coil is in any other kind of duct, the flow rate is set to *rair* **DesMainVolFlowsys*.

For sizing, the design outlet air temperature (*Tair,coil,des,out*) is the Central Heating Design Supply Air Temperature specified in the Sizing:System object.

The design inlet air temperature depends on whether the coil is being sized for 100% outdoor air or minimum outdoor air flow (per 100% Outdoor Air in Heating input field in the Sizing:System object).

- Sizing based on 100% Outdoor Air in Heating

*Tair,coil,des,in* = *HeatOutTempsys* (the outdoor air temperature at the design heating peak)

- Sizing based on minimum outdoor air flow. The outdoor air fraction is calculated as
*Frac*oa = *DesOutAirVolFlowsys* / *DesVolFlow*. *DesVolFlow* is ∙mair,des/∙mair,desρairρair *.*

*Tair,coil,des,in* = *Frac*oa* * HeatOutTempsys* + (1.- *Fracoa*) **HeatRetTempsys* (see Table. System Sizing Data)

If the coil is part of an *AirTerminal:SingleDuct:** unit (e.g., *AirTerminal:SingleDuct:ConstantVolume:Reheat, AirTerminal:SingleDuct:VAV:Reheat, AirTerminal:SingleDuct:SeriesPIU:Reheat, etc.)*, the maximum steam flow rate is set equal to the terminal unit’s maximum steam flow rate. Otherwise (e.g., the zone-level coil is part of *ZoneHVAC:PackagedTerminalAirConditioner, ZoneHVAC:UnitVentilator, ZoneHVAC:UnitHeater or ZoneHVAC:VentilatedSlab*) the calculation is similar to that at the system level. A design load is calculated:

Loadcoil,des=˙mair,des(cp,air)(Tair,coil,des,out−Tair,coil,des,in)

where:

˙mair,des = *DesHeatMassFlowzone* (see Table. Zone Sizing Data)

*Tair,coil,des,in* = *DesHeatCoilInTempzone* (see Table)

*Tair,coil,des,out* = *HeatDesTempzone* (user input from Sizing:Zone object)

cp,air = Specific heat of air (evaluated at the average of inlet and outlet air temperatures, and at the zone heating design supply air humidity ratio *HeatDesHumRatzone* [user input from Sizing:Zone object])

˙Vcoil,steam,max=Loadcoil,desρsteam(hfg+cp,w⋅ΔTsc)

The terms in the denominator of this equation (*ρsteam*, *hfg*, etc.) are evaluated in the same way as described above for steam System Coils.

## Sizing of Gas and Electric Heating Coils[LINK]

The sizing calculation is done in subroutine *SizeHeatingCoil* in module *HeatingCoils*.

### Nominal Capacity of the Coil[LINK]

The value is obtained from the system design array.

*Capnom* = *HeatCapsys*

The capacity is calculated from the design coil inlet and outlet conditions.

If the coil is not part of an induction unit then obtain the coil inlet temperature from the zone design data array;

*T*

## Component Sizing[LINK]

## Introduction[LINK]

In EnergyPlus each HVAC component sizes itself. Each component module contains a sizing subroutine. When a component is called for the first time in a simulation, it reads in its user specified input data and then calls the sizing subroutine. This routine checks the autosizable input fields for missing data and calculates the data when needed.

A number of high-level variables are used in the sizing subroutines.

CurDuctType(inDataSizing) contains the information about the current duct type. The types can bemain,cooling,heatingorother.CurZoneEqNum(inDataSizing) is the current zone equipment set index and indicates that the component is a piece of zone equipment and should size itself using the zone sizing data arrays.CurSysNum(inDataSizing) is the current air loop index and indicates that the component is part of the primary air system and should size itself using the system sizing data arrays.## Fan Sizing[LINK]

Fan sizing is done in subroutine

SizeFan.## Max Flow Rate[LINK]

If the fan is part of the central air system then check the duct type.

For duct type =

main, otheror default, ˙Vfan,max=DesMainVolFlowsysFor duct type =

cooling, ˙Vfan,max=DesCoolVolFlowsysFor duct type =

heating, ˙Vfan,max=DesHeatVolFlowsysIf the fan is zone equipment then check whether it is part of a component that only does heating.

For heating only ˙Vfan,max=DesHeatVolFlowzone ;

Otherwise ˙Vfan,max=max(DesHeatVolFlowzone,DesCoolVolFlowzone)

If the max fan flow rate is less than

SmallAirVolFlowthe max flow rate is set to zero.## Coil:Cooling:Water[LINK]

The sizing is done in function

SizeWaterCoilof moduleWaterCoils## Initial Calculations[LINK]

For central cooling coils, the first step is to determine the design air flow rate, load, and design air entering and exit conditions. The coil design air flow rate is not generally the same as the maximum system air flow rate (used to size the central fans). The cooling coil peak load (either sensible or total) can occur at a different time than the system peak flow rate. Hence the coil air entering conditions can be different than those at the peak system flow rate. Also, the method of controlling the coil’s cooling output may also affect coil design flow rate as well as the coil design exit temperature and humidity.

By choosing Type of Load to Size On =

SensibleorTotalin Sizing:System the user indicates to the program to save the cooling coil air flow rate and system air conditions (mixed, return, outside) at the time of either the system cooling sensible or total load peak. Note that the choiceVentilationRequirementuses the time of the sensible peak.Choosing Central Cooling Capacity Control Method =

VAV,Bypass,VT, orOnOffindicates which type of cooling output control the program should assume when calculating the design air flow rate. The functionGetCoilDesFlowTin moduleReportSizingManagercalculates the air flow rate and exit air temperature for each capacity control method.Where:

Tsup,avg=Tzones,avg−∑zones˙Qsens,at−peakρaircp,air˙Vcool,air,max

and:

Cp,air : the specific heat of air (J/kgC)

˙mcc,air,peak : the air mass flow rate through the cooling coil at the sensible or total system peak cooling load (m3/s)

∑zones˙Qsens,at−peak : sum of the zone sensible cooling loads at the time of the peak system cooling load

ρair : the density of air (kg/m3)

Tcc,exit : the design cooling coil exit temperature (c)

Tcool,supply : the supply air temperature for cooling specified in Sizing:System (C)

Tmix,at−peak : the mixed air temperature at the time of the system peak cooling load (C)

Tzones,avg : the average zone temperature at the time of the system peak cooling load (C)

˙Vcc,air : the design volumetric air flow rate through the cooling coil (m3/s). This is the flow rate at either the sensible or total cooling load peak from the design period calculations.

˙Vcool,air,max : the maximum cooling volumetric air flow rate from the design calculations (m3/s). This flow rate occurs at the maximum zone cooling demand.

˙Vsys,air,max : the maximum volumetric air flow rate from the design calculations (m3/s). This flow rate occurs at either the maximum zone cooling or heating demand.

## Design Coil Load - System Coils[LINK]

Design coil load (cooling capacity) is not an input for Coil:Cooling:Water. It is used for calculating the design water flow rate.

The design load is calculated as:

˙Qcoil,des=˙ma,coil,des(ha,coil,des,in−ha,coil,des,out)

Where:

ha,coil,des,in : is the coil design inlet air enthalpy (J/kg)

ha,coil,des,out : is the coil design outlet air enthalpy (J/kg), and

˙ma,coil,des : is the coil design air mass flow rate (kg/s)

The design air mass flow rate depends on the location of the coil. If the coil is in the outside air stream, the flow rate is set to

ρair˙Va,coil,oa,des

where ˙Va,coil.oa,des is the design outside air volumetric flow rate for the system. Otherwise, it is set to:

ρair˙Vcc,air

where ˙Vcc,air is calculated above in the Initial Calculations section.

To obtain the inlet and outlet enthalpies, we need the inlet and outlet temperatures and humidity ratios. The inlet and outlet conditions depend on whether the coil is in the outside air stream and if it is not, whether or not there is outside air preconditioning.

Coil in outside air stream:[LINK]Tair,in,des=Tout,cool,at−peak (the outside air temperature at the design cooling peak)

Tair,out,des=Tsys,precool (the specified Precool Design Temperature from the System:Sizing object)

Wair,in,des=Wout,cool,at−peak (the outside humidity ratio at the design cooling peak)

Wair,out,des=Wsys,precool (the specified Precool Design Humidity Ratio from the System:Sizing object)

Coil in main air stream, no preconditioning of outside air[LINK]Tair,in,des=Tmix,cool,at−peak (the mixed air temperature at the design cooling peak)

Wair,in,des=Wmix,cool,at−peak (the mixed humidity ratio at the design cooling peak)

Tair,out,des=Tcc,exit (calculated above in the Initial Calculation section)

Wair,out,des=Wsup,cool (the specified Central Cooling Design Supply Air Humidity Ratio from the Sizing:System object)

Coil in main air stream, outside air preconditioned[LINK]The oustide air fraction is calculated as (where Vcc,air is calculated as above)

foa=˙Vair,out,des˙Vcc,air

Tair,in,des=foaTprecool+(1−foa)Tret,cool,at−peak (Precool temperature is the specified Precool Design Temperature from System:Sizing Manager; T_ret_cool_at-peak is the return temperature at the system cooling peak load)

Wair,in,des=foaWprecool+(1−foa)Wret,cool,at−peak (Precool humidity ratio is the specified Precool Design Humidity Ratio from System:Sizing Manager; W_ret_cool_at-peak is the return humidity ratio at the system cooling peak load)

Tair,out,des=Tcc,exit (calculated above in the Initial Calculation section)

Wair,out,des=Wsup,cool (the specified Central Cooling Design Supply Air Humidity Ratio from the Sizing:System object)

With the inlet and outlet conditions established, we can obtain the inlet and outlet enthalpies:

hair,coil,des,in=PsyHFnTdbW(Tair,in,des,Wair,in,des)hair,coil,des,out=PsyHFnTdbW(Tair,out,des,Wair,out,des)

Where PsyHFnTdbW is the EnergyPlus function for calculation air specific enthalpy given the air temperature and humidity ratio. We now have all we need to calculate the design coil capacity, ˙Qcoil,des .

## Design Coil Load - Zone Coils[LINK]

If the coil is part of an AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction unit or an ZoneHVAC:FourPipeFanCoil, the cooling load (cooling capacity) is passed down from the terminal unit or fan coil sizing calculations. Otherwise the load is defined as:

˙Qcoil,des=˙ma,coil,des(ha,coil,des,in−ha,coil,des,out)

Where:

ha,coil,des,in : is the coil design inlet air enthalpy (J/kg)

ha,coil,des,out : is the coil design outlet air enthalpy (J/kg), and

˙ma,coil,des : is the coil design air mass flow rate (kg/s)

The enthalpies are given by:

hair,coil,des,in=PsyHFnTdbW(Tair,in,des,Wair,in,des)hair,coil,des,out=PsyHFnTdbW(Tair,out,des,Wair,out,des)

Where the inputs to those functions are the coil inlet design conditions. For coils in terminal units these are set at the system level to the system design supply air temperature. For zonal units they are set to design return air, mixed air, or outside air as appropriate to the unit. Tair,out,des is set to the zone cooling design supply air temperature as specified in the

Zone:Sizinginputs. Wair,out,des is set to the zone cooling design supply air humidity ratio as specified in theZone:Sizinginputs.## Design Water Flow Rate (m3/s) - System Coils[LINK]

The design water volumetric flow rate is calculated using:

˙Vw,coil,des=˙Qcoil,desρwcp,wΔTw,des

Where ΔTw,des is just the

Loop Design Temperature Differenceuser input fromSizing:Plant(if the coil is in the outside air stream, 1/2 theLoop Design Temperature Differenceis used). The design coil loadLoadcoil,desis calculated from:## Design Water Flow Rate (m3/s) - Zone Coils[LINK]

If the coil is part of an AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction unit or an ZoneHVAC:FourPipeFanCoil, the chilled water flow rate is passed down from the terminal unit or fan coil sizing calculations. Otherwise the flow is set to:

˙Vw,coil,des=˙Qcoil,desρwcp,wΔTw,des

Where ΔTw,des is just the

Loop Design Temperature Differenceuser input fromSizing:Plant.## Design Air Flow Rate - System Coils[LINK]

The design air volumetric flow rate for the system cooling coil is set to:

the design outside air flow rate if the coil is in the outside air stream;

the coil design flow rate from function GetCoilDesFlowT described in section “Initial Calculations”;

the design flow rate set by the parent component (such as a unitary system) containing the cooling coil.

## Design Air Flow Rate - Zone Coils[LINK]

Zone chilled water coils are always part of a zone HVAC component. In almost all cases the design flow rate is passed down from the design flow rate of the parent component. Otherwise if the parent component does cooling only the flow rate for the coil is set to the zone design cooling flow rate. And if the parent component does both cooling and heating, the coil flow rate is set to the maximum of the zone design cooling and heating flow rates.

## Design Air Inlet Temperature - System Coils[LINK]

The inlet air temperature depends on whether the coil is in the outside air stream and if it is not, whether or not there is outside air preconditioning.

Coil in outside air stream: Tair,in,des=Tout,cool,at−peak (the outside air temperature set at the design cooling peak).

Coil in main air stream, no preconditioning of outside air: Tair,in,des=Tmix,cool,at−peak (the mixed air temperature at the cooling design peak).

Coil in main air stream, outside air preconditioned. The outside air fraction is calculated as foa=˙Vair,out,des/˙Vcc,air , where ˙Vcc,air is calculated above. Then Tair,in,des=foaTprecool+(1−foa)Tret,cool,at−peak , where Tprecool is the specified

Precool Design TemperaturefromSystem:Sizing, and Tret,cool,at−peak is the return temperature at the system cooling peak load.## Design Air Inlet Temperature - Zone Coils[LINK]

The design inlet temperature depends on whether the coil is in a terminal unit or a zonal unit, and where the coil is positioned within the unit.

For the AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction terminal unit the design inlet temperature is set to the zone temperature at the time of the zone cooling peak, since the coil is located in the induced air stream.

For fan coil units the design inlet temperature is set to the mixed air temperature: Tair,in,des=foaToa,coolpeak+(1−foa)Tz,coolpeak , where foa=ρa˙Vz,oa,des/˙mz,cool,des

In all other cases the design inlet temperature is set to the zone design cooling coil inlet temperature which is calculated in the zone sizing simulation and is basically the same calculation as the fan coil unit.

## Design Air Outlet Temperature - System Coils[LINK]

The outlet air temperature depends on whether the coil is in the outside air stream.

Coil in outside air stream: Tair,out,des = Tsys,des,precool (the specified Precool Design Temperature from the Sizing:System object).

Coil in main air stream: the design outlet air temperature is set to the temperature calculated in the Initial Calculation section above.

## Design Air Outlet Temperature - Zone Coils[LINK]

If the coil is part of an AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction unit, then:

˙Qcoil,des=cp,airρair˙Vw,coil,desΔTw,desT1=Tair,in,des−˙Qcoil,des/(ρaircp,air˙Vair,coil,des)T2=Tw,out,des+2Tair,out,des=max(T1,T2)

For all other cases Tair,out,des is set to Tz,sup,des (the zone design supply air temperature as specified in Sizing:Zone).

## Design Inlet Air Humidity Ratio - System Coils[LINK]

The design inlet humidity ratio depends on whether the coil is in the outside air stream and if it is not, whether or not there is outside air preconditioning.

Coil in outside air stream: Wair,in,des=Wout,cool,at−peak (the outside air humidity ratio at the design cooling peak).

Coil in main air stream, no preconditioning of outside air: Wair,in,des=Wmix,cool,at−peak (the mixed air humidity ratio at the cooling design peak).

Coil in main air stream, outside air preconditioned. The outside air fraction is calculated as foa=˙Vair,out,des/˙Vcc,air , where ˙Vcc,air is calculated above. Then Wair,in,des=foaWprecool+(1−foa)Wret,cool,at−peak , where Wprecool is the specified

Precool Design Humidity RatiofromSystem:Sizing, and Wret,cool,at−peak is the return humidity ratio at the system cooling peak load.## Design Air Inlet Humidity Ratio - Zone Coils[LINK]

The design inlet humidity ratio depends on whether the coil is in a terminal unit or a zonal unit, and where the coil is positioned within the unit.

For the AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction terminal unit the design inlet humidity ratio is set to the zone humidity ratio at the time of the zone cooling peak, since the coil is located in the induced air stream.

For fan coil units the design inlet humidity ratio is set to the mixed air humidity ratio: Wair,in,des=foaWoa,coolpeak+(1−foa)Wz,coolpeak , where foa=ρa˙Vz,oa,des/˙mz,cool,des

In all other cases the design inlet humidity ratio is set to the zone design cooling coil inlet hunidity ratio which is calculated in the zone sizing simulation and is basically the same calculation as the fan coil unit.

## Design Outlet Air Humidity Ratio - System Coils[LINK]

The outlet air humidity ratio depends on whether the coil is in the outside air stream.

Coil in outside air stream: Wair,out,des = Wsys,des,precool (the specified Precool Design Humidity Ratio from the Sizing:System object)

Coil in main air stream: Wair,out,des = PsyWFnTdbRhPb(Tair,out,des,0.9,Pair,std), where PsyWFnTdbRhPb is the EnergyPlus psychrometric function to calculate humidity ratio from drybulb temperature, relative humidity, and atmospheric pressure. The design outlet humidity ratio is being set to the humidity ratio at 90% relative humidity and design outlet temperature.

## Design Outlet Air Humidity Ratio - Zone Coils[LINK]

If the coil is part of an AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction unit, then:

Get the dewpoint temperature at Wair,in,des: Tdp,in=PsyTdpFnWPb(Wair,in,des,Pair,std)

If Tdp,in < = Tw,in,des set Wair,out,des = Wair,in,des. Otherwise set Wair,out,des = min(PsyWFnTdbRhPb(Tair,out,des,0.9,Pair,std),Wair,in,des)

## Design Inlet Water Temperature - System Coils[LINK]

The Design Inlet Water Temperature is set to the Design Loop Exit Temperature specified in the Sizing:Plant object for the water loop serving this coil.

## Design Inlet Water Temperature - Zone Coils[LINK]

The Design Inlet Water Temperature is set to the Design Loop Exit Temperature specified in the Sizing:Plant object for the water loop serving this coil.

## Coil:Cooling:Water:DetailedGeometry Sizing[LINK]

The sizing is done in subroutine

SizeWaterCoil## Max Water Flow Rate of Coil[LINK]

The calculation is identical to that done for

Coil:Cooling:Water.## Number of Tubes per Row[LINK]

Ntube/row=Int(13750⋅˙Vcoil,water,max)

Ntube/row=Max(Ntube/row,3)## Fin Diameter[LINK]

Depending on the duct type, get the coil design air flow rate.

For duct type =

main, otheror default˙mair,des=ρair⋅DesMainVolFlowsys

for duct type =

cooling˙mair,des=ρair⋅DesCoolVolFlowsys

for duct type =

heating˙mair,des=ρair⋅DesHeatVolFlowsys

Dfin=0.335⋅˙mair,des

## Minimum Air Flow Area[LINK]

Depending on the duct type, get the coil design air flow rate.

For duct type =

main, otheror default˙mair,des=ρair⋅DesMainVolFlowsys

for duct type =

cooling˙mair,des=ρair⋅DesCoolVolFlowsys

for duct type =

heating˙mair,des=ρair⋅DesHeatVolFlowsys

AMinAirFlow=0.44⋅˙mair,des

## Fin Surface Area[LINK]

Depending on the duct type, get the coil design air flow rate.

For duct type =

main, otheror default˙mair,des=ρair⋅DesMainVolFlowsys

for duct type =

cooling˙mair,des=ρair⋅DesCoolVolFlowsys

for duct type =

heating˙mair,des=ρair⋅DesHeatVolFlowsys

AFinSurf=78.5⋅˙mair,des

## Total Tube Inside Area[LINK]

Atube,totalinside= 4.4 *Dtube,inside*Ntuberows*Ntubes/rowWhere

Dtube,insideis the tube inside diameter.## Tube Outside Surf Area[LINK]

Atube,outside= 4.1 *Dtube,outside*Ntuberows*Ntubes/rowWhere

Dtube,outsideis the tube outside diameter.## Coil Depth[LINK]

Depthcoil=Depthtubespacing*Ntuberows## Coil:Cooling:WaterToAirHeatPump:EquationFit Sizing[LINK]

The sizing is done in subroutine

SizeHVACWaterToAir## Rated Air Flow Rate[LINK]

The calculation is identical to that done for

Coil:Cooling:Water.## Rated Water Flow Rate[LINK]

The calculation is identical to that done for

Coil:Cooling:Water, which is the coil design load divided by theLoop Design Temperature Differenceuser input fromSizing:Plant.If there is a companion heating coil, the heating coil design load is used so that both modes will have the same rated water flow rate. For sizing the plant loop serving this coil, only one half of this flow rate is used since both the cooling and heating coil will save a flow rate but only one of these coils will operate at a time.## Rated Total Cooling Capacity[LINK]

The calculation for coil operating temperatures (inlet and outlet) are identical to that done for

Coil:Cooling:Water. The following calculations are then performed to determine the rated total cooling capacity.TWB,ratio=TWB,air,in,des+273.15C283.15C

TS,ratio=29.44C+273.15C283.15C

where:

$T_{WB,ratio} = $ ratio of load-side inlet air wet-bulb temperature in Kelvin to a reference temperature

$T_{S,ratio} = $ ratio of source-side inlet water temperature in Kelvin to a reference temperature

TCC1 = user input for Total Cooling Capacity Coefficient 1

TCC2 = user input for Total Cooling Capacity Coefficient 2

TCC3 = user input for Total Cooling Capacity Coefficient 3

TCC4 = user input for Total Cooling Capacity Coefficient 4

TCC5 = user input for Total Cooling Capacity Coefficient 5

TotCapTempModFac=TCC1+TCC2(TWB,ratio)+TCC3(TS,ratio)+TCC4+TCC5

The 4th and 5th coefficient (TCC4 and TCC5) used in the above equation are multipliers for the load-side and source-side flow ratios, respectively. For sizing, these ratios are assumed to be 1.

The enthalpy of the entering air is then compared with the enthalpy of the exiting air. The calculations for air enthalpy are identical to that done for

Coil:Cooling:Water. If the entering air enthalpy is less than the exiting air enthalpy, a reference value of 48,000 J/kg is used as the entering air enthalpy. If the TotCapTempModFac calculation above yields 0 as the result, a value of 1 is used in the following calculation. If the design air mass flow rate is determined to be less than a very small flow value (0.001 kg/s) or the capacity calculated here is less than 0, the coil total cooling capacity is set equal to 0.˙Qcoil,des,total=⎧⎪ ⎪⎨⎪ ⎪⎩˙mair,des(Hin−Hout)TotCapTempModFacifHin>Hout˙mair,des(48000−Hout)TotCapTempModFacotherwise

## Rated Sensible Cooling Capacity[LINK]

The calculation for coil operating temperatures (inlet and outlet) are identical to that done for

Coil:Cooling:Water. The following calculations are then performed to determine the rated sensible cooling capacity.TDB,ratio=TDB,air,in,des+273.15C283.15C

TS,ratio=29.44C+273.15C283.15C

where:

${T_{DB,ratio}} = $ ratio of load-side inlet air dry-bulb temperature in Kelvin to a reference temperature

SCC1 = user input for Sensible Cooling Capacity Coefficient 1

SCC2 = user input for Sensible Cooling Capacity Coefficient 2

SCC3 = user input for Sensible Cooling Capacity Coefficient 3

SCC4 = user input for Sensible Cooling Capacity Coefficient 4

SCC5 = user input for Sensible Cooling Capacity Coefficient 5

SCC6 = user input for Sensible Cooling Capacity Coefficient 6

SensCapTempModFac=SCC1+SCC2(TDB,ratio)+SCC3(TWB,ratio)+SCC4(TS,ratio)+SCC5+SCC6

The 5th and 6th coefficient (SCC5 and SCC6) used in the above equation are multipliers for the load-side and source-side flow ratios, respectively. For sizing, these ratios are assumed to be 1.

The dry-bulb temperature of the entering air is then compared with the dry-bulb temperature of the exiting air. The calculations for air dry-bulb temperature are identical to that done for

Coil:Cooling:Water. If the entering air dry-bulb temperature is less than the exiting air dry-bulb temperature, a reference value of 24 C is used as the entering air dry-bulb temperature. If the SensCapTempModFac calculation above yields 0 as the result, a value of 1 is used in the following calculation. If the design air mass flow rate is determined to be less than a very small flow value (0.001 kg/s) or the capacity calculated here is less than 0, the coil sensible cooling capacity is set equal to 0.˙Qcoil,des,sensible=⎧⎪ ⎪⎨⎪ ⎪⎩˙mair,desCp,air,des(TDB,in−TDB,out)SensCapTempModFacifTDB,in>TDB,out˙mair,desCp,air,des(24−TDB,out)SensCapTempModFacotherwise

## Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit Sizing[LINK]

For the cooling coil of VS WSHP, we specify a nominal speed level. During the sizing calculation, the Rated Air Volume Flow Rate, the Rated Water Volume Flow Rate and the Rated Total Cooling Capacity at the Selected Nominal Speed Level are determined in the same way as the

Coil:Cooling:WaterToAirHeatPump:EquationFitobject. The sensible heat transfer rate is not allowed for auto-sizing, instead, it is a function of the rated air and water flow rates, rated total cooling capacity and the Reference Unit SHR at the nominal speed level. The default nominal speed level is the highest speed. However, the model allows the user to select a nominal speed level rather than the highest.## Rated Air Flow Rate[LINK]

The calculation is identical to that done for

Coil:Cooling:WaterToAirHeatPump:EquationFit.## Rated Water Flow Rate[LINK]

The calculation is identical to that done for

Coil:Cooling:WaterToAirHeatPump:EquationFit, which is the coil design load divided by theLoop Design Temperature Differenceuser input fromSizing:Plant.If there is a companion heating coil, the heating coil design load is used so that both modes will have the same rated water flow rate. For sizing the plant loop serving this coil, only one half of this flow rate is used since both the cooling and heating coil will save a flow rate but only one of these coils will operate at a time.## Rated Total Cooling Capacity[LINK]

The calculation for coil operating temperatures (inlet and outlet) are identical to that done for

Coil:Cooling:WaterToAirHeatPump:EquationFit. The calculations for air enthalpy are similar to that done forCoil:Cooling:WaterToAirHeatPump:EquationFit.The difference is in calculating the total cooling capacity temperature modifier function at the selected nominal speed level, as below:TotCapTempModFracNominalSpeed=a+b∗WBi+c∗WB2i+d∗EWT+e∗EWT2+f∗WBi∗EWT

where

WBi = wet-bulb temperature of the air entering the heating coil, degC

EWT = entering water temperature, degC

a-f = regression curve-fit coefficients.

If the entering air enthalpy is less than the exiting air enthalpy, a reference value of 48,000 J/kg is used as the entering air enthalpy. If the

TotCapTempModFaccalculation above yields 0 as the result, a value of 1 is used in the following calculation. If the rated air mass flow rate is determined to be less than a very small flow value (0.001 kg/s) or the capacity calculated here is less than 0, the coil total cooling capacity is set equal to 0.If Hin > Hout Then˙Qcoil,rated,total=mair,rated(Hin−Hout)/TotCapTempModFracNominalSpeed

Else˙Qcoil,rated,total=mair,rated(48000−Hout)/TotCapTempModFracNominalSpeed

End If## Coil:Heating:WaterToAirHeatPump:EquationFit Sizing[LINK]

The sizing is done in subroutine

SizeHVACWaterToAir.## Rated Air Flow Rate[LINK]

The calculation is identical to that done for

Coil:Cooling:Water.## Rated Water Flow Rate[LINK]

The calculation is identical to that done for

Coil:Cooling:Water, which is the coil design load divided by theLoop Design Temperature Differenceuser input fromSizing:Plant.For sizing the plant loop serving this coil, only one half of this flow rate is used since both the cooling and heating coil will save a flow rate but only one of these coils will operate at a time.## Rated Total Heating Capacity[LINK]

The rated total heating capacity is set equal to the rated total cooling capacity.

## Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit Sizing[LINK]

For the heating coil of VS WSHP, we specify a nominal speed level. During the sizing calculation, the Rated Air Volume Flow Rate and the Rated Water Volume Flow Rate are determined in the same way as the

Coil:Heating:WaterToAirHeatPump:EquationFitobject. On the other hand, the Rated Heating Capacity at the Selected Nominal Speed Level should be the same as the total cooling capacity of its corresponding cooling coil, which has to be sized first. The default nominal speed level will be the highest speed. However, the model allows the user to select a nominal speed level rather than the highest.## Rated Air Flow Rate[LINK]

The calculation is identical to that done for Coil:Cooling:WaterToAirHeatPump:EquationFit.

## Rated Water Flow Rate[LINK]

The calculation is identical to that done for Coil:Cooling:WaterToAirHeatPump:EquationFit, which is the coil design load divided by the

Loop Design Temperature Differenceuser input fromSizing:Plant.For sizing the plant loop serving this coil, only one half of this flow rate is used since both the cooling and heating coil will save a flow rate but only one of these coils will operate at a time.## Rated Total Heating Capacity[LINK]

The rated total heating capacity is set equal to the rated total cooling capacity.

## Coil:Heating:Water Sizing[LINK]

The sizing is done in subroutine

SizeWaterCoil.## Max Water Flow Rate of Coil[LINK]

## System Coils[LINK]

With the coil load from the system design data array and the user specified (in a Sizing:Plant object) design hot water temperature fall, calculate the max water flow rate:

˙Vcoil,water,max=HeatCapsys/(Cp,water⋅ρwater⋅ΔTplt,hw,des)

## Zone Coils[LINK]

Using the zone design coil inlet and supply air conditions calculate the design coil load.

If the coil is not part of an induction unit then obtain the coil inlet temperature from the zone design data array;

Tin,air = DesHeatCoilInTempzoneIf the coil is part of an induction unit take into account the induced air:

Fracminflow=MinFlowFraczoneTin,air=DesHeatCoilInTempzone*Fracminflow+ZoneTempAtHeatPeakzone*(1-Fracminflow)Tout,air = HeatDesTempzoneW

out,air = HeatDesHumRatzoneIf the coil is part of a terminal unit the mass flow rate is determined by the volumetric flow rate of the terminal unit:

˙mair,des=ρair⋅˙mair,des,tu

Otherwise the design flow is obtained from the zone design data array:

˙mair,des=DesHeatMassFlowzone

Qcoil,des=cp,air˙mair,des⋅(Tout,air−Tin,air)

Here

cp,airis calculated at the outlet humidity and the average of the inlet and outlet temperatures.With the coil load and the user specified (in a Sizing:Plant object) design hot water temperature decrease, calculate the max water flow rate:

˙Vcoil,water,max=Qcoil,des/(Cp,water⋅ρwater⋅ΔTplt,hw,des)

## UA of the Coil[LINK]

To obtain the UA of the coil, we specify the model inputs (other than the UA) at design conditions and the design coil load that the coil must meet. Then we numerically invert the coil model to solve for the UA that will enable the coil to meet the design coil load given the specified inputs.

## System Coils[LINK]

The design coil load is the system design sensible cooling capacity;

Qcoil,des=HeatCapsysThe required inputs for the simple coil model are:

Tin,air=HeatMixTempsysWin,air=HeatMixHumRatsysTin,water=ExitTempplt,hw,des˙min,water=ρwater⋅˙Vcoil,water,max

Depending on the duct type, get the coil design air flow rate.

For duct type =

main, otheror default˙min,air=ρair⋅DesMainVolFlowsysfor duct type =

cooling˙min,air=ρair⋅DesCoolVolFlowsysfor duct type =

heating˙min,air=ρair⋅DesHeatVolFlowsys

We now have all the data needed to obtain UA. The numerical inversion is carried out by calling subroutine

SolveRegulaFalsi. This is a general utility routine for finding the zero of a function. In this case it finds the UA that will zero the residual function - the difference between the design coil load and the coil output divided by the design coil load. The residual is calculated in the functionSimpleHeatingCoilUAResidual.## Zone Coils[LINK]

If the coil is not part of an induction unit then obtain the coil inlet temperature from the zone design data array;

Tin,air = DesHeatCoilInTempzoneIf the coil is part of an induction unit take into account the induced air:

Fracminflow=MinFlowFraczoneTin,air=DesHeatCoilInTempzone*Fracminflow+ZoneTempAtHeatPeakzone*(1-Fracminflow)Win,air=DesHeatCoilInHumRatzoneTin,water=ExitTempplt,hw,des˙min,water=ρwater⋅˙Vcoil,water,max

Tout,air = HeatDesTempzoneW

out,air = HeatDesHumRatzoneIf the coil is part of a terminal unit the mass flow rate is determined by the volumetric flow rate of the terminal unit:

˙mair,des=ρair⋅˙mair,des,tu

Otherwise the design flow is obtained from the zone design data array:

˙mair,des=DesHeatMassFlowzone

˙Qcoil,des=cp,air⋅˙mair,des⋅(Tout,air−Tin,air)

Here

cp,airis calculated at the outlet humidity and the average of the inlet and outlet temperatures.We now have all the data needed to obtain UA. The numerical inversion is carried out by calling subroutine

SolveRegulaFalsi. This is a general utility routine for finding the zero of a function. In this case it finds the UA that will zero the residual function - the difference between the design coil load and the coil output divided by the design coil load. The residual is calculated in the functionSimpleHeatingCoilUAResidual.## Coil:Heating:Steam Sizing[LINK]

The sizing is done in subroutine

SizeSteamCoil.## Maximum Steam Flow Rate[LINK]

## System Coils[LINK]

The maximum steam volumetric flow rate is calculated using:

˙Vcoil,steam,max=Loadcoil,desρsteam(hfg+cp,w⋅ΔTsc)

The steam density (ρsteam ) is for saturated steam at 100 degC (101325.0 Pa) and

hfgis the latent heat of vaporization of water at 100 degC (101325.0 Pa).Cp,wis the heat capacity of saturated water (condensate) at 100 degC (101325.0 Pa) and ΔTsc is the Degree of Subcooling defined in the Coil:Heating:Steam object input. The design coil loadLoadcoil,desis calculated from:Loadcoil,des=˙mair,des(cp,air)(Tair,coil,des,out−Tair,coil,des,in)

The design air mass flow rate depends on the location of the coil (duct type). For duct type =

main,the flow rate is set torair*DesMainVolFlowsys*MinSysAirFlowRatio. If the coil is in a cooling duct the flow rate is set torair*DesCoolVolFlowsys*MinSysAirFlowRatio. If the coil is in a heating duct the flow rate is set torair*DesHeatVolFlowsys. If the coil is in any other kind of duct, the flow rate is set torair*DesMainVolFlowsys.For sizing, the design outlet air temperature (

Tair,coil,des,out) is the Central Heating Design Supply Air Temperature specified in the Sizing:System object.The design inlet air temperature depends on whether the coil is being sized for 100% outdoor air or minimum outdoor air flow (per 100% Outdoor Air in Heating input field in the Sizing:System object).

Tair,coil,des,in=HeatOutTempsys(the outdoor air temperature at the design heating peak)Fracoa =DesOutAirVolFlowsys/DesVolFlow.DesVolFlowis ∙mair,des/∙mair,desρairρair.Tair,coil,des,in=Fracoa* * HeatOutTempsys* + (1.-Fracoa) *HeatRetTempsys(see Table. System Sizing Data)## Zone Coils[LINK]

If the coil is part of an

AirTerminal:SingleDuct:*unit (e.g.,AirTerminal:SingleDuct:ConstantVolume:Reheat, AirTerminal:SingleDuct:VAV:Reheat, AirTerminal:SingleDuct:SeriesPIU:Reheat, etc.), the maximum steam flow rate is set equal to the terminal unit’s maximum steam flow rate. Otherwise (e.g., the zone-level coil is part ofZoneHVAC:PackagedTerminalAirConditioner, ZoneHVAC:UnitVentilator, ZoneHVAC:UnitHeater or ZoneHVAC:VentilatedSlab) the calculation is similar to that at the system level. A design load is calculated:Loadcoil,des=˙mair,des(cp,air)(Tair,coil,des,out−Tair,coil,des,in)

where:

˙mair,des =

DesHeatMassFlowzone(see Table. Zone Sizing Data)Tair,coil,des,in=DesHeatCoilInTempzone(see Table)Tair,coil,des,out=HeatDesTempzone(user input from Sizing:Zone object)cp,air = Specific heat of air (evaluated at the average of inlet and outlet air temperatures, and at the zone heating design supply air humidity ratio

HeatDesHumRatzone[user input from Sizing:Zone object])˙Vcoil,steam,max=Loadcoil,desρsteam(hfg+cp,w⋅ΔTsc)

The terms in the denominator of this equation (

ρsteam,hfg, etc.) are evaluated in the same way as described above for steam System Coils.## Sizing of Gas and Electric Heating Coils[LINK]

The sizing calculation is done in subroutine

SizeHeatingCoilin moduleHeatingCoils.## Nominal Capacity of the Coil[LINK]

## System Coils[LINK]

The value is obtained from the system design array.

Capnom=HeatCapsys## Zone Coils[LINK]

The capacity is calculated from the design coil inlet and outlet conditions.

If the coil is not part of an induction unit then obtain the coil inlet temperature from the zone design data array;

T