From 24fae4d9e1df00ebac0cb6e5f3c9a9c1df4d450c Mon Sep 17 00:00:00 2001 From: Valentin Drouet Date: Tue, 21 Feb 2023 10:23:13 +0100 Subject: [PATCH 1/6] add flow model in base sensor --- MetroscopeModelingLibrary/FlueGases/Connectors/package.mo | 2 +- MetroscopeModelingLibrary/Partial/Sensors/BaseSensor.mo | 4 +++- MetroscopeModelingLibrary/Power/Connectors/package.mo | 2 +- .../Sensors/WaterSteam/TemperatureSensor.mo | 1 + 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/MetroscopeModelingLibrary/FlueGases/Connectors/package.mo b/MetroscopeModelingLibrary/FlueGases/Connectors/package.mo index 7f87d7ec..fcc2798c 100644 --- a/MetroscopeModelingLibrary/FlueGases/Connectors/package.mo +++ b/MetroscopeModelingLibrary/FlueGases/Connectors/package.mo @@ -2,6 +2,7 @@ within MetroscopeModelingLibrary.FlueGases; package Connectors extends MetroscopeModelingLibrary.Utilities.Icons.PackageIcon; + annotation (Icon(graphics={ Rectangle( extent={{20,30},{78,-28}}, @@ -19,5 +20,4 @@ package Connectors lineThickness=1, fillColor={255,255,255}, fillPattern=FillPattern.Solid)})); - end Connectors; diff --git a/MetroscopeModelingLibrary/Partial/Sensors/BaseSensor.mo b/MetroscopeModelingLibrary/Partial/Sensors/BaseSensor.mo index b5a8b696..b0888e74 100644 --- a/MetroscopeModelingLibrary/Partial/Sensors/BaseSensor.mo +++ b/MetroscopeModelingLibrary/Partial/Sensors/BaseSensor.mo @@ -22,6 +22,7 @@ partial model BaseSensor Units.MassFlowRate mass_flow_rate_bias(start=0); // mass_flow_rate_bias > 0 means that more mass flow enters the component replaceable Connectors.FluidInlet C_in(Q(start=Q_0, nominal=Q_0), P(start=P_0, nominal=P_0), redeclare package Medium = Medium) annotation (Placement(transformation(extent={{-110,-10},{-90,10}}))); replaceable Connectors.FluidOutlet C_out(Q(start=-Q_0, nominal=Q_0), P(start=P_0, nominal=P_0), redeclare package Medium = Medium) annotation (Placement(transformation(extent={{90,-10},{110,10}}))); + replaceable BaseClasses.IsoPHFlowModel isoPHFlowModel annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); equation if not faulty_flow_rate then mass_flow_rate_bias = 0; @@ -35,6 +36,7 @@ equation state = Medium.setState_phX(P, h, Xi); assert(Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", AssertionLevel.warning); - connect(C_in, C_out) annotation (Line(points={{-100,0},{100,0}}, color={95,95,95})); + connect(isoPHFlowModel.C_in, C_in) annotation (Line(points={{-10,0},{-100,0}}, color={95,95,95})); + connect(isoPHFlowModel.C_out, C_out) annotation (Line(points={{10,0},{100,0}}, color={0,0,0})); annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(coordinateSystem(preserveAspectRatio=false))); end BaseSensor; diff --git a/MetroscopeModelingLibrary/Power/Connectors/package.mo b/MetroscopeModelingLibrary/Power/Connectors/package.mo index ac7153fb..0e9c3694 100644 --- a/MetroscopeModelingLibrary/Power/Connectors/package.mo +++ b/MetroscopeModelingLibrary/Power/Connectors/package.mo @@ -2,6 +2,7 @@ within MetroscopeModelingLibrary.Power; package Connectors extends MetroscopeModelingLibrary.Utilities.Icons.PackageIcon; + annotation (Icon(graphics={ Rectangle( extent={{20,30},{78,-28}}, @@ -19,5 +20,4 @@ package Connectors lineThickness=1, fillColor={255,255,255}, fillPattern=FillPattern.Solid)})); - end Connectors; diff --git a/MetroscopeModelingLibrary/Sensors/WaterSteam/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors/WaterSteam/TemperatureSensor.mo index 6ec90c62..85821f9f 100644 --- a/MetroscopeModelingLibrary/Sensors/WaterSteam/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/WaterSteam/TemperatureSensor.mo @@ -7,5 +7,6 @@ model TemperatureSensor extends Partial.Sensors.TemperatureSensor( redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=false)); end TemperatureSensor; From 3f2b19b9b157f45d740880196ed261b69f71ef21 Mon Sep 17 00:00:00 2001 From: Valentin Drouet Date: Tue, 21 Feb 2023 10:42:27 +0100 Subject: [PATCH 2/6] adapt sensors to flow model --- .../Partial/Sensors/TemperatureSensor.mo | 2 +- MetroscopeModelingLibrary/Sensors/FlueGases/FlowSensor.mo | 1 + MetroscopeModelingLibrary/Sensors/FlueGases/PressureSensor.mo | 1 + .../Sensors/FlueGases/TemperatureSensor.mo | 1 + MetroscopeModelingLibrary/Sensors/Fuel/FlowSensor.mo | 1 + MetroscopeModelingLibrary/Sensors/Fuel/PressureSensor.mo | 1 + MetroscopeModelingLibrary/Sensors/Fuel/TemperatureSensor.mo | 1 + MetroscopeModelingLibrary/Sensors/MoistAir/FlowSensor.mo | 1 + MetroscopeModelingLibrary/Sensors/MoistAir/PressureSensor.mo | 1 + .../Sensors/MoistAir/TemperatureSensor.mo | 1 + MetroscopeModelingLibrary/Sensors/WaterSteam/FlowSensor.mo | 1 + .../Sensors/WaterSteam/PressureSensor.mo | 1 + .../Tests/Sensors/FlueGases/TemperatureSensor.mo | 1 - .../Tests/Sensors/Fuel/TemperatureSensor.mo | 1 - .../Tests/Sensors/WaterSteam/TemperatureSensor.mo | 4 ++-- 15 files changed, 14 insertions(+), 5 deletions(-) diff --git a/MetroscopeModelingLibrary/Partial/Sensors/TemperatureSensor.mo b/MetroscopeModelingLibrary/Partial/Sensors/TemperatureSensor.mo index 79453109..9bd6507c 100644 --- a/MetroscopeModelingLibrary/Partial/Sensors/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Partial/Sensors/TemperatureSensor.mo @@ -16,7 +16,7 @@ partial model TemperatureSensor start=(T_0 +Constants.T0_degC_in_K) *Constants.degC_to_degF +Constants.T0_degC_in_degF, nominal=(T_0 +Constants.T0_degC_in_K) *Constants.degC_to_degF +Constants.T0_degC_in_degF); // Temperature in degF equation - T = Medium.temperature(state); + T = isoPHFlowModel.T_in; T_degC +Constants.T0_degC_in_K = T; // Conversion K to Celsius T_degF = T_degC*Constants.degC_to_degF +Constants.T0_degC_in_degF; // Conversion Celsius to Farenheit end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/FlueGases/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors/FlueGases/FlowSensor.mo index 9b0e54ac..b4a60e46 100644 --- a/MetroscopeModelingLibrary/Sensors/FlueGases/FlowSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/FlueGases/FlowSensor.mo @@ -7,5 +7,6 @@ model FlowSensor extends Partial.Sensors.FlowSensor( redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = FlueGasesMedium) annotation (IconMap(primitivesVisible=false)); end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors/FlueGases/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors/FlueGases/PressureSensor.mo index 45c0db5e..24d3a4ff 100644 --- a/MetroscopeModelingLibrary/Sensors/FlueGases/PressureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/FlueGases/PressureSensor.mo @@ -7,5 +7,6 @@ model PressureSensor extends Partial.Sensors.PressureSensor( redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = FlueGasesMedium) annotation (IconMap(primitivesVisible=false)); end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/FlueGases/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors/FlueGases/TemperatureSensor.mo index f1d79c5e..b3986729 100644 --- a/MetroscopeModelingLibrary/Sensors/FlueGases/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/FlueGases/TemperatureSensor.mo @@ -7,5 +7,6 @@ model TemperatureSensor extends Partial.Sensors.TemperatureSensor( redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = FlueGasesMedium) annotation (IconMap(primitivesVisible=false)); end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/Fuel/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors/Fuel/FlowSensor.mo index a9095506..26ac214d 100644 --- a/MetroscopeModelingLibrary/Sensors/Fuel/FlowSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/Fuel/FlowSensor.mo @@ -7,5 +7,6 @@ model FlowSensor extends Partial.Sensors.FlowSensor( redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=false)); end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors/Fuel/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors/Fuel/PressureSensor.mo index 05b7daec..7d7965bf 100644 --- a/MetroscopeModelingLibrary/Sensors/Fuel/PressureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/Fuel/PressureSensor.mo @@ -7,5 +7,6 @@ model PressureSensor extends Partial.Sensors.PressureSensor( redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=false)); end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/Fuel/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors/Fuel/TemperatureSensor.mo index e42df945..5db1986c 100644 --- a/MetroscopeModelingLibrary/Sensors/Fuel/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/Fuel/TemperatureSensor.mo @@ -7,5 +7,6 @@ model TemperatureSensor extends Partial.Sensors.TemperatureSensor( redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=false)); end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/MoistAir/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors/MoistAir/FlowSensor.mo index eb131bee..7deaa561 100644 --- a/MetroscopeModelingLibrary/Sensors/MoistAir/FlowSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/MoistAir/FlowSensor.mo @@ -7,5 +7,6 @@ model FlowSensor extends Partial.Sensors.FlowSensor( redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=false)); end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors/MoistAir/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors/MoistAir/PressureSensor.mo index 05b35895..3ffe948f 100644 --- a/MetroscopeModelingLibrary/Sensors/MoistAir/PressureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/MoistAir/PressureSensor.mo @@ -7,5 +7,6 @@ model PressureSensor extends Partial.Sensors.PressureSensor( redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=false)); end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/MoistAir/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors/MoistAir/TemperatureSensor.mo index c5d62a18..0598506e 100644 --- a/MetroscopeModelingLibrary/Sensors/MoistAir/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/MoistAir/TemperatureSensor.mo @@ -7,5 +7,6 @@ model TemperatureSensor extends Partial.Sensors.TemperatureSensor( redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=false)); end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/WaterSteam/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors/WaterSteam/FlowSensor.mo index f74e60bb..37046b8f 100644 --- a/MetroscopeModelingLibrary/Sensors/WaterSteam/FlowSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/WaterSteam/FlowSensor.mo @@ -7,5 +7,6 @@ model FlowSensor extends Partial.Sensors.FlowSensor( redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=false)); end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors/WaterSteam/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors/WaterSteam/PressureSensor.mo index 48126f24..08d26c9c 100644 --- a/MetroscopeModelingLibrary/Sensors/WaterSteam/PressureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/WaterSteam/PressureSensor.mo @@ -7,5 +7,6 @@ model PressureSensor extends Partial.Sensors.PressureSensor( redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, + redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel isoPHFlowModel, redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=false)); end PressureSensor; diff --git a/MetroscopeModelingLibrary/Tests/Sensors/FlueGases/TemperatureSensor.mo b/MetroscopeModelingLibrary/Tests/Sensors/FlueGases/TemperatureSensor.mo index 0c6d8337..dc50fb47 100644 --- a/MetroscopeModelingLibrary/Tests/Sensors/FlueGases/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Tests/Sensors/FlueGases/TemperatureSensor.mo @@ -14,7 +14,6 @@ equation source.P_out = source_P; source.Q_out = source_Q; source.h_out = source_h; - //T_sensor.T = 298.15; // does not initialize if set T_out instead of h_out source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; diff --git a/MetroscopeModelingLibrary/Tests/Sensors/Fuel/TemperatureSensor.mo b/MetroscopeModelingLibrary/Tests/Sensors/Fuel/TemperatureSensor.mo index abaac9db..494dcb4d 100644 --- a/MetroscopeModelingLibrary/Tests/Sensors/Fuel/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Tests/Sensors/Fuel/TemperatureSensor.mo @@ -14,7 +14,6 @@ equation source.P_out = source_P; source.Q_out = source_Q; source.h_out = source_h; - //T_sensor.T = 298.15; // does not initialize if set T_out instead of h_out source.Xi_out = {0.92,0.048,0.005,0.002,0.015,0.01}; diff --git a/MetroscopeModelingLibrary/Tests/Sensors/WaterSteam/TemperatureSensor.mo b/MetroscopeModelingLibrary/Tests/Sensors/WaterSteam/TemperatureSensor.mo index 7225d1a6..b725f515 100644 --- a/MetroscopeModelingLibrary/Tests/Sensors/WaterSteam/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Tests/Sensors/WaterSteam/TemperatureSensor.mo @@ -13,9 +13,9 @@ model TemperatureSensor equation source.P_out = source_P; source.Q_out = source_Q; - T_sensor.T = 298.15; + source.h_out = source_h; - assert(abs(T_sensor.T_degC - 25) < 1e-5, "T_sensor should detect 25 deg C"); + assert(abs(T_sensor.T_degC - 99.6) < 1e-1, "T_sensor should detect 99.6 degC"); assert(abs(source.P_out - sink.P_in) < 1e-5, "Pressure should be the same from source to sink"); assert(abs(source.h_out - sink.h_in) < 1e-5, "Enthalpy should be the same from source to sink"); assert(abs(source.Q_out + sink.Q_in) < 1e-5, "MassFlowRate should be the same from source to sink"); From 4d6c712f474500ce7349bea329f9df06ed30fa59 Mon Sep 17 00:00:00 2001 From: Valentin Drouet Date: Tue, 21 Feb 2023 10:48:04 +0100 Subject: [PATCH 3/6] update unit tests --- .../Tests/Sensors/MoistAir/DeltaPressureSensor.mo | 2 +- .../Tests/Sensors/MoistAir/FlowSensor.mo | 2 +- .../Tests/Sensors/MoistAir/PressureSensor.mo | 2 +- .../Tests/Sensors/MoistAir/TemperatureSensor.mo | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/DeltaPressureSensor.mo b/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/DeltaPressureSensor.mo index 58bad129..949c76db 100644 --- a/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/DeltaPressureSensor.mo +++ b/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/DeltaPressureSensor.mo @@ -4,7 +4,7 @@ model DeltaPressureSensor // Boundary conditions input Utilities.Units.Pressure source_P(start=1e5) "Pa"; - input Utilities.Units.SpecificEnthalpy source_h(start=1e3) "J/kg"; + input Utilities.Units.SpecificEnthalpy source_h(start=2e4) "J/kg"; input Utilities.Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; MetroscopeModelingLibrary.Sensors.MoistAir.DeltaPressureSensor DP_sensor annotation (Placement(transformation(extent={{-10,10},{10,30}}))); diff --git a/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/FlowSensor.mo b/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/FlowSensor.mo index 4de70ac5..163ea0f7 100644 --- a/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/FlowSensor.mo +++ b/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/FlowSensor.mo @@ -4,7 +4,7 @@ model FlowSensor // Boundary conditions input Utilities.Units.Pressure source_P(start=1e5) "Pa"; - input Utilities.Units.SpecificEnthalpy source_h(start=1e3) "J/kg"; + input Utilities.Units.SpecificEnthalpy source_h(start=2e4) "J/kg"; input Utilities.Units.PositiveMassFlowRate source_Q(start=100) "kg/s"; MetroscopeModelingLibrary.Sensors.MoistAir.FlowSensor source_Q_sensor annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); diff --git a/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/PressureSensor.mo b/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/PressureSensor.mo index f6f76d5b..98af811b 100644 --- a/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/PressureSensor.mo +++ b/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/PressureSensor.mo @@ -4,7 +4,7 @@ model PressureSensor // Boundary conditions input Utilities.Units.Pressure source_P(start=1e5) "Pa"; - input Utilities.Units.SpecificEnthalpy source_h(start=1e3) "J/kg"; + input Utilities.Units.SpecificEnthalpy source_h(start=2e4) "J/kg"; input Utilities.Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; MetroscopeModelingLibrary.Sensors.MoistAir.PressureSensor P_sensor annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); diff --git a/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/TemperatureSensor.mo b/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/TemperatureSensor.mo index cea0738a..e3a4690e 100644 --- a/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Tests/Sensors/MoistAir/TemperatureSensor.mo @@ -4,7 +4,7 @@ model TemperatureSensor // Boundary conditions input Utilities.Units.Pressure source_P(start=1e5) "Pa"; - input Utilities.Units.SpecificEnthalpy source_h(start=1e3) "J/kg"; + input Utilities.Units.SpecificEnthalpy source_h(start=2e4) "J/kg"; input Utilities.Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; MetroscopeModelingLibrary.Sensors.MoistAir.TemperatureSensor T_sensor annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); @@ -14,9 +14,9 @@ equation source.P_out = source_P; source.Q_out = source_Q; source.relative_humidity = 0.1; - T_sensor.T = 298.15; + source.h_out = source_h; - assert(abs(T_sensor.T_degC - 25) < 1e-5, "T_sensor should detect 25 deg C"); + assert(abs(T_sensor.T_degC - 16.91) < 1e-2, "T_sensor should detect 25 deg C"); assert(abs(source.P_out - sink.P_in) < 1e-5, "Pressure should be the same from source to sink"); assert(abs(source.h_out - sink.h_in) < 1e-5, "Enthalpy should be the same from source to sink"); assert(abs(source.Q_out + sink.Q_in) < 1e-5, "MassFlowRate should be the same from source to sink"); From a5de29796c52508d88e7d243ebff0d771a62095c Mon Sep 17 00:00:00 2001 From: Valentin Drouet Date: Tue, 21 Feb 2023 10:57:38 +0100 Subject: [PATCH 4/6] make sure Metroscopia run correctly --- ...PP_internal_ramp_direct_withStartValues.mo | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_internal_ramp_direct_withStartValues.mo b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_internal_ramp_direct_withStartValues.mo index 7b0664f5..838a57e9 100644 --- a/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_internal_ramp_direct_withStartValues.mo +++ b/MetroscopeModelingLibrary/Examples/Nuclear/MetroscopiaNPP/MetroscopiaNPP_internal_ramp_direct_withStartValues.mo @@ -479,10 +479,6 @@ Kth_0(start=5000.0), NTU(start=1.6153173), QCpMAX(start=10000000000.0), QCpMIN(start=6346345.0), -Q_cold(start=1500.0), -Q_cold_0(start=1500.0), -Q_hot(start=386.7695), -Q_hot_0(start=387.0), S(start=70.0), S_0(start=100.0), T_cold_in(start=392.286), @@ -503,10 +499,6 @@ Kth_0(start=5000.0), NTU(start=3.0310464), QCpMAX(start=6274835.0), QCpMIN(start=1828982.4), -Q_cold(start=1500.0), -Q_cold_0(start=1500.0), -Q_hot(start=386.7695), -Q_hot_0(start=387.0), S(start=30.0), S_0(start=100.0), T_cold_in(start=353.16913), @@ -1384,10 +1376,6 @@ Kth_0(start=5000.0), NTU(start=0.26206133), QCpMAX(start=10000000000.0), QCpMIN(start=4426917.5), -Q_cold(start=1059.745), -Q_cold_0(start=1060.0), -Q_hot(start=55.557785), -Q_hot_0(start=55.0), S(start=100.0), S_0(start=100.0), T_cold_in(start=312.17142), @@ -1964,10 +1952,6 @@ P_offset(start=0.0), P_tot(start=6980.0), Psat(start=6980.0), Psat_0(start=6980.0), -Q_cold(start=54232.63), -Q_cold_0(start=54000.0), -Q_hot(start=1059.745), -Q_hot_0(start=1000.0), Qv_cold_in(start=54.332294), R(start=8.314463), S(start=100.0), @@ -2847,10 +2831,6 @@ Kth_0(start=5000.0), NTU(start=0.51276803), QCpMAX(start=10000000000.0), QCpMIN(start=3353037.2), -Q_cold(start=1059.745), -Q_cold_0(start=1059.0), -Q_hot(start=43.318386), -Q_hot_0(start=44.0), S(start=100.0), S_0(start=100.0), T_cold_in(start=484.00034), @@ -2867,10 +2847,6 @@ P_cold_in_0(start=1940000.0), P_cold_out_0(start=1940000.0), P_hot_in_0(start=4100000.0), P_hot_out_0(start=4000000.0), -Q_cold(start=1059.745), -Q_cold_0(start=1059.0), -Q_hot(start=44.318386), -Q_hot_0(start=44.0), Q_vent(start=1.0), Q_vent_0(start=1.0), S(start=100.0), From baae5275b039fb643a56582b08bec71fc6c6950c Mon Sep 17 00:00:00 2001 From: Valentin Drouet Date: Tue, 21 Feb 2023 11:03:52 +0100 Subject: [PATCH 5/6] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e2a559f..1c3e05fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- Sensors now contain a flow model to ease convergence [PR#383](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/383) ### Fixed From d489a46be8f45eb097ec10fff556e3cd9f2392d1 Mon Sep 17 00:00:00 2001 From: Valentin Drouet Date: Tue, 21 Feb 2023 11:32:28 +0100 Subject: [PATCH 6/6] PEP comments --- .../Partial/BaseClasses/IsoPHFlowModel.mo | 2 ++ MetroscopeModelingLibrary/Partial/Sensors/BaseSensor.mo | 8 ++++---- .../Partial/Sensors/TemperatureSensor.mo | 2 +- MetroscopeModelingLibrary/Sensors/FlueGases/FlowSensor.mo | 2 +- .../Sensors/FlueGases/PressureSensor.mo | 2 +- .../Sensors/FlueGases/TemperatureSensor.mo | 2 +- MetroscopeModelingLibrary/Sensors/Fuel/FlowSensor.mo | 2 +- MetroscopeModelingLibrary/Sensors/Fuel/PressureSensor.mo | 2 +- .../Sensors/Fuel/TemperatureSensor.mo | 2 +- MetroscopeModelingLibrary/Sensors/MoistAir/FlowSensor.mo | 2 +- .../Sensors/MoistAir/PressureSensor.mo | 2 +- .../Sensors/MoistAir/TemperatureSensor.mo | 2 +- .../Sensors/WaterSteam/FlowSensor.mo | 2 +- .../Sensors/WaterSteam/PressureSensor.mo | 2 +- .../Sensors/WaterSteam/TemperatureSensor.mo | 2 +- 15 files changed, 19 insertions(+), 17 deletions(-) diff --git a/MetroscopeModelingLibrary/Partial/BaseClasses/IsoPHFlowModel.mo b/MetroscopeModelingLibrary/Partial/BaseClasses/IsoPHFlowModel.mo index d73c8fac..011b3aed 100644 --- a/MetroscopeModelingLibrary/Partial/BaseClasses/IsoPHFlowModel.mo +++ b/MetroscopeModelingLibrary/Partial/BaseClasses/IsoPHFlowModel.mo @@ -11,11 +11,13 @@ partial model IsoPHFlowModel "FlowModel with no pressure or enthalpy variations" // Input Quantities Units.SpecificEnthalpy h(start=h_0) "Enthalpy of the fluid into the component"; Units.Pressure P(start=P_0) "Pressure of the fluid into the component"; + Units.Temperature T(start=T_0) "Temperature of the fluid into the component"; equation // Input Quantities P = P_in; h = h_in; + T = T_in; // Conservation equation DP = 0; diff --git a/MetroscopeModelingLibrary/Partial/Sensors/BaseSensor.mo b/MetroscopeModelingLibrary/Partial/Sensors/BaseSensor.mo index b0888e74..93ca2638 100644 --- a/MetroscopeModelingLibrary/Partial/Sensors/BaseSensor.mo +++ b/MetroscopeModelingLibrary/Partial/Sensors/BaseSensor.mo @@ -9,20 +9,20 @@ partial model BaseSensor parameter Units.PositiveMassFlowRate Q_0=100; parameter Units.Pressure P_0 = 1e5; parameter Units.SpecificEnthalpy h_0 = 5e5; - Medium.ThermodynamicState state; // Input Quantity Units.PositiveMassFlowRate Q(start=Q_0, nominal=Q_0) "Component mass flow rate"; Units.MassFraction Xi[Medium.nXi] "Component mass fractions"; Units.Pressure P(start=P_0) "Pressure of the fluid into the component"; Units.SpecificEnthalpy h(start=h_0) "Enthalpy of the fluid into the component"; + Medium.ThermodynamicState state; // Failure modes parameter Boolean faulty_flow_rate = false; Units.MassFlowRate mass_flow_rate_bias(start=0); // mass_flow_rate_bias > 0 means that more mass flow enters the component replaceable Connectors.FluidInlet C_in(Q(start=Q_0, nominal=Q_0), P(start=P_0, nominal=P_0), redeclare package Medium = Medium) annotation (Placement(transformation(extent={{-110,-10},{-90,10}}))); replaceable Connectors.FluidOutlet C_out(Q(start=-Q_0, nominal=Q_0), P(start=P_0, nominal=P_0), redeclare package Medium = Medium) annotation (Placement(transformation(extent={{90,-10},{110,10}}))); - replaceable BaseClasses.IsoPHFlowModel isoPHFlowModel annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); + replaceable BaseClasses.IsoPHFlowModel flow_model annotation (Placement(transformation(extent={{-10,-10},{10,10}}))); equation if not faulty_flow_rate then mass_flow_rate_bias = 0; @@ -36,7 +36,7 @@ equation state = Medium.setState_phX(P, h, Xi); assert(Q > 0, "Wrong flow sign in inline sensor. Common causes : outlet connected as if it was inlet and vice versa, or Positive/NegativeMassflowrate misuse. Recall : inlet flow is positive, outlet is negatve", AssertionLevel.warning); - connect(isoPHFlowModel.C_in, C_in) annotation (Line(points={{-10,0},{-100,0}}, color={95,95,95})); - connect(isoPHFlowModel.C_out, C_out) annotation (Line(points={{10,0},{100,0}}, color={0,0,0})); + connect(flow_model.C_in, C_in) annotation (Line(points={{-10,0},{-100,0}}, color={95,95,95})); + connect(flow_model.C_out, C_out) annotation (Line(points={{10,0},{100,0}}, color={0,0,0})); annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(coordinateSystem(preserveAspectRatio=false))); end BaseSensor; diff --git a/MetroscopeModelingLibrary/Partial/Sensors/TemperatureSensor.mo b/MetroscopeModelingLibrary/Partial/Sensors/TemperatureSensor.mo index 9bd6507c..ed46a6d6 100644 --- a/MetroscopeModelingLibrary/Partial/Sensors/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Partial/Sensors/TemperatureSensor.mo @@ -16,7 +16,7 @@ partial model TemperatureSensor start=(T_0 +Constants.T0_degC_in_K) *Constants.degC_to_degF +Constants.T0_degC_in_degF, nominal=(T_0 +Constants.T0_degC_in_K) *Constants.degC_to_degF +Constants.T0_degC_in_degF); // Temperature in degF equation - T = isoPHFlowModel.T_in; + T =flow_model.T; T_degC +Constants.T0_degC_in_K = T; // Conversion K to Celsius T_degF = T_degC*Constants.degC_to_degF +Constants.T0_degC_in_degF; // Conversion Celsius to Farenheit end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/FlueGases/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors/FlueGases/FlowSensor.mo index b4a60e46..2a535b2e 100644 --- a/MetroscopeModelingLibrary/Sensors/FlueGases/FlowSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/FlueGases/FlowSensor.mo @@ -7,6 +7,6 @@ model FlowSensor extends Partial.Sensors.FlowSensor( redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = FlueGasesMedium) annotation (IconMap(primitivesVisible=false)); end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors/FlueGases/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors/FlueGases/PressureSensor.mo index 24d3a4ff..7e31e97b 100644 --- a/MetroscopeModelingLibrary/Sensors/FlueGases/PressureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/FlueGases/PressureSensor.mo @@ -7,6 +7,6 @@ model PressureSensor extends Partial.Sensors.PressureSensor( redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = FlueGasesMedium) annotation (IconMap(primitivesVisible=false)); end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/FlueGases/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors/FlueGases/TemperatureSensor.mo index b3986729..f8100a75 100644 --- a/MetroscopeModelingLibrary/Sensors/FlueGases/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/FlueGases/TemperatureSensor.mo @@ -7,6 +7,6 @@ model TemperatureSensor extends Partial.Sensors.TemperatureSensor( redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = FlueGasesMedium) annotation (IconMap(primitivesVisible=false)); end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/Fuel/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors/Fuel/FlowSensor.mo index 26ac214d..8c96bca4 100644 --- a/MetroscopeModelingLibrary/Sensors/Fuel/FlowSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/Fuel/FlowSensor.mo @@ -7,6 +7,6 @@ model FlowSensor extends Partial.Sensors.FlowSensor( redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=false)); end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors/Fuel/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors/Fuel/PressureSensor.mo index 7d7965bf..f59bee4f 100644 --- a/MetroscopeModelingLibrary/Sensors/Fuel/PressureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/Fuel/PressureSensor.mo @@ -7,6 +7,6 @@ model PressureSensor extends Partial.Sensors.PressureSensor( redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=false)); end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/Fuel/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors/Fuel/TemperatureSensor.mo index 5db1986c..e5a0154c 100644 --- a/MetroscopeModelingLibrary/Sensors/Fuel/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/Fuel/TemperatureSensor.mo @@ -7,6 +7,6 @@ model TemperatureSensor extends Partial.Sensors.TemperatureSensor( redeclare MetroscopeModelingLibrary.Fuel.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.Fuel.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.Fuel.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = FuelMedium) annotation (IconMap(primitivesVisible=false)); end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/MoistAir/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors/MoistAir/FlowSensor.mo index 7deaa561..3b859560 100644 --- a/MetroscopeModelingLibrary/Sensors/MoistAir/FlowSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/MoistAir/FlowSensor.mo @@ -7,6 +7,6 @@ model FlowSensor extends Partial.Sensors.FlowSensor( redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=false)); end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors/MoistAir/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors/MoistAir/PressureSensor.mo index 3ffe948f..6aad1ccb 100644 --- a/MetroscopeModelingLibrary/Sensors/MoistAir/PressureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/MoistAir/PressureSensor.mo @@ -7,6 +7,6 @@ model PressureSensor extends Partial.Sensors.PressureSensor( redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=false)); end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/MoistAir/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors/MoistAir/TemperatureSensor.mo index 0598506e..4be3b908 100644 --- a/MetroscopeModelingLibrary/Sensors/MoistAir/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/MoistAir/TemperatureSensor.mo @@ -7,6 +7,6 @@ model TemperatureSensor extends Partial.Sensors.TemperatureSensor( redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.MoistAir.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = MoistAirMedium) annotation (IconMap(primitivesVisible=false)); end TemperatureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/WaterSteam/FlowSensor.mo b/MetroscopeModelingLibrary/Sensors/WaterSteam/FlowSensor.mo index 37046b8f..1a27d8cc 100644 --- a/MetroscopeModelingLibrary/Sensors/WaterSteam/FlowSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/WaterSteam/FlowSensor.mo @@ -7,6 +7,6 @@ model FlowSensor extends Partial.Sensors.FlowSensor( redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=false)); end FlowSensor; diff --git a/MetroscopeModelingLibrary/Sensors/WaterSteam/PressureSensor.mo b/MetroscopeModelingLibrary/Sensors/WaterSteam/PressureSensor.mo index 08d26c9c..2673f780 100644 --- a/MetroscopeModelingLibrary/Sensors/WaterSteam/PressureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/WaterSteam/PressureSensor.mo @@ -7,6 +7,6 @@ model PressureSensor extends Partial.Sensors.PressureSensor( redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=false)); end PressureSensor; diff --git a/MetroscopeModelingLibrary/Sensors/WaterSteam/TemperatureSensor.mo b/MetroscopeModelingLibrary/Sensors/WaterSteam/TemperatureSensor.mo index 85821f9f..e104a339 100644 --- a/MetroscopeModelingLibrary/Sensors/WaterSteam/TemperatureSensor.mo +++ b/MetroscopeModelingLibrary/Sensors/WaterSteam/TemperatureSensor.mo @@ -7,6 +7,6 @@ model TemperatureSensor extends Partial.Sensors.TemperatureSensor( redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Inlet C_in, redeclare MetroscopeModelingLibrary.WaterSteam.Connectors.Outlet C_out, - redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel isoPHFlowModel, + redeclare MetroscopeModelingLibrary.WaterSteam.BaseClasses.IsoPHFlowModel flow_model, redeclare package Medium = WaterSteamMedium) annotation (IconMap(primitivesVisible=false)); end TemperatureSensor;