| Name | Description |
|---|---|
| User's Guide | |
| Multi-stage DX cooling coil | |
| Single speed DX cooling coil | |
| Variable speed DX cooling coil | |
| Package with performance data for DX cooling coil | |
| Package with example of DX cooling coil models | |
| Package with base classes for DX cooling coil model |
Buildings.Fluid.HeatExchangers.DXCoils.MultiStage
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).
| 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 [Pa] | |
| Assumptions | |||
| Boolean | allowFlowReversal | system.allowFlowReversal | = 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 |
| 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...) |
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
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).
| 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 [Pa] | |
| Assumptions | |||
| Boolean | allowFlowReversal | system.allowFlowReversal | = 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 |
| 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 |
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
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).
| 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 [Pa] | |
| Assumptions | |||
| Boolean | allowFlowReversal | system.allowFlowReversal | = 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 |
| 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 |
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"; equationconnect(speRat, dxCoo.speRat); connect(speRat, deaBan.u); connect(deaBan.y, eva.on); connect(onSwi.y, dxCoo.stage); connect(deaBan.y, onSwi.u); end VariableSpeed;