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 |
---|---|
CoolingTower | Base class for cooling towers |
Characteristics | Functions for fan characteristics |
Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.CoolingTower
Base class for cooling towers
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
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Nominal condition | |||
MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
PressureDifference | dp_nominal | Pressure difference [Pa] | |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
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... | Type of energy balance: dynamic (3 initialization options) or steady state |
Dynamics | massDynamics | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state |
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 |
Connectors
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 |
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;