modelPartialDataCenter
Partial model that impliments cooling system for data centers
Information
This is a partial model that describes the chilled water cooling system in a data center. The sizing data are collected from the reference.
Reference
- Taylor, S. T. (2014). How to design & control waterside economizers. ASHRAE Journal, 56(6), 30-36.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | numChi | 2 | Number of chillers |
| Modelica.Units.SI.MassFlowRate | m1_flow_chi_nominal | 34.7 | Nominal mass flow rate at condenser water in the chillers |
| Modelica.Units.SI.MassFlowRate | m2_flow_chi_nominal | 18.3 | Nominal mass flow rate at evaporator water in the chillers |
| Modelica.Units.SI.PressureDifference | dp1_chi_nominal | 46.2*1000 | Nominal pressure |
| Modelica.Units.SI.PressureDifference | dp2_chi_nominal | 44.8*1000 | Nominal pressure |
| Modelica.Units.SI.Power | QEva_nominal | m2_flow_chi_nominal*4200*(6.67 - 18.56) | Nominal cooling capaciaty(Negative means cooling) |
| Modelica.Units.SI.MassFlowRate | m1_flow_wse_nominal | 34.7 | Nominal mass flow rate at condenser water in the chillers |
| Modelica.Units.SI.MassFlowRate | m2_flow_wse_nominal | 35.3 | Nominal mass flow rate at condenser water in the chillers |
| Modelica.Units.SI.PressureDifference | dp1_wse_nominal | 33.1*1000 | Nominal pressure |
| Modelica.Units.SI.PressureDifference | dp2_wse_nominal | 34.5*1000 | Nominal pressure |
| Buildings.Fluid.Movers.Data.Generic | perPumCW | Performance data for condenser water pumps | |
| Modelica.Units.SI.Time | tWai | 1200 | Waiting time |
| Modelica.Units.SI.ThermalConductance | UA_nominal | numChi*QEva_nominal/Buildings.Fluid.HeatExchangers.BaseClasses.lmtd(6.67, 11.56, 12, 25) | Thermal conductance at nominal flow for sensible heat, used to compute time constant |
| Modelica.Units.SI.MassFlowRate | mAir_flow_nominal | 161.35 | Nominal air mass flowrate |
| Real | yValMinAHU | 0.1 | Minimum valve openning position |
| Modelica.Units.SI.Temperature | TCHWSet | 273.15 + 8 | Chilled water temperature setpoint |
| Modelica.Units.SI.Temperature | TSupAirSet | TCHWSet + 10 | Supply air temperature setpoint |
| Modelica.Units.SI.Temperature | TRetAirSet | 273.15 + 25 | Supply air temperature setpoint |
| Modelica.Units.SI.Pressure | dpSetPoi | 80000 | Differential pressure setpoint |
| Fluid.HeatExchangers.CoolingTowers.Data.YorkCalc.Generic | datCooTow | Cooling tower performance data |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialChillerWSE | chiWSE | Chillers and waterside economizer | |
| Buildings.Fluid.Sources.Boundary_pT | expVesCW | Expansion tank | |
| Buildings.Fluid.HeatExchangers.CoolingTowers.YorkCalc[numChi] | cooTow | Cooling tower | |
| Buildings.Fluid.Sensors.TemperatureTwoPort | TCHWSup | Chilled water supply temperature | |
| Buildings.BoundaryConditions.WeatherData.ReaderTMY3 | weaData | ||
| Buildings.BoundaryConditions.WeatherData.Bus | weaBus | Weather data bus | |
| Buildings.Fluid.Sensors.TemperatureTwoPort | TCWSup | Condenser water supply temperature | |
| Buildings.Fluid.Sensors.TemperatureTwoPort | TCWRet | Condenser water return temperature | |
| Buildings.Fluid.Movers.FlowControlled_m_flow[numChi] | pumCW | Condenser water pump | |
| Buildings.Applications.DataCenters.ChillerCooled.Equipment.CoolingCoilHumidifyingHeating | ahu | Air handling unit | |
| Buildings.Fluid.Sensors.TemperatureTwoPort | TCHWRet | Chilled water return temperature | |
| Buildings.Fluid.Sources.Boundary_pT | expVesChi | Expansion tank | |
| Buildings.Fluid.Sensors.RelativePressure | senRelPre | Differential pressure | |
| Buildings.Fluid.Sensors.TemperatureTwoPort | TAirSup | Supply air temperature | |
| Buildings.Examples.ChillerPlant.BaseClasses.SimplifiedRoom | roo | Room model | |
| Buildings.Fluid.Actuators.Valves.TwoWayLinear[numChi] | val | Shutoff valves | |
| Modelica.Blocks.Sources.Constant | TCHWSupSet | Chilled water supply temperature setpoint | |
| Buildings.Applications.DataCenters.ChillerCooled.Controls.ChillerStage | chiStaCon | Chiller staging control | |
| Modelica.Blocks.Math.RealToBoolean[numChi] | chiOn | Real value to boolean value | |
| Modelica.Blocks.Math.IntegerToBoolean | intToBoo | Inverse on/off signal for the WSE | |
| Modelica.Blocks.Logical.Not | wseOn | True: WSE is on; False: WSE is off | |
| Buildings.Applications.DataCenters.ChillerCooled.Controls.ConstantSpeedPumpStage | CWPumCon | Condenser water pump controller | |
| Modelica.Blocks.Sources.IntegerExpression | chiNumOn | The number of running chillers | |
| Modelica.Blocks.Math.Gain[numChi] | gai | Gain effect | |
| Buildings.Applications.DataCenters.ChillerCooled.Controls.CoolingTowerSpeed | cooTowSpeCon | Cooling tower speed control | |
| Modelica.Blocks.Sources.RealExpression | TCWSupSet | Condenser water supply temperature setpoint | |
| Modelica.Blocks.Sources.Constant | TAirSupSet | Supply air temperature setpoint | |
| Buildings.Applications.BaseClasses.Controls.VariableSpeedPumpStage | varSpeCon | Speed controller | |
| Modelica.Blocks.Sources.RealExpression | mPum_flow | Mass flowrate of variable speed pumps | |
| Buildings.Controls.Continuous.LimPID | pumSpe | Pump speed controller | |
| Modelica.Blocks.Sources.Constant | dpSetSca | Scaled differential pressure setpoint | |
| Modelica.Blocks.Math.Product[numChi] | pumSpeSig | Pump speed signal | |
| Buildings.Controls.Continuous.LimPID | ahuValSig | Valve position signal for the AHU | |
| Modelica.Blocks.Math.Product[numChi] | cooTowSpe | Cooling tower speed | |
| Buildings.Controls.Continuous.LimPID | ahuFanSpeCon | Fan speed controller | |
| Modelica.Blocks.Sources.Constant | TAirRetSet | Return air temperature setpoint | |
| Utilities.Psychrometrics.X_pTphi | XAirSupSet | Mass fraction setpoint of supply air | |
| Modelica.Blocks.Sources.Constant | phiAirRetSet | Return air relative humidity setpoint | |
| Modelica.Blocks.Math.Gain | gai1 | Gain effect | |
| Buildings.Controls.OBC.CDL.Reals.Switch[numChi] | swi | Switch to assign pump signal if plant is on | |
| Buildings.Controls.OBC.CDL.Logical.Or | plaOn | Output true if plant is on | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant[numChi] | zer | Outputs zero | |
| Modelica.Blocks.MathBoolean.Or | chiOnSta | Output true if at least one chiller is on |
Contents
| Name | Description |
|---|---|
| MediumA | Medium model |
| MediumW | Medium model |
Revisions
-
April 27, 2026, by Michael Wetter:
Refactored for new cooling tower implementation.
This is for issue 4567. -
September 3, 2024, by Jianjun Hu:
Added plant on signal to control the pump speed. This is for issue 3989. -
January 2, 2022, by Kathryn Hinkelman:
Passed theplaOnsignal to the chilled water pump control to turn them off when the plant is off. -
November 16, 2022, by Michael Wetter:
Corrected control to avoid cooling tower pumps to operate when plant is off, because shut-off valves are off when plant is off. -
November 1, 2021, by Michael Wetter:
Corrected weather data bus connection which was structurally incorrect and did not parse in OpenModelica.
This is for issue 2706. -
October 6, 2020, by Michael Wetter:
Setval.use_inputFilter=falsebecause pump worked against closed valve at t=60 seconds, leading to negative pressure at pump inlet (because pump forces the mass flow rate). -
January 12, 2019, by Michael Wetter:
Removed wrongeach. -
December 1, 2017, by Yangyang Fu:
Used scaled differential pressure to control the speed of pumps. This can avoid retuning gains in PID when changing the differential pressure setpoint. -
September 2, 2017, by Michael Wetter:
Changed expansion vessel to use the more efficient implementation. -
July 30, 2017, by Yangyang Fu:
First implementation.