.Buildings.UsersGuide.ReleaseNotes.Version_7_0_0

Information

Version 7.0.0 is a major release that contains various new packages, new models and improvements to existing models. The library has been tested with Dymola 2020x and 2021, JModelica (revision 14023), and OPTIMICA (revision OCT-stable-r12473_JM-r14295).

The following major changes have been done:

The following new libraries have been added:

Buildings.Controls.OBC.Utilities Package with utility blocks, base classes and validation models for the OpenBuildingControl (OBC) library.
Buildings.Utilities.IO.SignalExchange Package with blocks that can be used to identify and activate control signal overwrites, and to identify and read sensor signals. This package is used by the Building Optimization Performance Test software BOPTEST.
Buildings.Utilities.IO.Python36 Upgraded from Buildings.Utilities.IO.Python27 since Python2.7 has been deprecated.
This is for issue #1760.

The following new components have been added to existing libraries:

Buildings.Controls
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.OutdoorAirFlow Package of sequences for specifying the minimum outdoor airflow rate. This replaces Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.OutsideAirFlow. The new implemented sequences separate zone level calculation from the system level calculation. It avoids vector-valued calculations.
This is for #1829.
Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.SetPoints.ZoneStatus Block that outputs zone temperature status by comparing it with setpoint temperatures, with the maximum and minimum temperature of the group which the zone is in. This allows separating the vector-valued calculations from control sequences.
This is for #1709.
Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean Block that outputs the triggered discrete moving mean of an input signal. This replaces Buildings.Controls.OBC.CDL.Discrete.MovingMean, which has been moved to Buildings.Obsolete.
This is for #1588.
Buildings.Controls.OBC.Utilities.OptimalStart Block that outputs optimal start time for an HVAC system prior to the occupancy. This is for #1589.
Buildings.Fluid
Buildings.Fluid.Actuators.Valves.ThreeWayTable Three way valves with opening characteristics based on a user-provided table.
Buildings.Fluid.CHPs Package with model for combined heat and power device.
Buildings.Fluid.Chillers.AbsorptionIndirectSteam Indirect steam heated absorption chiller based on performance curves.
Buildings.Fluid.FixedResistances.CheckValve Check valve that prevents backflow, except for a small leakage flow rate.
This is for IBPSA, #1198
Buildings.Fluid.HeatPumps.EquationFitReversible Heat pump model that can be reversed between heating and cooling mode, that takes as a set point the leaving fluid temperature, and that computes its performance based on an equation fit.
Buildings.Examples.Tutorial
Buildings.Examples.Tutorial.CDL Tutorial that explains how to implement control sequences using the Control Description Language.

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

Buildings.BoundaryConditions.WeatherData
Buildings.BoundaryConditions.WeatherData.ReaderTMY3 Refactored weather data reader and changed implementation to allow exactly zero radiation rather than a small positive value. This was required to allow simulating buildings at steady-state, which is needed for some controls design. For examples in which buildings are simulated at steady-state, see Buildings.ThermalZones.Detailed.Validation.MixedAirFreeResponseSteadyState, Buildings.Examples.VAVReheat.Validation.Guideline36SteadyState and Buildings.ThermalZones.ReducedOrder.Validation.RoomSteadyState.
This is for IBPSA, #1340.
Buildings.Controls.Continuous
Buildings.Controls.Continuous.LimPID Removed homotopy that may be used during initialization to ensure that outputs are bounded.
This is for IBPSA, #1221.
Buildings.Controls.OBC.CDL
Buildings.Controls.OBC.CDL.Continuous.Derivative Removed parameter initType and x_start.
This is for IBPSA, #1887.
For Dymola, a conversion script makes this change.
Buildings.Controls.OBC.CDL.Continuous.IntegratorWithReset Removed parameter initType.
This is for IBPSA, #1887.
For Dymola, a conversion script makes this change.
Buildings.Controls.OBC.CDL.Continuous.LimPID Removed homotopy that may be used during initialization to ensure that outputs are bounded.
This is for IBPSA, #1221.
Buildings.Controls.OBC.CDL.Continuous.Sources.CalendarTime
Buildings.Controls.OBC.CDL.Types.ZeroTime
Revised implementation such that the meaning of time is better explained and unix time stamps are correctly defined with respect to GMT. Added option unix time stamp GMT.
This is for IBPSA, #1232.
Buildings.Controls.OBC.CDL.Continuous.Sources.CalendarTime
Buildings.Controls.OBC.CDL.Types.ZeroTime
Revised implementation such that the meaning of time is better explained and unix time stamps are correctly defined with respect to GMT. Added option unix time stamp GMT.
This is for IBPSA, #1232.
Buildings.Controls.OBC.CDL.Logical.Latch
Buildings.Controls.OBC.CDL.Logical.Toggle
Simplified implementation, which makes them work with OpenModelica.
This is for #1823.
Buildings.Controls.OBC.CDL.Logical.Timer Added a boolean input to reset the accumulated timer.
This is for #1221.
Buildings.Controls.OBC.CDL.Types.Init Removed this enumeration because it is no longer used.
This is for #1887.
Buildings.Controls.OBC.ASHRAE.G36_PR1
Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.SetPoints.TrimAndRespond Corrected to delay the true initial device status.
This is for #1876
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.DamperValves Replaced multisum block with add blocks, replaced gain block used for normalization with division block.
This is for #1830
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Controller Replaced the mode and setpoint calculation block with Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.ModeAndSetPoints.
This is for #1709
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.SetPoints.ActiveAirFlow Used hysteresis to check occupancy.
This is for #1788.
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.OutsideAirFlow Applied hysteresis for checking ventilation efficiency.
This is for #1787.
Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.SetPoints.TrimAndRespond Added assertions and corrected implementation when respond amount is negative.
This is for #1503.
Buildings.Examples.Tutorial
Buildings.Examples.Tutorial.Boiler
Buildings.Examples.Tutorial.SpaceCooling
Updated examples to use the control blocks from the Control Description Language package Buildings.Controls.OBC.CDL.
Buildings.Examples.VAVReheat
Buildings.Examples.VAVReheat.BaseClasses.VAVBranch Added output connector for returned damper position.
Buildings.Fluid
Buildings.Fluid.Actuators.BaseClasses.ActuatorSignal
Buildings.Fluid.Actuators.Dampers.PressureIndependent
Added the computation of the damper opening.
Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValve
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
Improved implementation to guard against control input that is negative. The new implementation constrains the input to be bigger than 0.
This is for IBPSA, #1233.
Buildings.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.shaGFunction Declared string as a constant due to JModelica's tigther type checking.
This is for IBPSA, #1230.
Buildings.Fluid.DXSystems.AirCooled.MultiStage
Buildings.Fluid.DXSystems.AirCooled.SingleSpeed
Buildings.Fluid.DXSystems.AirCooled.VariableSpeed
Buildings.Fluid.DXSystems.WaterCooled.MultiStage
Buildings.Fluid.DXSystems.WaterCooled.SingleSpeed
Buildings.Fluid.DXSystems.WaterCooled.VariableSpeed
Corrected wrong min and max attribute for change in humidity.
This is for #1933.
Buildings.Fluid.Storage.Stratified
Buildings.Fluid.Storage.StratifiedEnhanced
Buildings.Fluid.Storage.StratifiedEnhancedInternalHex
Provided option to initialize the tank temperature at different values across the height of the tank.
This is for IBPSA, #1246.
Buildings.Fluid.SolarCollectors.BaseClasses.PartialSolarCollector In volume, set prescribedHeatFlowRate=false.
This is for #1636.
Buildings.HeatTransfer
Buildings.HeatTransfer.Convection.Exterior Set wind direction modifier to a constant as wind speed approaches zero.
This is for #1923.
Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx
Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx.Case600
Buildings.ThermalZones.Detailed.Validation.BESTEST.Cases6xx.Case600FF
Changed computation of time averaged values to avoid a time event every hour.
This is for #1714.
Buildings.ThermalZones.ReducedOrder
Buildings.ThermalZones.ReducedOrder.RC.OneElement
Buildings.ThermalZones.ReducedOrder.RC.TwoElements
Buildings.ThermalZones.ReducedOrder.RC.ThreeElements
Buildings.ThermalZones.ReducedOrder.RC.FourElements
Added option to also simulate moisture balance in room air volume. This can be enabled by setting the parameter use_moisture_balance = true.
This is for IBPSA, #1209.
Buildings.Utilities
Buildings.Utilities.IO.Files.CSVWriter
Buildings.Utilities.IO.Files.CombiTimeTableWriter
Buildings.Utilities.IO.Files.CombiTimeTableWriter
Revised to avoid overflow of string buffer in Dymola.
This is for IBPSA, #1219.
Buildings.Utilities.Math.SmoothHeaviside
Buildings.Utilities.Math.Functions.SmoothHeaviside
This function is now twice instead of only once Lipschitz continuously differentiable.
This is for IBPSA, #1202.
Buildings.Utilities.Time.CalendarTime
Buildings.Utilities.Time.Types.ZeroTime
Revised implementation such that the meaning of time is better explained and unix time stamps are correctly defined with respect to GMT. Added option unix time stamp GMT.
This is for IBPSA, #1192.
Buildings.Utilities.Comfort.Fanger Updated the model from ASHRAE 1997 to ANSI/ASHRAE 55-2017 and added a validation model which compares the PMV with an implementation from the University of California at Berkeley.
This is for #1936.
Buildings.Examples
Buildings.Examples.VAVReheat.BaseClasses.Floor
Buildings.Examples.VAVReheat.ASHRAE2006
Buildings.Examples.VAVReheat.Guideline36
Buildings.Examples.DualFanDualDuct
Updated core zone geometry parameters related to room heat and mass balance. This change was done in Buildings.Examples.VAVReheat.BaseClasses.Floor.
This is for #1719.

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

Buildings.Airflow
Buildings.Airflow.Multizone Set parameters m_flow_small, m1_flow_small and m2_flow_small to final so that they do no longer appear on the GUI. These parameters are not used by models in this package. This is for IBPSA, #1362.
For Dymola, a conversion script makes this change.
Buildings.Controls.OBC.CDL
Buildings.Controls.OBC.CDL.Continuous.LimPID Refactored model so that it is itself a CDL conformant composite block. This refactoring removes the no longer use parameters xd_start that was used to initialize the state of the derivative term. This state is now initialized based on the requested initial output yd_start which is a new parameter with a default of 0. Also, removed the parameters y_start and initType because the initial output of the controller can be set by using xi_start and yd_start. This refactoring also removes the parameter strict that was used in the output limiter. The new implementation enforces a strict check by default.
This is for #1878.
For Dymola, a conversion script makes this change.
Buildings.Controls.OBC.CDL.Continuous.LimPID Changed the default values for the output limiter from yMin=-yMax to yMin=0 and from yMax being unspecified to yMax=1.
This is for #1888.
For Dymola, a conversion script makes this change.
Buildings.Controls.OBC.CDL.Discrete.MovingMean This block became obsolete, use Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean instead.
For Dymola, a conversion script makes this change.
Buildings.Controls.OBC.Utilities.SetPoints.SupplyReturnTemperatureReset Changed name from HotWaterTemperatureReset to SupplyReturnTemperatureReset.
This is for #860.
For Dymola, a conversion script makes this change.
Buildings.Controls.OBC.ASHRAE.G36_PR1
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.Controller Reimplemented to add new block for specifying the minimum outdoor airfow setpoint. The new block avoids vector-valued calculations.
The reimplemented controller needs to work with Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.OutdoorAirFlow.Zone and Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.SetPoints.OutdoorAirFlow.SumZone, to calculate the zone level minimum outdoor airflow setpoints and then find the sum, the minimum and the maximum of these setpoints. See Buildings.Examples.VAVReheat.Guideline36.
This is for #1829.
Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.SetPoints.OperationMode Reimplemented to remove the vector-valued calculations.
This is for #1709
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.ModeAndSetPoints Removed from the library as it can be replaced by Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.ModeAndSetPoints.
This is for #1709
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Controller Added cooling coil control and the controller validation model.
This is for #1265
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Economizers.Subsequences.Enable Added the option to allow fixed plus differential dry bulb temperature cutoff.
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Economizers.Subsequences.Modulation Added heating coil control sequences.
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.Supply Added a switch for fan control.
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.ZoneState Improved the implementation to avoid issues when heating and cooling controls occur at the same time.
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.SystemRequests Changed the actual damper position name from uDam to yDam_actual.
This is for #1873
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Controller Added actual VAV damper position as the input for generating system request.
This is for #1873
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Reheat.DamperValves Added option to check if the VAV damper is pressure independent.
This is for #1873
Buildings.Controls.SetPoints
Buildings.Controls.SetPoints.SupplyReturnTemperatureReset Changed name from HotWaterTemperatureReset to SupplyReturnTemperatureReset.
This is for #860.
For Dymola, a conversion script makes this change.
Buildings.Fluid.Actuators
Buildings.Fluid.Actuators.BaseClasses.PartialDamperExponential
Buildings.Fluid.Actuators.Dampers.Exponential
Buildings.Fluid.Actuators.Dampers.MixingBox
Buildings.Fluid.Actuators.Dampers.MixingBoxMinimumFlow
Buildings.Fluid.Actuators.Dampers.PressureIndependent
Buildings.Fluid.Actuators.Dampers.VAVBoxExponential
Merged VAVBoxExponential into Exponential.
Exponential now provides all modeling capabilities previously implemented in VAVBoxExponential which is no more needed and has been removed from the library.
New parameters dpDamper_nominal and dpFixed_nominal have been introduced in Exponential, consistent with the valve models.
Parameter k0 has been replaced by a leakage coefficient.
For Dymola, a conversion script makes this change. However the script will not make the each keyword persist in array declarations. The keyword will have to be manually reintroduced after applying the script.
This is for IBPSA, #1188.
Buildings.ThermalZones.ReducedOrder
Buildings.ThermalZones.ReducedOrder.RC.OneElement
Buildings.ThermalZones.ReducedOrder.RC.OneElement
Buildings.ThermalZones.ReducedOrder.RC.OneElement
Buildings.ThermalZones.ReducedOrder.RC.OneElement
Buildings.ThermalZones.ReducedOrder.RC.ThreeElements
Buildings.ThermalZones.ReducedOrder.RC.ThreeElements
Buildings.ThermalZones.ReducedOrder.RC.TwoElements
Buildings.ThermalZones.ReducedOrder.RC.TwoElements
Buildings.ThermalZones.ReducedOrder.RC.FourElements
Buildings.ThermalZones.ReducedOrder.RC.FourElements
Buildings.ThermalZones.ReducedOrder.RC.OneElement
Buildings.ThermalZones.ReducedOrder.EquivalentAirTemperature.BaseClasses.PartialVDI6007
Buildings.ThermalZones.ReducedOrder.EquivalentAirTemperature.BaseClasses.PartialVDI6007
Buildings.ThermalZones.ReducedOrder.EquivalentAirTemperature.VDI6007WithWindow
Renamed convection coefficient from alpha* to hCon*.
For Dymola, a conversion script makes this change.
This is for IBPSA, #1168.

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

Buildings.Controls.OBC.CDL
Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable Corrected implementation so that it gives the correct periodicity of the table if the simulation starts at a negative time.
This is for 1834.
Buildings.Electrical
Buildings.Electrical.AC.OnePhase.Sources.PVSimple
Buildings.Electrical.AC.OnePhase.Sources.PVSimpleOriented
Buildings.Electrical.AC.ThreePhasesBalanced.Sources.PVSimple
Buildings.Electrical.AC.ThreePhasesBalanced.Sources.PVSimpleOriented
Buildings.Electrical.AC.ThreePhasesUnbalanced.Sources.PVsimple
Buildings.Electrical.AC.ThreePhasesUnbalanced.Sources.PVsimpleOriented
Buildings.Electrical.AC.ThreePhasesUnbalanced.Sources.PVsimpleOriented_N
Buildings.Electrical.AC.ThreePhasesUnbalanced.Sources.PVsimple_N
Buildings.Electrical.Interfaces.PartialPV
Corrected model so that reported power P also includes the DCAC conversion. Note that the power added to the elecrical system was correct, but the power reported in the output connector P did not include this conversion factor.
This is for 1577.
Buildings.Electrical.AC.OnePhase.Storage.Battery
Buildings.Electrical.AC.ThreePhasesBalanced.Storage.Battery
Corrected model and improved the documentation. The previous model extracted from the AC connector the input power P plus the AC/DC conversion losses, but P should be the power exchanged at the AC connector. Conversion losses are now only accounted for in the energy exchange at the battery.
This is for 1865.
Buildings.Examples.VAVReheat
Buildings.Examples.VAVReheat.ASHRAE2006
Buildings.Examples.VAVReheat.Guideline36
Connected actual VAV damper position as the measured input data for defining duct static pressure setpoint.
This is for #1873.
Buildings.Examples.VAVReheat.Controls.DuctStaticPressureSetpoint Reverse action changed to true for the pressure set-point controller.
Buildings.Examples.VAVReheat.Controls.RoomVAV Refactored the model to implement a single maximum control logic. The previous implementation led to a maximum air flow rate in heating demand.
The input connector TDis is removed. This is non backward compatible.
This is for #1873.
Buildings.Fluid
Buildings.Fluid.HeatExchangers.CoolingTowers.YorkCalc
Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.Characteristics.normalizedPower
Corrected error in computing the cooling tower fan power consumption.
This is for 1691.
Buildings.Utilities
Buildings/Resources/Python-Sources/KalmanFilter.py
Buildings.Utilities.IO.Python27.Examples.KalmanFilter
Changed the temporary file format from pickle to json as the former can trigger a segfault with JModelica simulation run in a subprocess.
This is for Buildings, #1587.

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.Controls.OBC.CDL.Continuous.LimPID Removed wrong unit declaration for gain k.
This is for Buildings, #1821.
Buildings.Fluid.Sources
Buildings.Fluid.Sources.Boundary_pT
Buildings.Fluid.Sources.Boundary_ph
Buildings.Fluid.Sources.MassFlowSource_T
Buildings.Fluid.Sources.MassFlowSource_h
Refactored handling of mass fractions which was needed to handle media such as Modelica.Media.IdealGases.MixtureGases.FlueGasSixComponents and Modelica.Media.IdealGases.MixtureGases.SimpleNaturalGas.
Prior to this change, use of these media led to a translation error.
This is for IBPSA, #1205.
Buildings.ThermalZones.Detailed
Buildings.ThermalZones.Detailed.Constructions.Examples.ExteriorWallTwoWindows
Buildings.ThermalZones.Detailed.Constructions.Examples.ExteriorWallWithWindow
Corrected wrong assignment of a parameter.
This is for IBPSA, #1766.
Buildings/Resources
Buildings/Resources/C-Sources/cryptographicsHash.c Add a #ifndef clause.
This is for IBPSA, #1278.

The following components have become obsolete:

Buildings.Obsolete
Buildings.Obsolete.Controls.OBC.CDL.Discrete.MovingMean The block Buildings.Controls.OBC.CDL.Discrete.TriggeredMovingMean replaced the original MovingMean block.
For Dymola, a conversion script makes this change.
This is for #1588.
Buildings.Obsolete.Utilities.IO.Python27 The package Buildings.Utilities.IO.Python27 has been upgraded to Buildings.Utilities.IO.Python36.
For Dymola, a conversion script moves the Python27 package to here.
This is for issue #1760.

Generated at 2024-04-19T18:16:02Z by OpenModelicaOpenModelica 1.22.3 using GenerateDoc.mos