Buildings.Fluid.HeatExchangers.CoolingTowers.Examples.BaseClasses

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

Information

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

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

Package Content

Name Description
Buildings.Fluid.HeatExchangers.CoolingTowers.Examples.BaseClasses.PartialStaticTwoPortCoolingTower PartialStaticTwoPortCoolingTower Base class for test models of cooling towers

Buildings.Fluid.HeatExchangers.CoolingTowers.Examples.BaseClasses.PartialStaticTwoPortCoolingTower Buildings.Fluid.HeatExchangers.CoolingTowers.Examples.BaseClasses.PartialStaticTwoPortCoolingTower

Base class for test models of cooling towers

Buildings.Fluid.HeatExchangers.CoolingTowers.Examples.BaseClasses.PartialStaticTwoPortCoolingTower

Information

Partial model to test cooling tower models that are connected to a weather data reader and a simple fluid loop to which a constant amount of heat is added. The pump in the cooling tower loop is switched on and off depending on the temperature of the control volume to which the heat is added.

Parameters

TypeNameDefaultDescription
CoolingTowertowredeclare Buildings.Fluid.He...Cooling tower
Nominal condition
MassFlowRatem_flow_nominal0.5Design water flow rate [kg/s]

Connectors

TypeNameDescription
BusweaBusWeather data bus

Modelica definition

partial model PartialStaticTwoPortCoolingTower "Base class for test models of cooling towers" package Medium_W = Buildings.Media.Water "Medium model for water"; parameter Modelica.Units.SI.MassFlowRate m_flow_nominal=0.5 "Design water flow rate"; replaceable Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.CoolingTower tow constrainedby Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.CoolingTower ( redeclare package Medium = Medium_W, m_flow_nominal=m_flow_nominal, dp_nominal=6000, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, show_T=true) "Cooling tower"; Buildings.Fluid.Movers.FlowControlled_m_flow pum( redeclare package Medium = Medium_W, m_flow_nominal=m_flow_nominal, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, nominalValuesDefineDefaultPressureCurve=true) "Pump for condenser water loop"; Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam= Modelica.Utilities.Files.loadResource( "modelica://Buildings/Resources/weatherdata/USA_CA_San.Francisco.Intl.AP.724940_TMY3.mos")); Buildings.BoundaryConditions.WeatherData.Bus weaBus "Weather data bus"; Modelica.Blocks.Logical.OnOffController onOffCon( bandwidth=2, reference( unit="K", displayUnit="degC"), u(unit="K", displayUnit="degC")) "On/off controller"; Modelica.Blocks.Logical.Switch swi "Control switch for chilled water pump"; Modelica.Blocks.Sources.Constant TSwi(k=273.15 + 22) "Switch temperature for switching tower pump on"; Modelica.Blocks.Sources.Constant zer(k=0) "Zero flow rate"; Modelica.Blocks.Sources.Constant m_flow(k=m_flow_nominal) "Water flow rate"; Buildings.Fluid.MixingVolumes.MixingVolume vol(nPorts=3, redeclare package Medium = Medium_W, m_flow_nominal=m_flow_nominal, V=0.5, energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial); Buildings.Fluid.Sources.Boundary_pT exp( redeclare package Medium = Medium_W, nPorts=1) "Expansion vessel"; Modelica.Thermal.HeatTransfer.Sources.FixedHeatFlow fixHeaFlo( Q_flow=0.5*m_flow_nominal*4200*5) "Fixed heat flow rate"; Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor TVol "Water temperature"; Buildings.Fluid.Sensors.TemperatureTwoPort TEnt( redeclare package Medium = Medium_W, m_flow_nominal=m_flow_nominal) "Water entering temperature"; equation connect(weaDat.weaBus, weaBus); connect(onOffCon.y, swi.u2); connect(zer.y, swi.u3); connect(m_flow.y, swi.u1); connect(vol.ports[1], pum.port_a); connect(fixHeaFlo.port, vol.heatPort); connect(vol.heatPort, TVol.port); connect(tow.port_b, vol.ports[2]); connect(onOffCon.u, TSwi.y); connect(TVol.T, onOffCon.reference); connect(swi.y, pum.m_flow_in); connect(exp.ports[1], vol.ports[3]); connect(pum.port_b, TEnt.port_a); connect(TEnt.port_b, tow.port_a); end PartialStaticTwoPortCoolingTower;