modelYorkCalc
Cooling tower with variable speed using the York calculation for the approach temperature and output the actual fan speed
Extends from Buildings.Fluid.HeatExchangers.CoolingTowers.YorkCalc (Cooling tower with variable speed using the York calculation for the approach temperature).
Information
This model extends
Buildings.Fluid.HeatExchangers.CoolingTowers.YorkCalc, with the output of the
actual fan speed, which is the higher value between y and the tower
minimum speed yMin.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | homotopyInitialization (from TwoPortHeatMassExchanger) | true | = true, use homotopy method |
| Data.YorkCalc.Generic | dat (from YorkCalc) | Performance data | |
| 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 | |
| Modelica.Units.SI.TemperatureDifference | TApp_nominal (from YorkCalc) | dat.TCooOut_nominal - dat.TAirInWB_nominal | Design approach temperature (coolant out - air out) |
| Modelica.Units.SI.TemperatureDifference | TRan_nominal (from YorkCalc) | dat.TCooIn_nominal - dat.TCooOut_nominal | Design range temperature (coolant in - coolant out) |
| 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 |
| Fan | |||
| Modelica.Units.SI.Power | PFan_nominal (from CoolingTowerVariableSpeed) | Fan power at full speed | |
| Real | yMin (from CoolingTowerVariableSpeed) | 0.3 | Minimum control signal until fan is switched off (used for smoothing between forced and free convection regime) |
| cha.fan | fanRelPow (from CoolingTowerVariableSpeed) | Fan relative power consumption as a function of control signal, fanRelPow=P(y)/P(y=1) | |
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.RealOutput | TLvg (from CoolingTower) | Leaving water temperature | |
| Modelica.Blocks.Interfaces.RealInput | y (from CoolingTowerVariableSpeed) | Fan control signal | |
| Modelica.Blocks.Interfaces.RealOutput | PFan (from CoolingTowerVariableSpeed) | Electric power consumed by fan | |
| Modelica.Blocks.Interfaces.RealInput | TWetBul (from YorkCalc) | Entering air wet bulb temperature | |
| Buildings.Controls.OBC.CDL.Interfaces.RealOutput | yFanSpe | Actual fan speed |
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 | |
| Modelica.Units.SI.HeatFlowRate | Q_flow (from CoolingTower) | preHea.Q_flow | Heat input into water circuit |
| Buildings.Fluid.HeatExchangers.CoolingTowers.Correlations.BoundsYorkCalc | bou (from YorkCalc) | Bounds for correlation | |
| Modelica.Units.SI.TemperatureDifference | TRan (from YorkCalc) | T_a - T_b | Range temperature |
| Modelica.Units.SI.TemperatureDifference | TAppAct (from YorkCalc) | Buildings.Utilities.Math.Functions.spliceFunction(pos = TAppCor, neg = TAppFreCon, x = y - yMin + yMin/20, deltax = yMin/20) | Approach temperature difference |
| Modelica.Units.SI.MassFraction | FRWat (from YorkCalc) | m_flow/mWat_flow_nominal | Ratio actual over design water mass flow ratio |
| Modelica.Units.SI.MassFraction | FRAir (from YorkCalc) | y | Ratio actual over design air mass flow ratio |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | minFanSpe | Minimum tower fan speed | |
| Buildings.Controls.OBC.CDL.Reals.Max | actSpe | Actual fan speed |
Revisions
-
March 12, 2024, by Jianjun Hu:
First implementation.