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: