Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
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 |
BaseClasses | Package with base classes for DX cooling coil model |
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_V_flow | false | = true, if volume flow rate at inflowing port is computed |
Boolean | show_T | false | = true, if actual temperature at port is computed (may lead to events) |
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"; equationconnect(onSwi.y, eva.on); connect(onSwi.u, stage); connect(stage, speSel.stage); connect(speSel.speRat, dxCoo.speRat); connect(stage, dxCoo.stage); end MultiStage;
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_V_flow | false | = true, if volume flow rate at inflowing port is computed |
Boolean | show_T | false | = true, if actual temperature at port is computed (may lead to events) |
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"; equationconnect(speRat.y, dxCoo.speRat); connect(eva.on, on); connect(on, onSwi.u); connect(onSwi.y, dxCoo.stage); end SingleSpeed;
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_V_flow | false | = true, if volume flow rate at inflowing port is computed |
Boolean | show_T | false | = true, if actual temperature at port is computed (may lead to events) |
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;