## Introduction to HVAC Operational Faults Modeling[LINK]

Most of the buildings, either new or old, have operational faults in the sensors, controllers, meters, equipment and systems. Being able to model and simulate these faults and their impact on energy performance of buildings is crucial to improve accuracy of building simulations and to support the retrofit of buildings. To date, the main practitioner use of EnergyPlus has been for new construction design. With the new high priority attached by USDOE to retrofit and improved operation of existing buildings, there is a need to extend the capabilities of EnergyPlus to model existing buildings, including faulty operation:

• Retrofit analysis: starts with calibrated simulation; the ability to estimate the severity of common faults is expected to improve the accuracy and transparency of the calibrated model and hence the increase accuracy of the analysis of different retrofit measures.
• Commissioning providers can use the fault models to demonstrate the saving to be expected from fixing faults found in retro-commissioning

• Support for building operation by using the calibrated model, including unfixed faults, as a real-time reference model to detect, and verify the diagnosis of, newly occurring faults.

The users in these cases are practitioners, not power users, so it is needed to implement the fault models using conventional EnergyPlus objects rather than the EMS, which, in any case, could only be used to model limited types of faults.

EnergyPlus contains a number of objects to model operational faults of sensors, meters, equipment and systems. The current implementation allows the modeling of a number of fault types that categorized as: (1) sensor faults with air economizers (e.g., outdoor air temperature sensor) (2) thermostat/humidistat offset faults, (3) fouling or scaling at air side or water side components (e.g., heating and cooling coil, air filter, cooling tower), (4) sensor faults with plant components (e.g., chiller supply water temperature sensor offset).

### Sensor Faults with Air Economizers[LINK]

The sensor readings deviate from the actual air conditions due to sensor offset, which leads to inappropriate operations of the air economizer and thus undesired resulting indoor conditions.

There are a number of sensors installed to support the air economizer operations. The sensors may be of different types. The objects used by EnergyPlus to model the sensor faults are as follows:

The zone air temperature/relative humidity readings deviate from the actual zone air conditions due to thermostat/humidistat offset, and thus leads to inappropriate operations of the HVAC system and undesired resulting indoor conditions.

The thermostat offset fault is described in the object FaultModel:ThermostatOffset, which refers to the object ZoneControl:Thermostat. The humidistat offset fault is described in the object FaultModel:HumidistatOffset, which refers to the object ZoneControl:Humidistat. The effect of an offset in a thermostat/humidistat whose sole use is for the calculation of difference between the set-points and the design values can be modeled as an equal and opposite offset in the thermostat/humidistat:

Ts,f=Ts,ffΔT

RHs,f=RHs,ffΔRH

where:

Ts,f is the thermostat value in the faulty case, C

Ts,ff is the thermostat value in the fault-free case (design value), C

RHs,f is the humidistat value in the faulty case

RHs,ff is the humidistat value in the fault-free case (design value)

ΔT/ΔRH difference between the thermostat/humidistat readings and the actual zone air conditions. Positive values mean that the readings is higher than the actual air conditions.

For the humidistat that is independent of the thermostat, ΔRH can be described by a pre-defined schedule. For the humidistat offset that is caused by the thermostat offset, ΔRH is related with both the thermostat offset level as well as the indoor air conditions which are dynamic, and therefore cannot be described with a pre-defined schedule. In this case, the humidistat offset level is calculated each time step.

ΔRH=RHs,fff(Treal,Ws,f)

where:

Treal is the real-time temperature of the indoor air (real value), C

Ws,f is the humidistat ratio corresponding to TrealΔTandRHs,ff,kgWater/kgDryAir.

Note that the thermostat/humidistat settings are related with two major processes within EnergyPlus: one is the design load calculations and HVAC system sizing, and the other is the HVAC system operations. Only the latter is affected by the thermostat/humidistat offset fault, while the former is not. Therefore, the size of the corresponding HVAC equipment in the faulty cases is the same as that in the fault-free cases.

When EMS is used to overwrite the ZoneControl:Thermostat/ZoneControl:Humidistat values, the offsets are applied to the EMS values rather than the original Thermostat/Humidistat values.

### Heating and Cooling Coil Fouling[LINK]

Reduced overall heat transfer coefficient (UA) causes reduced coil capacity, resulting in unmet loads and/or increased water flow rate and decreased water side temperature difference (“low delta-T” syndrome).

The coil fouling fault is described in the object FaultModel:Fouling:Coil. The fault model currently applies only to the ‘simple’ water coils: Coil:Heating:Water and Coil:Cooling:Water.

The FaultModel:Fouling:Coil object allows the user to describe the fouling information in either of the two methods: FouledUARated or FoulingFactor.

Using FouledUARated method, user specifies the value of UAfouled directly. Using FoulingFactor method user specifies air/water side fouling factor, and the UAfouled value is further calculated via the equations shown below.

where:

UAair is the heat transfer coefficient of the coil on the air side, W/K

UAfouled is the overall heat transfer coefficient of the fouled coil, W/K

UAwater is the heat transfer coefficient of the coil on the water side, W/K

Rfoul is the fouling thermal insulance factor (the reciprocal of a heat transfer coefficient), K/W.

Rfoul is determined by:

where:

rair is the air side fouling factor, m2-K/W

rwater is the water side fouling factor, m2-K/W

Aair is the air side coil surface area, m2

Awater is the water side coil surface area, m2.

Given the input of the object based on the outside coil surface area and the inside to outside coil surface area ratio, this results in:

where:

is the Outside Coil Surface Area (in contact with the air), m2.

is the Inside to Outside Coil Surface Area Ratio.

The pressure drop associated with the fouling is ignored in the current implementation.

An Availability schedule is used to schedule the fault on or off. A Severity Schedule is also used to represent the severity of the fault, or Fault Fraction. Schedule value of 1 (default) means that the fault is applied as is.

#### Modeling Approach - Heating Coil[LINK]

When applied to a Coil:Heating:Water, before the fault is applied, the current, non-fouled, UA (WaterCoil(CoilNum).UACoilVariable) is first determined

FouledUARated: If method FouledUARated is used, we try to set the new to the UAfouled entered in the Fouling Object, adjusting for Fault Severity

FoulingFactor: If method FoulingFactor is used:

Note that we do not allow bettering the coil UA, so the final result in either cases is

#### Modeling Approach - Cooling Coil[LINK]

When applied to a Coil:Cooling:Water, before the fault is applied, the current, non-fouled, UAwater (WaterCoil(CoilNum).UACoilExternal) and (WaterCoil(CoilNum).UACoilInternal) are first determined.

FoulingFactor:

If method FoulingFactor is used, the air-side and water-side fouling are applied respectively:

FouledUARated:

If method FouledUARated is used, the total UAfouled of the coil is specified, but we still have to split the fouling between External (air) and Internal (water).

So we start by calculating the current split ratio between internal and external, and will use it for the new split:

Note that we do not allow bettering the coil UA, so the final result in either cases is

Increased air loop system resistance, resulting in a different system curve. This directly affects the operation of corresponding fans. More specifically, it may lead to variations of the fan pressure rise, fan energy consumption, as well as the enthalpy of the fan outlet air. It may also lead to a reduction in the airflow rate and thus affects the performance of other system components (e.g., heat transfer performance of heating/cooling coils).

The fouling air filter fault is described in the object FaultModel:Fouling:AirFilter, which refers to the fan objects that describe the associated fan. The fan object can be Fan:ConstantVolume, Fan:OnOff, or Fan:VariableVolume. The design pressure rise variations of the associated fan in the faulty cases are described by the Pressure Fraction Schedule specified in FaultModel:Fouling:AirFilter object, which is used as a multiplier to the fault-free fan design pressure rise specified in the fan object. The variations of the design air flow rate of the fan can then be calculated with the Pressure Fraction Schedule and Fan Curve. When EMS is used to overwrite the the pressure/MassFlow, the EMS values are used.

The effect of the fouling air filter on the fan performance is related with a number of factors, including the fan types, fan curves, and system design and operating conditions. In general, there are three possible situations to be addressed in modeling dirty air filters:

(a) The required airflow rate can be maintained by the variable speed fan running at higher speed.

In this case, the fan operation state changes from point A (intersection of the fan curve corresponding to a lower speed and the system curve with clean filters) to point B (intersection of the fan curve corresponding to a higher speed and the system curve with dirty filters), as shown in Figure 1.1. Point B corresponds to a higher fan pressure rise than Point A, and the same air flow rate.

The required airflow rate m can be maintained while the fan pressure rise ΔP is increased to ΔPdf . This leads to higher fan power ˙Qtot,df and higher power entering the air ˙Qtoair,df , and thus changes the specific enthalpies of the fan outlet air stream (hout,df).

fflow,df=m/mdesign,df

fpl,df=c1+c2fflow,df+c3f2flow,df+c4f3flow,df+c5f4flow,df

˙Qtot,df=fpl,df×mdesign,df×ΔPdf/(etot×ρair)

˙Qshaft,df=emotor×˙Qtot,df

˙Qtoair,df=˙Qshaft,df+(˙Qtot,df˙Qshaft,df)×fmotortoair

hout,df=hin+˙Qtoair,df/m

where:

etot is the motor efficiency

fflow is the flow fraction or part-load ratio

fpl is the part load factor

m is the air mass flow in kg/s

hin is the inlet air stream specific enthalpies in J/kg

hout is the outlet air stream specific enthalpies in J/kg

˙Qtot is the fan power in watts

˙Qtoair is the power entering the air in watts

˙Qshaft is the fan shaft power in watts

ΔP is the fan pressure increase in Pascal

design is for the parameters in the design condition

df is for the parameters in the dirty filter case.

(b) The variable speed fan cannot increase in speed sufficiently to maintain the required airflow rate.

In this case, the fan operation state changes from point A (intersection of the fan curve corresponding to a lower speed and the system curve with clean filters) to point B (intersection of the fan curve corresponding to a higher speed and the system curve with dirty filters), as shown in Figure 1.2. Point B corresponds to a higher fan pressure rise and a lower air flow rate than Point A.

The airflow rate m is reduced to mdf while the fan design pressure rise ΔP is increased to ΔPdf. Similarly to case (a), the fan power (˙Qtot), the power entering the air (˙Qtoair), and the specific enthalpies of the fan outlet air stream (hout) are all affected. Different from case (a), however, the fan power (˙Qtot) may either increase or decrease, depending on the degree of the airflow rate decrease and pressure rise increase. Also note that fflow,df is always 1 in this case, since the fan runs at its maximum speed.

fflow,df=1

fpl,df=c1+c2fflow,df+c3f2flow,df+c4f3flow,df+c5f4flow,df

˙Qtot,df=fpl,df×mdesign,df×ΔPdf/(etot×ρair)

˙Qshaft,df=emotor×˙Qtot,df

˙Qtoair,df=˙Qshaft,df+(˙Qtot,df˙Qshaft,df)×fmotortoair

hout,df=hin+˙Qtoair,df/mdesign,df

where:

etot is the motor efficiency

fflow is the flow fraction or part-load ratio

fpl is the part load factor

m is the air mass flow in kg/s

hin is the inlet air stream specific enthalpies in J/kg

hout is the outlet air stream specific enthalpies in J/kg

˙Qtot is the fan power in Watts

˙Qtoair is the power entering the air in Watts

˙Qshaft is the fan shaft power in Watts

ΔP is the fan pressure increase in Pascal

design is for the parameters in the design condition

df is for the parameters in the dirty filter case.

(c) The constant speed fan cannot maintain the design airflow rate.

In this case, the fan operation state changes from point A (intersection of the fan curve and the system curve with clean filters) to point B (intersection of the fan curve and the system curve with dirty filters), as shown in Figure 1.3. Point B corresponds to a higher fan pressure rise and a lower air flow rate than Point A.

Similarly to case (b), the airflow rate m is reduced to mdf while the fan pressure rise ΔP is increased to ΔPdf . This results in the variations of the fan power (˙Qtot), the power entering the air (˙Qtoair), and the specific enthalpies of the fan outlet air stream (hout).

˙Qtot,df=mdesign,df×ΔPdf/(etot×ρair)

˙Qshaft,df=emotor×˙Qtot,df

˙Qtoair,df=˙Qshaft,df+(˙Qtot,df˙Qshaft,df)×fmotortoair

hout,df=hin+˙Qtoair,df/mdesign,df

where:

etot is the motor efficiency

m is the air mass flow in kg/s

hin is the inlet air stream specific enthalpies in J/kg

hout is the outlet air stream specific enthalpies in J/kg

˙Qtot is the fan power in Watts

˙Qtoair is the power entering the air in Watts

˙Qshaft is the fan shaft power in Watts

ΔP is the fan pressure increase in Pascal

design is for the parameters in the design condition

df is for the parameters in the dirty filter case.

### Chiller Supply Water Temperature Sensor Offset[LINK]

The chiller supply water temperature readings deviate from the actual water temperature levels due to sensor offset at the evaporator outlet. This can lead to incorrect chiller supply water temperature, and thus the inappropriate and inefficient chiller operations.

The fault applies to a number of chiller types, namely:

These chillers can have different flow modes:

• ConstantFlow for constant pumping with flow controlled by chiller to operate at full design flow rate.

• LeavingSetpointModulated for variable pumping with flow controlled by chiller to vary flow to target a leaving temperature setpoint.

• NotModulated for either variable or constant pumping with flow controlled by the external plant system.

(a) Constant Flow Chillers

For the chillers with ConstantFlow and NotModulated, local control is provided by resetting the leaving water temperature. The actual evaporator outlet water temperature value at faulty operations can be obtained via:

Tevapo,f=Tevapo,ffΔT

where:

Tevapo,f is the evaporator outlet temperature in the faulty case (actual value)

Tevapo,ff is the evaporator outlet temperature in the fault-free case (reading value)

ΔT is the difference between the temperature reading and the actual temperature.

Then the evaporator capacity can be calculated with:

Qevap,f=mevap×Cp×(TevapiTevapo,f)

where:

mevap is the evaporator water flow rate (design value, actual value)

Qevap,f is the actual evaporator capacity in the faulty case

Tevapo,f is the evaporator outlet temperature value in the faulty case (actual value)

Tevapi is the evaporator inlet temperature value.

(b) Variable Flow Chillers

For the variable flow chillers with internal water flow rate controls to target a leaving temperature setpoint (type LeavingSetpointModulated), the actual evaporator outlet water temperature value at faulty operations can be obtained via:

Tevapo,f=Tevapo,ffΔT

where:

Tevapo,f is the evaporator outlet temperature in the faulty case (actual value)

Tevapo,ff is the evaporator outlet temperature in the fault-free case (reading, design value)

ΔT is the difference between the temperature reading and the actual temperature.

The water flow rate at faulty operations can be obtained via:

mevap,f=Qevap,ff/(Cp×(TevapiTevapo,ff))

where:

mevap,f is the evaporator water flow rate in the faulty case (actual value)

Qevap,ff is the evaporator capacity in the fault-free case (required value)

Qevap,f is the actual evaporator capacity in the faulty case (actual value)

Tevapo,ff is the evaporator outlet temperature in the fault-free case (reading, design value)

Tevapi is the evaporator inlet temperature value

ΔT is the difference between the temperature reading and the actual temperature.

Then the evaporator capacity can be calculated with:

Qevap,f=mevap,f×Cp×(TevapiTevapo,f)

where:

mevap,f is the evaporator water flow rate in the faulty case (actual value)

Qevap,f is the actual evaporator capacity in the faulty case (actual value)

Tevapo,f is the evaporator outlet temperature value in the faulty case (actual value)

Tevapi is the evaporator inlet temperature value

Note that operational faults only affect the HVAC operations, not the system design. Therefore, the fault model will only be applied at real weather simulations instead of the sizing and warm-up simulations. If the faulty sensor leads to a supply water temperature level that goes beyond the limits defined in the chiller object, the predefined bound values will be used as the actual supply water temperature Tevapo,f.

If there are multiple chillers operating together with one shared faulty supply water temperature sensor, one fault object needs to be created for every chiller that is affected.

### Condenser Supply Water Temperature Sensor Offset[LINK]

The condenser supply water temperature readings deviate from the actual water temperature levels due to sensor offset at the condenser inlet. Because this is usually used as the condenser loop temperature setpoint, the fault may affect the actual performance of cooling tower and condenser. It can result in inappropriate tower operations such as fan and pump cycling and water bypass.

The fault applies to a number of cooling tower types, namely:

The effect of an offset in a condenser supply water temperature sensor whose sole use is for calculation of the difference between the set-points and the actual values can be modeled as an equal and opposite offset:

Ttowero,f=Ttowero,ffΔT

where:

Ttowero,f is the tower outlet temperature in the faulty case (actual value)

Ttowero,ff is the tower outlet temperature in the fault-free case (reading value)

ΔT is the difference between the temperature reading and the actual temperature.

Note that the fault affects the tower in both the free convection cooling mode when fan is off and normal cooling mode when fan is on. Also note that if the faulty sensor temperature goes beyond the sensor bounds (e.g., min/max condenser loop temperature defined in object CondenserLoop, or the min/max setpoint values defined in object SetpointManager:FollowOutdoorAirTemperature), the predefined bound values will be used as the actual temperature.

The fault of scaling widely exists in the cooling tower operations. It occurs when deposits get clogged, usually caused by poor water quality and treatment. It is reported that the removal of scale deposits is one of the biggest expenses in the cooling tower maintenance. Scale deposits can reduce the overall heat transfer coefficient (UA), affecting both the tower effectiveness and energy efficiency.

The fault applies to a number of cooling tower types, namely:

The fault model allows the user to describe the fouling using UA reduction factor, which is the ratio between the UA value at fouling case and that at fault free case. The factor is applicable to both the Design UA and Free Convection UA of the tower.

UAtower,f=UAtower,ff×FUA

where:

UAtower,f is the U-factor times area values in the faulty case

UAtower,ff is the U-factor times area values in the fault-free case

FUA is the factor describing the tower UA reduction due to fouling.

### Coil Supply Air Temperature Sensor Offset[LINK]

The coil supply air temperature readings deviate from the actual air temperature levels due to sensor offset at the coil outlet. Because coil outlet node are often used as the setpoint node for coil control, the fault may affect the actual performance of the coils. It can result in inappropriate coil operations such as coil on/off mode and water-side flow rate control, and therefore affect the coil energy consumption. Since the coil outlet air temperature deviate from the design level, the operations and performance of other components (e.g., other dcoils) at the downstream may also be affected.

EnergyPlus can model a number of coil types, some of which are temperature-based control and the others are load-based control. The proposed fault model will be applied to the ones with temperature-based control, namely:

The effect of an offset in a coil supply air temperature sensor whose sole use is for calculation of the difference between the set-points and the actual values can be modeled as an equal and opposite offset:

Tcoilo,f=Tcoilo,ffΔT

where:

Tcoilo,f is the coil outlet temperature in the faulty case (actual value)

Tcoilo,ff is the coil outlet temperature in the fault-free case (reading value)

ΔT is the difference between the temperature reading and the actual temperature.

Note that Coil:Heating:Water, Coil:Cooling:Water, and Coil:Cooling:Water:Detailedgeometry are controlled via Controller:WaterCoil, while the other coil types are controlled with an internal Temperature Setpoint Node. For the water coils, users need to specify a Controller:WaterCoil object that corresponds to the faulty water coil.

The fouling fault of boilers may occur when deposits get clogged at the water side of boilers, usually caused by poor water quality and treatment. The scale deposits can reduce the capacity and efficiency of the boiler. This further impacts the boiler operations by changing the part load ratio and the related operation/performance parameters.

The fault applies to the hot water boiler model described by the object Boiler:HotWater. It does not apply to the steam boilers which do not have water-based heat exchangers.

The model allows the user to describe the fault using a dynamic fouling factor. The reference factor indicates the decrease of the nominal capacity of the boiler, which is the ratio between the nominal capacity at fouling case and that at fault free case. The nominal thermal efficiency is decreased correspondingly.

Qboiler,f=Qboiler,ff×Fboiler

Effboiler,f=Effboiler,ff×Fboiler

where:

Qboiler,f is the nominal boiler capacity in the faulty case

Qboiler,ff is the nominal boiler capacity in the fault-free case

Effboiler,f is the nominal boiler thermal efficiency in the faulty case

Effboiler,ff is the nominal boiler thermal efficiency in the fault-free case

Fboiler is the factor describing the boiler capacity and efficiency reduction due to fouling.

Note that operational faults only affect the HVAC operations, not the system design. Therefore, the fault model will only be applied at real weather simulations instead of the sizing and warm-up simulations.

The fouling fault of chillers may occur when deposits get clogged at the water-cooled condensers, usually caused by poor water quality and treatment. The scale deposits can reduce the capacity and efficiency of the chiller. This further impacts the chiller operations by changing the part load ratio and the related operation/performance parameters.

The fault applies to a number of chiller types that can have water-cooled condensers, namely:

The fault does not apply to the absorption chillers that do not have water-based heat exchangers.

The model allows the user to describe the fault using a dynamic fouling factor. The reference factor indicates the decrease of the reference capacity of the chiller, which is the ratio between the nominal capacity at fouling case and that at fault free case. The reference COP is decreased correspondingly.

Qchiller,f=Qchiller,ff×Fchiller

COPchiller,f=COPchiller,ff×Fchiller

where:

Qchiller,f is the reference chiller capacity in the faulty case

Qchiller,ff is the reference chiller capacity in the fault-free case

COPchiller,f is the reference chiller COP in the faulty case

COPchiller,ff is the reference chiller COP in the fault-free case

Fchiller is the factor describing the chiller capacity and efficiency reduction due to fouling.

Note that operational faults only affect the HVAC operations, not the system design. Therefore, the fault model will only be applied at real weather simulations instead of the sizing and warm-up simulations.

The fouling fault may occur at indirect wet-coil evaporative coolers, where the cooling water is sprayed directly on the tubes. This is usually occurs at the wet coil tubes caused by the dust in the air. The fouling can reduce the effectiveness of the tube and further impact the evaporative cooler operations by changing the related operation/performance parameters.

The fault applies to the wetted coil evaporative cooler described by object EvaporativeCooler:Indirect:WetCoil. The fault does not apply to direct evaporative coolers or the dry coil indirect evaporative coolers where there is no water-cooled coil.

The model allows the user to describe the fault using a dynamic fouling factor. The reference factor indicates the decrease of the indirect stage efficiency, which is the ratio between the indirect stage efficiency at fouling case and that at fault free case.

EffEvapCooler,f=EffEvapCooler,ff×FEvapCooler

where:

EffEvapCooler,f is the indirect stage efficiency in the faulty case

EffEvapCooler,ff is the indirect stage efficiency in the fault-free case

FEvapCooler is the factor describing the evaporative cooler efficiency reduction due to fouling.

Note that operational faults only affect the HVAC operations, not the system design. Therefore, the fault model will only be applied at real weather simulations instead of the sizing and warm-up simulations.