Buildings.Fluid.DXSystems.Cooling.AirSource

Air source DX coils

Information

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

Package Content

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

Buildings.Fluid.DXSystems.Cooling.AirSource.MultiStage Buildings.Fluid.DXSystems.Cooling.AirSource.MultiStage

Multi-stage DX cooling coil

Buildings.Fluid.DXSystems.Cooling.AirSource.MultiStage

Information

This model can be used to simulate an air source 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.DXSystems.Cooling.UsersGuide for an explanation of the model.

Extends from Buildings.Fluid.DXSystems.Cooling.BaseClasses.PartialDXCoolingCoil (Partial model for DX cooling coil).

Parameters

TypeNameDefaultDescription
DXCoildatCoiredeclare Buildings.Fluid.DX...Performance data
replaceable package MediumPartialCondensingGasesMedium in the component
Booleanuse_mCon_flowfalseSet to true to enable connector for the condenser mass flow rate
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 RealInputTOutOutside 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.DXSystems.Cooling.BaseClasses.PartialDXCoolingCoil( dxCoi( final variableSpeedCoil=false, wetCoi(redeclare Buildings.Fluid.DXSystems.BaseClasses.CapacityAirSource coiCap), dryCoi(redeclare Buildings.Fluid.DXSystems.BaseClasses.CapacityAirSource coiCap)), use_mCon_flow=false); Modelica.Blocks.Interfaces.IntegerInput stage "Stage of cooling coil (0: off, 1: first stage, 2: second stage...)"; Buildings.Fluid.DXSystems.Cooling.BaseClasses.SpeedSelect speSel( final nSta=datCoi.nSta, speSet=datCoi.sta.spe) "Normalize the speed signal based on the compressor stage input"; Modelica.Blocks.Math.IntegerToBoolean onSwi( final threshold=1) "On/off switch"; equation connect(onSwi.y, watVapEva.on); connect(onSwi.u, stage); connect(stage, speSel.stage); connect(speSel.speRat,dxCoi.speRat); connect(stage,dxCoi.stage); end MultiStage;

Buildings.Fluid.DXSystems.Cooling.AirSource.SingleSpeed Buildings.Fluid.DXSystems.Cooling.AirSource.SingleSpeed

Single speed DX cooling coil

Buildings.Fluid.DXSystems.Cooling.AirSource.SingleSpeed

Information

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

See Buildings.Fluid.DXSystems.Cooling.UsersGuide for an explanation of the model.

Extends from Buildings.Fluid.DXSystems.Cooling.BaseClasses.PartialDXCoolingCoil (Partial model for DX cooling coil).

Parameters

TypeNameDefaultDescription
DXCoildatCoiredeclare Buildings.Fluid.DX...Performance data
replaceable package MediumPartialCondensingGasesMedium in the component
Booleanuse_mCon_flowfalseSet to true to enable connector for the condenser mass flow rate
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 RealInputTOutOutside 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.DXSystems.Cooling.BaseClasses.PartialDXCoolingCoil( dxCoi( final variableSpeedCoil=false, wetCoi(redeclare Buildings.Fluid.DXSystems.BaseClasses.CapacityAirSource coiCap), dryCoi(redeclare Buildings.Fluid.DXSystems.BaseClasses.CapacityAirSource coiCap)), 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,dxCoi.speRat); connect(watVapEva.on, on); connect(on, onSwi.u); connect(onSwi.y,dxCoi.stage); end SingleSpeed;

Buildings.Fluid.DXSystems.Cooling.AirSource.VariableSpeed Buildings.Fluid.DXSystems.Cooling.AirSource.VariableSpeed

Variable speed DX cooling coil

Buildings.Fluid.DXSystems.Cooling.AirSource.VariableSpeed

Information

This model can be used to simulate an air source 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.DXSystems.Cooling.UsersGuide for an explanation of the model.

Extends from Buildings.Fluid.DXSystems.Cooling.BaseClasses.PartialDXCoolingCoil (Partial model for DX cooling coil).

Parameters

TypeNameDefaultDescription
DXCoildatCoiredeclare Buildings.Fluid.DX...Performance data
replaceable package MediumPartialCondensingGasesMedium in the component
Booleanuse_mCon_flowfalseSet to true to enable connector for the condenser mass flow rate
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 RealInputTOutOutside 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 [1]

Modelica definition

model VariableSpeed "Variable speed DX cooling coil" extends Buildings.Fluid.DXSystems.Cooling.BaseClasses.PartialDXCoolingCoil( dxCoi( final variableSpeedCoil=true, wetCoi(redeclare Buildings.Fluid.DXSystems.BaseClasses.CapacityAirSource coiCap), dryCoi(redeclare Buildings.Fluid.DXSystems.BaseClasses.CapacityAirSource coiCap)), use_mCon_flow=false); parameter Real minSpeRat( final min=0, final max=1) "Minimum speed ratio"; parameter Real speRatDeaBan= 0.05 "Deadband for minimum speed ratio"; Modelica.Blocks.Interfaces.RealInput speRat( final unit="1", displayUnit="1") "Speed ratio"; protected Modelica.Blocks.Logical.Hysteresis deaBan( final uLow=minSpeRat - speRatDeaBan/2, final uHigh=minSpeRat + speRatDeaBan/2) "Speed ratio deadband"; Modelica.Blocks.Math.BooleanToInteger onSwi( final integerTrue=1, final integerFalse=0) "On/off switch"; equation connect(speRat,dxCoi.speRat); connect(speRat, deaBan.u); connect(deaBan.y, watVapEva.on); connect(onSwi.y,dxCoi.stage); connect(deaBan.y, onSwi.u); end VariableSpeed;