This section summarizes the changes that have been performed on the Buildings library
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Name | Description |
---|---|
Version_1_0 | Version 1.0 |
Version_0_12_0 | Version 0.12.0 |
Version_0_11_0 | Version 0.11.0 |
Version_0_10_0 | Version 0.10.0 |
Version_0_9_1 | Version 0.9.1 |
Version_0_9_0 | Version 0.9.0 |
Version_0_8_0 | Version 0.8.0 |
Version_0_7_0 | Version 0.7.0 |
Version_0_6_0 | Version 0.6.0 |
Version_0_5_0 | Version 0.5.0 |
Version_0_4_0 | Version 0.4.0 |
Version_0_3_0 | Version 0.3.0 |
Version_0_2_0 | Version 0.2.0 |
Version_0_1_0 | Version 0.1.0 |
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 significants 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/Dymola/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.HeatExchangers.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.Rooms.Examples | |
Buildings.Rooms.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.FlowMachine_y Buildings.Fluid.Movers.FlowMachine_Nrpm Buildings.Fluid.Movers.FlowMachine_dp Buildings.Fluid.Movers.FlowMachine_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.LumpedVolume |
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.Reports.Printer Buildings.Utilities.Reports.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.Rooms | |
Buildings.Rooms.MixedAir Buildings.Rooms.BaseClasses.ExteriorBoundaryConditions | Fixed bug (ticket 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.Rooms.MixedAir Buildings.Rooms.BaseClasses.ExteriorBoundaryConditionsWithWindow | Fixed bug (ticket 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 trac tickets 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.Rooms | |
#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=...
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Note: The packages whose name ends with Beta
are still being validated.
Buildings.Rooms | |
Buildings.Rooms.BaseClasses.InfraredRadiationExchange | The model Buildings.Rooms.BaseClasses.InfraredRadiationExchange
had an error in the view factor approximation.
The error caused too much radiosity to flow from large to small surfaces because the law of reciprocity
for view factors was not satisfied. This led to low surface temperatures if a surface had a large area
compared to other surfaces.
The bug has been fixed by rewriting the view factor calculation.
|
The following improvements and additions have been made:
homotopy
operator.
k
as an algebraic variable.
This increases robustness.
enthalpyOfCondensingGas
and saturationPressure
in single substance media
to allow use of the room model with media that do not contain water vapor.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Note: The packages whose name ends with Beta
are still being validated.
port_b
was multiplied with the mass flow rate at
port_a
. The old implementation led to small errors that were proportional
to the amount of moisture change. For example, if the moisture added by the component
was 0.005 kg/kg
, then the error was 0.5%
.
Also, the results for forward flow and reverse flow differed by this amount.
With the new implementation, the energy and moisture balance is exact.
Advanced.OutputModelicaCodeWithJacobians=true/false;
in the model
Buildings.Examples.HydronicHeating.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
mC
to avoid wrong trajectory
when concentration is around 1E-7.
See also
https://trac.modelica.org/Modelica/ticket/393.
assert(dp_in >= 0, ...)
to assert(dp_in >= -0.1, ...)
.
The former implementation triggered the assert if dp_in
was solved for
in a nonlinear equation since the solution can be slightly negative while still being
within the solver tolerance.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
The following critical error has been fixed (i.e. error that can lead to wrong simulation results):
Buildings.Fluid.Storage. | |
Buildings.Fluid.Storage.StratifiedEnhanced | The model Buildings.Fluid.Storage.BaseClasses.Stratifier
had a sign error that lead to a wrong energy balance.
The model that was affected by this error is
Buildings.Fluid.Storage.StratifiedEnhanced.
The model
Buildings.Fluid.Storage.Stratified was not affected.The bug has been fixed by using the newly introduced model Buildings.Fluid.Storage.BaseClasses.ThirdOrderStratifier. This model uses a third-order upwind scheme to reduce the numerical dissipation instead of the correction term that was used in Buildings.Fluid.Storage.BaseClasses.Stratifier .
The model Buildings.Fluid.Storage.BaseClasses.Stratifier has been removed since it
also led to significant overshoot in temperatures when the stratification was pronounced.
|
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
epsilon-NTU
relations to compute the heat transfer.
y
, then
the flow is equal to zero if y=0
. This change required rewriting
the package to avoid division by the rotational speed.
dp_nominal
is set to zero,
then the pressure drop equation is removed. This allows, for example,
to model a heating and a cooling coil in series, and lump there pressure drops
into a single element, thereby reducing the dimension of the nonlinear system
of equations.
T
in closed form assuming no saturation. Then, a check is done to determine
whether the state is in the fog region. If the state is in the fog region,
then Internal.solve
is called. This new implementation
can lead to significantly shorter computing
time in models that frequently call T_phX
.
A
to avoid compilation error
if the parameter is disabled but not specified.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Medium.BaseProperties
the initialization
X(start=X_start[1:Medium.nX])
. Previously, the initialization
was only done for Xi
but not for X
, which caused the
medium to be initialized to reference_X
, ignoring the value of X_start
.
Buildings.Media.PerfectGases.MoistAirNonSaturated
to
Buildings.Media.PerfectGases.MoistAirUnsaturated
and Buildings.Media.GasesPTDecoupled.MoistAirNoLiquid
to
Buildings.Media.GasesPTDecoupled.MoistAirUnsaturated,
and added assert
statements if saturation occurs.
enthalpyOfNonCondensingGas
and its derivative.
eOn
.
Fixed error by introducing parameter Td
,
which used to be hard-wired in the PID controller.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
RealInput
ports, which are obsolete
in Modelica 3.0.
Buildings.Fluid.HeatExchangers.HeaterCoolerIdeal
to
Buildings.Fluid.HeatExchangers.HeaterCoolerPrescribed
to have the same nomenclatures as is used for
Buildings.Fluid.MassExchangers.HumidifierPrescribed
d m_flow/d p
near the origin that is not too steep for a Newton-based solver.
dp
in
Buildings.Fluid.BaseClasses.PartialResistance and in its
child classes.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Kv
or Cv
can
be used as the flow coefficient (in [m3/h] or [USG/min]).
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
Buildings
library is upgraded to
to Modelica 3.0.0, it should be safe to remove this bug fix.
0
and 1
. This was in earlier versions restricted.
In the same model, a bug was fixed that caused the flow to be largest for y=0
, i.e., when the damper is closed.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
New in this version are models for two and three way valves.
In addition, the Fluids
package has been slightly revised.
The package Fluid.BaseClasses
has been added because in
the previous version, partial models for fixed resistances
where part of the Actuator
package.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).
First release of the library.
This version contains basic models for modeling building HVAC systems. It also contains new medium models in the package Buildings.Media. These medium models have simpler property functions than the ones from Modelica.Media. For example, there is medium model with constant heat capacity which is often sufficiently accurate for building HVAC simulation, in contrast to the more detailed models from Modelica.Media that are valid in a larger temperature range, at the expense of introducing non-linearities due to the medium properties.
Extends from Modelica.Icons.ReleaseNotes (Icon for release notes in documentation).