From f65bb5c6f4789cbaf769720d297779b01483957f Mon Sep 17 00:00:00 2001
From: Tobias Reischl
Date: Tue, 4 Aug 2026 13:51:01 +0200
Subject: [PATCH] see PR notes
---
CITATION.cff | 4 +-
README.md | 27 +-
TILMediaWrapper/package.mo | 2 +-
.../Resources/Scripts/Dymola/libraryinfo.mos | 4 +-
ThermofluidStream/UsersGuide/ReleaseNotes.mo | 251 ++++++++++++++++--
ThermofluidStream/package.mo | 7 +-
6 files changed, 247 insertions(+), 48 deletions(-)
diff --git a/CITATION.cff b/CITATION.cff
index c7cc8439..481c0944 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -39,7 +39,7 @@ authors:
given-names: "Niclas"
affiliation: "DLR Institute of System Architectures in Aeronautics"
-version: "1.3.0"
-date-released: "2026-04-30"
+version: "1.4.0"
+date-released: "2026-08"
license: "BSD-3-Clause"
repository-code: "https://github.com/DLR-SR/ThermofluidStream"
\ No newline at end of file
diff --git a/README.md b/README.md
index 7b7a1ccb..9d5902e5 100644
--- a/README.md
+++ b/README.md
@@ -7,19 +7,20 @@ The DLR Thermofluid Stream Library is a free open-source library for the robust
## News
-30.04.2026: Release of TFS 1.3.0 (Minor Release);
-Release 1.3.0 Highlights
-
-- Updated dependencies to **Modelica Standard Library 4.1.0** and **Complex 4.1.0**.
-- Added new **`CentrifugalPump`** model with characteristic-based parameterization and test models.
-- Added **`StaticHead`** and **`TankCuboid`** components.
-- Improved **OpenModelica/OMEdit compatibility**, especially for `CentrifugalPump` and `SingleSensorSelect`.
-- Improved **pressure-drop visualization** for `FlowResistance` and valve components.
-- Extended **incompressible media** with additional thermodynamic properties.
-- Improved **moist-air media functions**, including `isentropicExponent` and `specificEntropy`.
-- Fixed Reynolds-number calculation in **`dp_tau_centrifugal`**.
-- Improved NTU heat exchanger documentation and simplified `PartialNTU`.
-- Added and updated **Dymola** and **Modelon Impact** metadata.
+August 2026: Release of TFS 1.4.0 (Minor Release)
+
+### Release 1.4.0 Highlights
+
+- Added the new **`ThermofluidStream.Idealized`** package for simplified thermodynamic process and cycle modeling.
+- Added the new **`ThreeWayValve`** model based on `BasicControlValve`; the previous `Switch` model is now obsolete.
+- Substantially improved the **sensor package**, including icons, connector placement, dynamic value displays, numerical formatting and selectable display units.
+- Improved **valve diagnostics and validation**, including unreachable-set-point indicators and checks for invalid `dp_ref` and `rho_ref` modifications.
+- Deprecated the **`Cvs_UK`** flow-coefficient option while retaining it for compatibility.
+- Improved **heat-exchanger** connector handling, icons, assertions and OpenModelica compatibility.
+- Improved graphical rendering and cross-tool compatibility of **idealized thermodynamic processes**.
+- Updated the **`SimpleAirCycle`** example and several media, pump and heat-exchanger examples.
+- Changed the default value of **`Idealized.Processes.Isenthalpic.enforcePressureDrop`** from `true` to `false` to improve numerical robustness.
+- Added and updated regression tests and fixed several issues in sensors, valves, heat exchangers, documentation and graphical annotations.
## Highlights
diff --git a/TILMediaWrapper/package.mo b/TILMediaWrapper/package.mo
index 4664fe1c..f62bba29 100644
--- a/TILMediaWrapper/package.mo
+++ b/TILMediaWrapper/package.mo
@@ -6,7 +6,7 @@ package TILMediaWrapper "Wrapper for the TIL Media Suite"
version="0.1.2",
uses(
Modelica(version="4.1.0"),
- ThermofluidStream(version="1.3.0"),
+ ThermofluidStream(version="1.4.0"),
TILMedia(version="3.15.0")),
Documentation(info="
This is the interface to the VLE-Fluid (Vapor-Liquid Equilibrium) media models from TILMedia Suite by TLK-Thermo GmbH.
diff --git a/ThermofluidStream/Resources/Scripts/Dymola/libraryinfo.mos b/ThermofluidStream/Resources/Scripts/Dymola/libraryinfo.mos
index c039e72a..7ba18098 100644
--- a/ThermofluidStream/Resources/Scripts/Dymola/libraryinfo.mos
+++ b/ThermofluidStream/Resources/Scripts/Dymola/libraryinfo.mos
@@ -1,8 +1,8 @@
LibraryInfoMenuCommand(
category="libraries",
- text="ThermofluidStream 1.3.0",
+ text="ThermofluidStream 1.4.0",
reference="ThermofluidStream",
- version="1.3.0",
+ version="1.4.0",
ModelicaVersion = ">= 4.1",
isModel=true,
description="ThermofluidStream Library by DLR",
diff --git a/ThermofluidStream/UsersGuide/ReleaseNotes.mo b/ThermofluidStream/UsersGuide/ReleaseNotes.mo
index dfb0333f..cdba40ce 100644
--- a/ThermofluidStream/UsersGuide/ReleaseNotes.mo
+++ b/ThermofluidStream/UsersGuide/ReleaseNotes.mo
@@ -1,11 +1,12 @@
within ThermofluidStream.UsersGuide;
package ReleaseNotes "Release notes"
- extends Modelica.Icons.ReleaseNotes;
+extends Modelica.Icons.ReleaseNotes;
class VersionManagement "Version Management"
- extends Modelica.Icons.ReleaseNotes;
+extends Modelica.Icons.ReleaseNotes;
+
+annotation (Documentation(info="
- annotation (Documentation(info="
Version management
@@ -13,7 +14,6 @@ The ThermofluidStream library uses semantic versioning following the convention:
MAJOR.MINOR.PATCH
-
-
MAJOR versions may contain incompatible changes that require users
@@ -36,9 +36,9 @@ should be updated, especially
version, versionDate,
-annotation(version = "1.3.0",
- versionDate = "2026-04-30",
- dateModified = "2026-04-30",
+annotation(version = "1.4.0",
+ versionDate = "YYYY-MM-DD",
+ dateModified = "YYYY-MM-DD",
revisionId = "$Format:%h %ci$")
@@ -48,23 +48,213 @@ the released version represents when the library is exported from a Git tag.
Recommended release procedure
-
- Update the release notes.
- Update the top-level package annotation to the new version.
- Update tool-specific metadata, for example Dymola or Modelon Impact metadata, if present.
- Run the regression tests and tool checks.
- - Create and push the Git tag, for example
v1.3.0.
+ - Create and push the Git tag, for example
v1.4.0.
- Create the GitHub release from the tag.
"));
end VersionManagement;
+class Version_1_4_0 "Version 1.4.0 (August 2026)"
+extends Modelica.Icons.ReleaseNotes;
+
+annotation (Documentation(info="
+
+
+Version 1.4.0 is a minor release of the DLR Thermofluid Stream Library.
+It introduces the new ThermofluidStream.Idealized package,
+new flow-control functionality and major improvements to sensors, valves,
+heat exchangers and examples.
+
+
+
+No conversion script is required. Existing models may nevertheless require
+parameter adjustments because of changed defaults and new validation checks.
+
+
+Highlights
+
+ -
+ Added the new
+ ThermofluidStream.Idealized
+ package for simplified thermodynamic process and cycle modeling.
+
+ -
+ Added
+ ThreeWayValve;
+ the previous
+ Switch
+ model is now obsolete.
+
+ -
+ Substantially improved sensor icons, connector placement, dynamic value
+ displays, numerical formatting and selectable display units.
+
+ -
+ Improved valve diagnostics and added validation of standardized
+ flow-coefficient reference values.
+
+ -
+ Improved heat-exchanger icons, assertions and OpenModelica compatibility.
+
+ -
+ Updated the
SimpleAirCycle example and several media,
+ pump and heat-exchanger examples.
+
+
+
+New functionality
+
+Idealized thermodynamic modeling
+
+The new ThermofluidStream.Idealized package provides boundaries,
+thermofluid components, energy-flow models, idealized thermodynamic processes,
+topology models, utilities, examples and tests for conceptual thermodynamic
+system analysis.
+
+
+Three-way valve
+
+A new ThreeWayValve based on BasicControlValve
+has been added. It provides parameterization similar to the previous
+Switch model and includes a graphical indication of the valve
+position. The previous Switch model remains available but is
+marked obsolete.
+
+
+Improvements and fixes
+
+Sensors
+
+ -
+ Improved icons, connector placement, numerical formatting and dynamic
+ measurement-value displays.
+
+ -
+ Added display units for specific enthalpy, specific entropy, molar mass,
+ enthalpy flow and entropy flow.
+
+ -
+ Corrected the mass-flow output unit in
MultiSensor_Tpm.
+
+
+
+Flow control
+
+ -
+ Added visual indications to
MCV and PCV
+ when the requested set point cannot be reached.
+
+ -
+ Assertion messages now identify the affected component instance.
+
+ -
+ Deprecated the
Cvs_UK flow-coefficient option while
+ retaining it for compatibility.
+
+ -
+ Added validation of
dp_ref and rho_ref
+ when standardized flow coefficients are used.
+
+ -
+ Improved valve icon compatibility with OpenModelica.
+
+
+
+Heat exchangers
+
+ -
+ Improved connector handling and OpenModelica compatibility of
+ discretized heat exchangers.
+
+ -
+ Redesigned counter-flow and cross-flow heat-exchanger icons.
+
+ -
+ Corrected mass-flow assertions in
PartialDiscretizedHEX.
+
+
+
+Idealized processes and examples
+
+ -
+ Improved process icons and dynamic icon visibility in Dymola and
+ OpenModelica.
+
+ -
+ Corrected instance-name displays of isenthalpic and isobaric processes.
+
+ -
+ Updated media, pump and heat-exchanger examples.
+
+ -
+ Updated
SimpleAirCycle for a regional-aircraft cruise
+ operating point and added additional sensor and cooling-power displays.
+
+
+
+Migration notes
+
+Isenthalpic pressure-drop enforcement
+
+The default value of
+ThermofluidStream.Idealized.Processes.Isenthalpic.enforcePressureDrop
+has changed from true to false to improve numerical
+robustness. Models requiring the previous behavior must explicitly set:
+
+
+
+enforcePressureDrop = true
+
+
+Valve reference values
+
+When using Kvs, Cvs_US or Cvs_UK,
+the following reference values must not be modified:
+
+
+
+ dp_ref = 1 bar
+ rho_ref = 1000 kg/m3
+
+
+
+New assertions detect modified reference values because these currently lead
+to incorrect model behavior. Reducing the corresponding assertion level to a
+warning does not correct an invalid parameterization.
+
+
+Deprecated and obsolete functionality
+
+ -
+
ThermofluidStream.FlowControl.Switch is obsolete;
+ use ThreeWayValve.
+
+ -
+
ThermofluidStream.Utilities.RealVector is obsolete.
+
+ -
+ The
Cvs_UK flow-coefficient option is deprecated.
+
+
+
+
+These elements have not been removed, so existing models remain loadable.
+
+
+"));
+end Version_1_4_0;
+
class Version_1_3_0 "Version 1.3.0 (April 30, 2026)"
- extends Modelica.Icons.ReleaseNotes;
+extends Modelica.Icons.ReleaseNotes;
+
+annotation (Documentation(info="
- annotation (Documentation(info="
Version 1.3.0 is a minor release of the DLR Thermofluid Stream Library.
No conversion script is required. Simulation results may nevertheless be affected
@@ -72,7 +262,6 @@ by corrected equations, improved regularization and updated media functions.
Short overview
-
- New centrifugal pump model with characteristic-based parameterization.
- New static head and tank-related components.
@@ -233,30 +422,31 @@ by corrected equations, improved regularization and updated media functions.
Further updates
-
- Added Dymola library browser support.
- Added Modelon Impact metadata.
- Updated README files, examples, documentation assets and example graphics.
- Excluded an intentionally failing model from regression testing.
- - Updated the required Modelica Standard Library version from 4.0.0 to 4.1.0.
- No Modelica conversion script is expected to be required for this dependency update,
- but simulation results may change due to fixes and changes in the Modelica Standard Library.
+ -
+ Updated the required Modelica Standard Library version from 4.0.0 to 4.1.0.
+ No Modelica conversion script is expected to be required for this dependency update,
+ but simulation results may change due to fixes and changes in the Modelica Standard Library.
+
"));
end Version_1_3_0;
class Version_1_2_0 "Version 1.2.0 (November 18, 2024)"
- extends Modelica.Icons.ReleaseNotes;
+extends Modelica.Icons.ReleaseNotes;
+
+annotation (Documentation(info="
- annotation (Documentation(info="
Version 1.2.0 of the DLR Thermofluid Stream Library.
Improvements of the library
-
-
Velocity of sound can be measured with
@@ -282,7 +472,6 @@ Version 1.2.0 of the DLR Thermofluid Stream Library.
Further updates
-
-
Added
TILMediaWrapper to repository. Interface for the usage of TILMedia in the TFS.
@@ -297,9 +486,10 @@ Version 1.2.0 of the DLR Thermofluid Stream Library.
end Version_1_2_0;
class Version_1_1_0 "Version 1.1.0 (October 6, 2023)"
- extends Modelica.Icons.ReleaseNotes;
+extends Modelica.Icons.ReleaseNotes;
+
+annotation (Documentation(info="
- annotation (Documentation(info="
Version 1.1.0 of the DLR Thermofluid Stream Library.
@@ -361,9 +551,10 @@ Version 1.1.0 of the DLR Thermofluid Stream Library.
end Version_1_1_0;
class Version_1_0_0 "Version 1.0.0 (December 2, 2022)"
- extends Modelica.Icons.ReleaseNotes;
+extends Modelica.Icons.ReleaseNotes;
+
+annotation (Documentation(info="
- annotation (Documentation(info="
Version 1.0.0 of the DLR Thermofluid Stream Library.
@@ -379,9 +570,10 @@ Version 1.0.0 of the DLR Thermofluid Stream Library.
end Version_1_0_0;
class Version_0_5_0 "Version 0.5.0 (November 10, 2022)"
- extends Modelica.Icons.ReleaseNotes;
+extends Modelica.Icons.ReleaseNotes;
+
+annotation (Documentation(info="
- annotation (Documentation(info="
Version 0.5.0 of the DLR Thermofluid Stream Library.
@@ -395,6 +587,7 @@ Version 0.5.0 of the DLR Thermofluid Stream Library.
end Version_0_5_0;
annotation (Documentation(info="
+
This section summarizes the changes that have been performed on the
DLR Thermofluid Stream Library. Versioning and release handling are described in
@@ -402,9 +595,13 @@ DLR Thermofluid Stream Library. Versioning and release handling are described in
+ -
+ Version 1.4.0
+ — August 2026
+
-
Version 1.3.0
- — April 29, 2026
+ — April 30, 2026
-
Version 1.2.0
diff --git a/ThermofluidStream/package.mo b/ThermofluidStream/package.mo
index 78d360c7..1803b6c1 100644
--- a/ThermofluidStream/package.mo
+++ b/ThermofluidStream/package.mo
@@ -5,13 +5,14 @@ package ThermofluidStream "Library for the modeling of thermofluid streams"
import Modelica.Units.SI;
annotation (
- version = "1.3.0",
- versionDate = "2026-04-30",
- dateModified = "2026-04-30",
+ version = "1.4.0",
+ versionDate = "2026-08",
+ dateModified = "2026-08",
uses(
Modelica(version="4.1.0"),
Complex(version="4.1.0")),
conversion(
+ noneFromVersion="1.3.0",
noneFromVersion="1.2.0",
from(
version="1.0.0",