Package with cooling tower models
This package contains components models for cooling towers.
The model Buildings.Fluid.HeatExchangers.CoolingTowers.FixedApproach computes a fixed approach temperature.
The model Buildings.Fluid.HeatExchangers.CoolingTowers.YorkCalc computes the cooling tower performance based the York formula.
Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
Name | Description |
---|---|
FixedApproach | Cooling tower with constant approach temperature |
YorkCalc | Cooling tower with variable speed using the York calculation for the approach temperature |
Correlations | Package with correlations for cooling tower performance |
Examples | Collection of models that illustrate model use and test models |
BaseClasses | Package with base classes for Buildings.Fluid.HeatExchangers.CoolingTowers |
Cooling tower with constant approach temperature
Model for a steady-state or dynamic cooling tower with constant approach temperature.
The approach temperature is the difference between the leaving water temperature and
the entering air temperature.
The entering air temperature is used from the signal TAir
. If
connected to the a dry-bulb temperature, then a dry cooling tower is modeled.
If connected to a wet-bulb temperature, then a wet cooling tower is modeled.
By connecting a signal that contains either the dry-bulb or the wet-bulb temperature, this model can be used to estimate the water return temperature from a cooling tower. For a more detailed model, use for example the YorkCalc model.
Extends from Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.CoolingTower (Base class for cooling towers).
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
TemperatureDifference | TApp | 2 | Approach temperature difference [K] |
Nominal condition | |||
MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
Pressure | dp_nominal | Pressure difference [Pa] | |
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] |
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 |
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) |
output RealOutput | TLvg | Leaving water temperature |
input RealInput | TAir | Entering air dry or wet bulb temperature [K] |
Cooling tower with variable speed using the York calculation for the approach temperature
Model for a steady-state or dynamic cooling tower with variable speed fan using the York calculation for the approach temperature at off-design conditions.
To compute the thermal performance, this model takes as parameters the approach temperature, the range temperature and the inlet air wet bulb temperature at the design condition. Since the design mass flow rate (of the chiller condenser loop) is also a parameter, these parameters define the rejected heat.
For off-design conditions, the model uses the actual range temperature and a polynomial
to compute the approach temperature for free convection and for forced convection, i.e.,
with the fan operating. The polynomial is valid for a York cooling tower.
If the fan input signal y
is below the minimum fan revolution yMin
,
then the cooling tower operates in free convection mode, otherwise it operates in
the forced convection mode.
For numerical reasons, this transition occurs in the range of y ∈ [0.9*yMin, yMin]
.
The fan power consumption at the design condition can be specified as follows:
fraPFan_nominal
can be used to specify at the
nominal conditions the fan power divided by the water flow rate. The default value is
275 Watts for a water flow rate of 0.15 kg/s.
PFan_nominal
can be set to the fan power at nominal conditions.
If a user does not set this parameter, then the fan power will be
PFan_nominal = fraPFan_nominal * m_flow_nominal
, where m_flow_nominal
is the nominal water flow rate.
In the forced convection mode, the actual fan power is
computed as PFan=fanRelPow(y) * PFan_nominal
, where
the default value for the fan relative power consumption at part load is
fanRelPow(y)=y3
.
In the free convection mode, the fan power consumption is zero.
For numerical reasons, the transition of fan power from the part load mode
to zero power consumption in the free convection mode occurs in the range
y ∈ [0.9*yMin, yMin]
.
To change the fan relative power consumption at part load in the forced convection mode,
points of fan controls signal and associated relative power consumption can be specified.
In between these points, the values are interpolated using cubic splines.
This model is similar to the model Cooling Tower:Variable Speed
that
is implemented in the EnergyPlus building energy simulation program version 6.0.
The main differences are
y
.
This model requires a medium that has the same computation of the enthalpy as Buildings.Media.Water, which computes
h = cp (T-T0),
where
h is the enthalpy,
cp = 4184 J/(kg K) is the specific heat capacity,
T is the temperature in Kelvin and
T0 = 273.15 Kelvin.
If this is not the case, the simulation will stop with an error message.
The reason for this limitation is that as of January 2015, OpenModelica
failed to translate the model if Medium.temperature()
is used
instead of
Water.temperature()
.
EnergyPlus 2.0.0 Engineering Reference, April 9, 2007.
Extends from Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.CoolingTower (Base class for cooling towers).
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Real | fraPFan_nominal | 275/0.15 | Fan power divived by water mass flow rate at design condition [W/(kg/s)] |
Power | PFan_nominal | fraPFan_nominal*m_flow_nominal | Fan power [W] |
efficiencyParameters | fanRelPow | Fan relative power consumption as a function of control signal, fanRelPow=P(y)/P(y=1) | |
Real | yMin | 0.3 | Minimum control signal until fan is switched off (used for smoothing between forced and free convection regime) |
Real | fraFreCon | 0.125 | Fraction of tower capacity in free convection regime |
Nominal condition | |||
MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
Pressure | dp_nominal | Pressure difference [Pa] | |
Temperature | TAirInWB_nominal | 273.15 + 25.55 | Design inlet air wet bulb temperature [K] |
TemperatureDifference | TApp_nominal | 3.89 | Design approach temperature [K] |
TemperatureDifference | TRan_nominal | 5.56 | Design range temperature (water in - water out) [K] |
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] |
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 |
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) |
output RealOutput | TLvg | Leaving water temperature |
input RealInput | TAir | Entering air wet bulb temperature [K] |
input RealInput | y | Fan control signal |