Buildings.Fluid.HeatExchangers.DXCoils.AirCooled

Air-cooled DX package unit

Information

This package contains air-cooled DX coil models, including single-speed, multi-stage, and variable-speed DX coil models.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.MultiStage MultiStage Multi-stage DX cooling coil
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.SingleSpeed SingleSpeed Single speed DX cooling coil
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.VariableSpeed VariableSpeed Variable speed DX cooling coil
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data Data Package with performance data for DX cooling coil
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Examples Examples Package with example of DX cooling coil models
Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Validation Validation Collection of validation models

Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.MultiStage Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.MultiStage

Multi-stage DX cooling coil

Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.MultiStage

Information

This model can be used to simulate an air-cooled DX cooling coil with multiple operating stages. Depending on the used performance curves, each stage could be a different compressor speed, or a different mode of operation, such as with or without hot gas reheat.

See Buildings.Fluid.HeatExchangers.DXCoils.UsersGuide for an explanation of the model.

Extends from Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.PartialDXCoil (Partial model for DX coil).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialCondensingGasesMedium in the component
Booleanuse_mCon_flowfalseSet to true to enable connector for the condenser mass flow rate
StringsubstanceName"water"Name of species substance
Nominal condition
PressureDifferencedp_nominal Pressure difference [Pa]
Assumptions
BooleanallowFlowReversaltrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
Flow resistance
Booleanfrom_dpfalse= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanlinearizeFlowResistancefalse= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM0.1Fraction of nominal flow rate where flow transitions to laminar
Dynamics
Nominal condition
Timetau30Time constant at nominal flow (if energyDynamics <> SteadyState) [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Moisture balance
BooleancomputeReevaporationtrueSet to true to compute reevaporation of water that accumulated on coil
Initialization
AbsolutePressurep_startMedium.p_defaultStart value of pressure [Pa]
TemperatureT_startMedium.T_defaultStart value of temperature [K]
MassFractionX_start[Medium.nX]Medium.X_defaultStart value of mass fractions m_i/m [kg/kg]
ExtraPropertyC_start[Medium.nC]fill(0, Medium.nC)Start value of trace substances

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
input RealInputTConInOutside air dry bulb temperature for an air cooled condenser or wetbulb temperature for an evaporative cooled condenser [K]
input RealInputmCon_flowWater mass flow rate for condenser [kg/s]
output RealOutputPElectrical power consumed by the unit [W]
output RealOutputQSen_flowSensible heat flow rate [W]
output RealOutputQLat_flowLatent heat flow rate [W]
input IntegerInputstageStage of cooling coil (0: off, 1: first stage, 2: second stage...)

Modelica definition

model MultiStage "Multi-stage DX cooling coil" extends Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.PartialDXCoil( dxCoo(final variableSpeedCoil=false, wetCoi(redeclare Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled cooCap), dryCoi(redeclare Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled cooCap)), redeclare Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.DXCoil datCoi, use_mCon_flow=false); Modelica.Blocks.Interfaces.IntegerInput stage "Stage of cooling coil (0: off, 1: first stage, 2: second stage...)"; BaseClasses.SpeedSelect speSel(nSta=datCoi.nSta, speSet=datCoi.sta.spe); Modelica.Blocks.Math.IntegerToBoolean onSwi(final threshold=1) "On/off switch"; equation connect(onSwi.y, eva.on); connect(onSwi.u, stage); connect(stage, speSel.stage); connect(speSel.speRat, dxCoo.speRat); connect(stage, dxCoo.stage); end MultiStage;

Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.SingleSpeed Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.SingleSpeed

Single speed DX cooling coil

Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.SingleSpeed

Information

This model can be used to simulate an air-cooled DX cooling coil with single speed compressor.

See Buildings.Fluid.HeatExchangers.DXCoils.UsersGuide for an explanation of the model.

Extends from Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.PartialDXCoil (Partial model for DX coil).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialCondensingGasesMedium in the component
Booleanuse_mCon_flowfalseSet to true to enable connector for the condenser mass flow rate
StringsubstanceName"water"Name of species substance
Nominal condition
PressureDifferencedp_nominal Pressure difference [Pa]
Assumptions
BooleanallowFlowReversaltrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
Flow resistance
Booleanfrom_dpfalse= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanlinearizeFlowResistancefalse= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM0.1Fraction of nominal flow rate where flow transitions to laminar
Dynamics
Nominal condition
Timetau30Time constant at nominal flow (if energyDynamics <> SteadyState) [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Moisture balance
BooleancomputeReevaporationtrueSet to true to compute reevaporation of water that accumulated on coil
Initialization
AbsolutePressurep_startMedium.p_defaultStart value of pressure [Pa]
TemperatureT_startMedium.T_defaultStart value of temperature [K]
MassFractionX_start[Medium.nX]Medium.X_defaultStart value of mass fractions m_i/m [kg/kg]
ExtraPropertyC_start[Medium.nC]fill(0, Medium.nC)Start value of trace substances

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
input RealInputTConInOutside air dry bulb temperature for an air cooled condenser or wetbulb temperature for an evaporative cooled condenser [K]
input RealInputmCon_flowWater mass flow rate for condenser [kg/s]
output RealOutputPElectrical power consumed by the unit [W]
output RealOutputQSen_flowSensible heat flow rate [W]
output RealOutputQLat_flowLatent heat flow rate [W]
input BooleanInputonSet to true to enable compressor, or false to disable compressor

Modelica definition

model SingleSpeed "Single speed DX cooling coil" extends Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.PartialDXCoil( dxCoo(final variableSpeedCoil=false, wetCoi(redeclare Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled cooCap), dryCoi(redeclare Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled cooCap)), redeclare Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.DXCoil datCoi, use_mCon_flow=false); Modelica.Blocks.Sources.Constant speRat(final k=1) "Speed ratio"; Modelica.Blocks.Interfaces.BooleanInput on "Set to true to enable compressor, or false to disable compressor"; protected Modelica.Blocks.Math.BooleanToInteger onSwi( final integerTrue=1, final integerFalse=0) "On/off switch"; initial equation assert(datCoi.nSta == 1, "Must have one stage only for single speed performance data"); equation connect(speRat.y, dxCoo.speRat); connect(eva.on, on); connect(on, onSwi.u); connect(onSwi.y, dxCoo.stage); end SingleSpeed;

Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.VariableSpeed Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.VariableSpeed

Variable speed DX cooling coil

Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.VariableSpeed

Information

This model can be used to simulate an air-cooled DX cooling coil with continuously variable speed compressors. The control input is the speed ratio. The coil will switch off if the speed ratio is below a minimum value.

See Buildings.Fluid.HeatExchangers.DXCoils.UsersGuide for an explanation of the model.

Extends from Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.PartialDXCoil (Partial model for DX coil).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialCondensingGasesMedium in the component
Booleanuse_mCon_flowfalseSet to true to enable connector for the condenser mass flow rate
StringsubstanceName"water"Name of species substance
RealminSpeRat Minimum speed ratio
RealspeRatDeaBan0.05Deadband for minimum speed ratio
Nominal condition
PressureDifferencedp_nominal Pressure difference [Pa]
Assumptions
BooleanallowFlowReversaltrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
Flow resistance
Booleanfrom_dpfalse= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanlinearizeFlowResistancefalse= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM0.1Fraction of nominal flow rate where flow transitions to laminar
Dynamics
Nominal condition
Timetau30Time constant at nominal flow (if energyDynamics <> SteadyState) [s]
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
Moisture balance
BooleancomputeReevaporationtrueSet to true to compute reevaporation of water that accumulated on coil
Initialization
AbsolutePressurep_startMedium.p_defaultStart value of pressure [Pa]
TemperatureT_startMedium.T_defaultStart value of temperature [K]
MassFractionX_start[Medium.nX]Medium.X_defaultStart value of mass fractions m_i/m [kg/kg]
ExtraPropertyC_start[Medium.nC]fill(0, Medium.nC)Start value of trace substances

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
input RealInputTConInOutside air dry bulb temperature for an air cooled condenser or wetbulb temperature for an evaporative cooled condenser [K]
input RealInputmCon_flowWater mass flow rate for condenser [kg/s]
output RealOutputPElectrical power consumed by the unit [W]
output RealOutputQSen_flowSensible heat flow rate [W]
output RealOutputQLat_flowLatent heat flow rate [W]
input RealInputspeRatSpeed ratio

Modelica definition

model VariableSpeed "Variable speed DX cooling coil" extends Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.PartialDXCoil( dxCoo(final variableSpeedCoil=true, wetCoi(redeclare Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled cooCap), dryCoi(redeclare Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.CoolingCapacityAirCooled cooCap)), redeclare Buildings.Fluid.HeatExchangers.DXCoils.AirCooled.Data.Generic.DXCoil datCoi, use_mCon_flow=false); parameter Real minSpeRat(min=0,max=1) "Minimum speed ratio"; parameter Real speRatDeaBan= 0.05 "Deadband for minimum speed ratio"; Modelica.Blocks.Interfaces.RealInput speRat "Speed ratio"; protected Modelica.Blocks.Logical.Hysteresis deaBan( uLow=minSpeRat - speRatDeaBan/2, uHigh=minSpeRat + speRatDeaBan/2) "Speed ratio deadband"; Modelica.Blocks.Math.BooleanToInteger onSwi( final integerTrue=1, final integerFalse=0) "On/off switch"; equation connect(speRat, dxCoo.speRat); connect(speRat, deaBan.u); connect(deaBan.y, eva.on); connect(onSwi.y, dxCoo.stage); connect(deaBan.y, onSwi.u); end VariableSpeed;