From 48590313eb2e71a68c7f147470807a69c802bc97 Mon Sep 17 00:00:00 2001 From: Matthias Schaefer <86839591+MatthiasBSchaefer@users.noreply.github.com> Date: Mon, 13 Jul 2026 15:33:27 +0200 Subject: [PATCH 1/4] Tolerate floating-point rounding in friction pressure-drop assert Backport of https://github.com/modelica/ModelicaStandardLibrary/pull/4791 into this clone --- Modelica/Thermal/FluidHeatFlow/BaseClasses/SimpleFriction.mo | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modelica/Thermal/FluidHeatFlow/BaseClasses/SimpleFriction.mo b/Modelica/Thermal/FluidHeatFlow/BaseClasses/SimpleFriction.mo index c7c32d8bd4..0f7000dae6 100644 --- a/Modelica/Thermal/FluidHeatFlow/BaseClasses/SimpleFriction.mo +++ b/Modelica/Thermal/FluidHeatFlow/BaseClasses/SimpleFriction.mo @@ -24,8 +24,8 @@ protected initial algorithm assert(V_flowNominal>V_flowLaminar, "SimpleFriction: V_flowNominal has to be > V_flowLaminar!"); - assert(dpNominal>=dpNomMin, - "SimpleFriction: dpNominal has to be > dpLaminar/V_flowLaminar*V_flowNominal!"); + assert(dpNominal>=dpNomMin*(1 - 100*Modelica.Constants.eps), + "SimpleFriction: dpNominal has to be >= dpLaminar/V_flowLaminar*V_flowNominal!"); k:=(dpNominal - dpNomMin)/(V_flowNominal - V_flowLaminar)^2; equation if volumeFlow > +V_flowLaminar then From ea178d78ce0d8391e3d127206d712c24a2c092de Mon Sep 17 00:00:00 2001 From: Matthias Schaefer <86839591+MatthiasBSchaefer@users.noreply.github.com> Date: Wed, 22 Jul 2026 15:22:14 +0200 Subject: [PATCH 2/4] Fix spacing in pressureDrop calculations --- .../Thermal/FluidHeatFlow/BaseClasses/SimpleFriction.mo | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Modelica/Thermal/FluidHeatFlow/BaseClasses/SimpleFriction.mo b/Modelica/Thermal/FluidHeatFlow/BaseClasses/SimpleFriction.mo index 0f7000dae6..02b80a7aa1 100644 --- a/Modelica/Thermal/FluidHeatFlow/BaseClasses/SimpleFriction.mo +++ b/Modelica/Thermal/FluidHeatFlow/BaseClasses/SimpleFriction.mo @@ -29,11 +29,11 @@ initial algorithm k:=(dpNominal - dpNomMin)/(V_flowNominal - V_flowLaminar)^2; equation if volumeFlow > +V_flowLaminar then - pressureDrop = +dpLaminar/V_flowLaminar*volumeFlow + k*(volumeFlow - V_flowLaminar)^2; + pressureDrop = +dpLaminar/V_flowLaminar * volumeFlow + k*(volumeFlow - V_flowLaminar)^2; elseif volumeFlow < -V_flowLaminar then - pressureDrop = +dpLaminar/V_flowLaminar*volumeFlow - k*(volumeFlow + V_flowLaminar)^2; + pressureDrop = +dpLaminar/V_flowLaminar * volumeFlow - k*(volumeFlow + V_flowLaminar)^2; else - pressureDrop = dpLaminar/V_flowLaminar*volumeFlow; + pressureDrop = dpLaminar/V_flowLaminar * volumeFlow; end if; Q_friction = frictionLoss*volumeFlow*pressureDrop; annotation (Documentation(info=" From 8bad7749ded9bc51c91569368e483bd3e18c1e34 Mon Sep 17 00:00:00 2001 From: Matthias Schaefer <86839591+MatthiasBSchaefer@users.noreply.github.com> Date: Wed, 22 Jul 2026 16:24:13 +0200 Subject: [PATCH 3/4] Remove irrelevant remark from ModelicaMatIO.c Removed an unnecessary remark from the comments. --- Modelica/Resources/C-Sources/ModelicaMatIO.c | 1 + 1 file changed, 1 insertion(+) diff --git a/Modelica/Resources/C-Sources/ModelicaMatIO.c b/Modelica/Resources/C-Sources/ModelicaMatIO.c index fb10a1231c..0046b13e54 100644 --- a/Modelica/Resources/C-Sources/ModelicaMatIO.c +++ b/Modelica/Resources/C-Sources/ModelicaMatIO.c @@ -29,6 +29,7 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + IMPORTANT REMARK: PLEASE IGNORE THIS REMARK */ /* This file was created by concatenation of the following C source files of the From de1920564755434232c06116e242af124d769e45 Mon Sep 17 00:00:00 2001 From: Matthias Schaefer <86839591+MatthiasBSchaefer@users.noreply.github.com> Date: Thu, 23 Jul 2026 11:46:44 +0200 Subject: [PATCH 4/4] Update remark in ModelicaMatIO.c --- Modelica/Resources/C-Sources/ModelicaMatIO.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modelica/Resources/C-Sources/ModelicaMatIO.c b/Modelica/Resources/C-Sources/ModelicaMatIO.c index 0046b13e54..7d7f569f87 100644 --- a/Modelica/Resources/C-Sources/ModelicaMatIO.c +++ b/Modelica/Resources/C-Sources/ModelicaMatIO.c @@ -29,7 +29,7 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - IMPORTANT REMARK: PLEASE IGNORE THIS REMARK + IMPORTANT REMARK: PLEASE IGNORE THIS STUPID REMARK */ /* This file was created by concatenation of the following C source files of the