From a4498ec8c4368d598a8e74306d81e7918cd7fb2e Mon Sep 17 00:00:00 2001 From: pepmts Date: Wed, 21 Sep 2022 17:22:08 +0200 Subject: [PATCH 1/4] added heatloss component Signed-off-by: pepmts --- .../FlueGases/Pipes/HeatLoss.mo | 29 +++++++++++++++++++ .../FlueGases/Pipes/package.mo | 1 + .../FlueGases/Pipes/package.order | 1 + 3 files changed, 31 insertions(+) create mode 100644 MetroscopeModelingLibrary/FlueGases/Pipes/HeatLoss.mo diff --git a/MetroscopeModelingLibrary/FlueGases/Pipes/HeatLoss.mo b/MetroscopeModelingLibrary/FlueGases/Pipes/HeatLoss.mo new file mode 100644 index 00000000..a4f22c15 --- /dev/null +++ b/MetroscopeModelingLibrary/FlueGases/Pipes/HeatLoss.mo @@ -0,0 +1,29 @@ +within MetroscopeModelingLibrary.FlueGases.Pipes; +model HeatLoss + package FlueGasesMedium = MetroscopeModelingLibrary.Media.FlueGasesMedium; + extends Partial.Pipes.HeatLoss( + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Inlet C_in, + redeclare MetroscopeModelingLibrary.FlueGases.Connectors.Outlet C_out, + redeclare package Medium = FlueGasesMedium) annotation(IconMap(primitivesVisible=false)); + annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ + Rectangle( + extent={{-100,30},{100,-30}}, + lineColor={28,108,200}, + fillColor={95,95,95}, + fillPattern=FillPattern.Solid), + Line( + points={{-14,50},{-14,50},{-24,40},{-10,30},{-24,16},{-14,8}}, + color={238,46,47}, + smooth=Smooth.Bezier, + thickness=0.5), + Line( + points={{0,50},{0,50},{-10,40},{4,30},{-10,16},{0,8}}, + color={238,46,47}, + smooth=Smooth.Bezier, + thickness=0.5), + Line( + points={{14,50},{14,50},{4,40},{18,30},{4,16},{14,8}}, + color={238,46,47}, + smooth=Smooth.Bezier, + thickness=0.5)}), Diagram(coordinateSystem(preserveAspectRatio=false))); +end HeatLoss; diff --git a/MetroscopeModelingLibrary/FlueGases/Pipes/package.mo b/MetroscopeModelingLibrary/FlueGases/Pipes/package.mo index d7c677cf..8ec0b467 100644 --- a/MetroscopeModelingLibrary/FlueGases/Pipes/package.mo +++ b/MetroscopeModelingLibrary/FlueGases/Pipes/package.mo @@ -1,5 +1,6 @@ within MetroscopeModelingLibrary.FlueGases; package Pipes + annotation (Icon(graphics={ Rectangle( lineColor={200,200,200}, diff --git a/MetroscopeModelingLibrary/FlueGases/Pipes/package.order b/MetroscopeModelingLibrary/FlueGases/Pipes/package.order index 2d506237..53226ef5 100644 --- a/MetroscopeModelingLibrary/FlueGases/Pipes/package.order +++ b/MetroscopeModelingLibrary/FlueGases/Pipes/package.order @@ -1,2 +1,3 @@ Pipe +HeatLoss Filter From 7e20ae4fd2da69e4c97d9547ff4bbee5efbf5193 Mon Sep 17 00:00:00 2001 From: pepmts Date: Wed, 21 Sep 2022 17:25:44 +0200 Subject: [PATCH 2/4] added flue gases HL unit test Signed-off-by: pepmts --- .../Tests/FlueGases/Pipes/HeatLoss.mo | 31 +++++++++++++++++++ .../Tests/FlueGases/Pipes/package.order | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 MetroscopeModelingLibrary/Tests/FlueGases/Pipes/HeatLoss.mo diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/HeatLoss.mo b/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/HeatLoss.mo new file mode 100644 index 00000000..c599a7b5 --- /dev/null +++ b/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/HeatLoss.mo @@ -0,0 +1,31 @@ +within MetroscopeModelingLibrary.Tests.FlueGases.Pipes; +model HeatLoss + extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestIcon; + + // Boundary conditions + input Units.SpecificEnthalpy source_h(start=1e6) "J/kg"; + input Units.Pressure source_P(start=2e5, min=0, nominal=2) "Pa"; + input Units.NegativeMassFlowRate source_Q(start=-500) "kg/s"; + input Units.Power W(start=1e5) "W"; + + .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-100,-9.99996},{-80,9.99996}}))); + .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation( + extent={{-10,-10},{10,10}}, + rotation=0, + origin={90,-6.10623e-16}))); + + .MetroscopeModelingLibrary.FlueGases.Pipes.HeatLoss heat_loss annotation (Placement(transformation(extent={{-16.5,-16.3333},{16.5,16.3333}}))); + +equation + + // Boundary conditions + source.h_out = source_h; + source.P_out = source_P; + source.Q_out = source_Q; + source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; + + heat_loss.W = W; + + connect(sink.C_in, heat_loss.C_out) annotation (Line(points={{85,0},{16.5,0}}, color={95,95,95})); + connect(source.C_out, heat_loss.C_in) annotation (Line(points={{-85,0},{-16.5,0}}, color={95,95,95})); +end HeatLoss; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/package.order b/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/package.order index b178a69b..90adbc0e 100644 --- a/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/package.order +++ b/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/package.order @@ -2,4 +2,4 @@ Pipe_direct Pipe_reverse Filter_direct Filter_reverse -Filter_faulty +HeatLoss From e460274c7b21caa7c02d8286b649432d5ad919cd Mon Sep 17 00:00:00 2001 From: pepmts Date: Wed, 21 Sep 2022 17:37:22 +0200 Subject: [PATCH 3/4] deleted old flue gases files that had not been removed Signed-off-by: pepmts --- .../Tests/FlueGases/BaseClasses.mo | 130 ------------------ .../Tests/FlueGases/BaseClasses/FlowModel.mo | 34 +++-- .../FlueGases/BaseClasses/IsoHFlowModel.mo | 36 +++-- .../FlueGases/BaseClasses/IsoPFlowModel.mo | 36 +++-- .../FlueGases/BaseClasses/IsoPHFlowModel.mo | 31 +++-- .../Tests/FlueGases/BaseClasses/package.mo | 7 + .../FlueGasesFlowModelTest.mo | 30 ---- .../FlueGasesIsoHFlowModelTest.mo | 31 ----- .../FlueGasesIsoPFlowModelTest.mo | 30 ---- .../FlueGasesIsoPHFlowModelTest.mo | 30 ---- .../FlueGases/BaseClassesTests/package.order | 4 - .../Tests/FlueGases/Pipes/package.order | 1 + 12 files changed, 98 insertions(+), 302 deletions(-) delete mode 100644 MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses.mo create mode 100644 MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/package.mo delete mode 100644 MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesFlowModelTest.mo delete mode 100644 MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoHFlowModelTest.mo delete mode 100644 MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoPFlowModelTest.mo delete mode 100644 MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoPHFlowModelTest.mo delete mode 100644 MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/package.order diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses.mo b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses.mo deleted file mode 100644 index 9acfcaa6..00000000 --- a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses.mo +++ /dev/null @@ -1,130 +0,0 @@ -within MetroscopeModelingLibrary.Tests.FlueGases; -package BaseClasses - extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestPackageIcon; - model FlowModel - extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestIcon; - - import MetroscopeModelingLibrary.Units; - - // Boundary conditions - input Units.Pressure source_P(start=10e5) "Pa"; - input Units.SpecificEnthalpy source_h(start=1e6) "J/kg"; - input Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; - - // Parameters - input Units.DifferentialPressure DP(start=1e5); - input Units.Power W(start=1e5); - - .MetroscopeModelingLibrary.FlueGases.BaseClasses.FlowModel flowModel annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-99,-19},{-61,19}}))); - .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{59,-20},{101,20}}))); - equation - - // Boundary Conditions - source.h_out = source_h; - source.P_out = source_P; - source.Q_out = source_Q; - source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - - // Parameters - flowModel.DP = DP; - flowModel.W = W; - - connect(flowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{69.5,0}}, color={95,95,95})); - connect(flowModel.C_in, source.C_out) annotation (Line(points={{-23,0},{-70.5,0}}, color={95,95,95})); - end FlowModel; - - model IsoPFlowModel - extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestIcon; - - import MetroscopeModelingLibrary.Units; - - // Boundary conditions - input Units.Pressure source_P(start=10e5) "Pa"; - input Units.SpecificEnthalpy source_h(start=1e6) "J/kg"; - input Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; - - // Parameters - input Units.Power W(start=1e5); - - MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPFlowModel - isoPFlowModel - annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-99,-19},{-61,19}}))); - .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{59,-20},{101,20}}))); - equation - - // Boundary Conditions - source.h_out = source_h; - source.P_out = source_P; - source.Q_out = source_Q; - source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - - // Parameters - isoPFlowModel.W = W; - - connect(isoPFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{69.5,0}}, color={95,95,95})); - connect(isoPFlowModel.C_in, source.C_out) annotation (Line(points={{-23,0},{-70.5,0}}, color={95,95,95})); - end IsoPFlowModel; - - model IsoHFlowModel - extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestIcon; - - import MetroscopeModelingLibrary.Units; - - // Boundary conditions - input Units.Pressure source_P(start=10e5) "Pa"; - input Units.SpecificEnthalpy source_h(start=1e6) "J/kg"; - input Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; - - // Parameters - input Units.DifferentialPressure DP(start=1e5); - - MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoHFlowModel - isoHFlowModel - annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-99,-19},{-61,19}}))); - .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{59,-20},{101,20}}))); - equation - - // Boundary Conditions - source.h_out = source_h; - source.P_out = source_P; - source.Q_out = source_Q; - source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - - // Parameters - isoHFlowModel.DP = DP; - - connect(isoHFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{69.5,0}}, color={95,95,95})); - connect(isoHFlowModel.C_in, source.C_out) annotation (Line(points={{-23,0},{-70.5,0}}, color={95,95,95})); - end IsoHFlowModel; - - model IsoPHFlowModel - extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestIcon; - - import MetroscopeModelingLibrary.Units; - - // Boundary conditions - input Units.Pressure source_P(start=10e5) "Pa"; - input Units.SpecificEnthalpy source_h(start=1e6) "J/kg"; - input Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; - - - MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel - isoPHFlowModel - annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-99,-19},{-61,19}}))); - .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{59,-20},{101,20}}))); - equation - - // Boundary Conditions - source.h_out = source_h; - source.P_out = source_P; - source.Q_out = source_Q; - source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - - connect(isoPHFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{69.5,0}}, color={95,95,95})); - connect(isoPHFlowModel.C_in, source.C_out) annotation (Line(points={{-23,0},{-70.5,0}}, color={95,95,95})); - end IsoPHFlowModel; -end BaseClasses; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/FlowModel.mo b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/FlowModel.mo index b9399c22..d70aabc3 100644 --- a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/FlowModel.mo +++ b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/FlowModel.mo @@ -1,21 +1,33 @@ within MetroscopeModelingLibrary.Tests.FlueGases.BaseClasses; model FlowModel extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestIcon; - MetroscopeModelingLibrary.FlueGases.BaseClasses.FlowModel flowModel annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-99,-19},{-61,19}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{61,-20},{103,20}}))); -equation - flowModel.W_input = 0; - flowModel.DP_input = 0; - source.h_out = 1e6; + import MetroscopeModelingLibrary.Units; + + // Boundary conditions + input Units.Pressure source_P(start=10e5) "Pa"; + input Units.SpecificEnthalpy source_h(start=1e6) "J/kg"; + input Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; - source.P_out = 1e5; - source.Q_out = -100; + // Parameters + input Units.DifferentialPressure DP(start=1e5); + input Units.Power W(start=1e5); + .MetroscopeModelingLibrary.FlueGases.BaseClasses.FlowModel flowModel annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); + .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-99,-19},{-61,19}}))); + .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{59,-20},{101,20}}))); +equation + + // Boundary Conditions + source.h_out = source_h; + source.P_out = source_P; + source.Q_out = source_Q; source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - assert(abs(sink.Q_in + source.Q_out) <= 1e-5, "In flow model, DM should be 0"); - connect(sink.C_in, flowModel.C_out) annotation (Line(points={{71.5,0},{23,0}}, color={95,95,95})); + // Parameters + flowModel.DP = DP; + flowModel.W = W; + + connect(flowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{69.5,0}}, color={95,95,95})); connect(flowModel.C_in, source.C_out) annotation (Line(points={{-23,0},{-70.5,0}}, color={95,95,95})); end FlowModel; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoHFlowModel.mo b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoHFlowModel.mo index b062ee86..a64b8987 100644 --- a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoHFlowModel.mo +++ b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoHFlowModel.mo @@ -1,21 +1,33 @@ within MetroscopeModelingLibrary.Tests.FlueGases.BaseClasses; model IsoHFlowModel extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestIcon; - MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoHFlowModel isoHFlowModel annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-103,-19},{-65,19}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{64,-19.5},{104,19.5}}))); -equation - isoHFlowModel.DP_input = 0; - source.h_out = 1e6; + import MetroscopeModelingLibrary.Units; + + // Boundary conditions + input Units.Pressure source_P(start=10e5) "Pa"; + input Units.SpecificEnthalpy source_h(start=1e6) "J/kg"; + input Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; - source.P_out = 1e5; - source.Q_out = -100; + // Parameters + input Units.DifferentialPressure DP(start=1e5); + MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoHFlowModel + isoHFlowModel + annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); + .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-99,-19},{-61,19}}))); + .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{59,-20},{101,20}}))); +equation + + // Boundary Conditions + source.h_out = source_h; + source.P_out = source_P; + source.Q_out = source_Q; source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - assert(abs(sink.Q_in + source.Q_out) <= 1e-5, "In IsoHFlowModel, DM should be 0"); - assert(abs(sink.Q_in*sink.h_in + source.Q_out*source.h_out) <= 1e-5, "In IsoHFlowModel, W should be 0"); - connect(source.C_out, isoHFlowModel.C_in) annotation (Line(points={{-74.5,0},{-23,0}}, color={95,95,95})); - connect(isoHFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{74,0}}, color={95,95,95})); + // Parameters + isoHFlowModel.DP = DP; + + connect(isoHFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{69.5,0}}, color={95,95,95})); + connect(isoHFlowModel.C_in, source.C_out) annotation (Line(points={{-23,0},{-70.5,0}}, color={95,95,95})); end IsoHFlowModel; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoPFlowModel.mo b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoPFlowModel.mo index 919952fc..a2d58eae 100644 --- a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoPFlowModel.mo +++ b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoPFlowModel.mo @@ -1,21 +1,33 @@ within MetroscopeModelingLibrary.Tests.FlueGases.BaseClasses; model IsoPFlowModel extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestIcon; - MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPFlowModel isoPFlowModel annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-103,-19},{-65,19}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{64,-19.5},{104,19.5}}))); -equation - isoPFlowModel.W_input = 0; - source.h_out = 1e6; + import MetroscopeModelingLibrary.Units; + + // Boundary conditions + input Units.Pressure source_P(start=10e5) "Pa"; + input Units.SpecificEnthalpy source_h(start=1e6) "J/kg"; + input Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; - source.P_out = 1e5; - source.Q_out = -100; + // Parameters + input Units.Power W(start=1e5); + MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPFlowModel + isoPFlowModel + annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); + .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-99,-19},{-61,19}}))); + .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{59,-20},{101,20}}))); +equation + + // Boundary Conditions + source.h_out = source_h; + source.P_out = source_P; + source.Q_out = source_Q; source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - assert(abs(sink.Q_in + source.Q_out) <= 1e-5, "In IsoPFlowModel, DM should be 0"); - assert(abs(source.P_out - sink.P_in) <= 1e-5, "In IsoPFlowModel, DP should be 0"); - connect(source.C_out, isoPFlowModel.C_in) annotation (Line(points={{-74.5,0},{-23,0}}, color={95,95,95})); - connect(isoPFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{74,0}}, color={95,95,95})); + // Parameters + isoPFlowModel.W = W; + + connect(isoPFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{69.5,0}}, color={95,95,95})); + connect(isoPFlowModel.C_in, source.C_out) annotation (Line(points={{-23,0},{-70.5,0}}, color={95,95,95})); end IsoPFlowModel; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoPHFlowModel.mo b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoPHFlowModel.mo index dd023d67..94f387bd 100644 --- a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoPHFlowModel.mo +++ b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/IsoPHFlowModel.mo @@ -1,20 +1,27 @@ within MetroscopeModelingLibrary.Tests.FlueGases.BaseClasses; model IsoPHFlowModel extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestIcon; - MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel isoPHFlowModel annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-103,-19},{-65,19}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{66,-19.5},{106,19.5}}))); -equation - source.h_out = 1e6; - source.P_out = 1e5; - source.Q_out = -100; + import MetroscopeModelingLibrary.Units; + + // Boundary conditions + input Units.Pressure source_P(start=10e5) "Pa"; + input Units.SpecificEnthalpy source_h(start=1e6) "J/kg"; + input Units.NegativeMassFlowRate source_Q(start=-100) "kg/s"; + + MetroscopeModelingLibrary.FlueGases.BaseClasses.IsoPHFlowModel + isoPHFlowModel + annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); + .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Source source annotation (Placement(transformation(extent={{-99,-19},{-61,19}}))); + .MetroscopeModelingLibrary.FlueGases.BoundaryConditions.Sink sink annotation (Placement(transformation(extent={{59,-20},{101,20}}))); +equation + // Boundary Conditions + source.h_out = source_h; + source.P_out = source_P; + source.Q_out = source_Q; source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - assert(abs(sink.Q_in + source.Q_out) <= 1e-5, "In IsoPHFlowModel, DM should be 0"); - assert(abs(source.P_out - sink.P_in) <= 1e-5, "In IsoPHFlowModel, DP should be 0"); - assert(abs(sink.Q_in*sink.h_in + source.Q_out*source.h_out) <= 1e-5, "In IsoPHFlowModel, W should be 0"); - connect(source.C_out, isoPHFlowModel.C_in) annotation (Line(points={{-74.5,0},{-23,0}}, color={95,95,95})); - connect(isoPHFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{76,0}}, color={95,95,95})); + connect(isoPHFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{69.5,0}}, color={95,95,95})); + connect(isoPHFlowModel.C_in, source.C_out) annotation (Line(points={{-23,0},{-70.5,0}}, color={95,95,95})); end IsoPHFlowModel; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/package.mo b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/package.mo new file mode 100644 index 00000000..8111db87 --- /dev/null +++ b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/package.mo @@ -0,0 +1,7 @@ +within MetroscopeModelingLibrary.Tests.FlueGases; +package BaseClasses + extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestPackageIcon; + + + +end BaseClasses; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesFlowModelTest.mo b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesFlowModelTest.mo deleted file mode 100644 index db72583e..00000000 --- a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesFlowModelTest.mo +++ /dev/null @@ -1,30 +0,0 @@ -within MetroscopeModelingLibrary.Tests.FlueGases.BaseClassesTests; -model FlueGasesFlowModelTest - MetroscopeModelingLibrary.FlueGases.BaseClasses.FlueGasesFlowModel waterFlowModel annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.FlueGasesSource source annotation (Placement(transformation(extent={{-99,-19},{-61,19}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.FlueGasesSink sink annotation (Placement(transformation(extent={{61,-20},{103,20}}))); -equation - waterFlowModel.W_input = 0; - waterFlowModel.DP_input = 0; - - source.h_out = 1e6; - - source.P_out = 1e5; - source.Q_out = -100; - - source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - - assert(abs(sink.Q_in + source.Q_out) <= 1e-5, "In flow model, DM should be 0"); - connect(sink.C_in, waterFlowModel.C_out) annotation (Line(points={{71.5,0},{23,0}}, color={175,175,175})); - connect(waterFlowModel.C_in, source.C_out) annotation (Line(points={{-23,0},{-70.5,0}}, color={175,175,175})); - annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ - Ellipse(lineColor = {75,138,73}, - fillColor={255,255,255}, - fillPattern = FillPattern.Solid, - extent={{-100,-100},{100,100}}), - Polygon(lineColor = {0,0,255}, - fillColor = {75,138,73}, - pattern = LinePattern.None, - fillPattern = FillPattern.Solid, - points={{-36,60},{64,0},{-36,-60},{-36,60}})}), Diagram(coordinateSystem(preserveAspectRatio=false))); -end FlueGasesFlowModelTest; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoHFlowModelTest.mo b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoHFlowModelTest.mo deleted file mode 100644 index c6a03a44..00000000 --- a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoHFlowModelTest.mo +++ /dev/null @@ -1,31 +0,0 @@ -within MetroscopeModelingLibrary.Tests.FlueGases.BaseClassesTests; -model FlueGasesIsoHFlowModelTest - MetroscopeModelingLibrary.FlueGases.BaseClasses.FlueGasesIsoHFlowModel isoHFlowModel annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.FlueGasesSource source annotation (Placement(transformation(extent={{-103,-19},{-65,19}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.FlueGasesSink sink annotation (Placement(transformation(extent={{64,-19.5},{104,19.5}}))); -equation - isoHFlowModel.DP_input = 0; - - source.h_out = 1e6; - - source.P_out = 1e5; - source.Q_out = -100; - - source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - - assert(abs(sink.Q_in + source.Q_out) <= 1e-5, "In IsoHFlowModel, DM should be 0"); - assert(abs(sink.Q_in*sink.h_in + source.Q_out*source.h_out) <= 1e-5, "In IsoHFlowModel, W should be 0"); - connect(source.C_out, isoHFlowModel.C_in) annotation (Line(points={{-74.5,0},{-23,0}}, color={175,175,175})); - connect(isoHFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{74,0}}, color={175,175,175})); - annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ - Ellipse(lineColor = {75,138,73}, - fillColor={255,255,255}, - fillPattern = FillPattern.Solid, - extent={{-100,-100},{100,100}}), - Polygon(lineColor = {0,0,255}, - fillColor = {75,138,73}, - pattern = LinePattern.None, - fillPattern = FillPattern.Solid, - points={{-36,60},{64,0},{-36,-60},{-36,60}})}), - Diagram(coordinateSystem(preserveAspectRatio=false))); -end FlueGasesIsoHFlowModelTest; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoPFlowModelTest.mo b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoPFlowModelTest.mo deleted file mode 100644 index b49f9c2f..00000000 --- a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoPFlowModelTest.mo +++ /dev/null @@ -1,30 +0,0 @@ -within MetroscopeModelingLibrary.Tests.FlueGases.BaseClassesTests; -model FlueGasesIsoPFlowModelTest - MetroscopeModelingLibrary.FlueGases.BaseClasses.FlueGasesIsoPFlowModel isoPFlowModel annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.FlueGasesSource source annotation (Placement(transformation(extent={{-103,-19},{-65,19}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.FlueGasesSink sink annotation (Placement(transformation(extent={{64,-19.5},{104,19.5}}))); -equation - isoPFlowModel.W_input = 0; - - source.h_out = 1e6; - - source.P_out = 1e5; - source.Q_out = -100; - - source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - - assert(abs(sink.Q_in + source.Q_out) <= 1e-5, "In IsoPFlowModel, DM should be 0"); - assert(abs(source.P_out - sink.P_in) <= 1e-5, "In IsoPFlowModel, DP should be 0"); - connect(source.C_out, isoPFlowModel.C_in) annotation (Line(points={{-74.5,0},{-23,0}}, color={175,175,175})); - connect(isoPFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{74,0}}, color={175,175,175})); - annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ - Ellipse(lineColor = {75,138,73}, - fillColor={255,255,255}, - fillPattern = FillPattern.Solid, - extent={{-100,-100},{100,100}}), - Polygon(lineColor = {0,0,255}, - fillColor = {75,138,73}, - pattern = LinePattern.None, - fillPattern = FillPattern.Solid, - points={{-36,60},{64,0},{-36,-60},{-36,60}})}), Diagram(coordinateSystem(preserveAspectRatio=false))); -end FlueGasesIsoPFlowModelTest; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoPHFlowModelTest.mo b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoPHFlowModelTest.mo deleted file mode 100644 index 380a3d55..00000000 --- a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/FlueGasesIsoPHFlowModelTest.mo +++ /dev/null @@ -1,30 +0,0 @@ -within MetroscopeModelingLibrary.Tests.FlueGases.BaseClassesTests; -model FlueGasesIsoPHFlowModelTest - MetroscopeModelingLibrary.FlueGases.BaseClasses.FlueGasesIsoPHFlowModel isoPHFlowModel annotation (Placement(transformation(extent={{-23,-23},{23,23}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.FlueGasesSource source annotation (Placement(transformation(extent={{-103,-19},{-65,19}}))); - MetroscopeModelingLibrary.FlueGases.BoundaryConditions.FlueGasesSink sink annotation (Placement(transformation(extent={{66,-19.5},{106,19.5}}))); -equation - source.h_out = 1e6; - - source.P_out = 1e5; - source.Q_out = -100; - - source.Xi_out = {0.768,0.232,0.0,0.0,0.0}; - - assert(abs(sink.Q_in + source.Q_out) <= 1e-5, "In IsoPHFlowModel, DM should be 0"); - assert(abs(source.P_out - sink.P_in) <= 1e-5, "In IsoPHFlowModel, DP should be 0"); - assert(abs(sink.Q_in*sink.h_in + source.Q_out*source.h_out) <= 1e-5, "In IsoPHFlowModel, W should be 0"); - connect(source.C_out, isoPHFlowModel.C_in) annotation (Line(points={{-74.5,0},{-23,0}}, color={175,175,175})); - connect(isoPHFlowModel.C_out, sink.C_in) annotation (Line(points={{23,0},{76,0}}, color={175,175,175})); - annotation (Icon(coordinateSystem(preserveAspectRatio=false), graphics={ - Ellipse(lineColor = {75,138,73}, - fillColor={255,255,255}, - fillPattern = FillPattern.Solid, - extent={{-100,-100},{100,100}}), - Polygon(lineColor = {0,0,255}, - fillColor = {75,138,73}, - pattern = LinePattern.None, - fillPattern = FillPattern.Solid, - points={{-36,60},{64,0},{-36,-60},{-36,60}})}), - Diagram(coordinateSystem(preserveAspectRatio=false))); -end FlueGasesIsoPHFlowModelTest; diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/package.order b/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/package.order deleted file mode 100644 index 8056655b..00000000 --- a/MetroscopeModelingLibrary/Tests/FlueGases/BaseClassesTests/package.order +++ /dev/null @@ -1,4 +0,0 @@ -FlueGasesFlowModelTest -FlueGasesIsoPFlowModelTest -FlueGasesIsoHFlowModelTest -FlueGasesIsoPHFlowModelTest diff --git a/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/package.order b/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/package.order index 90adbc0e..796693ab 100644 --- a/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/package.order +++ b/MetroscopeModelingLibrary/Tests/FlueGases/Pipes/package.order @@ -2,4 +2,5 @@ Pipe_direct Pipe_reverse Filter_direct Filter_reverse +Filter_faulty HeatLoss From c162db4143f40ac82b1c948259f791e72c8d42bc Mon Sep 17 00:00:00 2001 From: pepmts <97044708+pepmts@users.noreply.github.com> Date: Wed, 21 Sep 2022 17:41:02 +0200 Subject: [PATCH 4/4] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ee45a90..ed027a3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Fixed + - Fixed [#226](https://github.com/Metroscope-dev/metroscope-modeling-library/issues/226) by adding a `FlueGases.HeatLoss` component in [#285](https://github.com/Metroscope-dev/metroscope-modeling-library/issues/285) - Fixed [#273](https://github.com/Metroscope-dev/metroscope-modeling-library/issues/273), steam extraction splitter'`x` are lower than 1 [PR#275](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/275) - Fixed `IsoHFlowModel` and `IsoPHFlowModel` now use `h_0` as `h` start value with [PR #265]([url](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/265)) - Fixed `NTU HX` test configuration name for `shell_and_tubes` test, [PR #239](https://github.com/Metroscope-dev/metroscope-modeling-library/pull/239)