Version 1.0 is the first official release of the
Buildings library. Compared to the last pre-release,
which is version 0.12, this version contains new models as well as
significant improvements to the model formulation that leads to
faster and more robust simulation. A detailed list of changes is
shown below.
Version 1.0 is not backward compatible to version 0.12, i.e., models developed with versions 0.12 will require some changes in their parameters to work with version 1.0. The conversion script Buildings/Resources/Scripts/Conversion/ConvertBuildings_from_0.12_to_1.0.mos can help in converting old models to this version of the library.
The following new libraries have been added:
| Buildings.Fluid.Geothermal.Boreholes | This is a library with a model for a borehole heat exchanger. |
The following new components have been added to existing libraries:
| Buildings.Airflow.Multizone | |
| Buildings.Airflow.Multizone.BaseClasses.windPressureLowRise | Added a function that computes wind pressure on the facade of low-rise buildings. |
| Buildings.Examples | |
| Buildings.Examples.ChillerPlant | Added an example for a chilled water plant model. |
| Buildings.Fluid.Interfaces | |
| Buildings.Fluid.Interfaces.UsersGuide | Added a user's guide that describes the main functionality of all base classes. |
| Buildings.Fluid.Sources | |
| Buildings.Fluid.Sources.Outside_Cp Buildings.Fluid.Sources.Outside_CpLowRise |
Added models to compute wind pressure on building facades. |
| Buildings.HeatTransfer | |
| Buildings.HeatTransfer.Conductor | Added a model for heat conduction in circular coordinates. |
| Buildings.ThermalZones.Detailed.Examples | |
| Buildings.ThermalZones.Detailed.Examples.BESTEST | Added BESTEST validation models. |
| Buildings.Utilities.Math | |
|
Buildings.Utilities.Math.Functions.cubicHermiteLinearExtrapolation Buildings.Utilities.Math.Functions.splineDerivatives. |
Added functions for cubic hermite spline interpolation, with option for monotone increasing (or decreasing) spline. |
The following existing components have been improved in a backward compatible way:
| Buildings.Airflow.Multizone | |
| Buildings.Airflow.Multizone.BaseClasses.powerLaw | This function has been reimplemented to handle zero flow rate in a more robust and more efficient way. This change improves all components that model flow resistance in the package Buildings.Airflow.Multizone. |
| Buildings.BoundaryConditions.WeatherData | |
| Buildings.BoundaryConditions.WeatherData.ReaderTMY3 | This model has now the option of using a constant value, using the data from the weather file, or from an input connector for 7 variables, including atmospheric pressure, relative humidity, dry bulb temperature, global horizontal radiation, diffuse horizontal radiation, wind direction and wind speed. |
| Buildings.Fluid | |
|
Buildings.Fluid.Actuators.BaseClasses.PartialActuator Buildings.Fluid.Actuators.BaseClasses.PartialDamperExponential Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValve Buildings.Fluid.BaseClasses.PartialResistance Buildings.Fluid.BaseClasses.FlowModels.basicFlowFunction_dp Buildings.Fluid.BaseClasses.FlowModels.basicFlowFunction_m_flow Buildings.Fluid.Interfaces.StaticTwoPortHeatMassExchanger |
The computation of the linearized flow resistance
has been moved from the functions to the model, i.e., into an
equation section. If the linear implementation is in a function
body, then a symbolic processor may not invert the equation. This
can lead to systems of coupled equations in cases where an explicit
solution is possible. In addition, the handling of zero flow rate
has been improved for the nonlinear pressure drop model. These
improvements affect all models in Buildings.Fluid that
compute flow resistance. |
| Buildings.Fluid.HeatExchangers | |
| Buildings.Fluid.HeatExchangers.HeaterCoolerPrescribed | This model can now be configured as a steady-state or dynamic model. |
|
Buildings.Fluid.HeatExchangers.DryCoilCounterFlow Buildings.Fluid.HeatExchangers.WetCoilCounterFlow Buildings.Fluid.HeatExchangers.DryCoilDiscretized Buildings.Fluid.HeatExchangers.WetCoilDiscretized |
The implementation for handling zero flow rate, if the models are used as steady-state models, have been improved. |
| Buildings.Fluid.HeatExchangers.BaseClasses.ntu_epsilonZ | Changed implementation to use
Modelica.Media.Common.OneNonLinearEquation instead of
Buildings.Utilities.Math.BaseClasses.OneNonLinearEquation,
which was removed for this version of the library. |
| Buildings.Fluid.HeatExchangers.CoolingTowers | |
|
Buildings.Fluid.HeatExchangers.CoolingTowers.YorkCalc Buildings.Fluid.HeatExchangers.CoolingTowers.FixedApproach |
These models are now based on a new base class
Buildings.Fluid.HeatExchangers.CoolingTowers.BaseClasses.CoolingTower.
This allows using the models as replaceable models without warning
when checking the model. |
| Buildings.Fluid.HeatExchangers.CoolingTowers.YorkCalc | Changed implementation of performance curve to avoid division by zero. |
| Buildings.Fluid.MassExchangers | |
| Buildings.Fluid.MassExchangers.HumidifierPrescribed | This model can now be configured as a steady-state or dynamic model. |
| Buildings.Fluid.Sensors | |
| Buildings.Fluid.Sensors.*TwoPort | All sensors with two ports, except for the mass
flow rate sensor, have been revised to add sensor dynamics. Adding
sensor dynamics avoids numerical problems when mass flow rates are
close to zero and the sensor is configured to allow flow reversal.
See Buildings.Fluid.Sensors.UsersGuide for
details. |
| Buildings.Fluid.Storage | |
| Buildings.Fluid.Storage.Stratified Buildings.Fluid.Storage.StratifiedEnhanced |
Changed the implementation of the model
Buoyancy to make it differentiable in the
temperatures. |
| Buildings.Media | |
|
Buildings.Media.Interfaces.PartialSimpleMedium Buildings.Media.Interfaces.PartialSimpleIdealGasMedium |
Moved the assignment of the
stateSelect attribute for the
BaseProperties to the model
Buildings.Fluid.MixingVolumes.MixingVolume. This
allows to handle it differently for steady-state and dynamic
models. |
| Buildings.Utilities.Psychrometrics | |
| Buildings.Utilities.Psychrometrics.Functions.TDewPoi_pW | Changed implementation to use
Modelica.Media.Common.OneNonLinearEquation instead of
Buildings.Utilities.Math.BaseClasses.OneNonLinearEquation,
which was removed for this version of the library. |
The following existing components have been improved in a non-backward compatible way:
| Buildings.Airflow.Multizone | |
| Buildings.Airflow.Multizone.MediumColumnDynamic | The implementation has been changed to better
handle mass flow rates near zero flow. This required the
introduction of a new parameter m_flow_nominal that is
used for the regularization near zero mass flow rate. |
| Buildings.Fluid | |
| Buildings.Fluid.Storage.Examples.Stratified Buildings.Fluid.MixingVolumes |
Removed the parameters use_T_start
and h_start, as T_start is more
convenient to use than h_start for building
simulation. |
| Buildings.Fluid.Boilers | |
| Buildings.Fluid.Boilers.BoilerPolynomial | The parameter dT_nominal has been
removed as it can be computed from the parameter
m_flow_nominal. This change was needed to avoid a
non-literal value for the nominal attribute for the mass flow rate
in the pressure drop model. |
| Buildings.Fluid.MixingVolumes | |
| Buildings.Fluid.MixingVolumes.MixingVolume Buildings.Fluid.MixingVolumes.MixingVolumeDryAir Buildings.Fluid.MixingVolumes.MixingVolumeMoistAir |
The implementation has been changed to better
handle mass flow rates near zero flow if the components have
exactly two fluid ports connected. This required the introduction
of a new parameter m_flow_nominal that is used for the
regularization near zero mass flow rate. |
| Buildings.Fluid.Movers | |
| Buildings.Fluid.Movers.SpeedControlled_y Buildings.Fluid.Movers.SpeedControlled_Nrpm Buildings.Fluid.Movers.FlowControlled_dp Buildings.Fluid.Movers.FlowControlled_m_flow |
The performance data are now defined through
records and not through replaceable functions. The performance data
now needs to be declared in the form
pressure(V_flow_nominal={0,V_flow_nominal,2*V_flow_nominal},
dp_nominal={2*dp_nominal,dp_nominal,0})
where pressure is an instance of a record. A similar
declaration is used for power and efficiency.The parameter m_flow_nominal has been removed from FlowMachine_y and FlowMachine_Nrpm. The parameter m_flow_max has been replaced by m_flow_nominal in FlowMachine_m_flow. The implementation of the pressure drop computation as a function of speed and volume flow rate has been revised to avoid a singularity near zero volume flow rate and zero speed. The implementation has also been simplified to avoid using two different flow paths if the models are configured for steady-state or dynamic simulation. |
| Buildings.Fluid.Interfaces | |
|
Buildings.Fluid.Interfaces.FourPortHeatMassExchanger Buildings.Fluid.Interfaces.PartialDynamicStaticFourPortHeatMassExchanger Buildings.Fluid.Interfaces.TwoPortHeatMassExchanger Buildings.Fluid.Interfaces.PartialDynamicStaticTwoPortHeatMassExchanger Buildings.Fluid.Interfaces.ConservationEquation |
The implementation has been changed to better handle mass flow rates near zero flow if the components have exactly two fluid ports connected. |
| Buildings.Fluid.Sensors | |
| Buildings.Fluid.Sensors.TemperatureTwoPortDynamic | This model has been deleted since the sensor
Buildings.Fluid.Sensors.TemperatureTwoPort has been
revised and can now also be used as a dynamic model of a
sensor. |
| Buildings.Fluid.Interfaces | |
| Buildings.Fluid.Interfaces.PartialStaticTwoPortInterface | Renamed to Buildings.Fluid.Interfaces.PartialTwoPortInterface |
| Buildings.Fluid.Interfaces.PartialStaticStaticTwoPortHeatMassExchanger | Renamed to Buildings.Fluid.Interfaces.StaticTwoPortHeatMassExchanger |
| Buildings.Fluid.Interfaces.PartialTwoPortHeatMassExchanger | Renamed to Buildings.Fluid.Interfaces.TwoPortHeatMassExchanger |
| Buildings.Fluid.Interfaces.PartialFourPort | Renamed to Buildings.Fluid.Interfaces.FourPort |
| Buildings.Fluid.Interfaces.PartialStaticStaticFourPortHeatMassExchanger | Renamed to Buildings.Fluid.Interfaces.StaticFourPortHeatMassExchanger |
| Buildings.Fluid.Interfaces.PartialStaticFourPortInterface | Renamed to Buildings.Fluid.Interfaces.PartialFourPortInterface |
| Buildings.Fluid.Interfaces.PartialFourPortHeatMassExchanger | Renamed to Buildings.Fluid.Interfaces.FourPortHeatMassExchanger |
| Buildings.Utilities.Math | |
| Buildings.Utilities.Math.BaseClasses.OneNonLinearEquation | This package has been removed, and all functions have been revised to use Modelica.Media.Common.OneNonLinearEquation. |
| Buildings.Utilities.Reports | |
| Buildings.Utilities.IO.Files.Printer Buildings.Utilities.IO.Files.BaseClasses.printRealArray |
Changed parameter precision to
significantDigits and minimumWidth to
minimumLength to use the same terminology as the
Modelica Standard Library. |
The following critical errors have been fixed (i.e., errors that can lead to wrong simulation results):
| Buildings.BoundaryConditions | |
| Buildings.BoundaryConditions.SkyTemperature.BlackBody | Fixed error in if-then statement that
led to a selection of the wrong branch to compute the sky
temperature. |
| Buildings.Media | |
| Buildings.Media.PartialSimpleMedium Buildings.Media.GasesConstantDensity.SimpleAir |
Fixed error in assignment of
singleState parameter. This change can lead to
different initial conditions if the density of water is modeled as
a function of pressure, or if the medium model
Buildings.Media.GasesConstantDensity.SimpleAir is used. |
| Buildings.Media.GasesConstantDensity Buildings.Media.GasesConstantDensity.MoistAir Buildings.Media.GasesConstantDensity.MoistAirUnsaturated Buildings.Media.GasesConstantDensity.SimpleAir |
Fixed error in the function density
which returned a non-constant density, and added a call to
ModelicaError(...) in setState_dTX since
this function cannot assign the medium pressure based on the
density (as density is a constant in this model). |
| Buildings.Media.Interfaces.PartialSimpleIdealGasMedium | Updated package with a new copy from the Modelica Standard Library, since the Modelica Standard Library fixed a bug in computing the internal energy of the medium. This bug led to very fast temperature transients at the start of the simulation. |
| Buildings.Media.Interfaces.PartialSimpleMedium | Fixed bug in function density, which always
returned d_const, regardless of the value of
constantDensity. |
| Buildings.Media.GasesPTDecoupled | Fixed bug in u=h-R*T, which is only
valid for ideal gases. For this medium, the function is
u=h-pStd/dStp. |
| Buildings.Media.GasesConstantDensity | Fixed bug in u=h-R*T, which is only
valid for ideal gases. For this medium, the function is
u=h-p/dStp. |
| Buildings.ThermalZones | |
| Buildings.ThermalZones.Detailed.MixedAir Buildings.ThermalZones.Detailed.BaseClasses.ExteriorBoundaryConditions |
Fixed bug (issue 35) that leads to the wrong solar heat gain for roofs and for floors. Prior to this bug fix, the outside facing surface of a ceiling received solar irradiation as if it were a floor and vice versa. |
| Buildings.ThermalZones.Detailed.MixedAir Buildings.ThermalZones.Detailed.BaseClasses.ExteriorBoundaryConditionsWithWindow |
Fixed bug (issue 36) that leads to too high a surface temperature of the window frame when it receives solar radiation. The previous version did not compute the infrared radiation exchange between the window frame and the sky. |
The following uncritical errors have been fixed (i.e., errors that do not lead to wrong simulation results, but, e.g., units are wrong or errors in documentation):
| Buildings.BoundaryConditions | |
| Buildings.BoundaryConditions.WeatherData.BaseClasses.ConvertRadiation | Corrected wrong unit label. |
The following issues have been fixed:
| Buildings.BoundaryConditions | |
| #8 | Add switches for new data. |
| #19 | Shift the time for the radiation data 30 min forth and output the local civil time in the data reader. |
| #41 | Using when-then sentences to reduce CPU time. |
| #43 | Add a ConvertRadiation to convert the unit of radiation from TMY3. |
| Buildings.Fluid | |
| #28 | Move scripts to Buildings\Resources\Scripts\Dymola. |
| Buildings.HeatTransfer | |
| #18 | Add a smooth interpolation function to avoid the event. |
| Buildings.Media | |
| #30 | Removed non-required structurally incomplete annotation. |
| Buildings.ThermalZones | |
| #35 | Wrong surface tilt for radiation at exterior surfaces of floors and ceilings. |
| #36 | High window frame temperatures. |
Note:
x.y and a build number.
The first official release of each version has the build number
1. For each released bug fix, the build number is
incremented. See
Modelica.UsersGuide.ReleaseNotes.VersionManagement for
details.Buildings/Resources/Scripts/Dymola and the annotation
that generates the entry in the Command pull down menu
has been changed to __Dymola_Commands(file=...)