.Buildings.UsersGuide.ReleaseNotes.Version_1_0_build1

Information

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:


Generated at 2024-04-24T18:15:52Z by OpenModelicaOpenModelica 1.22.3 using GenerateDoc.mos