modelVariableSpeed
Variable speed DX cooling coil
Extends from Buildings.Fluid.DXSystems.Cooling.BaseClasses.PartialDXCoolingCoil (Partial model for DX cooling coil).
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.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Fluid.DXSystems.Cooling.AirSource.Data.Generic.DXCoil | datCoi (from EssentialParameters) | Performance data | |
| Boolean | homotopyInitialization (from TwoPortHeatMassExchanger) | true | = true, use homotopy method |
| Boolean | use_mCon_flow (from PartialDXCoil) | Set to true to enable connector for the condenser mass flow rate | |
| Real | minSpeRat | Minimum speed ratio | |
| Real | speRatDeaBan | 0.05 | Deadband for minimum speed ratio |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialTwoPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.PressureDifference | dp_nominal (from TwoPortFlowResistanceParameters) | Pressure difference | |
| Advanced | |||
| Modelica.Units.SI.MassFlowRate | m_flow_small (from PartialTwoPortInterface) | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortInterface) | false | = true, if actual temperature at port is computed |
| Flow resistance | |||
| Boolean | computeFlowResistance (from TwoPortFlowResistanceParameters) | true | =true, compute flow resistance. Set to false to assume no friction |
| Boolean | from_dp (from TwoPortFlowResistanceParameters) | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Real | n (from TwoPortFlowResistanceParameters) | 2 | Flow exponent, n=1 for laminar, n=2 for turbulent |
| Boolean | linearizeFlowResistance (from TwoPortFlowResistanceParameters) | false | = true, use linear relation between m_flow and dp for any flow rate |
| Real | deltaM (from TwoPortFlowResistanceParameters) | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
| Dynamics › Nominal condition | |||
| Modelica.Units.SI.Time | tau (from TwoPortHeatMassExchanger) | 30 | Time constant at nominal flow (if energyDynamics <> SteadyState) |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from TwoPortHeatMassExchanger) | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Initialization | |||
| Medium.AbsolutePressure | p_start (from TwoPortHeatMassExchanger) | Medium.p_default | Start value of pressure |
| Medium.Temperature | T_start (from TwoPortHeatMassExchanger) | Medium.T_default | Start value of temperature |
| Medium.MassFraction[Medium.nX] | X_start (from TwoPortHeatMassExchanger) | Medium.X_default | Start value of mass fractions m_i/m |
| Medium.ExtraProperty[Medium.nC] | C_start (from TwoPortHeatMassExchanger) | fill(0, Medium.nC) | Start value of trace substances |
| Dynamics › Moisture balance | |||
| Boolean | computeReevaporation (from PartialDXCoil) | true | Set to true to compute reevaporation of water that accumulated on coil |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Blocks.Interfaces.RealInput | TOut (from PartialDXCoil) | Outside air dry bulb temperature for an air cooled condenser or wetbulb temperature for an evaporative cooled condenser | |
| Modelica.Blocks.Interfaces.RealInput | mCon_flow (from PartialDXCoil) | Water mass flow rate for condenser | |
| Modelica.Blocks.Interfaces.RealOutput | P (from PartialDXCoil) | Electrical power consumed by the unit | |
| Modelica.Blocks.Interfaces.RealOutput | QSen_flow (from PartialDXCoil) | Sensible heat flow rate | |
| Modelica.Blocks.Interfaces.RealOutput | QLat_flow (from PartialDXCoolingCoil) | Latent heat flow rate | |
| Modelica.Blocks.Interfaces.RealInput | speRat | Speed ratio |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.MassFlowRate | m_flow (from PartialTwoPortInterface) | port_a.m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp (from PartialTwoPortInterface) | port_a.p - port_b.p | Pressure difference between port_a and port_b |
| Medium.ThermodynamicState | sta_a (from PartialTwoPortInterface) | if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow))) | Medium properties in port_a |
| Medium.ThermodynamicState | sta_b (from PartialTwoPortInterface) | if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow)) | Medium properties in port_b |
| Buildings.Fluid.MixingVolumes.MixingVolume | vol (from TwoPortHeatMassExchanger) | ||
| Buildings.Fluid.FixedResistances.PressureDrop | preDro (from TwoPortHeatMassExchanger) | Flow resistance | |
| Buildings.Fluid.DXSystems.Cooling.BaseClasses.PartialCoilInterface | dxCoi (from PartialDXCoil) | ||
| Buildings.Fluid.DXSystems.Cooling.BaseClasses.Evaporation | watVapEva (from PartialDXCoolingCoil) | Model that computes evaporation of water that accumulated on the coil surface |
Revisions
-
November 26, 2025, by Michael Wetter:
Updated redeclare and replaceable statements.
This is for issue 4421. -
March 19, 2023 by Xing Lu and Karthik Devaprasad:
Renamed class toVariableSpeedDXCoolingto differentiate it from DX heating coils.
Updated connect statement to reflect name change of instance fromdxCootodxCoi.
Updated formatting. -
March 7, 2022, by Michael Wetter:
Setfinal massDynamics=energyDynamics.
This is for #1542. -
July 28, 2012 by Kaustubh Phalak:
First implementation.