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 formpressure(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=...)