Skip to content

DCL Version 3.0

Data Center Library 3.0 is part of Modelon's 2026.2 release. New versions of Modelon's libraries are sold and distributed directly from Modelon, as well as approved resellers.

Highlights🔗

  • New CoolingPlant, Components and Routing top-level packages.
  • Two-phase direct-to-chip rack family (Facility.Racks.HighFidelity.TwoPhaseRack).
  • Reduced-order two-phase cold plate (Facility.Racks.HighFidelity.ColdPlates.AlgebraicChannel) with an associated calibration workflow (CalibrationWorkflows.ColdPlateCalibration).
  • Chiller fidelity ladder — LowFidelity (Carnot ROM) / IntermediateFidelity (empirical) / HighFidelity (cycle) — with a calibration workflow (CalibrationWorkflows.ChillerCalibration).
  • Replaceable IT load profiles (Facility.Racks.ITLoad) replace load_IT input ports.
  • Wet cooling tower, Generic/Geometric economizer split, and vendor-specific CRAH models.
  • PUE, WUE and economizing-hours metering on a single Utilities.Visualizers.EnergyDashboard.
  • 10× faster Examples.Systems.DataCenter1MW, 5× faster Examples.Systems.DataCenter7MW.

1. New features🔗

  • Two-phase direct-to-chip racks. Facility.Racks.HighFidelity.TwoPhaseRack with micro-channel cold plates and CPU/GPU-series and four-chip-parallel server variants. Evaporation, fin-efficiency and two-phase friction correlations are included; selection and validity ranges are in the HighFidelity User's Guide (Facility.Racks.HighFidelity.UsersGuide).
  • Reduced-order two-phase cold plate. Facility.Racks.HighFidelity.ColdPlates.AlgebraicChannel, a drop-in replacement for MicroChannel for studies with many cold plates, with its calibration held in a replaceable record.
  • Cold-plate calibration workflow. CalibrationWorkflows.ColdPlateCalibration calibrates AlgebraicChannel against MicroChannel reference data and ships a calibrated example record.
  • IT load framework. Every rack, server and pod carries a replaceable model LoadProfile (Load tab) from Facility.Racks.ITLoad, with a Q_IT output. This replaces the load_IT input ports.
  • Chiller fidelity ladder. LowFidelity (Carnot reduced-order, with a CalibrationMethod selector), IntermediateFidelity (empirical ReformulatedEIR) and HighFidelity (cycle), with CalibrationWorkflows.ChillerCalibration. There is no LowFidelity air-cooled model; use CoolingPlant.Chillers.IntermediateFidelity.AirCooled.
  • Wet cooling tower. CoolingPlant.CoolingTowers.WetTower — closed-circuit evaporative tower reporting cumulative makeup water and wet-bulb approach, sized from two catalog rating points.
  • Economizer fidelity split. CoolingPlant.Economizers.Generic.WSE (nominal) and CoolingPlant.Economizers.Geometric.WSE (geometry-driven), matching the CDU/CRAH convention. Selection guidance is in the Economizers overview (CoolingPlant.Economizers.Economizer). CoolingPlant.Subsystems.CoolingPlantWithWSE adds an economizer subsystem with an integrated dry tower.
  • Vendor-specific CRAH models. Facility.CRAH.Vendors — calibrated units backed by eight datasheet records (Schneider Electric, Stulz, Vertiv), with CalibrationWorkflows.CRAH as a template for further units.
  • Circuit assembly. DataCenter.Components collects reusable circuit parts — pumps, fans, pipes, valves, volumes, splits/joins, sensors and sources. Routing.Simple is a passive distribution node bundling header, split/join and expansion vessel in one component.
  • Weather. Components.Weather.Weather reads TMY3 hourly data and outputs dry-bulb, relative humidity, wet-bulb and wind speed. Up to five locations are pre-loaded and selected by useWeather, so a multi-location sweep needs one compilation.
  • Facility metering. Utilities.Visualizers.EnergyDashboard shows instantaneous and time-averaged PUE (ISO/IEC 30134-2 Class 1), per-category cooling power, cumulative energy, WUE (ISO/IEC 30134-9) and hours per cooling mode. Utilities.AggregateProperties.Aggregates.AggregatePowerConsumptions publishes per-category power and energy. Water use and mode time need no wiring in the system model.
  • Minor additions. Utilities.Functions.WetBulbTemperature (Stull 2011) and Components.Sources.TemperatureSetpoint.

2. Improvements🔗

  • Simulation performance. Examples.Systems.DataCenter1MW is about 10× faster and Examples.Systems.DataCenter7MW about 5× faster per second simulated.
  • System examples rebuilt on the 3.0 building blocks (Routing, Weather, LoadProfile, EnergyDashboard). Examples.Systems.ChillerWithEconomizerSystem now engages free cooling, and Examples.Systems is reduced to six models; MultiChillerSystem is renamed ChillerStagingSystem.
  • Controls.ChillerPlant_Bypass generalized. N_Chill previously had no effect; it is renamed N_plants and now honored for any array size, with N_base, stageDuration and stageInterval exposed. Defaults reproduce the old behavior.
  • EPS-NTU heat exchangers taken from the Modelon Base Library. The DCL duplicates are removed. When redeclaring, keep epsFun and inverseEpsFun a matched pair — a mismatched pair biases the duty in every result.
  • IT load table extrapolation is selectable through extrapMethod (Advanced tab); see section 4 for the changed default.
  • Documentation. Model information strings are rewritten across the restructured packages and stale modelica:// cross-references corrected.

3. Bug fixes🔗

  • Cooling-tower air-side friction used water density. In Examples.Systems.DataCenter1MW the tower's air-side QuadraticOperatingPointLoss carried d0 = 1000 kg/m3 on an air stream. Corrected to 1.2 kg/m3, which changes tower fan power and therefore reported PUE. Check this parameter on any model that reuses the pattern.
  • CRAH non-linear algebraic loop. A fan discharge plenum is added between fan outlet and coil inlet in Geometric.SetFlow and Generic.Nominal, removing the loop caused by compressible air friction at the coil inlet.
  • CWSTcontrol dead bands had the wrong SI type. Both dead-band parameters were Temperature rather than TemperatureDifference, so defaults of 1.39 and 1.69 were interpreted as absolute temperatures near 0 K.
  • LiquidToLiquid zero_speed default lowered from 5 to 0.05 rad/s so the off state approaches true zero.
  • Various. Deprecated compressor-data reference updated, scalar pressure sources replaced by vectorized sources in test benches, and missing redeclare package Medium statements and broken HTML cross-references fixed.

4. Breaking changes🔗

Most of these are converted automatically; see section 5 for what the conversion script does and what it cannot do.

  • IT load inputs replaced. load_IT, load_IT_*, Q_flow_chip and chip_fraction are removed in favor of a replaceable LoadProfile model on every rack, server and pod.
  • DryTower fan is driven by an input. The 3.0 tower's internal fan follows a new m_flow_air_set input and P_fan moves to summary.P_fan. 2.0 models are redirected to the frozen 2.0 tower instead, so this only applies if you move a component to the 3.0 tower by hand.
  • ChillerWithWSE condenser-water routing simplified. The four CW valves are replaced by a single fractional split driven by CWSplit_fraction, with a new splitFraction_PMC parameter. The Pchiller output and the matching CWSTcontrol.CWChillerValve / CWWSEValve outputs are removed.
  • Removed with no replacement: Utilities.Sensors.DP, LiquidCooledChillerSummary.PLR_out, four chiller-plant system examples, Demo.LiquidEmpiricalChillerTestBench, and the Utilities.Adaptors, Utilities.Internal, Utilities.BaseClass.Templates and Utilities.Types packages.
  • Relocated: Utilities.BaseClass.BuildingsComp functions to CoolingPlant.Chillers.BaseClasses.Functions, Utilities.Records.Summary.VaporCompressionCycle to LiquidCooledChillerSummary, and CoolingModes to CoolingPlant.Subsystems.BaseClasses.Types.

Changes that alter results without raising an error

  • IT load tables past the end of the table. 2.0 extended the last segment; 3.0 holds the last value (extrapMethod, default HoldLastPoint). Any run longer than its table is affected.
  • AirCooled.use_TSet_input defaults to true, so the setpoint follows TSet_in rather than the fixed parameter.
  • AirCooled.coo changed from a runtime input to a design-time parameter.
  • ChillerPlant_Bypass.N_Chill previously had no effect; as N_plants it is now honored for any array size.

Deprecated 2.0 copies

Where a 3.0 redesign changed an interface in a way conversion cannot express, a frozen 2.0 copy is kept under DataCenter.Utilities.Deprecated and the script redirects existing uses to it: Deprecated.LowFidelityRacks.* and Deprecated.Pods.NetAiNetRow for the racks and pods that lost load_IT, Deprecated.CoolingTowers.BaseClass.CoolingCoil / EpsNTUFlowbased_Tower for the removed economizer wrappers, and Deprecated.CoolingTowers.DryCoolingTower for the 2.0 dry tower.

A converted 2.0 model keeps 2.0 behavior and does not pick up the 3.0 equivalents. The copies are frozen: they receive no fixes and will be removed in a future release.

5. Conversion from 2.0🔗

DataCenter/Resources/Scripts/Convert_to_3.0.mos converts class paths, renamed parameters, ports and summary fields, and removes modifiers on deleted components. This includes the CoolingPlant / Components / Routing restructuring, Subsystems.Standard → Subsystems.CoolingPlant, Subsystems.WithEconomizer → Subsystems.ChillerWithWSE, UserWorkflows → CalibrationWorkflows, the prim/sec member names on CoolingPlant.Economizers.Geometric.WSE, and the PostiveDelay_PMCtoFMC typo. The 2.0 dry tower, the economizer wrapper and EpsNTUFlowbased_Tower are redirected to their frozen 2.0 copies, so those models convert without manual work and keep their results.

Summary-record fields are converted in Modelica code, but plot scripts and external post-processing must be updated by hand:

Old field New field Record
P_chiller P_compressor LiquidCooledChillerSummary, AirCooledChillerSummary, ChillerWSE_Summary
Tset TSet LiquidCooledChillerSummary, AirCooledChillerSummary
Q_flow Q_flow_FWS WSE_Summary
T_sec_in, T_sec_out T_air_supply, T_air_return CoolingTowerSummary

Manual fixes after running the script

  • Only if you move a tower to the 3.0 CoolingPlant.CoolingTowers.DryTower: wire m_flow_air_set, because conversion cannot add a connection and the fan is otherwise undriven, and replace P_fan with summary.P_fan.
  • Replace load_IT connections with a LoadProfile redeclaration on the Load tab, or keep 2.0 behavior through the deprecated copies (section 4).
  • Update summary paths that moved one level deeper: <tower>.summary.X → <tower>.tower.summary.X (prefer summary.T_air_supply / summary.T_air_return), and <wse>.summary.X → <wse>.coil.summary.X.
  • Delete connections to the removed ChillerWithWSE valves and set splitFraction_PMC for the PMC split ratio. Modifiers are dropped automatically, but reads through the valves are not — replace cwInletValve.portB.T_outflow with summary.T_CW_supply.
  • Re-wire Pchiller to summary.P_compressor, and remove connections to CWSTcontrol.CWChillerValve / CWWSEValve.
  • Remove the connection to AirCooled.coo and set a modifier, e.g. AirCooled(coo=false). Set use_TSet_input=false if TSet_in is not wired.
  • Set extrapMethod if a load table is shorter than the run — Periodic repeats a daily profile.
  • Edit or remove expressions using PLR_out (retained on AirCooledChillerSummary) and remove all usages of Utilities.Sensors.DP.
  • Rebuild models based on the removed examples on Examples.Systems.ChillerWithEconomizerSystem or the benches in CoolingPlant.Chillers.Demo; parameter values must be carried over by hand. Demo.LiquidEmpiricalChillerTestBench likewise has no drop-in successor.

Requirements🔗

Data Center Library 3.0 is based on Liquid Cooling Library 4.1, Vapor Cycle Library 6.0, Modelon Base Library 7.1, Calibration Library 2.0, and Modelica Standard Library 4.1.0.

Back to top