.Buildings.UsersGuide.ReleaseNotes.Version_12_0_0

Version 12.0.0

Information

Version 12.0.0 is a major release that adds various new packages and models.

The library has been tested with Dymola 2025x, OpenModelica 1.24.0, OPTIMICA 1.55.11 and recent versions of Impact.

The following major changes have been done compared to release 11.1.0:

Also, many models have been updated to improve performance, to improve compliance with the Modelica Language Standard and to correct model errors.

The following new libraries have been added:

Buildings.Fluid.Geothermal.ZonedBorefields Package with models for borefields in which individual groups of boreholes can be operated independently from each other. In contrast to Buildings.Fluid.Geothermal.Borefields, in which all boreholes are connected in parallel, this package allows to form groups of parallel connected boreholes. Each of these groups has its own fluid ports, allowing them for example to be connected in series, or to operate groups at the center of the borefield with a warmer temperature than groups at the perimeter.

The following new components have been added to existing libraries:

Buildings.Templates
Buildings.Templates.Plants Several new components have been added and existing ones updated to support the following new features in the heat pump plant template: sidestream heat recovery chiller, primary-only pumping, buffer tanks, failsafe staging conditions and internal computation of pump speed or balancing valve ∆p to meet design flow.
This is for #3808.
Buildings.ThermalZones
Buildings.ThermalZones.EnergyPlus_24_2_0 Updated the EnergyPlus coupling to use EnergyPlus version 24.2.0.
This is for #3911.
Improved the error reporting if a simulation is run from a working directory that has spaces in its name.
This is for #3993.

The following existing components have been improved in a backward compatible way:

Buildings.DHC
Buildings.DHC.ETS
Buildings.DHC.Plants
Improved the control sequences to comply with CDL specification.
This is for issue 4110.
Buildings.Applications
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialPlantParallel Added input filter to the isolation valve 2.
This is for issue 3989.
Buildings.Air.Systems.SingleZone
Buildings.Air.Systems.SingleZone.VAV.BaseClasses.ControllerEconomizer Added a pre block to break the algebraic loop involving the mixed air temperature.
This is for #3915.
Buildings.Controls.OBC.ASHRAE.G36
Buildings.Controls.OBC.ASHRAE.G36.Generic.TimeSuppression Replaced hold with pre to break the algebraic loop involving the latch component.
This is for #3883.
Buildings.Controls.OBC.ASHRAE.G36.Generic.TrimAndRespond Added logic to hold trim and respond loop output.
This is for #3761.
Buildings.Controls.OBC.CDL
Buildings.Controls.OBC.CDL.Logical.Latch Simplified the implementation.
This is for #3796.
Buildings.Controls.OBC.CDL.Logical.TrueFalseHold Refactored with synchronous language elements.
This is for issue 3787 and issue 3966.
Buildings.Controls.OBC.CDL.Reals.Sort Added an output variable with the indices of the sorted elements.
This is for issue 3809.
Buildings.DHC.ETS
Buildings.DHC.ETS.Combined.BaseClasses.PartialHeatPumpHeatExchanger
Buildings.DHC.ETS.Combined.Controls.SwitchBox
Added HX primary flow sensor and moving average to break the algebraic loop when using components configured in steady state.
This is for #3906.
Buildings.DHC.ETS.Combined.ChillerBorefield
Buildings.DHC.ETS.Combined.Controls.SideHot
Buildings.DHC.ETS.Combined.Controls.Supervisory
Buildings.DHC.ETS.Combined.Controls.Reset
Buildings.DHC.ETS.Combined.Validation.BaseClasses.PartialChillerBorefield
Revised the ETS supervisory controller to
(a) reduce back flow in the buffer tanks, and
(b) support chilled water supply temperature reset.
Also adjusted the base validation model to introduce more varied load transitions.
This is for #4133.
Buildings.Examples
Buildings.Examples.SimpleHouse
Buildings.Examples.Tutorial.SimpleHouse.SimpleHouse6
Added two-port temperature sensors to replace sta_*.T in reference results.
This is for IBPSA #1913.
Buildings.Fluid
Buildings.Fluid.Chillers.Validation.Carnot_TEva_reverseFlow
Buildings.Fluid.FixedResistances.Validation.LosslessPipe
Buildings.Fluid.HeatExchangers.Validation.ConstantEffectiveness
Buildings.Fluid.HeatExchangers.Radiators.Examples.RadiatorEN442_2
Buildings.Fluid.HeatPumps.Validation.Carnot_TCon_reverseFlow
Buildings.Fluid.Interfaces.Examples.Humidifier_u
Buildings.Fluid.Interfaces.Examples.BaseClasses.PrescribedOutletState
Added two-port temperature sensors to replace sta_*.T in reference results.
This is for IBPSA #1913.
Buildings.Fluid.Movers
Buildings.Fluid.Movers.Data.Generic The function Buildings.Fluid.Movers.BaseClasses.Euler.getPeak is no longer called unless needed.
This is for IBPSA #1912.
Buildings.Fluid.Movers
Buildings.Fluid.Movers.Validation.ComparePowerHydraulic Added standalone declaration for the peak operating condition to ensure that the same values are used for each mover.
This is for IBPSA #1912.
Buildings.ThermalZones.EnergyPlus_9_6_0
Buildings.ThermalZones.EnergyPlus_9_6_0 Updated EnergyPlus binaries.

With this update, simulations that start with a negative start time are supported.
This is for #1938.

This update also adds support for specifying entries for the EnergyPlus run period. See the documentation of Buildings.ThermalZones.EnergyPlus_9_6_0.Data.RunPeriod for details.
This is for #2926.
Buildings.ThermalZones.ISO13790
Buildings.ThermalZones.ISO13790 Added BESTEST validation.
This is for IBPSA #1707.
Buildings.Obsolete.Controls.OBC.ASHRAE.G36_PR1
Buildings.Obsolete.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.SystemRequests Replaced hold with pre to break the algebraic loop involving the latch component.
This is for #3915.
Buildings.Templates
Buildings.Templates.Plants.Controls.Setpoints.PlantReset Updated hold logic during staging after refactoring trim and respond block.
This is for #3761.

The following existing components have been improved in a non-backward compatible way:

Buildings.Applications
Buildings.Applications.DataCenters.ChillerCooled.Controls.ConstantSpeedPumpStage
Buildings.Applications.DataCenters.ChillerCooled.Examples.IntegratedPrimarySecondaryEconomizer
Buildings.Applications.DataCenters.ChillerCooled.Examples.NonIntegratedPrimarySecondaryEconomizer
Added plant on signal to pumps control.
This is for issue 3989.
Buildings.Controls.OBC.CDL
Buildings.Controls.OBC.CDL.Logical.TrueHold
Buildings.Controls.OBC.CDL.Logical.Validation.TrueHold
The blocks have been moved to the Obsolete package. Users are encouraged to use TrueFalseHold(falseHoldDuration=0) instead.
The conversion script will automatically update existing models.
This is for issue 3787.
Buildings.DHC
Buildings.DHC.ETS.Combined.ChillerBorefield
Buildings.DHC.ETS.Combined.Controls.SideCold
Buildings.DHC.ETS.Combined.Controls.SideHot
Reduced number of time events by replacing zero order hold with true and false hold, and increasing the minimum cycle time.
This is for issue 4058.
Buildings.Fluid.Actuators
Buildings.Fluid.Actuators.Dampers.Exponential
Buildings.Fluid.Actuators.Dampers.MixingBox
Buildings.Fluid.Actuators.Dampers.MixingBoxMinimumFlow
Buildings.Fluid.Actuators.Dampers.PressureIndependent
Buildings.Fluid.Actuators.Valves.ThreeWayEqualPercentageLinear
Buildings.Fluid.Actuators.Valves.ThreeWayLinear
Buildings.Fluid.Actuators.Valves.ThreeWayTable
Buildings.Fluid.Actuators.Valves.TwoWayButterfly
Buildings.Fluid.Actuators.Valves.TwoWayEqualPercentage
Buildings.Fluid.Actuators.Valves.TwoWayLinear
Buildings.Fluid.Actuators.Valves.TwoWayPolynomial
Buildings.Fluid.Actuators.Valves.TwoWayPressureIndependent
Buildings.Fluid.Actuators.Valves.TwoWayQuickOpening
Buildings.Fluid.Actuators.Valves.TwoWayTable
Changed model for actuator position. The new implementation changes the actuator position at a constant speed defined by the stroke time rather than a second order filter.
This update changes the parameter use_inputFilter and riseTime to use_strokeTime and strokeTime.
The conversion script will automatically update existing models.
This is for IBPSA, #1926 and Buildings, #3965.
Buildings.Fluid.Geothermal
Buildings.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.OneUTube
Buildings.Fluid.Geothermal.Borefields.BaseClasses.Boreholes.TwoUTube
Buildings.Fluid.Geothermal.Borefields.BaseClasses.PartialBorefield
Removed parameter dynFil to avoid allowing an inconsistent declaration of the energy balance configuration for the borehole filling.
This is for IBPSA, #1885.
Buildings.Fluid.SolarCollectors
Buildings.Fluid.SolarCollectors.ASHRAE93
Buildings.Fluid.SolarCollectors.EN12975
Removed parameter nPanelsSer to avoid allowing an inconsistent declaration of the number of panel of the collector field, and of how many panels are installed in parallel and in series.
This is for IBPSA, #1956.
Buildings.DHC
Buildings.DHC.Plants.Combined.Subsystems.MultiplePumpsDp
Buildings.DHC.Plants.Combined.Subsystems.MultiplePumpsFlow
Buildings.DHC.Plants.Combined.Subsystems.MultiplePumpsSpeed
Changed model for change in pump rotational speed. The new implementation changes the rotational speed at a constant rate rather than a second order filter.
This update changes the parameter use_inputFilter to use_riseTime.
The conversion script will automatically update existing models.
This is for IBPSA, #1926 and Buildings, #3965.
Buildings.DHC.Plants.Cooling.Subsystems.CoolingTowersParallel
Buildings.DHC.Plants.Cooling.Subsystems.CoolingTowersWithBypass
Buildings.DHC.Plants.Combined.Subsystems.ChillerGroup
Buildings.DHC.Plants.Combined.Subsystems.ChillerHeatRecoveryGroup
Buildings.DHC.Plants.Combined.Subsystems.HeatPumpGroup
Changed model for actuator position. The new implementation changes the actuator position at a constant speed defined by the stroke time rather than a second order filter.
This update changes the parameter use_inputFilter and riseTime to use_strokeTime and strokeTime.
The conversion script will automatically update existing models.
This is for IBPSA, #1926 and Buildings, #3965.
Buildings.Fluid.HydronicConfigurations
Buildings.Fluid.HydronicConfigurations.Components.ThreeWayValve
Buildings.Fluid.HydronicConfigurations.Components.TwoWayValve
Buildings.Fluid.HydronicConfigurations.Components.Pump
Changed model for change in pump rotational speed. The new implementation changes the rotational speed at a constant rate rather than a second order filter.
This update changes the parameter use_inputFilter to use_riseTime.
The conversion script will automatically update existing models.
This is for IBPSA, #1926 and Buildings, #3965.
Buildings.Fluid.Movers
Buildings.Fluid.Movers.FlowControlled_dp
Buildings.Fluid.Movers.FlowControlled_m_flow
Buildings.Fluid.Movers.SpeedControlled_y
Buildings.Fluid.Movers.Preconfigured.FlowControlled_dp
Buildings.Fluid.Movers.Preconfigured.FlowControlled_m_flow
Buildings.Fluid.Movers.Preconfigured.SpeedControlled_y
Changed model for change in fan or pump rotational speed. The new implementation changes the rotational speed at a constant rate rather than a second order filter.
This update changes the parameter use_inputFilter to use_riseTime.
The conversion script will automatically update existing models.
This is for IBPSA, #1926 and Buildings, #3965.
Buildings.Fluid.SolarCollectors
Buildings.Fluid.SolarCollectors Refactored solar collector models to allow modeling of arrays of collectors, to facilitate use of rating data to parameterize the collector, and to improve calculation of performance for shallow solar incidence angles.
The former models have been moved to Buildings.Obsolete.
This is for #3604.
Buildings.Templates
Buildings.Templates.Components.Controls.Validation.StatusEmulator Refactored using a state graph.
This is for #3923.
Buildings.Templates.Plants.Controls.Utilities.SortWithIndices Moved to the Obsolete package.
This is for #3809.
Buildings.Templates.Plants.Controls.Utilities.SortWithIndices Moved to the Obsolete package.
This is for #3809.
Buildings.ThermalZones.EnergyPlus_9_6_0
Buildings.ThermalZones.EnergyPlus_9_6_0 Moved models to Buildings.Obsolete.ThermalZones.EnergyPlus_9_6_0, use instead the models in Buildings.ThermalZones.EnergyPlus_24_2_0.
The conversion script will update existing models to use the models from Buildings.Obsolete.ThermalZones.EnergyPlus_9_6_0 to ensure compatibility, because to update to EnergyPlus_24_2_0, the idf files also need to be updated.
This is for #4149.
Buildings.Obsolete
Buildings.Obsolete.Air
Buildings.Obsolete.Controls.Continuous
Buildings.Obsolete.Examples
Buildings.Obsolete.Fluid.FixedResistances
Buildings.Obsolete.Fluid.Sources
Removed obsolete models that were added at least two versions ago.
This is for issue 4149.
Buildings.Occupants
Buildings.Occupants.BaseClasses Refactored the implementation of all functions. The functions now take as an argument the internal state of the random number generator rather than a seed. Moreover, the functions return the new internal state of the random number generator.
This is for issue 4069.
Buildings.Occupants.Office
Buildings.Occupants.Residential
Buildings.Occupants.Residential
Refactored the implmenentation of the random number calculation in all blocks and functions as the old implementation was not producing high quality random numbers, and as it had rounding errors that caused cross-tool comparison to fail.
The conversion script will automatically update the old parameter seed to the new parameter localSeed in the blocks. The blocks should be compatible with older versions after this update, but the results will differ.
This is for issue 4069.

The following critical errors have been fixed (i.e., errors that can lead to wrong simulation results):

Buildings.Fluid
Buildings.Fluid.Chillers.BaseClasses.PartialElectric
Buildings.Fluid.HeatPumps.EquationFitReversible
Added load limit depending on operating mode.
This is for #3815.
Buildings.Templates
Buildings.Templates.Plants.Controls.Utilities.TimerWithReset Refactored to ensure passed=u if t=0.
This is for #3952.

The following uncritical errors have been fixed (i.e., errors that do not lead to wrong simulation results, e.g., units are wrong or errors in documentation):

Buildings.Controls.OBC.CDL
Buildings.Utilities.Math.Functions.round Removed wrong parameter declaration which causes an error in Dymola 2025x beta1.
This is for #3978.

Generated at 2025-04-19T18:20:10Z by OpenModelicaOpenModelica 1.25.0 using GenerateDoc.mos