Description: "DX(Direct Expansion) cooling coil models"

- Home > Modelica

## Buildings.Fluid.HeatExchangers.DXCoils

DX(Direct Expansion) cooling coil models

### Information

This package contains DX coil models.

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

### Package Content

Name | Description
--- | ---
UsersGuide | User's Guide
MultiStage | Multi-stage DX cooling coil
SingleSpeed | Single speed DX cooling coil
VariableSpeed | Variable speed DX cooling coil
Data | Package with performance data for DX cooling coil
Examples | Package with example of DX cooling coil models
Validation | Collection of validation models
BaseClasses | Package with base classes for DX cooling coil model

## Buildings.Fluid.HeatExchangers.DXCoils.MultiStage

Multi-stage DX cooling coil

### Information

This model can be used to simulate a 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

Type | Name | Default | Description
--- | --- | --- | ---
DXCoil | datCoi |  | Performance data
replaceable package Medium | PartialCondensingGases | Medium model
Initialization
MassFlowRate | m_flow.start | 0 | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s]
Pressure | dp.start | 0 | Pressure difference between port_a and port_b [Pa]
Nominal condition
Pressure | dp_nominal |  | Pressure difference [Pa]
Assumptions
Boolean | allowFlowReversal | true | = true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
MassFlowRate | m_flow_small | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s]
Boolean | homotopyInitialization | true | = true, use homotopy method
Diagnostics
Boolean | show_T | false | = true, if actual temperature at port is computed
Flow resistance
Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow)
Boolean | linearizeFlowResistance | false | = true, use linear relation between m_flow and dp for any flow rate
Real | deltaM | 0.1 | Fraction of nominal flow rate where flow transitions to laminar
Dynamics
Nominal condition
Time | tau | 30 | Time constant at nominal flow (if energyDynamics <> SteadyState) [s]
Equations
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Formulation of energy balance
Dynamics | massDynamics | energyDynamics | Formulation of mass balance
Moisture balance
Boolean | computeReevaporation | true | Set to true to compute reevaporation of water that accumulated on coil
Initialization
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa]
Temperature | T_start | Medium.T_default | Start value of temperature [K]
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg]
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances

### Connectors

Type | Name | Description
--- | --- | ---
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b)
input RealInput | TConIn | Outside air dry bulb temperature for an air cooled condenser or wetbulb temperature for an evaporative cooled condenser [K]
output RealOutput | P | Electrical power consumed by the unit [W]
output RealOutput | QSen_flow | Sensible heat flow rate [W]
output RealOutput | QLat_flow | Latent heat flow rate [W]
input IntegerInput | stage | Stage 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)); 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.SingleSpeed

Single speed DX cooling coil

### Information

This model can be used to simulate a 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

Type | Name | Default | Description
--- | --- | --- | ---
DXCoil | datCoi |  | Performance data
replaceable package Medium | PartialCondensingGases | Medium model
Initialization
MassFlowRate | m_flow.start | 0 | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s]
Pressure | dp.start | 0 | Pressure difference between port_a and port_b [Pa]
Nominal condition
Pressure | dp_nominal |  | Pressure difference [Pa]
Assumptions
Boolean | allowFlowReversal | true | = true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
MassFlowRate | m_flow_small | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s]
Boolean | homotopyInitialization | true | = true, use homotopy method
Diagnostics
Boolean | show_T | false | = true, if actual temperature at port is computed
Flow resistance
Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow)
Boolean | linearizeFlowResistance | false | = true, use linear relation between m_flow and dp for any flow rate
Real | deltaM | 0.1 | Fraction of nominal flow rate where flow transitions to laminar
Dynamics
Nominal condition
Time | tau | 30 | Time constant at nominal flow (if energyDynamics <> SteadyState) [s]
Equations
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Formulation of energy balance
Dynamics | massDynamics | energyDynamics | Formulation of mass balance
Moisture balance
Boolean | computeReevaporation | true | Set to true to compute reevaporation of water that accumulated on coil
Initialization
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa]
Temperature | T_start | Medium.T_default | Start value of temperature [K]
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg]
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances

### Connectors

Type | Name | Description
--- | --- | ---
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b)
input RealInput | TConIn | Outside air dry bulb temperature for an air cooled condenser or wetbulb temperature for an evaporative cooled condenser [K]
output RealOutput | P | Electrical power consumed by the unit [W]
output RealOutput | QSen_flow | Sensible heat flow rate [W]
output RealOutput | QLat_flow | Latent heat flow rate [W]
input BooleanInput | on | Set 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), final nSta=1); 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"; 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.VariableSpeed

Variable speed DX cooling coil

### Information

This model can be used to simulate a 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

Type | Name | Default | Description
--- | --- | --- | ---
DXCoil | datCoi |  | Performance data
replaceable package Medium | PartialCondensingGases | Medium model
Real | minSpeRat |  | Minimum speed ratio
Real | speRatDeaBan | 0.05 | Deadband for minimum speed ratio
Initialization
MassFlowRate | m_flow.start | 0 | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s]
Pressure | dp.start | 0 | Pressure difference between port_a and port_b [Pa]
Nominal condition
Pressure | dp_nominal |  | Pressure difference [Pa]
Assumptions
Boolean | allowFlowReversal | true | = true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
MassFlowRate | m_flow_small | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s]
Boolean | homotopyInitialization | true | = true, use homotopy method
Diagnostics
Boolean | show_T | false | = true, if actual temperature at port is computed
Flow resistance
Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow)
Boolean | linearizeFlowResistance | false | = true, use linear relation between m_flow and dp for any flow rate
Real | deltaM | 0.1 | Fraction of nominal flow rate where flow transitions to laminar
Dynamics
Nominal condition
Time | tau | 30 | Time constant at nominal flow (if energyDynamics <> SteadyState) [s]
Equations
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Formulation of energy balance
Dynamics | massDynamics | energyDynamics | Formulation of mass balance
Moisture balance
Boolean | computeReevaporation | true | Set to true to compute reevaporation of water that accumulated on coil
Initialization
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa]
Temperature | T_start | Medium.T_default | Start value of temperature [K]
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg]
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances

### Connectors

Type | Name | Description
--- | --- | ---
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b)
input RealInput | TConIn | Outside air dry bulb temperature for an air cooled condenser or wetbulb temperature for an evaporative cooled condenser [K]
output RealOutput | P | Electrical power consumed by the unit [W]
output RealOutput | QSen_flow | Sensible heat flow rate [W]
output RealOutput | QLat_flow | Latent heat flow rate [W]
input RealInput | speRat | Speed ratio

### Modelica definition

model VariableSpeed "Variable speed DX cooling coil" extends Buildings.Fluid.HeatExchangers.DXCoils.BaseClasses.PartialDXCoil( dxCoo(final variableSpeedCoil=true)); 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;