Version 8.0.0 is a major release that contains the first version of the Spawn of EnergyPlus coupling. The library has been tested with Dymola 2021, JModelica (revision 14023), and OPTIMICA (revision OCT-stable-r19089_JM-r14295).
The following major changes have been done:
Buildings.ThermalZones.EnergyPlus
contains the first version of the Spawn of EnergyPlus coupling that is being developed
at https://lbl-srg.github.io/soep.
The Spawn coupling allows to model HVAC and controls in Modelica, and graphically connect to
EnergyPlus models for thermal zones, schedules, EMS actuators and output variables.
This allows for example to model HVAC systems, HVAC controls and controls for active facade systems in Modelica,
and use the EnergyPlus envelope model to simulate heat transfer through the building envelope, including the
heat and light transmission through the windows for the current control signal of the active shade.
Buildings.DHC
contains models for district heating and cooling systems
that are being developed for the URBANopt District Energy System software.
Buildings.Media.Antifreeze.PropyleneGlycolWater
allows modeling
of propylene-glycol water mixtures.
Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU
has been added. This model is applicable for fully-dry, partially-wet, and fully-wet regimes.
In contrast to Buildings.Fluid.HeatExchangers.WetCoilCounterFlow
and
to Buildings.Fluid.HeatExchangers.WetCoilDiscretized
,
this model uses the epsilon-NTU relationship rather than a spatial discretization of the coil.
This leads to fewer state variables and generally to a faster simulation.
Buildings.Airflow.Multizone
.
For more details, please see the release notes below.
The following new libraries have been added:
Buildings.BoundaryConditions | |
Buildings.BoundaryConditions.Validation.BESTEST | Packages with validation models for the weather data BESTEST. This is for IBPSA, issue 1314. |
Buildings.Experimental | |
Buildings.DHC | Packages for modeling district heating
and cooling systems. These packages contain components supporting the integration within the URBANopt SDK. The development is in progress. |
Buildings.Media | |
Buildings.Media.Antifreeze.PropyleneGlycolWater | Package with medium model for propylene glycol water mixtures. This is for IBPSA, issue 1410. |
Buildings.ThermalZones | |
Buildings.ThermalZones.EnergyPlus | Package for Spawn of EnergyPlus that couples Modelica directly
to the EnergyPlus envelope model. The models in this package allow simulating the envelope heat transfer of one or several buildings in EnergyPlus, and simulating HVAC and controls in Modelica. EnergyPlus objects are represented graphically as any other Modelica models, and the coupling and co-simulation is done automatically based on these models. |
The following new components have been added to existing libraries:
Buildings.Airflow.Multizone | |
Buildings.Airflow.Multizone.DoorOpen Buildings.Airflow.Multizone.DoorOperable |
Simplified model for large openings with bi-directional, buoyancy-induced air flow, such as open doors. This is for IBPSA, issue 1353. |
Buildings.Controls.OBC | |
Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.SetPoints.GroupStatus | Find minimum and maximum values regarding the status of zones in one group. This is needed
for specifying the group operating mode according to ASHRAE Guideline 36, May 2020 version. This is for # 1893. |
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.SetPoints.ModeAndSetPoints | Moved from Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.ModeAndSetPoints,
reimplemented to use the operating mode specified according to ASHRAE G36 official release and changed
the heating and cooling demand limit level to be inputs. This is for # 1893. |
Buildings.Controls.OBC.CDL.Continuous.PID | New implementation of the PID controller. This is for # 2056 and for # 2182. |
Buildings.Controls.OBC.CDL.Continuous.PIDWithReset | New implementation of the PID controller with output reset based on a boolean trigger.
This implementation allows to reset the output of the controller
to a parameter value. (Resetting it to an input was never used and is now removed for simplicity.) This is for # 2056 and for # 2182. |
Buildings.Controls.OBC.CDL.Logical.TimerAccumulating | New timer that accumulates time. The output will be reset to zero when the reset input
becomes true .This is for # 2101. |
Buildings.Controls.OBC.CDL.Integers.Sources.Pulse | Integer pulse source signal.This is for # 2125 and # 2282. |
Buildings.Controls.OBC.CDL.Integers.Sources.TimeTable | Time table for Integer outputs.Each output is held constant between two consecutive entries in each column of the table parameters.This is for # 2125. |
Buildings.Controls.OBC.CDL.Logical.Sources.TimeTable | Time table for Boolean outputs.This is for # 2125. |
Buildings.Examples | |
Buildings.Examples.VAVReheat.Controls.SupplyAirTemperature | Control block for tracking the supply air temperature set point. This is for # 2024. |
Buildings.Examples.VAVReheat.Controls.SupplyAirTemperatureSetpoint | Computation of the supply air temperature set point based on the operation mode. This is for # 2024. |
Buildings.Fluid | |
Buildings.Fluid.Actuators.Valves.TwoWayButterfly | Two way valve with the flow characteristic of a butterfly valve. This is for IBPSA, issue 975. |
Buildings.Fluid.HeatExchangers.WetCoilEffectivenessNTU | Cooling coil model applicable for fully-dry, partially-wet, and fully-wet regimes.
In contrast to Buildings.Fluid.HeatExchangers.WetCoilCounterFlow and
to Buildings.Fluid.HeatExchangers.WetCoilDiscretized ,
this model uses the epsilon-NTU relationship rather than a spatial discretization of the coil.
This leads to fewer state variables and generally to a faster simulation.This is for # 622. |
The following existing components have been improved in a backward compatible way:
Buildings.Air | |
Buildings.Air.Systems.SingleZone.VAV.Examples.Guideline36 | Updated AHU controller which applies the sequence of specifying operating mode
according to G36 official release. This is for # 1893. |
Buildings.Controls.OBC.ASHRAE | |
Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.Controller | Changed the default heating maximum airflow setpoint to 30% of the zone nominal airflow. This is for # 2172. |
Buildings.Controls.OBC.CDL | |
Buildings.Controls.OBC.CDL.Continuous.MovingMean Buildings.Controls.OBC.CDL.Continuous.PID Buildings.Controls.OBC.CDL.Continuous.PIDWithReset Buildings.Controls.OBC.CDL.Continuous.SlewRateLimiter Buildings.Controls.OBC.CDL.Continuous.Sources.CalendarTime Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp Buildings.Controls.OBC.CDL.Continuous.Sources.Sin Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable Buildings.Controls.OBC.CDL.Discrete.DayType Buildings.Controls.OBC.CDL.Discrete.FirstOrderHold Buildings.Controls.OBC.CDL.Discrete.Sampler Buildings.Controls.OBC.CDL.Discrete.UnitDelay Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold Buildings.Controls.OBC.CDL.Logical.Sources.Pulse Buildings.Controls.OBC.CDL.Logical.Sources.SampleTrigger Buildings.Controls.OBC.CDL.Logical.Timer Buildings.Controls.OBC.CDL.Logical.TimerAccumulating Buildings.Controls.OBC.CDL.Logical.TriggeredTrapezoid Buildings.Controls.OBC.CDL.Logical.TrueDelay Buildings.Controls.OBC.CDL.Logical.TrueFalseHold Buildings.Controls.OBC.CDL.Logical.TrueHoldWithReset Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi Buildings.Controls.OBC.Utilities.SetPoints.SupplyReturnTemperatureReset Buildings.Controls.OBC.CDL.Utilities.SunRiseSet |
Reformulated to remove dependency to Modelica.Units.SI .This is for issue 2243. |
Buildings.Controls.OBC.CDL.Continuous.Greater Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold Buildings.Controls.OBC.CDL.Continuous.Less Buildings.Controls.OBC.CDL.Continuous.LessThreshold |
Added option to specify a hysteresis, which by default is set to 0. |
Buildings.Controls.OBC.Utilities | |
Buildings.Controls.OBC.Utilities.OptimalStart | Refactored sampling of history of temperature slope to only sample when control error requires optimal start up. This is for #2345. |
Buildings.Examples | |
Buildings.Examples.HydronicHeating.TwoRoomsWithStorage | Changed dpVal_nominal to 6 kPa.
This is for issue 2378.
|
Buildings.Examples.VAVReheat.BaseClasses.Floor | Refactored model to extend from the newly added Buildings.Examples.VAVReheat.BaseClasses.PartialFloor model.This is for issue 1502. |
Buildings.Examples.VAVReheat.BaseClasses.PartialOpenLoop | Declared the rooms in a new model Buildings.Examples.VAVReheat.BaseClasses.Floor
to allow use of the model with the Modelica or the Spawn envelope model. |
Buildings.Examples.DualFanDualDuct.ClosedLoop Buildings.Examples.ScalableBenchmarks.BuildingVAV.Examples.OneFloor_OneZone Buildings.Examples.ScalableBenchmarks.BuildingVAV.Examples.TwoFloor_TwoZone Buildings.Examples.VAVReheat.ASHRAE2006 Buildings.Examples.VAVReheat.Guideline36 |
Adapted the model to the updated control of supply air temperature. This is for issue 2024. |
Buildings.Examples.VAVReheat.Guideline36 | Upgraded sequence of specifying operating mode according to G36 official release. This is for issue 1893. |
Buildings.Examples.VAVReheat.Guideline36 | Change component name yOutDam to yExhDam
and update documentation graphic to include relief damper.This is for #2399. |
Buildings.Examples.VAVReheat.ASHRAE2006 | Update documentation graphic to include relief damper. This is for #2399. |
Buildings.Fluid | |
Buildings.Fluid.FixedResistances.PlugFlowPipe | Improved calculation of time constant to avoid negative values in some special cases. This is for IBPSA, issue 1427. |
Buildings.Fluid.HeatExchangers.DryCoilEffectivenessNTU Buildings.Fluid.HeatExchangers.PlateHeatExchangerEffectivenessNTU Buildings.Fluid.HeatExchangers.PartialEffectivenessNTU |
Added a warning for when Q_flow_nominal is specified with the wrong sign.
|
Buildings.Fluid.HeatExchangers.RadiantSlabs Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Functions.AverageResistance |
Corrected inequality test on alpha ,
and changed print statement to an assertion with assertion level set to warning.This is for issue 2009. |
Buildings.Fluid.HeatExchangers.DryCoilEffectivenessNTU Buildings.Fluid.HeatExchangers.PlateHeatExchangerEffectivenessNTU Buildings.Fluid.HeatExchangers.PartialEffectivenessNTU |
Added a warning for when Q_flow_nominal is specified with the wrong sign.
|
Buildings.Fluid.HeatExchangers.RadiantSlabs Buildings.Fluid.HeatExchangers.RadiantSlabs.BaseClasses.Functions.AverageResistance |
Corrected inequality test on alpha ,
and changed print statement to an assertion with assertion level set to warning.This is for issue 2009. |
Buildings.Fluid.Sensors.EnthalpyFlowRate Buildings.Fluid.Sensors.EntropyFlowRate Buildings.Fluid.Sensors.LatentEnthalpyFlowRate Buildings.Fluid.Sensors.SensibleEnthalpyFlowRate Buildings.Fluid.Sensors.VolumeFlowRate |
Changed parameter values to use as default a steady-state sensor signal. This is for IBPSA, issue 1406. |
Buildings.Media | |
Buildings.Media.Refrigerants.R410A | Improved implementation, which now works with OpenModelica. This is for IBPSA, issue 1414. |
Buildings.Utilities | |
Buildings.Utilities.Cryptographics.sha | Corrected memory leak. |
The following existing components have been improved in a non-backward compatible way:
Buildings.Air | |
Buildings.Air.Systems.SingleZone.VAV | Updated parameters of the two HVAC controllers such as PI gains, damper positions,
and supply air temperature limits to make example models comparable.
Added CO2 monitoring. This is for issue 1608. |
Buildings.Air.Systems.SingleZone.VAV.ChillerDXHeatingEconomizerController | Moved and renamed to
Buildings.Air.Systems.SingleZone.VAV.BaseClasses.ControllerChillerDXHeatingEconomizer .
Also a bug fix was implemented that enables the fan when cooling needed during unoccupied hours.This is for issue 2265. For Dymola, a conversion script makes this change. |
Buildings.Controls.Continuous | |
Buildings.Controls.Continuous.LimPID Buildings.Controls.Continuous.PIDHysteresis Buildings.Controls.Continuous.PIDHysteresisTimer |
Corrected wrong convention of reverse and direct action.
The previous parameter reverseAction with a default of false
has been removed, and
a new parameter reverseActing with a default of true
has been added. This was done because the previous implementation wrongly interpreted reverse action
as the control output changing in reverse to the change in control error, but the
industry convention is that reverse action means that the control output
changes in reverse to the measurement signal.This is for IBPSA, #1365. For Dymola, a conversion script makes this change. |
Buildings.Controls.OBC.ASHRAE.G36_PR1 | |
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.MultiZone.VAV.Economizers.Subsequences.Modulation | Removed parameter samplePeriod and removed delay on actuator signal
to avoid a large delay in this feedback loop.This is for issue 2454. |
Buildings.Controls.OBC.ASHRAE.G36_PR1.AHUs.SingleZone.VAV.Controller | Updated the block of specifying operating mode and setpoints. This is for issue 1893. |
Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.SetPoints.OperationMode | Upgraded the sequence according to ASHRAE Guideline 36, May 2020 version. This is for issue 1893. |
Buildings.Controls.OBC.CDL.Continuous | |
Buildings.Controls.OBC.CDL.Continuous.ChangeSign Buildings.Controls.OBC.CDL.Continuous.HysteresisWithHold |
Moved blocks to Obsolete package because they can be implemented with other blocks
and have only rarely been used.This is for issue 2134. For Dymola, a conversion script makes this change. |
Buildings.Controls.OBC.CDL.Continuous.LimPID | Corrected wrong convention of reverse and direct action.
The previous parameter reverseAction with a default of false
has been removed, and
a new parameter reverseActing with a default of true
has been added. This was done because the previous implementation wrongly interpreted reverse action
as the control output changing in reverse to the change in control error, but the
industry convention is that reverse action means that the control output
changes in reverse to the measurement signal.This is for IBPSA, #1365. For Dymola, a conversion script makes this change. |
Buildings.Controls.OBC.CDL.Continuous.LimPID | Moved model to Building.Obsolete.Controls.OBC.CDL.Continuous .Instead of this model, use the new model Buildings.Controls.Continuous.PID or
Buildings.Controls.Continuous.PIDWithReset .This is for issue 2056. |
Buildings.Controls.OBC.CDL.Continuous.GreaterEqualThreshold Buildings.Controls.OBC.CDL.Continuous.GreaterEqual Buildings.Controls.OBC.CDL.Continuous.LessEqualThreshold Buildings.Controls.OBC.CDL.Continuous.LessEqual |
Moved blocks to obsolete package. Instead of these blocks, use the ones that
do not contain the word Equal
in their name. This was done because for real-valued, measured quantities, there is
no reason to distinguish between weak and strict inequality
(due to sensor noise, or within a simulation, due to solver noise or rounding errors).This is for #2076. For Dymola, a conversion script makes this change. |
Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold Buildings.Controls.OBC.CDL.Continuous.LessThreshold Buildings.Controls.OBC.CDL.Continuous.NumberOfRequests |
Renamed parameter threshold to t .This is for #2076. For Dymola, a conversion script makes this change. |
Buildings.Controls.OBC.CDL.Continuous.NumberOfRequests | Moved block to obsolete package because this block is not needed,
and it would need to be refactored to add hysteresis. This is for #2124. For Dymola, a conversion script makes this change. |
Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse | Removed startTime parameter. Introduced shift parameter.This is for issue 2170 and issue 2282. For Dymola, a conversion script makes this change. |
Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse | Removed parameter nperiod .This is for issue 2170. |
Buildings.Controls.OBC.CDL.Logical | |
Buildings.Controls.OBC.CDL.Logical.Latch Buildings.Controls.OBC.CDL.Logical.Toggle |
Removed the parameter pre_y_start , and made the initial output to be equal to
latch or toggle input when the clear input is false .This is for #2177. For Dymola, a conversion script makes this change. |
Buildings.Controls.OBC.CDL.Logical.Timer | Removed reset boolean input and added boolean output passed
to show if the time becomes greater than threshold time.This is for #2101. |
Buildings.Controls.OBC.CDL.Logical.Sources.SampleTrigger Buildings.Controls.OBC.CDL.Logical.Sources.Pulse |
Removed startTime parameter. Introduced shift parameter.This is for issue 2170 and issue 2282. For Dymola, a conversion script makes this change. |
Buildings.Controls.OBC.CDL.Integers | |
Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold Buildings.Controls.OBC.CDL.Integers.GreaterThreshold Buildings.Controls.OBC.CDL.Integers.LessThreshold |
Renamed parameter threshold to t .This is for #2076. For Dymola, a conversion script makes this change. |
Buildings.Controls.OBC.CDL.Psychrometrics | |
Buildings.Controls.OBC.CDL.Psychrometrics.TDewPoi_TDryBulPhi Buildings.Controls.OBC.CDL.Psychrometrics.TWetBul_TDryBulPhi Buildings.Controls.OBC.CDL.Psychrometrics.h_TDryBulPhi |
Renamed blocks and removed input connector for pressure. This is for #2139. For Dymola, a conversion script will rename existing instance to use the old versions which have been moved to the Buildings.Obsolete package. |
Buildings.Controls.OBC.Utilities | |
Buildings.Controls.OBC.Utilities.SetPoints | Moved package from Buildings.Controls.OBC.CDL.SetPoints .This is for #2355. |
Buildings.Controls.OBC.UnitConversions | |
Buildings.Controls.OBC.UnitConversions.From_Btu Buildings.Controls.OBC.UnitConversions.From_quad Buildings.Controls.OBC.UnitConversions.To_Btu Buildings.Controls.OBC.UnitConversions.To_quad |
Corrected quantity from Work to Energy .This is for #2245. |
Buildings.Examples.VAVReheat | |
Buildings.Examples.VAVReheat.ASHRAE2006 Buildings.Examples.VAVReheat.Guideline36 Buildings.Examples.VAVReheat.BaseClasses.PartialOpenLoop |
Refactored model to implement the economizer dampers directly in
Buildings.Examples.VAVReheat.BaseClasses.PartialOpenLoop rather than through the
model of a mixing box. Since the version of the Guideline 36 model has no exhaust air damper,
this leads to simpler equations.
This is for issue #2454. |
Buildings.Examples.VAVReheat.BaseClasses.VAVBranch | Moved to Buildings.Obsolete.Examples.VAVReheat.BaseClasses.VAVBranch
and replaced by Buildings.Examples.VAVReheat.BaseClasses.VAVReheatBox .
This is for issue #2059. For Dymola, a conversion script makes this change. |
Buildings.Examples.VAVReheat.Controls.Economizer | Updated the block with an input for enabling outdoor air damper opening and an input for
economizer cooling signal. This is for issue 2024. |
Buildings.Examples.VAVReheat.Controls.EconomizerTemperatureControl | This block is now retired. This is for issue 2024. |
Buildings.Experimental | |
Buildings.Experimental.DistrictHeatingCooling | Moved package to Buildings.Obsolete.DistrictHeatingCooling .Generic components for DHC system modeling are now developed under Buildings.DHC .
|
The following critical errors have been fixed (i.e., errors that can lead to wrong simulation results):
Buildings.Applications.DataCenters.ChillerCooled.Equipment | |
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.FourPortResistanceChillerWSE Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialChillerWSE Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialCoolingCoilHumidifyingHeating Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialHeatExchanger Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialIntegratedPrimary Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialPlantParallel Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialPumpParallel Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.ThreeWayValveParameters Buildings.Applications.DataCenters.ChillerCooled.Equipment.IntegratedPrimaryLoadSide Buildings.Applications.DataCenters.ChillerCooled.Equipment.IntegratedPrimaryPlantSide Buildings.Applications.DataCenters.ChillerCooled.Equipment.IntegratedPrimarySecondary Buildings.Applications.DataCenters.ChillerCooled.Equipment.NonIntegrated Buildings.Applications.DataCenters.ChillerCooled.Equipment.WatersideEconomizer |
Corrected fixed flow resistance settings and added ideal mixing junctions. This is for issue 2446. |
Buildings.Controls.OBC.CDL.Integers | |
Buildings.Controls.OBC.CDL.Integers.Change | Corrected initialization of previous value of input to use the current input rather than 0 .This is for issue 2294. |
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.Continuous | |
Buildings.Controls.OBC.CDL.Continuous.Greater Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold Buildings.Controls.OBC.CDL.Continuous.Less Buildings.Controls.OBC.CDL.Continuous.LessThreshold |
Corrected documentation. This is for issue 2246. |
Note: