Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

### Fixed <!--Make sure to add a link to the PR and issues related to your change-->
- 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)
Expand Down
29 changes: 29 additions & 0 deletions MetroscopeModelingLibrary/FlueGases/Pipes/HeatLoss.mo
Original file line number Diff line number Diff line change
@@ -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;
1 change: 1 addition & 0 deletions MetroscopeModelingLibrary/FlueGases/Pipes/package.mo
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
within MetroscopeModelingLibrary.FlueGases;
package Pipes

annotation (Icon(graphics={
Rectangle(
lineColor={200,200,200},
Expand Down
1 change: 1 addition & 0 deletions MetroscopeModelingLibrary/FlueGases/Pipes/package.order
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
Pipe
HeatLoss
Filter
130 changes: 0 additions & 130 deletions MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses.mo

This file was deleted.

34 changes: 23 additions & 11 deletions MetroscopeModelingLibrary/Tests/FlueGases/BaseClasses/FlowModel.mo
Original file line number Diff line number Diff line change
@@ -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;
Original file line number Diff line number Diff line change
@@ -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;
Original file line number Diff line number Diff line change
@@ -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;
Original file line number Diff line number Diff line change
@@ -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;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
within MetroscopeModelingLibrary.Tests.FlueGases;
package BaseClasses
extends MetroscopeModelingLibrary.Icons.Tests.FlueGasesTestPackageIcon;



end BaseClasses;

This file was deleted.

Loading