modelCDU_epsNTU

CDU using epsilon-NTU for heat transfer

Extends from Buildings.Fluid.DataCenterEquipment.CDUs.BaseClasses.PartialCDU (Partial model for a CDU).

Information

Model of a coolant distribution unit (CDU) with with a steady-state, counter-flow heat exchanger that uses the epsilon-NTU correlations.

This model configures the heat exchanger that is used in Buildings.Fluid.DataCenterEquipment.CDUs.BaseClasses.PartialCDU with a counter-flow heat exchanger that uses the ε-NTU relations, using an instance of Buildings.Fluid.HeatExchangers.PlateHeatExchangerEffectivenessNTU, and hence the heat transfer is calculated with convection coefficients that are a function of the mass flow rate.

See Buildings.Fluid.DataCenterEquipment.CDUs.BaseClasses.PartialCDU for a description of the CDU model.

Parameters

TypeNameDefaultDescription
Buildings.Fluid.DataCenterEquipment.CDUs.LiquidToLiquid.Data.Generic_epsNTUdat (from PartialCDU)Data record for performance characterization
BooleanaddPowerToMedium (from PartialCDU)trueSet to false to avoid any power from the pump (=heat and flow work) being added to medium (may give simpler equations)
Buildings.Fluid.Movers.BaseClasses.Characteristics.flowParameterspumpHeadMonotone (from PartialCDU)Actual head of the pump, corrected to impose a minimum descent of the pump curve
Assumptions
BooleanallowFlowReversalPla (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for plant-side medium
BooleanallowFlowReversalRac (from PartialFourPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal for rack-side medium
Nominal condition
Modelica.Units.SI.MassFlowRatemPla_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Modelica.Units.SI.MassFlowRatemRac_flow_nominal (from PartialFourPortInterface)Nominal mass flow rate
Advanced
MediumPla.MassFlowRatemPla_flow_small (from PartialFourPortInterface)1E-4*abs(mPla_flow_nominal)Small mass flow rate for regularization of zero flow
MediumRac.MassFlowRatemRac_flow_small (from PartialFourPortInterface)1E-4*abs(mRac_flow_nominal)Small mass flow rate for regularization of zero flow
Advanced › Diagnostics
Booleanshow_T (from PartialFourPortInterface)false= true, if actual temperature at port is computed
BooleancheckMedia (from PartialCDU)trueSet to false to disable media consistency check
Flow resistance › Medium 1
BooleancomputeFlowResistancePla (from PartialCDU)true=true, compute flow resistance. Set to false to assume no friction
Booleanfrom_dpPla (from PartialCDU)false= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanlinearizeFlowResistancePla (from PartialCDU)false= true, use linear relation between m_flow and dp for any flow rate
Flow resistance › Medium 2
BooleancomputeFlowResistanceRac (from PartialCDU)true=true, compute flow resistance. Set to false to assume no friction
Booleanfrom_dpRac (from PartialCDU)false= true, use m_flow = f(dp) else dp = f(m_flow)
BooleanlinearizeFlowResistanceRac (from PartialCDU)false= true, use linear relation between m_flow and dp for any flow rate
Dynamics › Valve
Booleanuse_strokeTime (from PartialCDU)trueSet to true to continuously open and close valve using strokeTime from instance dat
Modelica.Blocks.Types.InitinitVal (from PartialCDU)Modelica.Blocks.Types.Init.InitialOutputType of initialization (no init/steady state/initial state/initial output)
RealyVal_start (from PartialCDU)1Initial position of actuator
Dynamics › Pump
Modelica.Fluid.Types.DynamicsenergyDynamics (from PartialCDU)Modelica.Fluid.Types.Dynamics.FixedInitialType of energy balance: dynamic (3 initialization options) or steady state
Modelica.Units.SI.Timetau (from PartialCDU)1Time constant of fluid volume for nominal flow, used if energy or mass balance is dynamic
Booleanuse_riseTime (from PartialCDU)trueSet to true to continuously change motor speed using risetime from instance dat
RealyPum_start (from PartialCDU)0Initial value of speed
Valve controller
Controls.OBC.CDL.Types.SimpleControllercontrollerTypeVal (from PartialCDU)Buildings.Controls.OBC.CDL.Types.SimpleController.PIType of controller for valve
RealkVal (from PartialCDU)1Gain of controller for valve
RealTiVal (from PartialCDU)120Time constant of integrator block of valve controller
RealTdVal (from PartialCDU)0.1Time constant of derivative block for valve controller
Pump controller
Controls.OBC.CDL.Types.SimpleControllercontrollerTypePum (from PartialCDU)Buildings.Controls.OBC.CDL.Types.SimpleController.PIType of controller for pump
RealkPum (from PartialCDU)1Gain of controller for pump
RealTiPum (from PartialCDU)120Time constant of integrator block of pump controller
RealTdPum (from PartialCDU)0.1Time constant of derivative block for pump controller

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_aPla (from PartialFourPort)Fluid connector aPla (positive design flow direction is from port_aPla to port_bPla)
Modelica.Fluid.Interfaces.FluidPort_bport_bPla (from PartialFourPort)Fluid connector bPla (positive design flow direction is from port_aPla to port_bPla)
Modelica.Fluid.Interfaces.FluidPort_aport_aRac (from PartialFourPort)Fluid connector aRac (positive design flow direction is from port_aRac to port_bRac)
Modelica.Fluid.Interfaces.FluidPort_bport_bRac (from PartialFourPort)Fluid connector bRac (positive design flow direction is from port_aRac to port_bRac)
Buildings.Controls.OBC.CDL.Interfaces.RealInputTSet (from PartialCDU)Set point temperature for water leaving to the IT rack
Buildings.Controls.OBC.CDL.Interfaces.RealInputdpSet (from PartialCDU)Set point for static pressure provided by CDU
Modelica.Blocks.Interfaces.RealOutputP (from PartialCDU)Electrical power consumed by pump

Components

TypeNameDefaultDescription
MediumPla.MassFlowRatemPla_flow (from PartialFourPortInterface)port_aPla.m_flowMass flow rate from port_aPla to port_bPla (mPla_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedpPla (from PartialFourPortInterface)port_aPla.p - port_bPla.pPressure difference between port_aPla and port_bPla
MediumRac.MassFlowRatemRac_flow (from PartialFourPortInterface)port_aRac.m_flowMass flow rate from port_aRac to port_bRac (mRac_flow > 0 is design flow direction)
Modelica.Units.SI.PressureDifferencedpRac (from PartialFourPortInterface)port_aRac.p - port_bRac.pPressure difference between port_aRac and port_bRac
MediumPla.ThermodynamicStatesta_aPla (from PartialFourPortInterface)if allowFlowReversalPla then MediumPla.setState_phX(port_aPla.p, noEvent(actualStream(port_aPla.h_outflow)), noEvent(actualStream(port_aPla.Xi_outflow))) else MediumPla.setState_phX(port_aPla.p, inStream(port_aPla.h_outflow), inStream(port_aPla.Xi_outflow))Medium properties in port_aPla
MediumPla.ThermodynamicStatesta_bPla (from PartialFourPortInterface)if allowFlowReversalPla then MediumPla.setState_phX(port_bPla.p, noEvent(actualStream(port_bPla.h_outflow)), noEvent(actualStream(port_bPla.Xi_outflow))) else MediumPla.setState_phX(port_bPla.p, port_bPla.h_outflow, port_bPla.Xi_outflow)Medium properties in port_bPla
MediumRac.ThermodynamicStatesta_aRac (from PartialFourPortInterface)if allowFlowReversalRac then MediumRac.setState_phX(port_aRac.p, noEvent(actualStream(port_aRac.h_outflow)), noEvent(actualStream(port_aRac.Xi_outflow))) else MediumRac.setState_phX(port_aRac.p, inStream(port_aRac.h_outflow), inStream(port_aRac.Xi_outflow))Medium properties in port_aRac
MediumRac.ThermodynamicStatesta_bRac (from PartialFourPortInterface)if allowFlowReversalRac then MediumRac.setState_phX(port_bRac.p, noEvent(actualStream(port_bRac.h_outflow)), noEvent(actualStream(port_bRac.Xi_outflow))) else MediumRac.setState_phX(port_bRac.p, port_bRac.h_outflow, port_bRac.Xi_outflow)Medium properties in port_bRac
Controls.OBC.CDL.Reals.PIDconVal (from PartialCDU)Controller for valve
Controls.OBC.CDL.Reals.PIDconPum (from PartialCDU)Controller for pump
Buildings.Fluid.Interfaces.PartialFourPortInterfacehex (from PartialCDU)
Fluid.Actuators.Valves.TwoWayEqualPercentageval (from PartialCDU)Control valve on chilled water side
Fluid.Movers.SpeedControlled_ypum (from PartialCDU)Pump on IT side
Fluid.FixedResistances.PressureDropfil (from PartialCDU)Filter
Fluid.Storage.ExpansionVesselexp (from PartialCDU)Expansion vessel
Fluid.Sensors.RelativePressuresenRelPre (from PartialCDU)Differential pressure sensor
Fluid.Sensors.TemperatureTwoPortsenTemRacSup (from PartialCDU)Temperature sensor for medium leaving towards IT racks

Revisions

  • April 29, 2025, by Michael Wetter:
    First implementation.