Version 1.4 build 1 contains the new package Buildings.Utilities.IO.Python27
that allows calling Python functions from Modelica.
It also contains in the package Buildings.HeatTransfer.Conduction.SingleLayer
a new model for heat conduction in phase change material. This model can be used as a layer
of the room heat transfer model.
Non-backward compatible changes had to be introduced
in the valve models
Buildings.Fluid.Actuators.Valves
to fully comply with the Modelica
language specification, and in the models in the package
Buildings.Utilities.Diagnostics
as they used the cardinality
function which is deprecated in the Modelica
Language Specification.
See below for details.
The following new libraries have been added:
Buildings.Utilities.IO.Python27 | Package that contains blocks and functions that embed Python 2.7 in Modelica. Data can be sent to Python functions and received from Python functions. This allows for example data analysis in Python as part of a Modelica model, or data exchange as part of a hardware-in-the-loop simulation in which Python is used to communicate with hardware. |
The following new components have been added to existing libraries:
Buildings.BoundaryConditions.WeatherData | |
Buildings.BoundaryConditions.WeatherData.BaseClasses.getAbsolutePath | This function is used by the weather data reader to set the path to the weather file relative to the root directory of the Buildings library. |
The following existing components have been improved in a backward compatible way:
Buildings.Fluid | |
Buildings.Fluid.MixingVolumes.BaseClasses.PartialMixingVolume | Removed the check of multiple connections to the same element
of a fluid port, as this check required the use of the deprecated
cardinality function.
|
Buildings.HeatTransfer | |
Buildings.HeatTransfer.Conduction.SingleLayer | Added option to model layers with phase change material. |
Buildings.ThermalZones | |
Buildings.ThermalZones.Detailed.BaseClasses.InfraredRadiationExchange | Removed the use of the cardinality function
as this function is deprecated in the Modelica Language Specification.
|
The following existing components have been improved in a non-backward compatible way:
Buildings.Fluid | |
Buildings.Fluid.Actuators.Valves | All valves now require the declaration of dp_nominal
if the parameter assignment is
CvData = Buildings.Fluid.Types.CvTypes.OpPoint .
This change was needed because in the previous version,
dp_nominal had
a default value of 6000 Pascals. However, if
CvData >< Buildings.Fluid.Types.CvTypes.OpPoint , then
dp_nominal is computed in the initial algorithm section and hence
providing a default value is not allowed according to
the Modelica Language Specification.
Hence, it had to be removed.As part of this change, we set dp(nominal=6000) for all valves,
because the earlier formulation uses a value that is not known during compilation,
and hence leads to an error in Dymola 2014.
|
Buildings.Fluid.MixingVolumes.MixingVolumeDryAir Buildings.Fluid.MixingVolumes.MixingVolumeMoistAir |
Removed the use of the deprecated
cardinality function.
Therefore, now all input signals must be connected.
|
Buildings.Utilities | |
Buildings.Utilities.Diagnostics.AssertEquality Buildings.Utilities.Diagnostics.AssertInequality |
Removed the option to not connect input signals, as this
required the use of the cardinality function which
is deprecated in the MSL, and not correctly implemented in OpenModelica.
Therefore, if using these models, both input signals must be connected.
|
Buildings.Utilities.Math.Functions.splineDerivatives | Removed the default value
input Boolean ensureMonotonicity=isMonotonic(y, strict=false)
as the Modelica language specification is not clear whether defaults can be computed
or must be constants.
|
The following critical errors have been fixed (i.e., errors that can lead to wrong simulation results):
Buildings.Controls | |
Buildings.Controls.SetPoints.HotWaterTemperatureReset | Corrected error that led to wrong results if the room air temperature is
different from its nominal value TRoo_nominal .
This fixes issue 74.
|
Buildings.HeatTransfer | |
Buildings.Fluid.HeatExchangers.RadiantSlabs.SingleCircuitSlab Buildings.Fluid.HeatExchangers.RadiantSlabs.ParallelCircuitSlab |
Fixed bug in the assignment of the fictitious thermal resistance by replacing
RFic[nSeg](each G=A/Rx) with
RFic[nSeg](each G=A/nSeg/Rx) .
This fixes issue 79.
|
Buildings.Utilities | |
Buildings.Utilities.Diagnostics.AssertEquality Buildings.Utilities.Diagnostics.AssertInequality |
Replaced when test with if test as
equations within a when section are only evaluated
when the condition becomes true.
This fixes issue 72.
|
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.Actuators.Valves.ThreeWayEqualPercentageLinear Buildings.Fluid.Actuators.Valves.ThreeWayLinear |
The documenation was
Fraction Kv(port_1 → port_2)/Kv(port_3 → port_2) instead of
Fraction Kv(port_3 → port_2)/Kv(port_1 → port_2).
Because the parameter set correctly its attributes
min=0 and max=1 ,
instances of these models used the correct value.
|
Buildings.Fluid.Actuators.BaseClasses.ValveParameters | Removed stray backslash in write statement. |
Buildings.Fluid.Interfaces.ConservationEquation Buildings.Fluid.Interfaces.StaticTwoPortConservationEquation Buildings.Fluid.Interfaces.StaticTwoPortHeatMassExchanger |
Removed wrong unit attribute of COut .
|
Buildings.Fluid.HeatExchangers.BaseClasses.HexElement | Changed the redeclaration of vol2 to be replaceable,
as vol2 is replaced in some models.
|
The following issues have been fixed:
Add explanation of nStaRef. | |
#70 |
Described in
Buildings.HeatTransfer.Data.Solids
how the parameter nStaRef is used
to compute the spatial grid that is used for simulating transient heat conduction.
|
Assert statement does not fire. | |
#72 |
The blocks Buildings.Utilities.Diagnostics.AssertEquality and
Buildings.Utilities.Diagnostics.AssertInequality did not fire because
the test on the time was in a when instead of an if statement.
This was wrong because when sections are only evaluated
when the condition becomes true.
|
HotWaterTemperatureReset computes wrong results if room temperature differs from nominal value.
|
|
#74 | The equation
TSup = TRoo_in_internal + ((TSup_nominal+TRet_nominal)/2-TRoo_in_internal) * qRel^(1/m) + (TSup_nominal-TRet_nominal)/2 * qRel;should be formulated as TSup = TRoo_in_internal + ((TSup_nominal+TRet_nominal)/2-TRoo_nominal) * qRel^(1/m) + (TSup_nominal-TRet_nominal)/2 * qRel; |
Bug in RadiantSlabs.SingleCircuitSlab fictitious resistance RFic.
|
|
#79 | This bug has been fixed in the assignment of the fictitious thermal resistance by replacing
RFic[nSeg](each G=A/Rx) with
RFic[nSeg](each G=A/nSeg/Rx) .
The bug also affected RadiantSlabs.ParallelCircuitSlab .
|
Note: