From 127b5e65b875872b4b42fc0899dc2ab6f3e0f46a Mon Sep 17 00:00:00 2001 From: Felix MARSOLLIER <fm4b8dfn@dsp1027505> Date: Tue, 8 Nov 2022 10:00:37 +0100 Subject: [PATCH] bug fix: X_final was non longer variable as it should when use_RH_in is set to true --- FluidDynamics/BasesClasses/GasNode_two_phases.mo | 1 + FluidDynamics/Sources/Atmosphere.mo | 11 ++++------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/FluidDynamics/BasesClasses/GasNode_two_phases.mo b/FluidDynamics/BasesClasses/GasNode_two_phases.mo index 764fe77..0fb45aa 100644 --- a/FluidDynamics/BasesClasses/GasNode_two_phases.mo +++ b/FluidDynamics/BasesClasses/GasNode_two_phases.mo @@ -182,6 +182,7 @@ protected Real[Medium.nC] mC_scaled(min = fill(Modelica.Constants.eps, Medium.nC)) "Scaled masses of trace substances in the fluid"; parameter Medium.ExtraProperty C_start[Medium.nC](quantity = Medium.extraPropertiesNames) = Medium.C_default; parameter Medium.MassFraction X_start[Medium.nX] = if Medium.mediumName == "Moist air" then cat(1, {Medium.massFraction_pTphi(p = p_start, T = T_start, phi = RH_start)}, {1 - Medium.massFraction_pTphi(p = p_start, T = T_start, phi = RH_start)}) else Medium.X_default; +public initial equation // initialization of balances //Energy diff --git a/FluidDynamics/Sources/Atmosphere.mo b/FluidDynamics/Sources/Atmosphere.mo index e0718cb..0b5b111 100644 --- a/FluidDynamics/Sources/Atmosphere.mo +++ b/FluidDynamics/Sources/Atmosphere.mo @@ -39,15 +39,10 @@ model Atmosphere protected /*Using TAeZoSysPro medium function ensure no fail with new OM frontend (function exist whatever medium used*/ - parameter TAeZoSysPro.Media.Air.MoistAir.MassFraction X_moist[TAeZoSysPro.Media.Air.MoistAir.nX] = cat(1, - {TAeZoSysPro.Media.Air.MoistAir.massFraction_pTphi(p = p, T = T, phi = RH)}, - {1-TAeZoSysPro.Media.Air.MoistAir.massFraction_pTphi(p = p, T = T, phi = RH)}); + TAeZoSysPro.Media.Air.MoistAir.MassFraction X_moist[TAeZoSysPro.Media.Air.MoistAir.nX] ; /*depending on chosen medium, parameter X vector to be adjusted*/ - parameter Medium.MassFraction X_final[Medium.nX] = if Medium.mediumName=="Moist air" then - X_moist - else - X; + Medium.MassFraction X_final[Medium.nX] ; Modelica.Blocks.Interfaces.RealInput T_internal "Temperature at ports. Needed to connect to conditional connector"; @@ -73,6 +68,8 @@ equation RH_internal = RH; end if; + X_moist= cat(1, {TAeZoSysPro.Media.Air.MoistAir.massFraction_pTphi(p = p, T = T, phi = RH_internal)}, {1-TAeZoSysPro.Media.Air.MoistAir.massFraction_pTphi(p = p, T = T, phi = RH_internal)}); + X_final= if Medium.mediumName =="Moist air" then X_moist else X; state = Medium.setState_pTX(p = p_internal, T = T_internal, X=X_final) ; -- GitLab