Knowledgebase : HVAC
Question: How do you implement dehumidification controls in EnergyPlus? Using the "Dehumidification Control" options in HVACTemplate:*, I noticed that sometimes a SetpointManager:SingleZone:Humidity:Maximum object is present in the expidf, but for some systems it is not. Please explain how dehumidification controls work.


Answer: It depends on the HVAC system type. For all system types, a ZoneControl:Humidistat object is required for the humidity control zone. The ZoneControl:Humidistat calculates the amount of latent cooling required to meet the relative humidity setpoint in the control zone.

For some HVAC system types, the latent load from ZoneControl:Humidistat is read directly by the equipment controls. For other HVAC system types, a SetpointManager:SingleZone:Humidity:Maximum reads the latent load from SetpointManager:SingleZone:Humidity:Maximum and computes a supply air humidity ratio setpoint that will satisfy this load at the current supply air flow rate. This max humidity setpoint is typically placed at the air outlet node of the cooling coil.

If the system has a chilled water coil (such as HVACTemplate:System:VAV), then SetpointManager:SingleZone:Humidity:Maximum is required and the control variable for the cooling coil controller must be changed to TemperatureAndHumidityRatio:

Controller:WaterCoil,
SYSTEM-1 Cooling Coil Controller, !- Name
TemperatureAndHumidityRatio, !- Control Variable

If the system is a built-up system with DX cooling (such as HVACTemplate:System:PackagedVAV), then a SetpointManager:SingleZone:Humidity:Maximum is required and the control settings on the DX coil control unit are changed:

AirLoopHVAC:UnitaryCoolOnly,
DXVAV Sys 1 System, !- Name
< . . . >
CoolReheat, !- Dehumidification Control Type
Yes, !- Run on Sensible Load
Yes; !- Run on Latent Load

If the system is a unitary system with DX cooling (such as HVACTemplate:System:Unitary), then SetpointManager:SingleZone:Humidity:Maximum is not used, but the unitary system control setting must be changed. The unitary system reads the latent load directly from the ZoneControl:Humidistat. For this system type, a reheat coil must also be added:

AirLoopHVAC:Unitary:Furnace:HeatCool,
SYSTEM-1 Furnace with DX Cooling, !- Name
< . . . >
CoolReheat, !- Dehumidification Control Type
Coil:Heating:Desuperheater, !- Reheat Coil Object Type
SYSTEM-1 Reheat Coil; !- Reheat Coil Name

Question: In the 5.0 release notes, I read "Dual layer controls for radiant systems removed." In the 5.0 I/O Reference I also saw there are three sentences added to the first paragraph of the ZoneHVAC:LowTemperatureRadiant:VariableFlow. These sentences essentially describe how the object has its own set of "radiant system controls." These three sentences sound like they're describing the controls that were in place for the radiant system in 4.0 and they are describing what is essentially a second (dual) layer of controls (which the release notes suggest were removed). Could you please help me understand what is different between 4.0 and 5.0? Thanks!

Answer: In v4.0 and before, the main zone thermostat (ZoneControl:Thermostat, or HVACTemplate:Thermostat) impacted the operation of the radiant system controls. For example, the zone thermostat (responding to air or operative temperature) had to request heating in order for the radiant heating function to activate. If the radiant heat was active, then it would control based on the inputs in the radiant object.

In v5.0 this interaction with the zone thermostat has been removed. So, the controls in the radiant object will be honored no matter what the zone thermostat may be requesting. This allows the zone thermostat to be used to control other HVAC equipment based on air temperature without impacting the operation of the radiant system controls.

It depends on which specific EnergyPlus object you are trying to use.

The Dehumidifier:Desiccant:NoFans object has default performance curves within the model itself that you can use. Set field A12, "Performance Model," to DEFAULT. Alternatively, you could also obtain manufacturer's data and develop your own curve fits, then set "Performance Model" to User Curves. See the Input Output Reference for more details.

If you want to use the Dehumidifier:Desiccant:System object, then some data set inputs for the required HeatExchanger:Desiccant:BalancedFlow:PerformanceDataType1 object are contained in the file "PerfCurves.idf" in the DataSets folder. You could also obtain manufacturer's data and develop your own inputs for the HeatExchanger:Desiccant:BalancedFlow:PerformanceDataType1 object.
Apply the availability schedule to the HVAC System (i.e., Furnace or DXSystem), the coils and the fan objects. If HVACTemplate objects are used, apply the availability schedule to the HVACTemplate object. You will get different results depending on the selection for the night cycle option.

What types of HVAC system can be simulated using EnergyPlus? EnergyPlus HVAC systems input is flexible, so many different types of systems can be built using the basic available components. There are also compound components which represent common equipment types, and HVACTemplate systems which simplify the input for specific systems. This list gives an overview of HVAC object in EnergyPlus grouped by category as of version 3.0 (Nov 2008).

HVAC Templates
---------------------------
HVACTemplate:Thermostat
HVACTemplate:Zone:IdealLoadsAirSystem
HVACTemplate:Zone:FanCoil
HVACTemplate:Zone:PTAC
HVACTemplate:Zone:PTHP
HVACTemplate:Zone:Unitary
HVACTemplate:Zone:VAV
HVACTemplate:Zone:VAV:FanPowered
HVACTemplate:System:Unitary
HVACTemplate:System:VAV
HVACTemplate:Plant:ChilledWaterLoop
HVACTemplate:Plant:Chiller
HVACTemplate:Plant:Tower
HVACTemplate:Plant:HotWaterLoop
HVACTemplate:Plant:Boiler

Zone HVAC Forced Air Units
---------------------------
ZoneHVAC:IdealLoadsAirSystem
ZoneHVAC:FourPipeFanCoil
ZoneHVAC:WindowAirConditioner
ZoneHVAC:PackagedTerminalAirConditioner
ZoneHVAC:PackagedTerminalHeatPump
ZoneHVAC:EnergyRecoveryVentilator
ZoneHVAC:EnergyRecoveryVentilator:Controller
ZoneHVAC:UnitVentilator
ZoneHVAC:UnitHeater
ZoneHVAC:TerminalUnit:VariableRefrigerantFlow


Zone HVAC Radiative/Convective Units
---------------------------
ZoneHVAC:Baseboard:RadiantConvective:Water
ZoneHVAC:Baseboard:Convective:Water
ZoneHVAC:Baseboard:Convective:Electric
ZoneHVAC:LowTemperatureRadiant:VariableFlow
ZoneHVAC:LowTemperatureRadiant:ConstantFlow
ZoneHVAC:LowTemperatureRadiant:Electric
ZoneHVAC:LowTemperatureRadiant:SurfaceGroup
ZoneHVAC:HighTemperatureRadiant
ZoneHVAC:VentilatedSlab

Zone HVAC Air Loop Terminal Units
---------------------------
AirTerminal:SingleDuct:Uncontrolled
AirTerminal:SingleDuct:ConstantVolume:Reheat
AirTerminal:SingleDuct:VAV:NoReheat
AirTerminal:SingleDuct:VAV:Reheat
AirTerminal:SingleDuct:VAV:Reheat:VariableSpeedFan
AirTerminal:SingleDuct:VAV:HeatAndCool:NoReheat
AirTerminal:SingleDuct:VAV:HeatAndCool:Reheat
AirTerminal:SingleDuct:SeriesPIU:Reheat
AirTerminal:SingleDuct:ParallelPIU:Reheat
AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction
AirTerminal:DualDuct:ConstantVolume
AirTerminal:DualDuct:VAV
ZoneHVAC:AirDistributionUnit

Fans
---------------------------
Fan:ConstantVolume
Fan:VariableVolume
Fan:OnOff
Fan:ZoneExhaust
FanPerformance:NightVentilation

Coils
---------------------------
Coil:Cooling:Water
Coil:Cooling:Water:DetailedGeometry
Coil:Cooling:DX:SingleSpeed
Coil:Cooling:DX:TwoSpeed
Coil:Cooling:DX:MultiSpeed
Coil:Cooling:DX:TwoStageWithHumidityControlMode
CoilPerformance:DX:Cooling
Coil:Heating:Water
Coil:Heating:Steam
Coil:Heating:Electric
Coil:Heating:Gas
Coil:Heating:Desuperheater
Coil:Heating:DX:SingleSpeed
Coil:Heating:DX:MultiSpeed
Coil:Cooling:WaterToAirHeatPump:ParameterEstimation
Coil:Heating:WaterToAirHeatPump:ParameterEstimation
Coil:Cooling:WaterToAirHeatPump:EquationFit
Coil:Heating:WaterToAirHeatPump:EquationFit
Coil:WaterHeating:AirToWaterHeatPump
Coil:WaterHeating:Desuperheater
CoilSystem:Cooling:Water:HeatExchangerAssisted
CoilSystem:Cooling:DX:HeatExchangerAssisted
Coil:Cooling:DX:VariableRefrigerantFlow
Coil:Heating:DX:VariableRefrigerantFlow

Evaporative Coolers
---------------------------
EvaporativeCooler:Direct:CelDekPad
EvaporativeCooler:Indirect:CelDekPad
EvaporativeCooler:Indirect:WetCoil
EvaporativeCooler:Indirect:ResearchSpecial

Humidifiers and Dehumidifiers
---------------------------
Humidifier:Steam:Electric
Dehumidifier:Desiccant:NoFans
Dehumidifier:Desiccant:System

Heat Recovery
---------------------------
HeatExchanger:AirToAir:FlatPlate
HeatExchanger:AirToAir:SensibleAndLatent
HeatExchanger:Desiccant:BalancedFlow
HeatExchanger:Desiccant:BalancedFlow:PerformanceDataType1

Unitary Equipment
---------------------------
AirLoopHVAC:Unitary:Furnace:HeatOnly
AirLoopHVAC:Unitary:Furnace:HeatCool
AirLoopHVAC:UnitaryHeatOnly
AirLoopHVAC:UnitaryHeatCool
AirLoopHVAC:UnitaryHeatPump:AirToAir
AirLoopHVAC:UnitaryHeatPump:WaterToAir
AirLoopHVAC:UnitaryHeatCool:VAVChangeoverBypass
AirLoopHVAC:UnitaryHeatPump:AirToAir:MultiSpeed
AirLoopHVAC:UnitaryCoolOnly

Variable Refrigerant Flow Equipment
-------------------------------------
AirConditioner:VariableRefrigerantFlow


Air Distribution
---------------------------
AirLoopHVAC
AirLoopHVAC:OutdoorAirSystem:EquipmentList
AirLoopHVAC:OutdoorAirSystem
OutdoorAir:Mixer
AirLoopHVAC:ZoneSplitter
AirLoopHVAC:SupplyPlenum
AirLoopHVAC:SupplyPath
AirLoopHVAC:ZoneMixer
AirLoopHVAC:ReturnPlenum
AirLoopHVAC:ReturnPath
Duct

Pumps
---------------------------
Pump:VariableSpeed
Pump:ConstantSpeed
Pump:VariableSpeed:Condensate
HeaderedPumps:VariableSpeed
HeaderedPumps:ConstantSpeed

Solar Collectors
---------------------------
SolarCollectorPerformance:FlatPlate
SolarCollector:FlatPlate:Water
SolarCollector:FlatPlate:PhotovoltaicThermal
SolarCollectorPerformance:PhotovoltaicThermal:Simple
SolarCollector:UnglazedTranspired
SolarCollector:UnglazedTranspired:Multisystem

Plant Heating and Cooling Equipment
---------------------------
Boiler:HotWater
Boiler:Steam
Boiler:HotWater:SPARK
Chiller:Electric:EIR
Chiller:Electric:ReformulatedEIR
Chiller:Electric
Chiller:Electric:SPARK
Chiller:Absorption:Indirect
Chiller:Absorption
Chiller:ConstantCOP
Chiller:EngineDriven
Chiller:CombustionTurbine
ChillerHeater:Absorption:DirectFired
HeatPump:WaterToWater:EquationFit:Heating
HeatPump:WaterToWater:EquationFit:Cooling
HeatPump:WaterToWater:ParameterEstimation:Cooling
HeatPump:WaterToWater:ParameterEstimation:Heating
DistrictCooling
DistrictHeating

Condenser Equipment and Heat Exchangers
---------------------------
CoolingTower:SingleSpeed
CoolingTower:TwoSpeed
CoolingTower:VariableSpeed
CoolingTowerPerformance:CoolTools
CoolingTowerPerformance:YorkCalc
FluidCooler:SingleSpeed
FluidCooler:TwoSpeed
GroundHeatExchanger:Vertical
GroundHeatExchanger:Pond
GroundHeatExchanger:Surface
HeatExchanger:Hydronic
HeatExchanger:Plate
HeatExchanger:WatersideEconomizer

Water Heaters and Thermal Storage
---------------------------
WaterHeater:Mixed
WaterHeater:Stratified
WaterHeater:Sizing
WaterHeater:HeatPump
ThermalStorage:Ice:Simple
ThermalStorage:Ice:Detailed
ThermalStorage:ChilledWater:Mixed
ThermalStorage:ChilledWater:Stratified

Plant-Condenser Loops
---------------------------
PlantLoop
CondenserLoop
Pipe:Adiabatic
Pipe:Adiabatic:Steam
Pipe:Indoor
Pipe:Outdoor
Pipe:Underground
PlantLoopConnection
PlantLoopConnection:Controlled


Michael J. Witte, GARD Analytics, Inc.

In short:
Fan:ConstantVolume is a constant volume, continuous operation fan which can be turned on and off via a schedule.
Fan:OnOff is similar to the one above, but it cycles itself on and off as required by its thermostat ... all during the scheduled operation period. This is a typical mode of operation for a home furnace.
Fan:VariableVolume runs continuously during the Schedule period, but varies its volume to meet the heating or cooling demand.

Review the Input Output Reference (group Fans) for additional information.

Note: Thanks to J. V. Dirkes II for this article.
> Can I determine the ventilation load for PAU in PAU + FCUs system? If can,
> how to split the total cooling load into room load and ventilation load for
> PAU sizing in energyplus?
> In the HTML report, "Nominal total capacity [W]" (EquipmentSummary) and
> "Design Load [W]" (HVACSizingSummary) can be found. Are they equal to "Total
> cooling load" and "Room load"?
> (i.e. Ventliation load = "nominal total capacity" - "Design Load")
>


There are several ways to approach this.

In the eio output, section, the heating and cooling loads reported there are the peak *sensible* loads for each zone, without any ventilation load. These are the same values reported as "Design Load" in the HVACSizingSummary table report.

In the EquipmentSummary table report, the component capacities reported there are the total (cooling, sensible for heating) output capacities include any ventilation load if it impacts that component.

If you have a central air loop that serves only the ventilation load, and zone equipment that serves only the zone load, there is an autosizing option in Sizing:System that should autosize the central system appropriately. From example file 5ZoneCoolBeam.idf:

Sizing:System,
VAV Sys 1, !- AirLoop Name
VentilationRequirement, !- Type of Load to Size On
autosize, !- Design Outdoor Air Flow Rate {m3/s}
1.0, !- Minimum System Air Flow Ratio

When you run a simulation, if you want to report ventilation loads, the following Output:Variable names are available:

HVAC,Sum,Zone Mechanical Ventilation No Load Heat Removal [J]
HVAC,Sum,Zone Mechanical Ventilation Cooling Load Increase [J]
HVAC,Sum,Zone Mech Ventilation Cooling Load Increase: OverHeating [J]
HVAC,Sum,Zone Mechanical Ventilation Cooling Load Decrease [J]
HVAC,Sum,Zone Mechanical Ventilation No Load Heat Addition [J]
HVAC,Sum,Zone Mechanical Ventilation Heating Load Increase [J]
HVAC,Sum,Zone Mech Ventilation Heating Load Increase: OverCooling [J]
HVAC,Sum,Zone Mechanical Ventilation Heating Load Decrease [J]

Troubleshooting Thermostat Setpoint Not Met Hours (not exhaustive, but should get you started):


Run annual simulation
Request bin report for hours not met, or plot hourly values
Is this a morning warmup/cooldown problem or not?

Run design days (autosized equipment should meet setpoint on the design days that were used to size it)
Output setpoint not met variables
Output supply temperatures and setpoints
Is the supply air at the setpoint?
Does the setpoint agree with the design supply temperature specified in the sizing input?
If the supply temperature is at setpoint, then the flow rate is too small

If the supply temperature is not at setpoint, is the coil fully loaded?
If the coil is fully loaded, then the coil may be too small or the plant is not supplying enough
If the coil is not fully loaded, then there may be a control problem (setpoint manager, availability manager, components schedule)

If there is a central plant, are the plant loops at setpoint?
If the plant loop is not at setpoint, then is the boiler/chiller fully loaded?
If the boiler/chiller is fully loaded, then it may be too small.
If the boiler/chiller is not fully loaded, then there is a control problem (setpoint manager or equipment operation)