Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses

Package with base classes for Buildings.Fluid.HeatExchangers.CoolingTowers

Information

This package contains base classes that are used to construct the models in Buildings.Fluid.HeatExchangers.CoolingTowers.

Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).

Package Content

Name Description
Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.CoolingTower CoolingTower Base class for cooling towers
Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.Characteristics Characteristics Functions for fan characteristics

Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.CoolingTower Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.CoolingTower

Base class for cooling towers

Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.CoolingTower

Information

Base class for a steady-state cooling tower. The variable TAirHT is used to compute the heat transfer with the water side of the cooling tower. For a dry cooling tower, this is equal to the dry-bulb temperature. For a wet cooling tower, this is equal to the wet-bulb temperature.

Extends from Buildings.Fluid.Interfaces.TwoPortHeatMassExchanger (Partial model transporting one fluid stream with storing mass or energy).

Parameters

TypeNameDefaultDescription
replaceable package MediumPartialMediumMedium in the component
Nominal condition
MassFlowRatem_flow_nominal Nominal mass flow rate [kg/s]
PressureDifferencedp_nominal Pressure difference [Pa]
Assumptions
BooleanallowFlowReversaltrue= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
MassFlowRatem_flow_small1E-4*abs(m_flow_nominal)Small mass flow rate for regularization of zero flow [kg/s]
BooleanhomotopyInitializationtrue= true, use homotopy method
Diagnostics
Booleanshow_Tfalse= true, if actual temperature at port is computed
Flow resistance
Booleanfrom_dpfalse= 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
Dynamics
Nominal condition
Timetau30Time constant at nominal flow (if energyDynamics <> SteadyState) [s]
Equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance: dynamic (3 initialization options) or steady state
DynamicsmassDynamicsenergyDynamicsType of mass balance: dynamic (3 initialization options) or steady state
Initialization
AbsolutePressurep_startMedium.p_defaultStart value of pressure [Pa]
TemperatureT_startMedium.T_defaultStart value of temperature [K]
MassFractionX_start[Medium.nX]Medium.X_defaultStart value of mass fractions m_i/m [kg/kg]
ExtraPropertyC_start[Medium.nC]fill(0, Medium.nC)Start value of trace substances

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)
output RealOutputTLvgLeaving water temperature

Modelica definition

partial model CoolingTower "Base class for cooling towers" extends Buildings.Fluid.Interfaces.TwoPortHeatMassExchanger( redeclare final Buildings.Fluid.MixingVolumes.MixingVolume vol); Modelica.Blocks.Interfaces.RealOutput TLvg "Leaving water temperature"; Modelica.SIunits.HeatFlowRate Q_flow = QWat_flow.y "Heat input into water circuit"; Modelica.SIunits.TemperatureDifference TAppAct(min=0, nominal=1, displayUnit="K") "Actual approach temperature"; protected Modelica.SIunits.Temperature TAirHT "Air temperature that is used to compute the heat transfer with the water"; Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow preHea "Prescribed heat flow"; Modelica.Blocks.Sources.RealExpression QWat_flow(y=m_flow*( Medium.specificEnthalpy(Medium.setState_pTX( p=port_b.p, T=TAirHT + TAppAct, X=inStream(port_b.Xi_outflow))) - inStream(port_a.h_outflow))) "Heat input into water"; Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor T_Vol "Water temperature in volume, or leaving water temperature"; equation connect(preHea.port, vol.heatPort); connect(QWat_flow.y, preHea.Q_flow); connect(T_Vol.port, vol.heatPort); connect(T_Vol.T, TLvg); end CoolingTower;