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.MoistAirUnsaturated to Buildings.Media.Air .Renamed Buildings.Media.ConstantPropertyLiquidWater to Buildings.Media.Water .Renamed Buildings.Media.PerfectGases.MoistAir to Buildings.Obsolete.Media.PerfectGases.MoistAir .Renamed Buildings.Media.GasesConstantDensity.MoistAirUnsaturated to Buildings.Obsolete.Media.GasesConstantDensity.MoistAirUnsaturated .Renamed Buildings.Media.GasesConstantDensity.MoistAir to Buildings.Obsolete.Media.GasesConstantDensity.MoistAir .Renamed Buildings.Media.GasesConstantDensity.SimpleAir to Buildings.Obsolete.Media.GasesConstantDensity.SimpleAir .Renamed Buildings.Media.IdealGases.SimpleAir to Buildings.Obsolete.Media.IdealGases.SimpleAir .Renamed Buildings.Media.GasesPTDecoupled.MoistAir to Buildings.Obsolete.Media.GasesPTDecoupled.MoistAir .Renamed Buildings.Media.GasesPTDecoupled.SimpleAir to 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/.