From 835a8fab66b11cdef1352deb2b6015bedcab8cc0 Mon Sep 17 00:00:00 2001 From: Raphael Gebhart Date: Tue, 28 Apr 2026 10:50:10 +0200 Subject: [PATCH] Fixed MoistAir.T_psX for size(X,1) not= nX --- Modelica/Media/Air/MoistAir.mo | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Modelica/Media/Air/MoistAir.mo b/Modelica/Media/Air/MoistAir.mo index 62341100f2..96fcb11cae 100644 --- a/Modelica/Media/Air/MoistAir.mo +++ b/Modelica/Media/Air/MoistAir.mo @@ -1269,13 +1269,19 @@ end thermalConductivity; end f_nonlinear; algorithm - T := Modelica.Math.Nonlinear.solveOneNonlinearEquation( - function f_nonlinear(p=p, s=s, X=X[1:nX]), 190, 647); + if size(X, 1) == nX then + T := Modelica.Math.Nonlinear.solveOneNonlinearEquation( + function f_nonlinear(p=p, s=s, X=X), 190, 647); + else + T := Modelica.Math.Nonlinear.solveOneNonlinearEquation( + function f_nonlinear(p=p, s=s, X=cat(1,X[1:nXi],{1 - sum(X[1:nXi])})), 190, 647); + end if; annotation (Documentation(info=" Temperature is computed from pressure, specific entropy and composition via numerical inversion of function s_pTX. ", revisions="

2012-01-12 Stefan Wischhusen: Initial Release.

+

2026-04-08 Corentin Lepais: Fixed the algorithm to append X[Air] to the vector X when size(X,1) differs from nX.

")); end T_psX;