Version 2.0.0 is a major release that contains various new packages, models and improvements.
The following major additions have been done in version 2.0:
Buildings.ThermalZones.Detailed.CFD. The CFD model is
an implementation of the Fast Fluid Dynamics code that allows
three-dimensional CFD inside a thermal zone, coupled to building
heat transfer, HVAC components and feedback control loops.Buildings.Electrical has been added.
This package allows studying buildings to electrical grid
integration. It includes models for loads, transformers, cables,
batteries, PV and wind turbines. Models exist for DC and AC systems
with two- or three-phase that can be balanced and unbalanced. The
models compute voltage, current, active and reactive power based on
the quasi-stationary assumption or using the dynamic phasorial
representation.Buildings.Controls.DemandResponse
contains models for demand response simulation.Buildings.Controls.Predictors
contains a data-driven model that predicts the electrical load of a
building. The prediction can be done either using an average
baseline or a linear regression with respect to outside
temperature. For both, optionally a day-of adjustment can be
made.The tables below give more detailed information to the revisions of this library compared to the previous release 1.6 build 1.
The following new libraries have been added:
| Buildings.Electrical | Library for electrical grid simulation that allows to study building to electrical grid integration. The library contains models of loads, generation and transmission for DC and AC systems. |
| Buildings.Controls.DemandResponse | Library with a model for demand response prediction. |
| Buildings.Controls.Predictors | Library with a data-driven model that predicts the electrical load of a building. The prediction can be done either using an average baseline or a linear regression with respect to outside temperature. For both, optionally a day-of adjustment can be made. |
The following new components have been added to existing libraries:
| Buildings.Fluid | |
| Buildings.Fluid.Actuators.Valves.TwoWayPressureIndependent | Model of a pressure-independent two way valve. |
| Buildings.Fluid.HeatExchangers.HeaterCooler_T | Model of a heater or cooler that takes as an input the set point for the temperature of the fluid that leaves the component. The set point is tracked exactly if the component has sufficient capacity. Optionally, the component can be configured to compute a dynamic rather than a steady-state response. |
| Buildings.Utilities | |
| Buildings.Utilities.Psychrometrics.Phi_pTX Buildings.Utilities.Psychrometrics.Functions.phi_pTX |
Block and function that computes the relative humidity for given pressure, temperature and water vapor mass fraction. |
| Buildings.ThermalZones | |
| Buildings.ThermalZones.Detailed.CFD | Room model that computes the room air flow using
computational fluid dynamics (CFD). The CFD simulation is coupled
to the thermal simulation of the room and, through the fluid port,
to the air conditioning system. Currently, the supported CFD
program is the Fast Fluid Dynamics (FFD) program. See
Buildings.ThermalZones.Detailed.UsersGuide.CFD for
detailed explanations. |
The following existing components have been improved in a backward compatible way:
| Buildings.BoundaryConditions | |
| Buildings.BoundaryConditions.WeatherData.ReaderTMY3 | Added option to obtain the black body sky
temperature from a parameter or an input signal rather than
computing it in the weather data reader. Removed redundant connection connect(conHorRad.HOut,
cheHorRad.HIn);. |
| Buildings.Fluid | |
| Buildings.Chillers.ElectricEIR Buildings.Chillers.ElectricReformulatedEIR |
Changed implementation so that the model is continuously differentiable. This is for issue 373. |
| Buildings.Fluid.HeatExchangers.DryCoilCounterFlow | Changed assignment of T_m to avoid
using the conditionally enabled model ele[:].mas.T,
which is only valid in a connect statement. Moved assignments of
Q1_flow, Q2_flow, T1,
T2 and T_m outside of equation section to
avoid mixing graphical and textual modeling within the same
model. |
| Buildings.Fluid.HeatExchangers.DryCoilDiscretized | Removed parameter m1_flow_nominal, as
this parameter is already declared in its base class
Buildings.Fluid.Interfaces.PartialFourPortInterface.
This change avoids an error in OpenModelica as the two declarations
had a different value for the min attribute, which is
not valid in Modelica. |
|
Buildings.Fluid.HeatExchangers.BaseClasses.CoilRegister Buildings.Fluid.HeatExchangers.BaseClasses.DuctManifoldDistributor |
Reformulated the multiple iterators in the
sum function as this language construct is not
supported in OpenModelica. |
| Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab | Set start value for hPip(fluid(T)) to
avoid a warning about conflicting start values. |
| Buildings.Fluid.Movers.SpeedControlled_y Buildings.Fluid.Movers.SpeedControlled_Nrpm Buildings.Fluid.Movers.FlowControlled_dp Buildings.Fluid.Movers.FlowControlled_m_flow |
For the parameter setting
use_powerCharacteristic=true, changed the computation
of the power consumption at reduced speed to properly account for
the affinity laws. This is in response to #202. |
| Buildings.Fluid.SolarCollectors.ASHRAE93 Buildings.Fluid.SolarCollectors.EN12975 |
Reformulated the model to avoid a translation
error if glycol is used. Propagated parameters for initialization in base class Buildings.Fluid.SolarCollectors.BaseClasses.PartialSolarCollector
and set prescribedHeatFlowRate=true. |
| Buildings.Fluid.Storage.StratifiedEnhancedInternalHex | Replaced the abs() function in the
assignment of the parameter nSegHexTan as the return
value of abs() is a Real which causes a
type error during model check. |
| Buildings.HeatTransfer | |
| Buildings.HeatTransfer.Conduction.MultiLayer | Changed the assignment of _T_a_start,
_T_b_start and RTot to be in the initial
equation section as opposed to the parameter declaration. This is
needed to avoid an error during model check and translation in
Dymola 2015 FD01 beta1. |
| Buildings.HeatTransfer.Windows.InteriorHeatTransferConvective | Changed model to allow a temperature dependent convective heat transfer on the room side. This is for issue 52. |
| Buildings.Media | |
|
Buildings.Media.Interfaces.PartialSimpleIdealGasMedium Buildings.Media.Interfaces.PartialSimpleMedium |
Set T(start=T_default) and
p(start=p_default) in the
ThermodynamicState record. Setting the start value for
T is required to avoid an error due to conflicting
start values when translating
Buildings.Examples.VAVReheat.ClosedLoop in pedantic
mode. |
| Buildings.ThermalZones | |
| Buildings.ThermalZones.Detailed.MixedAir | Changed model to allow a temperature dependent convective heat transfer on the room side for windows. This is for issue 52. |
| Rooms.BaseClasses.ExteriorBoundaryConditionsWithWindow | Conditionally removed the shade model if no shade is present. This corrects #234. |
The following existing components have been improved in a non-backward compatible way:
| Buildings.Airflow | |
| Buildings.Airflow.Multizone.ZonalFlow_ACS Buildings.Airflow.Multizone.ZonalFlow_m_flow |
Removed parameter
forceErrorControlOnFlow as it was not used. For
Dymola, the conversion script will automatically update existing
models. |
| Buildings.BoundaryConditions | |
| Buildings.BoundaryConditions.WeatherData.ReaderTMY3 | Changed the following signals for compatibility
with OpenModelica:weaBus.sol.zen to weaBus.solZen.weaBus.sol.dec to weaBus.solDec.weaBus.sol.alt to weaBus.solAlt.weaBus.sol.solHouAng to
weaBus.solHouAng.For Dymola, the conversion script will automatically update existing models. |
| Buildings.Examples | |
| Buildings.Examples.VAVReheat.Controls.IntegerSum | Removed block as it is not used in any model.
Models that require an integer sum can use
Modelica.Blocks.MathInteger.Sum. |
| Buildings.Examples.VAVReheat.Controls.UnoccupiedOn | Removed block as it is not used in any model. |
| Buildings.HeatTransfer | |
| Buildings.HeatTransfer.Data.GlazingSystems.Generic | Removed parameter nLay as
OpenModelica could not assign it during translation. For Dymola,
the conversion script will automatically update existing
models. |
| Buildings.HeatTransfer.Conduction.BaseClasses.der_temperature_u | Changed the input argument for this function from
type Buildings.HeatTransfer.Data.BaseClasses.Material
to the elements of this type as OpenModelica fails to translate the
model if the input to this function is a record. |
| Buildings.HeatTransfer.Types.Azimuth Buildings.HeatTransfer.Types.Tilt |
Moved these types from
Buildings.HeatTransfer to the top-level package
Buildings because they are used in
Buildings.BoundaryConditions,
Buildings.HeatTransfer and
Buildings.ThermalZones.Detailed.For Dymola, the conversion script will automatically update existing models. |
| Buildings.Fluid | |
| Buildings.Fluid.FixedResistances.Pipe Buildings.Fluid.FixedResistances.BaseClasses.Pipe Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab |
Renamed pressure drop from res to
preDro to use the same name as in other models. This
corrects #271.
For Dymola, the conversion script will automatically update
existing models. |
|
Buildings.Fluid.HeatExchangers.DryCoilDiscretized Buildings.Fluid.HeatExchangers.WetCoilDiscretized |
Reformulated flow splitter in the model to reduce
the dimension of the coupled linear or nonlinear system of
equations. With this revision, the optional control volume in the
duct inlet has been removed as it is no longer needed. Therefore,
the parameter dl has also been removed. Replaced the
parameters energyDynamics1 and
energyDynamics2 with energyDynamics.
Removed the parameter ductConnectionDynamics.For Dymola, the conversion script will automatically update existing models. |
| Buildings.Fluid.HeatExchangers.HeaterCoolerPrescribed | Renamed the model to HeaterCooler_u
due to the introduction of the new model
HeaterCooler_T.For Dymola, the conversion script will automatically update existing models. |
|
Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab Buildings.Fluid.HeatExchangers.RadiantSlabs.ParallelCircuitsSlab |
Changed the models to use by default an
ε-NTU approach for the heat transfer between the fluid and
the slab rather than a finite difference scheme along the flow
path. Optionally, the finite difference scheme can also be used as
this is needed for some control design applications. The new ε-NTU formulation has shown to lead to about five times faster computation on several test cases including the models in Buildings.ThermalZones.Detailed.FLEXLAB.Rooms.Examples.For Dymola, the conversion script will automatically update existing models. |
| Buildings.Fluid.HeatExchangers.BaseClasses.DuctManifoldFixedResistance | Reformulated flow splitter in the model to reduce
the dimension of the coupled linear or nonlinear system of
equations. With this revision, the optional control volume in the
duct inlet has been removed as it is no longer needed. Therefore,
the parameters dl and energyDynamics have
also been removed.For Dymola, the conversion script will automatically update existing models. |
| Buildings.Fluid.HeatExchangers.BaseClasses.CoilRegister | Replaced the parameters
energyDynamics1 and energyDynamics2 with
the new parameter energyDynamics. Removed the
parameters steadyState_1 and
steadyState_2 as this information is already contained
in energyDynamics.For Dymola, the conversion script will automatically update existing models. |
| Buildings.Fluid.MassExchangers.HumidifierPrescribed | Renamed the model to Humidifier_u due
to the introduction of the new model HeaterCooler_T
and to use the same naming pattern as
HeaterCooler_u.For Dymola, the conversion script will automatically update existing models. |
| Buildings.Fluid.Movers | This package has been redesigned. The models have
been renamed as follows:Buildings.Fluid.Movers.FlowMachine_dp is now called
Buildings.Fluid.Movers.FlowControlled_dp.Buildings.Fluid.Movers.FlowMachine_m_flow is now
called
Buildings.Fluid.Movers.FlowControlled_m_flow.Buildings.Fluid.Movers.FlowMachine_Nrpm is now called
Buildings.Fluid.Movers.SpeedControlled_Nrpm.Buildings.Fluid.Movers.FlowMachine_y is now called
Buildings.Fluid.Movers.SpeedControlled_y.In addition, the performance data of all movers are now stored in a record. These records are in Buildings.Fluid.Movers.Data. For most existing
instances, it should be sufficient to enclose the existing
performance data in a record called per. For example,
becomes
See the Buildings.Fluid.Movers.UsersGuide for more
information about these records.For Dymola, the conversion script will update existing models to use the old implementations which are now in the package Buildings.Obsolete.Fluid.Movers. |
| Buildings.Media | |
| Buildings.Media | Renamed all media to simplify the media selection. For typical
building energy simulation, Buildings.Media.Air and
Buildings.Media.Water should be used.The following changes were made. Renamed Buildings.Media.GasesPTDecoupled.MoistAirUnsaturatedto Buildings.Media.Air.Renamed Buildings.Media.ConstantPropertyLiquidWaterto Buildings.Media.Water.Renamed Buildings.Media.PerfectGases.MoistAirto Buildings.Obsolete.Media.PerfectGases.MoistAir.Renamed Buildings.Media.GasesConstantDensity.MoistAirUnsaturatedto Buildings.Obsolete.Media.GasesConstantDensity.MoistAirUnsaturated.Renamed Buildings.Media.GasesConstantDensity.MoistAirto Buildings.Obsolete.Media.GasesConstantDensity.MoistAir.Renamed Buildings.Media.GasesConstantDensity.SimpleAirto Buildings.Obsolete.Media.GasesConstantDensity.SimpleAir.Renamed Buildings.Media.IdealGases.SimpleAirto Buildings.Obsolete.Media.IdealGases.SimpleAir.Renamed Buildings.Media.GasesPTDecoupled.MoistAirto Buildings.Obsolete.Media.GasesPTDecoupled.MoistAir.Renamed Buildings.Media.GasesPTDecoupled.SimpleAirto Buildings.Obsolete.Media.GasesPTDecoupled.SimpleAir.For Dymola, the conversion script will update existing models according to the above list. |
| Buildings.Media.Water | Removed option to model water as a compressible medium as this option was not useful. |
| Buildings.ThermalZones | |
| Buildings.ThermalZones.Detailed.BaseClasses.ParameterConstructionWithWindow | Removed the keyword replaceable for
the parameters ove and sidFin.Models that instantiate Buildings.ThermalZones.Detailed.MixedAir are not
affected by this change. |
| Buildings.ThermalZones.Detailed.Examples.BESTEST | Moved the package to
Buildings.ThermalZones.Detailed.Validation.BESTEST. |
| Buildings.Utilities | |
| Buildings.Utilities.SimulationTime | Moved the block
Buildings.Utilities.SimulationTime to
Buildings.Utilities.Time.ModelTime.For Dymola, the conversion script will update existing models according to the above list. |
The following critical errors have been fixed (i.e., errors that can lead to wrong simulation results):
| Buildings.BoundaryConditions | |
| Buildings.BoundaryConditions.WeatherData.ReaderTMY3 | Corrected error that led the total and opaque sky cover to be ten times too low if its value was obtained from the parameter or the input connector. For the standard configuration in which the sky cover is obtained from the weather data file, the model was correct. This error only affected the other two possible configurations. |
| Buildings.Fluid | |
| Buildings.Fluid.Data.Pipes | Corrected wrong entries for inner and outer diameter of PEX pipes. |
| Buildings.Fluid.Geothermal.Boreholes.BaseClasses.singleUTubeResistances | Corrected error in function that used
beta before it was assigned a value. |
| Buildings.Fluid.Storage.Stratified Buildings.Fluid.Storage.StratifiedEnhanced Buildings.Fluid.Storage.StratifiedEnhancedInternalHex |
Replaced the use of
Medium.lambda_const with
Medium.thermalConductivity(sta_default) as
lambda_const is not declared for all media. This
avoids a translation error if certain media are used. |
| Buildings.Fluid.Storage.StratifiedEnhancedInternalHex | Corrected issue #271 which led to a compilation error if the heat exchanger and the tank had different media. |
| Buildings.HeatTransfer | |
| Buildings.HeatTransfer.Windows.BaseClasses.GlassLayer | Corrected issue #304 that led to an error in the glass temperatures if the glass conductance is very small. |
| Buildings.ThermalZones | |
| Buildings.ThermalZones.Detailed.MixedAir | Added propagation of the parameter value
linearizeRadiation to the window model. Prior to this
change, the radiation was never linearized for computing the glass
long-wave radiation. |
|
Buildings.ThermalZones.Detailed.FLEXLAB.Rooms.Examples.X3WithRadiantFloor Buildings.ThermalZones.Detailed.FLEXLAB.Rooms.Examples.X3AWithRadiantFloor Buildings.ThermalZones.Detailed.FLEXLAB.Rooms.Examples.X3BWithRadiantFloor |
Corrected wrong entries for inner and outer diameter of PEX pipes. |
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.Fluid | |
| Buildings.Fluid.FixedResistances.FixedResistanceDpM | Corrected error in documentation of computation of
k. |
| Buildings.HeatTransfer | |
| Buildings.HeatTransfer.Windows.BaseClasses.GlassLayer | Changed type of tauIR from
Modelica.Units.SI.Emissivity to
Modelica.Units.SI.TransmissionCoefficient. This avoids
a type error in OpenModelica. |
Note:
With version 2.0, we start using semantic versioning as described at http://semver.org/.