Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers

Package with models for rear door heat exchangers

Information

Package with standalone models for rear door heat exchangers used in IT racks. A rear door heat exchanger is mounted at the back of the rack and removes heat from the warm server exhaust air using a liquid coolant loop.

Two variants are provided:

Extends from Modelica.Icons.Package (Icon for standard packages).

Package Content

Name Description
Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Active Active Active rear door heat exchanger with integrated temperature controlled fan
Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Passive Passive Passive rear door heat exchanger — air driven by fans in server
Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Data Data Data records for rear door heat exchangers
Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Examples Examples Example models for rear door heat exchangers
Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.BaseClasses BaseClasses Base classes for rear door heat exchanger models

Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Active Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Active

Active rear door heat exchanger with integrated temperature controlled fan

Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Active

Information

Model of an active rear door heat exchanger (RDHx) for IT racks.

In this configuration, an integrated fan drives the warm server exhaust air through the heat exchanger mounted at the rear door of the rack. The fan speed is modulated by a PI controller to maintain zero back pressure. The fan power is reported through the output PFan.

The liquid coolant enters through portCoo_a and exits through portCoo_b. The air enters through portAir_a (warm server exhaust), passes through the fan and then through the heat exchanger, and exits through portAir_b (cooled air leaving the rack).

The performance data are provided through the record dat of type Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Data.Active.Generic.

Extends from Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.BaseClasses.PartialRearDoorHeatExchanger (Partial model of a rear door heat exchanger with coolant and air ports).

Parameters

TypeNameDefaultDescription
replaceable package MediumCooPartialMediumMedium for rear door heat exchanger coolant loop
replaceable package MediumAirPartialMediumMedium for air side
Fan controller
Realk1Gain of PI controller
TimeTi10Integrator time constant of PI controller [s]
Assumptions
BooleanallowFlowReversalCootrue= false to simplify equations on coolant side, assuming, but not enforcing, no flow reversal
BooleanallowFlowReversalAirtrue= false to simplify equations on air side, assuming, but not enforcing, no flow reversal
Dynamics
Conservation equations
DynamicsenergyDynamicsModelica.Fluid.Types.Dynamic...Type of energy balance for fan

Connectors

TypeNameDescription
FluidPort_aportCoo_aCoolant inlet port
FluidPort_bportCoo_bCoolant outlet port
FluidPort_aportAir_aAir inlet port
FluidPort_bportAir_bAir outlet port
output RealOutputPFanPower consumed by rear door heat exchanger fan [W]

Modelica definition

model Active "Active rear door heat exchanger with integrated temperature controlled fan" extends Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.BaseClasses.PartialRearDoorHeatExchanger( redeclare replaceable parameter Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Data.Active.Generic dat constrainedby Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Data.Active.Generic); parameter Modelica.Fluid.Types.Dynamics energyDynamics= Modelica.Fluid.Types.Dynamics.SteadyState "Type of energy balance for fan"; parameter Real k=1 "Gain of PI controller"; parameter Modelica.Units.SI.Time Ti=10 "Integrator time constant of PI controller"; Modelica.Blocks.Interfaces.RealOutput PFan( final quantity="Power", final unit="W") "Power consumed by rear door heat exchanger fan"; Buildings.Fluid.DataCenters.Racks.BaseClasses.Fan fan( redeclare final package Medium = MediumAir, final inputType=Buildings.Fluid.Types.InputType.Continuous, final allowFlowReversal=allowFlowReversalAir, final m_flow_nominal=dat.mAir_flow_nominal, final PFan_nominal=dat.PFan_nominal, final eta_nominal=dat.eta_nominal, final energyDynamics=energyDynamics, addPowerToMedium=true) "Rear door heat exchanger fan"; Buildings.Fluid.Sensors.TemperatureTwoPort senTAirOut( redeclare final package Medium = MediumAir, final m_flow_nominal=dat.mAir_flow_nominal, final tau=0, final allowFlowReversal=allowFlowReversalAir) "Air temperature leaving rear door heat exchanger"; Buildings.Fluid.DataCenters.Racks.FanControllers.BackPressure con( final k=k, final Ti=Ti) "Controller for fan"; Sensors.Pressure senPreIn(redeclare package Medium = MediumAir) "Inlet pressure"; Sensors.Pressure senPreOut(redeclare package Medium = MediumAir) "Outlet pressure"; Sensors.TemperatureTwoPort senTAirReaDooHexOut( redeclare package Medium = MediumAir, final allowFlowReversal=allowFlowReversalAir, m_flow_nominal=dat.mAir_flow_nominal) "Air temperature exiting rear door heat exchanger"; equation connect(senTAirOut.port_b, portAir_b); connect(fan.P, PFan); connect(senPreOut.port, portAir_b); connect(con.pSet, senPreOut.p); connect(con.pMea, senPreIn.p); connect(senPreIn.port, senTAirReaDooHexIn.port_a); connect(con.y, fan.y); connect(senTAirReaDooHexIn.port_b, reaDooHex.port_a2); connect(fan.port_b, senTAirOut.port_a); connect(reaDooHex.port_b2, senTAirReaDooHexOut.port_a); connect(senTAirReaDooHexOut.port_b, fan.port_a); end Active;

Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Passive Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Passive

Passive rear door heat exchanger — air driven by fans in server

Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Passive

Information

Model of a passive rear door heat exchanger (RDHx) for IT racks.

In this configuration, the server fans inside the rack drive the warm exhaust air through the heat exchanger mounted at the rear door. No dedicated fan is added; the air-side pressure drop is overcome by the server fans.

The liquid coolant enters through portCoo_a and exits through portCoo_b. The air enters through portAir_a (warm server exhaust) and exits through portAir_b (cooled air leaving the rack).

The performance data are provided through the record dat of type Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.Data.Passive.Generic.

Extends from Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.BaseClasses.PartialRearDoorHeatExchanger (Partial model of a rear door heat exchanger with coolant and air ports).

Parameters

TypeNameDefaultDescription
replaceable package MediumCooPartialMediumMedium for rear door heat exchanger coolant loop
replaceable package MediumAirPartialMediumMedium for air side
Nominal condition
Genericdatredeclare parameter Building...Heat exchanger performance data
Assumptions
BooleanallowFlowReversalCootrue= false to simplify equations on coolant side, assuming, but not enforcing, no flow reversal
BooleanallowFlowReversalAirtrue= false to simplify equations on air side, assuming, but not enforcing, no flow reversal

Connectors

TypeNameDescription
FluidPort_aportCoo_aCoolant inlet port
FluidPort_bportCoo_bCoolant outlet port
FluidPort_aportAir_aAir inlet port
FluidPort_bportAir_bAir outlet port

Modelica definition

model Passive "Passive rear door heat exchanger — air driven by fans in server" extends Buildings.Fluid.DataCenters.Racks.RearDoorHeatExchangers.BaseClasses.PartialRearDoorHeatExchanger; equation connect(reaDooHex.port_b2, portAir_b); connect(senTAirReaDooHexIn.port_b, reaDooHex.port_a2); end Passive;