Buildings.Fluids.HeatExchangers.CoolingTowers

Package with cooling tower models

Package Content

NameDescription
Buildings.Fluids.HeatExchangers.CoolingTowers.BaseClasses BaseClasses Package with base classes for heat exchanger models
Buildings.Fluids.HeatExchangers.CoolingTowers.Correlations Correlations Package with correlations for cooling tower performance
Buildings.Fluids.HeatExchangers.CoolingTowers.Examples Examples Collection of models that illustrate model use and test models
Buildings.Fluids.HeatExchangers.CoolingTowers.FixedApproach FixedApproach Cooling tower with constant approach temperature
Buildings.Fluids.HeatExchangers.CoolingTowers.YorkCalc YorkCalc Cooling tower with variable speed using the York calculation for the approach temperature


Buildings.Fluids.HeatExchangers.CoolingTowers.FixedApproach Buildings.Fluids.HeatExchangers.CoolingTowers.FixedApproach

Cooling tower with constant approach temperature

Buildings.Fluids.HeatExchangers.CoolingTowers.FixedApproach

Information


Model for a steady state cooling tower with constant approach temperature.

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 YorkCalc.mo.


Extends from Buildings.Fluids.HeatExchangers.CoolingTowers.BaseClasses.PartialStaticTwoPortCoolingTower (Cooling tower with variable speed).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
TemperatureDifferenceTApp2Approach temperature [K]
Nominal condition
MassFlowRatem_flow_nominal Nominal mass flow rate [kg/s]
Pressuredp_nominal Pressure [Pa]
Initialization
MassFlowRatem_flow.start0Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s]
Pressuredp.start0Pressure difference between port_a and port_b [Pa]
Temperature_degCTWatIn_degC.start35Water inlet temperature [degC]
Temperature_degCTWatOut_degC.start28Water outlet temperature [degC]
Temperature_degCTAirIn_degC.start25Air dry-bulb inlet temperature [degC]
Assumptions
BooleanallowFlowReversalsystem.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
MassFlowRatem_flow_small1E-4*m_flow_nominalSmall mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_V_flowtrue= true, if volume flow rate at inflowing port is computed
Initialization
AbsolutePressurep_a_startsystem.p_startGuess value for inlet pressure [Pa]
AbsolutePressurep_b_startp_a_startGuess value for outlet pressure [Pa]
Flow resistance
Booleanfrom_dptrue= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanlinearizeFlowResistancefalse= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM0.1Fraction of nominal flow rate where flow transitions to laminar

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
input RealInputTAirEntering air dry or wet bulb temperature

Modelica definition

model FixedApproach 
  "Cooling tower with constant approach temperature"
  extends Buildings.Fluids.HeatExchangers.CoolingTowers.BaseClasses.PartialStaticTwoPortCoolingTower;
  parameter Modelica.SIunits.TemperatureDifference TApp(min=0) = 2 
    "Approach temperature";
equation 
 Q_flow = m_flow * (Medium.specificEnthalpy(Medium.setState_pTX(port_b.p, TAir+TApp, inStream(port_b.Xi_outflow)))-inStream(port_a.h_outflow));
end FixedApproach;

Buildings.Fluids.HeatExchangers.CoolingTowers.YorkCalc Buildings.Fluids.HeatExchangers.CoolingTowers.YorkCalc

Cooling tower with variable speed using the York calculation for the approach temperature

Buildings.Fluids.HeatExchangers.CoolingTowers.YorkCalc

Information


Model for a steady state cooling tower with variable speed fan using the York calculation for the aproach temperature.

This model uses a performance curve for a York cooling tower to compute the approach temperature. If the fan control signal is zero, then the cooling tower operates in free convection mode. In the current implementation the fan power consumption is proportional to the control signal raised to the third power. Not yet implemented are the basin heater power consumption, the water usage and the option to provide a fan efficiency curve to compute the fan power consumption. Otherwise, the model is similar to the one that is implemented in the EnergyPlus building energy simulation program.

References

EnergyPlus 2.0.0 Engineering Reference, April 9, 2007.


Extends from Buildings.Fluids.HeatExchangers.CoolingTowers.BaseClasses.PartialStaticTwoPortCoolingTower (Cooling tower with variable speed).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
RealfraFreCon0.125Fraction of tower capacity in free convection regime
RealyMin0.3Minimum control signal until fan is switched off (used for smoothing)
Nominal condition
MassFlowRatem_flow_nominal Nominal mass flow rate [kg/s]
Pressuredp_nominal Pressure [Pa]
TemperatureTAirInWB0273.15 + 25.55Design inlet air wet bulb temperature [K]
TemperatureTApp03.89Design apprach temperature [K]
TemperatureTRan05.56Design range temperature (water in - water out) [K]
MassFlowRatemWat0_flow0.15Design water flow rate [kg/s]
PowerPFan0275Fan power [W]
Initialization
MassFlowRatem_flow.start0Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) [kg/s]
Pressuredp.start0Pressure difference between port_a and port_b [Pa]
Temperature_degCTWatIn_degC.start35Water inlet temperature [degC]
Temperature_degCTWatOut_degC.start28Water outlet temperature [degC]
Temperature_degCTAirIn_degC.start25Air dry-bulb inlet temperature [degC]
Assumptions
BooleanallowFlowReversalsystem.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Advanced
MassFlowRatem_flow_small1E-4*m_flow_nominalSmall mass flow rate for regularization of zero flow [kg/s]
Diagnostics
Booleanshow_V_flowtrue= true, if volume flow rate at inflowing port is computed
Initialization
AbsolutePressurep_a_startsystem.p_startGuess value for inlet pressure [Pa]
AbsolutePressurep_b_startp_a_startGuess value for outlet pressure [Pa]
Flow resistance
Booleanfrom_dptrue= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanlinearizeFlowResistancefalse= true, use linear relation between m_flow and dp for any flow rate
RealdeltaM0.1Fraction of nominal flow rate where flow transitions to laminar

Connectors

TypeNameDescription
FluidPort_aport_aFluid connector a (positive design flow direction is from port_a to port_b)
FluidPort_bport_bFluid connector b (positive design flow direction is from port_a to port_b)
input RealInputTAirEntering air dry or wet bulb temperature
input RealInputyFan control signal

Modelica definition

model YorkCalc 
  "Cooling tower with variable speed using the York calculation for the approach temperature"
  extends Buildings.Fluids.HeatExchangers.CoolingTowers.BaseClasses.PartialStaticTwoPortCoolingTower;
  parameter Modelica.SIunits.Temperature TAirInWB0 = 273.15+25.55 
    "Design inlet air wet bulb temperature";
  parameter Modelica.SIunits.Temperature TApp0 = 3.89 
    "Design apprach temperature";
  parameter Modelica.SIunits.Temperature TRan0 = 5.56 
    "Design range temperature (water in - water out)";
  parameter Modelica.SIunits.MassFlowRate mWat0_flow = 0.15 
    "Design water flow rate";
  parameter Modelica.SIunits.Power PFan0 = 275 "Fan power";
  parameter Real fraFreCon(min=0, max=1) = 0.125 
    "Fraction of tower capacity in free convection regime";
  parameter Real yMin(min=0.01, max=1) = 0.3 
    "Minimum control signal until fan is switched off (used for smoothing)";

  Modelica.SIunits.Temperature TApp(min=0, nominal=1) "Approach temperature";
  Modelica.SIunits.Temperature TAppCor(min=0, nominal=1) 
    "Approach temperature based on manufacturer correlation";
  Modelica.SIunits.Temperature TAppFreCon(min=0, nominal=1) 
    "Approach temperature for free convection";

  Modelica.SIunits.Temperature TRan(nominal=1) "Range temperature";
  Modelica.SIunits.MassFraction FRWat 
    "Ratio actual over design water mass flow ratio";
  Modelica.SIunits.MassFraction FRAir 
    "Ratio actual over design air mass flow ratio";
  Modelica.SIunits.Power PFan "Fan power";
protected 
  parameter Modelica.SIunits.MassFraction FRWat0(min=0, start=1, fixed=false) 
    "Ratio actual over design water mass flow ratio at nominal condition";
  parameter Modelica.SIunits.Temperature TWatIn0(fixed=false) 
    "Water inlet temperature at nominal condition";
  parameter Modelica.SIunits.Temperature TWatOut0(fixed=false) 
    "Water outlet temperature at nominal condition";
  parameter Modelica.SIunits.MassFlowRate mWatRef_flow(min=0, start=mWat0_flow, fixed=false) 
    "Reference water flow rate";

  Modelica.SIunits.Temperature dTMax(nominal=1) 
    "Maximum possible temperature difference";

public 
  Correlations.BoundsYorkCalc bou "Bounds for correlation";
  Modelica.Blocks.Interfaces.RealInput y "Fan control signal";
initial equation 
  TWatOut0 = TAirInWB0 + TApp0;
  TRan0 = TWatIn0 - TWatOut0; // by definition of the range temp.
  TApp0 = Correlations.yorkCalc(TRan=TRan0, TWB=TAirInWB0,
                                FRWat=FRWat0, FRAir=1); // this will be solved for FRWat0
  mWatRef_flow = mWat0_flow/FRWat0;
equation 
  // range temperature
  TRan = Medium.temperature(sta_a) - Medium.temperature(sta_b);
  // fractional mass flow rates
  FRWat = m_flow/mWatRef_flow;
  FRAir = y;

  TAppCor = Correlations.yorkCalc(TRan=TRan, TWB=TAir,
                                  FRWat=FRWat, FRAir=max(FRWat/bou.liqGasRat_max, FRAir));
  dTMax = TWatIn_degC - TAirIn_degC;
  TAppFreCon = (1-fraFreCon) * ( TWatIn_degC-TAirIn_degC)  + fraFreCon *
               Correlations.yorkCalc(TRan=TRan, TWB=TAir, FRWat=FRWat, FRAir=1);

  TApp = Buildings.Utilities.Math.Functions.spliceFunction(
                                                 pos=TAppCor, neg=TAppFreCon,
         x=y-yMin/2, deltax=yMin/2);
  TWatOut_degC = TApp + TAirIn_degC;
  PFan = y^3 * PFan0;
end YorkCalc;

HTML-documentation generated by Dymola Fri May 15 10:14:37 2009.