modelLiquidCooledSinglePhase
Extends from Modelica.Icons.Example (Icon for runnable examples).
Information
Example model of a hybrid IT rack with both liquid-cooled and air-cooled components. The model demonstrates the operation of a rack that combines liquid cooling for high-power IT equipment of 633.6 kW using propylene glycol water with 25% mass fraction as the coolant, and air cooling for lower-power IT equipment of 63.36 kW, which is 10% of the liquid-cooled load.
The liquid cooling loop uses a cooler upstream of a variable speed pump. The cooler maintains a constant supply temperature to the rack at 42°C. The pump is controlled by a PI controller that maintains a constant pressure drop across the rack equal to the design pressure drop. The controller adjusts the pump speed between 10% and 100% to maintain the setpoint. The pump has a nominal pressure rise of 50 kPa at the design flow rate.
The IT loads for both cooling systems are specified using different control strategies. The liquid-cooled utilization follows a time-based schedule that simulates a realistic data center load profile. Starting from zero utilization, the load ramps up to 80% over 15 minutes from t=3600s to t=4500s, remains at 80% for 15 minutes, then drops to 40%, holds for 15 minutes, increases back to 80%, and holds for another 15 minutes. The air-cooled utilization is kept constant at 100% throughout the simulation. This load pattern is representative of workload variations in modern data centers running batch processing jobs or machine learning training tasks.
The air cooling loop uses simple pressure boundary conditions that allow free circulation of air through the rack component. Temperature sensors are placed at both the inlet and outlet of each cooling loop to monitor the thermal performance of the system. A relative pressure sensor measures the pressure drop across the rack, which is used as feedback for the pump controller.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.Power | PLiq | 48*13200 | Design power for liquid-cooled IT |
| Modelica.Units.SI.Power | PAir | 0.1*PLiq | Design power for air-cooled IT |
| Modelica.Units.SI.TemperatureDifference | dTLiq_nominal | 7 | Design temperature difference of liquid coolant |
| Modelica.Units.SI.Temperature | TRac_a | 273.15 + 42 | Supply coolant temperature to rack at design conditions |
| Modelica.Units.SI.MassFlowRate | mLiq_flow_nominal | PLiq/dTLiq_nominal/cp_default | Nominal mass flow rate for liquid cooling at design conditions |
| Modelica.Units.SI.SpecificHeatCapacity | cp_default | MediumLiq.specificHeatCapacityCp(state = state_default) | Heat capacity of liquid coolant |
| Buildings.Fluid.DataCenterEquipment.Racks.LiquidCooledSinglePhase.Data.OCP_1kW_OAM_PG25 | datLiq | Liquid-cooled rack performance data | |
| Buildings.Fluid.DataCenterEquipment.Racks.AirCooled.Data.Generic | datAir | Air-cooled rack performance data | |
| Buildings.Fluid.DataCenterEquipment.Racks.Hybrid.Data.LiquidCooledSinglePhase.Generic | dat | Hybrid rack performance data |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Buildings.Controls.OBC.CDL.Reals.Sources.TimeTable | utiLiq | Utilization of liquid-cooled hardware | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | utiAir | Utilization of air-cooled hardware | |
| Modelica.Blocks.Math.Gain | PITLiq | Power consumption by the liquid-cooled IT equipment | |
| Modelica.Blocks.Math.Gain | PITAir | Power consumption by the air-cooled IT equipment | |
| Buildings.Fluid.DataCenterEquipment.Racks.Hybrid.LiquidCooledSinglePhase.LiquidCooledSinglePhase | rac | Liquid and air-cooled rack | |
| Buildings.Fluid.Movers.Preconfigured.SpeedControlled_y | pum | Pump for liquid cooling loop | |
| Buildings.Fluid.Sources.Boundary_pT | bouLiq | Pressure boundary condition for liquid loop | |
| Buildings.Fluid.Sources.Boundary_pT | souAir | Pressure boundary condition for air loop | |
| Fluid.Sensors.TemperatureTwoPort | senTLiq_a | Liquid inlet temperature to rack | |
| Fluid.Sensors.TemperatureTwoPort | senTLiq_b | Liquid outlet temperature from rack | |
| Fluid.Sensors.TemperatureTwoPort | senTAir_a | Air inlet temperature | |
| Fluid.Sensors.TemperatureTwoPort | senTAir_b | Air outlet temperature | |
| Buildings.Controls.OBC.CDL.Reals.PID | conPI | PI controller for pump speed to maintain constant pressure across rack | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | dpSet | Pressure drop setpoint across rack | |
| Buildings.Fluid.HeatExchangers.SensibleCooler_T | coo | Cooler to maintain supply temperature | |
| Buildings.Controls.OBC.CDL.Reals.Sources.Constant | TSetCoo | Temperature setpoint for cooler | |
| Fluid.Sensors.RelativePressure | senRelPre | Relative pressure sensor across rack |
Contents
| Name | Description |
|---|---|
| Propylene glycol | |
| Medium for air cooling loop |
Revisions
-
July 14, 2026, by Michael Wetter:
First implementation.