Version 13.0.0 is a major release that adds various new packages and models.
The library has been tested with Dymola 2026x, OpenModelica 1.26.3, OPTIMICA 1.66 and recent versions of Impact.
The following major changes have been done compared to release 12.0.0:
Buildings.Controls.OBC.ASHRAE.G36.FanCoilUnit has been
added with control sequences for fan coil units.Buildings.DHC.ETS.Combined has been
replaced with improved models, and the old models have been moved
to the Buildings.Obsolete package.Buildings.Templates has been
refactored to use load-dependent 2D table data for chiller and heat
pump models.Buildings.Fluid.AirFilters has been
added with models for air filters.Buildings.Fluid.HeatExchangers.ThermalWheels has been
added with models for heat recovery and enthalpy recovery
wheels.Buildings.Media.Antifreeze.Functions
has been added to enable calling glycol property functions without
instantiating a package.Buildings.Utilities.IO.Python_3_12 has
been added with models to call Python 3.12 modules from a Modelica
block. This package replaces
Buildings.Utilities.IO.Python_3_8 which has been moved
to the Buildings.Obsolete package.Buildings.Fluid.HeatExchangers.CoolingTowers have been
refactored to use a data record for the performance data, and a new
model of a dry cooler that uses the epsilon-NTU relation has been
added.Also, many models have been updated to improve performance, to improve compliance with the Modelica Language Standard and to correct model errors.
This version also changes the weather data conversion from using
Java to Python. This change was made when correcting an issue that
caused a discontinuity in wind direction interpolation when the
direction changes between 0 and 360 degrees. Users should update
their existing weather files by running the Python script
Buildings/Resources/bin/convert_weather_data.py as
this requires a conversion of the wind direction data. See IBPSA,
#2068.
The following new libraries have been added:
| Buildings.Controls.OBC.ASHRAE.G36.FanCoilUnit | Package with control sequences for fan coil
units. This is for issue 2885. |
| Buildings.Fluid.AirFilters | Package with models for air filters. This is for issue 3618. |
| Buildings.Fluid.HeatExchangers.ThermalWheels | Package with models for heat recovery and enthalpy
recovery wheels. This is for #3538. |
| Buidings.Utilities.IO.Python_3_12 | Package with models to call Python 3.12 modules
from a Modelica block. This package replaces Buidings.Utilities.IO.Python_3_8
which has been moved to the Buildings.Obsolete
package.This is for issue 4347. |
The following new components have been added to existing libraries:
| Buildings.Fluid | |
| Buildings.Fluid.HeatExchangers.CoolingTowers.DryCooler | Model of a dry cooler that uses the epsilon-NTU
relation, with convection coefficients varying with flow rates and
temperature. This is for issue 4567. |
| Buildings.Media | |
|
Buildings.Media.Antifreeze.Functions.EthyleneGlycolWater Buildings.Media.Antifreeze.Functions.PropyleneGlycolWater |
Packages that allows function calls of media
properties without having to instantiate a package. This allows
calling the functions from a Modelica record.This is for IBPSA, issue 2115. |
The following existing components have been improved in a backward compatible way:
| Buildings.BoundaryConditions.WeatherData | |
| Buildings.BoundaryConditions.WeatherData.ReaderTMY3 | Changed the class type from block to model. This is for IBPSA, #2091. Changed weather data interpolation to avoid a discontinuity in wind directory when it switches between 0 and 360 degrees. This is for IBPSA, #2068. |
| Buildings.Airflow | |
| Buildings.Airflow.Multizone | Optimized code to reduce computing time for
interzonal air exchange models. This is for IBPSA, issue 2043. |
| Buildings.Controls.OBC.CDL | |
| Buildings.Controls.OBC.CDL.Logical.Latch | Reformulated initalization to avoid non-linear
equations in when blocks.This is for IBPSA, issue 2064. |
| Buildings.Fluid.Examples | |
| Buildings.Fluid.Examples.ResistanceVolumeFlowReversal | Added two-port temperature sensors to replace
vol[.].T from reference results.This is for #4276. |
| Buildings.Fluid.FixedResistances | |
|
Buildings.Fluid.FixedResistances.PlugFlowPipe Buildings.Fluid.FixedResistances.PlugFlowPipeDiscretized |
Added option to disable pressure drop
calculation. This is for IBPSA, issue 2015. |
| Buildings.Fluid.FixedResistances.PlugFlowPipe | Removed stray Line annotation. Added
if-then to conditional connections.This is for IBPSA, #2071. |
| Buildings.Fluid.Geothermal.Borefields | |
| Buildings.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Validation.FiniteLineSource_Erfint | Added an assert-statement for err and
removed it from reference results.This is for #4277. |
|
Buildings.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.GroundTemperatureResponse Buildings.Fluid.Geothermal.ZonedBorefields.BaseClasses.HeatTransfer.GroundTemperatureResponse |
Reformulated when block to avoid
continuous and discrete variable assignment in the same
block.This is for #4321 |
| Buildings.Fluid.HeatExchangers | |
| Buildings.Fluid.HeatExchangers.ThermalWheels | Package of models for heat recovery and enthalpy
recovery wheels. This is for issue 3538. |
| Buildings.Fluid.HeatPumps | |
| Buildings.Fluid.HeatPumps.ModularReversible | Improved implementation and diagnostics of safety
checks. This is for IBPSA, issue 2035. |
| Buildings.Obsolete.Utilities.IO.Python_3_8 | |
| Buildings.Obsolete.Utilities.IO.Python_3_8.Functions.BaseClasses.exchange | Added missing header file. This is for issue 4343. |
| Buildings.ThermalZones.Detailed | |
| Buildings.ThermalZones.Detailed.BaseClasses.ExteriorBoundaryConditions | Explicitly assigned value to the roughness of the
exterior constructions. This is for issue 4367. |
| Buildings.ThermalZones.EnergyPlus_24_2_0 | |
| Buildings.ThermalZones.EnergyPlus_24_2_0.BaseClasses.ThermalZoneAdapter | Added an assertion that stops the simulation if
the air pressure is unreasonable, which may be the case if a user
provides fresh air but not exhaust air path. This is for issue 3319. |
| Buildings.Utilities.IO.Python_3_12 | |
| Buildings.Utilities.IO.Python_3_12.Functions.BaseClasses.exchange | Added missing header file. This is for issue 4343. |
| Buildings.Utilities.Math.Functions | |
| Buildings.Utilities.Math.Functions.bicubic Buildings.Utilities.Math.Functions.quadraticLinear Buildings.Utilities.Math.Functions.quinticHermite Buildings.Utilities.Math.Functions.smoothHeaviside Buildings.Utilities.Math.Functions.smoothLimit |
Declared the functions to be inlined. This is for issue 4278. |
The following existing components have been improved in a non-backward compatible way:
| Buildings.Controls.OBC.ASHRAE.G36.AHUs | |
|
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.Controller Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.FreezeProtection Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.PlantRequests Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.Controller Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.FreezeProtection Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.PlantRequests |
Renamed the parameter Thys to
THys.This is for issue 4374. |
| Buildings.DHC | |
| Buildings.DHC.ETS.Combined.ChillerBorefield Buildings.DHC.ETS.Combined.Examples.ChillerBorefield Buildings.DHC.ETS.Combined.Examples.ChillerOnly Buildings.DHC.ETS.Combined.Validation.ChillerBorefield Buildings.DHC.ETS.Combined.Validation.ChillerOnly Buildings.DHC.ETS.Combined.Validation.ChillerWSE Buildings.DHC.ETS.Combined.Validation.BaseClasses.PartialChillerBorefield Buildings.DHC.ETS.Combined.Subsystems.Borefield Buildings.DHC.ETS.Combined.Subsystems.Chiller Buildings.DHC.ETS.Combined.Subsystems.Validation.Borefield Buildings.DHC.ETS.Combined.Subsystems.Validation.Chiller Buildings.DHC.ETS.Combined.Controls.Chiller Buildings.DHC.ETS.Combined.Controls.Borefield Buildings.DHC.ETS.Combined.Controls.Supervisory Buildings.DHC.ETS.Combined.Controls.SideHot Buildings.DHC.ETS.Combined.Controls.SideCold Buildings.DHC.ETS.Combined.Controls.BaseClasses.PartialSupervisory Buildings.DHC.ETS.Combined.Controls.HeatExchanger |
Moved to Buildings.Obsolete as these
are replaced with improved models.This is for issue 4354. |
| Buildings.DHC.ETS.Combined.Controls.PIDWithEnable | Moved to
Buildings.Controls.OBC.Utilities.PIDWithEnable as
there were two identical implementations. |
| Buildings.Fluid | |
| Buildings.Fluid.HeatExchangers.CoolingTowers | Refactored models to use a data record for the
performance data. The old models were moved to the Buildings.Obsolete
package, and a conversion script updates old models to the new
ones.This is for #4489. |
|
Buildings.Fluid.Chillers.ModularReversible.RefrigerantCycle.TableData2DLoadDep Buildings.Fluid.Chillers.ModularReversible.TableData2DLoadDep Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2DLoadDep Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDep |
Refactored with two separate connectors for HW and
CHW temperature setpoints. This is for #4507. |
|
Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.BaseClasses.TableData2DLoadDepSHC Buildings.Fluid.HeatPumps.ModularReversible.RefrigerantCycle.TableData2DLoadDepSHC Buildings.Fluid.HeatPumps.ModularReversible.TableData2DLoadDepSHC |
Refactored with two separate connectors for
heating and cooling on/off commands. This is for #4507. |
| Buildings.Templates | |
|
Buildings.Templates.Components.BaseClasses.PartialHeatPumpTableData2DLoadDep Buildings.Templates.Components.Chillers.Compression Buildings.Templates.Plants.Controls.HeatPumps.AirToWater Buildings.Templates.Plants.HeatPumps.AirToWater Buildings.Templates.Plants.HeatPumps.Components.Controls.AirToWater Buildings.Templates.Plants.HeatPumps.Components.Controls.OpenLoop |
Refactored with two separate connectors for HW and
CHW temperature setpoints. This is for #4507. |
|
Buildings.Templates.AirHandlersFans.Components.Controls.G36VAVMultiZone Buildings.Templates.AirHandlersFans.Components.Data.VAVMultiZoneController Buildings.Templates.AirHandlersFans.Configuration.PartialAirHandler Buildings.Templates.AirHandlersFans.Interfaces.PartialAirHandler Buildings.Templates.AirHandlersFans.Validation.VAVMultiZone |
Moved zoning parameter declarations into
controller data record. This is for #4497. |
|
Buildings.Templates.Components.Chillers.Compression Buildings.Templates.Components.HeatPumps.AirToWater Buildings.Templates.Components.HeatPumps.WaterToWater Buildings.Templates.Plants.HeatPumps.AirToWater Buildings.Templates.Plants.HeatPumps.Components.HeatPumpGroups.AirToWater Buildings.Templates.Plants.HeatPumps.Components.HeatRecoveryChiller |
Refactored with load-dependent 2D table data heat
pump model. This is for #4152. |
| Buildings.Templates.Plants.Controls.Utilities.PIDWithEnable | Moved to
Buildings.Controls.OBC.Utilities.PIDWithEnable as
there were two identical implementations. |
| Buildings.Utilities | |
| Buildings.Utilities.IO.Python_3_8 | Moved package to
Buildings.Obsolete.Utilities.IO.Python_3_8 as it is
replaced by Buildings.Utilities.IO.Python_3_12.This is for issue 4347. |
The following critical errors have been fixed (i.e., errors that can lead to wrong simulation results):
| Buildings.Controls.OBC.Utilities.PIDWithAutotuning | |
|
Buildings.Controls.OBC.Utilities.PIDWithAutotuning.SystemIdentification.FirstOrderTimeDelay.BaseClasses.TimeConstantDelay Buildings.Controls.OBC.Utilities.PIDWithAutotuning.Relay.BaseClasses.NormalizedTimeDelay |
Add error-handling mechanism to capture negative
control gains. This is for issue 4378. |
| Buildings.Templates | |
|
Buildings.Templates.Plants.Controls.HeatPumps.AirToWater Buildings.Templates.Plants.Controls.StagingRotation.EquipmentAvailability |
Refactored to use "required to run" conditions in
the equipment availability logic. This is for issue 4432. |
Note:
This version removes the packages
Buildings.Obsolete.ThermalZones.EnergyPlus_9_6_0Buildings.Obsolete.Fluid.Movers.ValidationBuildings.Obsolete.Fluid.SolarCollectors