In the model below, I am simulating a flow that separates into two streams. This is part of a complex model that transitions the inlet flow from 0.25 kg/s to 0.002 kg/s. The simulation consists of three phases:
- Gradually apply boundary conditions starting from a quasi-equilibrium state (same pressure, temperature, and flow everywhere).
- Find the steady-state solution.
- Perform transient analysis.
The model works fine with the steady-state option. However, when using the default option “energyDynamic,” I encounter the error “solver total pivot: Matrix nearly singular.” Although the solver completes the initialization successfully with 3 homotopy steps, the system gets stuck at 0%.
The “Matrix nearly singular” message is not caused by applying the same pressure across components, as I have tested with gradually varying pressure from the inlet to the outlet and encountered the same issue.
Question :
Using the -LOG_NLS_V option, I obtain the full log information, but I am not familiar with debugging OpenModelica models. What could be the cause of this issue? I am interested in understanding how this problem can be debugged.
Code :
/* déclation de la constance pi */
import Modelica.Constants.pi;
import Modelica.Blocks.Sources;
import Modelica.Utilities.Streams;
import Modelica.Math.Vectors;
parameter Real Flow_1[24, 2] = [0, 0.27; 50, 0.45; 166, 0.45; 172, 0.428; 184, 0.363; 196, 0.298; 208, 0.245; 212, 0.227; 218, 0.205; 222, 0.193; 226, 0.18; 232, 0.163; 236, 0.152; 244, 0.135; 254, 0.113; 262, 0.1; 268, 0.09; 272, 0.0846; 282, 0.0729; 296, 0.0576; 306, 0.045; 316, 0.0324; 318, 0.002; 650, 0.002];
// Variables for correlated tables
parameter Real correlatedCoef_BT_separateur[size(Flow_1, 1), 2](each fixed = false);
parameter Integer nNodes = 3;
parameter Real d(unit = "m", displayUnit = "mm") = 11e-3;
parameter Real D(unit = "m", displayUnit = "mm") = 18e-3;
parameter Real Ru(unit = "m") = 3.1e-5;
replaceable package Medium = Modelica.Media.Water.StandardWater constrainedby Modelica.Media.Interfaces.PartialMedium;
//Définition du modèle de transfert de chaleur
replaceable model HeatTransfer_1 = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.ConstantFlowHeatTransfer(alpha0 = 9000);
//Définition des conditions limites en entrée RRI
//Définition des serpentins du circuit RRI
inner Modelica.Fluid.System system(T_start = 313.15, m_flow_start = 0.3, p_start = 999999.9999999999) annotation(
Placement(transformation(origin = {-264, -314}, extent = {{-18, -18}, {18, 18}})));
//Définition des signaux d'entrée pour les échanges RRI/RCV
Modelica.Fluid.Pipes.DynamicPipe pipe6(redeclare package Medium = Medium, crossArea = Modelica.Constants.pi*(0.5^2 - 0.3^2), diameter = 0, isCircular = false, length = 140e-3, modelStructure = Modelica.Fluid.Types.ModelStructure.a_v_b, nNodes = 1, perimeter = Modelica.Constants.pi*(1 + 0.6), use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-102, -238}, extent = {{-10, 10}, {10, -10}})));
Modelica.Fluid.Pipes.DynamicPipe pipe5(redeclare package Medium = Medium, crossArea = Modelica.Constants.pi*(0.5^2 - 0.3^2), diameter = 0, isCircular = false, length = 140e-3, modelStructure = Modelica.Fluid.Types.ModelStructure.a_v_b, nNodes = 1, perimeter = Modelica.Constants.pi*(1 + 0.6), use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-148, -238}, extent = {{-10, 10}, {10, -10}})));
Modelica.Fluid.Sources.MassFlowSource_T inlet(redeclare package Medium = Medium, nPorts = 1, use_T_in = false, use_m_flow_in = true, T = 328.15, m_flow = 0.2) annotation(
Placement(transformation(origin = {-250, -238}, extent = {{-10, -10}, {10, 10}})));
Modelica.Fluid.Sources.Boundary_pT outlet(redeclare package Medium = Medium, T = 431.15, nPorts = 1, use_T_in = true, use_p_in = true, p = 15670000) annotation(
Placement(transformation(origin = {2, -238}, extent = {{10, -10}, {-10, 10}})));
Modelica.Fluid.Pipes.StaticPipe pipe(redeclare package Medium = Medium, diameter = 20e-3, isCircular = true, length = 12e-3) annotation(
Placement(transformation(origin = {-210, -238}, extent = {{-10, -10}, {10, 10}})));
Modelica.Fluid.Pipes.StaticPipe pipe1(redeclare package Medium = Medium, diameter = 20e-3, isCircular = true, length = 12e-3) annotation(
Placement(transformation(origin = {-50, -238}, extent = {{-10, -10}, {10, 10}})));
Modelica.Blocks.Sources.TimeTable table_flow(table = Flow_1) annotation(
Placement(transformation(origin = {-296, -230}, extent = {{10, -10}, {-10, 10}}, rotation = 180)));
Modelica.Fluid.Sources.Boundary_pT p_atm(redeclare package Medium = Medium, T = 328.15, nPorts = 1, p = 470000, use_T_in = true, use_p_in = false) annotation(
Placement(transformation(origin = {47, -298}, extent = {{11, -12}, {-11, 12}}, rotation = -0)));
Modelica.Fluid.Pipes.StaticPipe pipe2(redeclare package Medium = Medium, diameter = 20e-3, isCircular = true, length = 12e-3) annotation(
Placement(transformation(origin = {-2, -298}, extent = {{10, -10}, {-10, 10}}, rotation = -0)));
Modelica.Fluid.Pipes.DynamicPipe pipe7(redeclare package Medium = Medium, diameter = 3e-3, length = 2.3, nNodes = nNodes, use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-156, -298}, extent = {{-10, -10}, {10, 10}})));
Modelica.Fluid.Pipes.DynamicPipe pipe8(redeclare package Medium = Medium, diameter = 3e-3, length = 2.3, nNodes = nNodes, use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-106, -298}, extent = {{10, 10}, {-10, -10}}, rotation = 180)));
Modelica.Fluid.Pipes.DynamicPipe pipe9(redeclare package Medium = Medium, diameter = 3e-3, length = 2.3, nNodes = nNodes, use_HeatTransfer = true) annotation(
Placement(transformation(origin = {-56, -298}, extent = {{10, -10}, {-10, 10}}, rotation = -180)));
Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor Temperature3 annotation(
Placement(transformation(origin = {40, -340}, extent = {{-10, -10}, {10, 10}}, rotation = -0)));
Modelica.Blocks.Sources.TimeTable Table_Temperature(table = [0, 303.15; 30, 569.03; 600, 569.03]) annotation(
Placement(transformation(origin = {56, -258}, extent = {{-10, -10}, {10, 10}}, rotation = -180)));
Modelica.Blocks.Sources.TimeTable Table_pressure(table = [0, 12e+5; 50, 156.7e+5; 600, 156.7e+5]) annotation(
Placement(transformation(origin = {57, -209}, extent = {{-11, -11}, {11, 11}}, rotation = 180)));
connect(pipe.port_b, pipe5.port_a) annotation(
Line(points = {{-200, -238}, {-158, -238}}, color = {0, 127, 255}));
connect(pipe6.port_b, pipe1.port_a) annotation(
Line(points = {{-92, -238}, {-60, -238}}, color = {0, 127, 255}));
connect(inlet.m_flow_in, table_flow.y) annotation(
Line(points = {{-260, -230}, {-285, -230}}, color = {0, 0, 127}));
connect(inlet.ports[1], pipe.port_a) annotation(
Line(points = {{-240, -238}, {-220, -238}}, color = {0, 127, 255}));
connect(pipe1.port_b, outlet.ports[1]) annotation(
Line(points = {{-40, -238}, {-6, -238}}, color = {0, 127, 255}));
connect(p_atm.ports[1], pipe2.port_a) annotation(
Line(points = {{36, -298}, {8, -298}}, color = {0, 127, 255}));
connect(pipe.port_b, pipe7.port_a) annotation(
Line(points = {{-200, -238}, {-200, -298}, {-166, -298}}, color = {0, 127, 255}));
connect(pipe8.port_a, pipe7.port_b) annotation(
Line(points = {{-116, -298}, {-146, -298}}, color = {0, 127, 255}));
connect(pipe2.port_b, pipe9.port_b) annotation(
Line(points = {{-12, -298}, {-46, -298}}, color = {0, 127, 255}));
connect(pipe8.port_b, pipe9.port_a) annotation(
Line(points = {{-96, -298}, {-66, -298}}, color = {0, 127, 255}));
connect(Temperature3.T, p_atm.T_in) annotation(
Line(points = {{50, -340}, {78, -340}, {78, -293}, {60, -293}}, color = {0, 0, 127}));
connect(Temperature3.port, pipe9.heatPorts[3]) annotation(
Line(points = {{30, -340}, {-56, -340}, {-56, -302}}, color = {191, 0, 0}));
connect(pipe5.port_b, pipe6.port_a) annotation(
Line(points = {{-138, -238}, {-112, -238}}, color = {0, 127, 255}));
connect(outlet.T_in, Table_Temperature.y) annotation(
Line(points = {{14, -234}, {30, -234}, {30, -258}, {45, -258}}, color = {0, 0, 127}));
connect(outlet.p_in, Table_pressure.y) annotation(
Line(points = {{14, -230}, {30, -230}, {30, -209}, {45, -209}}, color = {0, 0, 127}));
Line(points = {{-566, -396}, {-556, -396}, {-556, -362}, {-536, -362}, {-536, -356}}, color = {191, 0, 0}),
uses(Modelica(version = "3.2.3")),
Diagram(coordinateSystem(extent = {{-320, -180}, {100, -360}}, initialScale = 0.1)),
Icon(coordinateSystem(extent = {{-1000, -205}, {425, 100}})),
<code>model Test_options
/* déclation de la constance pi */
import Modelica.Constants.pi;
import Modelica.Blocks.Sources;
import Modelica.Utilities.Streams;
import Modelica.Math.Vectors;
parameter Real Flow_1[24, 2] = [0, 0.27; 50, 0.45; 166, 0.45; 172, 0.428; 184, 0.363; 196, 0.298; 208, 0.245; 212, 0.227; 218, 0.205; 222, 0.193; 226, 0.18; 232, 0.163; 236, 0.152; 244, 0.135; 254, 0.113; 262, 0.1; 268, 0.09; 272, 0.0846; 282, 0.0729; 296, 0.0576; 306, 0.045; 316, 0.0324; 318, 0.002; 650, 0.002];
// Variables for correlated tables
parameter Real correlatedCoef_BT_separateur[size(Flow_1, 1), 2](each fixed = false);
parameter Integer nNodes = 3;
parameter Real d(unit = "m", displayUnit = "mm") = 11e-3;
parameter Real D(unit = "m", displayUnit = "mm") = 18e-3;
parameter Real Ru(unit = "m") = 3.1e-5;
replaceable package Medium = Modelica.Media.Water.StandardWater constrainedby Modelica.Media.Interfaces.PartialMedium;
//Définition du modèle de transfert de chaleur
replaceable model HeatTransfer_1 = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.ConstantFlowHeatTransfer(alpha0 = 9000);
//Définition des conditions limites en entrée RRI
//Définition des serpentins du circuit RRI
inner Modelica.Fluid.System system(T_start = 313.15, m_flow_start = 0.3, p_start = 999999.9999999999) annotation(
Placement(transformation(origin = {-264, -314}, extent = {{-18, -18}, {18, 18}})));
//Définition des signaux d'entrée pour les échanges RRI/RCV
Modelica.Fluid.Pipes.DynamicPipe pipe6(redeclare package Medium = Medium, crossArea = Modelica.Constants.pi*(0.5^2 - 0.3^2), diameter = 0, isCircular = false, length = 140e-3, modelStructure = Modelica.Fluid.Types.ModelStructure.a_v_b, nNodes = 1, perimeter = Modelica.Constants.pi*(1 + 0.6), use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-102, -238}, extent = {{-10, 10}, {10, -10}})));
Modelica.Fluid.Pipes.DynamicPipe pipe5(redeclare package Medium = Medium, crossArea = Modelica.Constants.pi*(0.5^2 - 0.3^2), diameter = 0, isCircular = false, length = 140e-3, modelStructure = Modelica.Fluid.Types.ModelStructure.a_v_b, nNodes = 1, perimeter = Modelica.Constants.pi*(1 + 0.6), use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-148, -238}, extent = {{-10, 10}, {10, -10}})));
Modelica.Fluid.Sources.MassFlowSource_T inlet(redeclare package Medium = Medium, nPorts = 1, use_T_in = false, use_m_flow_in = true, T = 328.15, m_flow = 0.2) annotation(
Placement(transformation(origin = {-250, -238}, extent = {{-10, -10}, {10, 10}})));
Modelica.Fluid.Sources.Boundary_pT outlet(redeclare package Medium = Medium, T = 431.15, nPorts = 1, use_T_in = true, use_p_in = true, p = 15670000) annotation(
Placement(transformation(origin = {2, -238}, extent = {{10, -10}, {-10, 10}})));
Modelica.Fluid.Pipes.StaticPipe pipe(redeclare package Medium = Medium, diameter = 20e-3, isCircular = true, length = 12e-3) annotation(
Placement(transformation(origin = {-210, -238}, extent = {{-10, -10}, {10, 10}})));
Modelica.Fluid.Pipes.StaticPipe pipe1(redeclare package Medium = Medium, diameter = 20e-3, isCircular = true, length = 12e-3) annotation(
Placement(transformation(origin = {-50, -238}, extent = {{-10, -10}, {10, 10}})));
Modelica.Blocks.Sources.TimeTable table_flow(table = Flow_1) annotation(
Placement(transformation(origin = {-296, -230}, extent = {{10, -10}, {-10, 10}}, rotation = 180)));
Modelica.Fluid.Sources.Boundary_pT p_atm(redeclare package Medium = Medium, T = 328.15, nPorts = 1, p = 470000, use_T_in = true, use_p_in = false) annotation(
Placement(transformation(origin = {47, -298}, extent = {{11, -12}, {-11, 12}}, rotation = -0)));
Modelica.Fluid.Pipes.StaticPipe pipe2(redeclare package Medium = Medium, diameter = 20e-3, isCircular = true, length = 12e-3) annotation(
Placement(transformation(origin = {-2, -298}, extent = {{10, -10}, {-10, 10}}, rotation = -0)));
Modelica.Fluid.Pipes.DynamicPipe pipe7(redeclare package Medium = Medium, diameter = 3e-3, length = 2.3, nNodes = nNodes, use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-156, -298}, extent = {{-10, -10}, {10, 10}})));
Modelica.Fluid.Pipes.DynamicPipe pipe8(redeclare package Medium = Medium, diameter = 3e-3, length = 2.3, nNodes = nNodes, use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-106, -298}, extent = {{10, 10}, {-10, -10}}, rotation = 180)));
Modelica.Fluid.Pipes.DynamicPipe pipe9(redeclare package Medium = Medium, diameter = 3e-3, length = 2.3, nNodes = nNodes, use_HeatTransfer = true) annotation(
Placement(transformation(origin = {-56, -298}, extent = {{10, -10}, {-10, 10}}, rotation = -180)));
Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor Temperature3 annotation(
Placement(transformation(origin = {40, -340}, extent = {{-10, -10}, {10, 10}}, rotation = -0)));
Modelica.Blocks.Sources.TimeTable Table_Temperature(table = [0, 303.15; 30, 569.03; 600, 569.03]) annotation(
Placement(transformation(origin = {56, -258}, extent = {{-10, -10}, {10, 10}}, rotation = -180)));
Modelica.Blocks.Sources.TimeTable Table_pressure(table = [0, 12e+5; 50, 156.7e+5; 600, 156.7e+5]) annotation(
Placement(transformation(origin = {57, -209}, extent = {{-11, -11}, {11, 11}}, rotation = 180)));
equation
connect(pipe.port_b, pipe5.port_a) annotation(
Line(points = {{-200, -238}, {-158, -238}}, color = {0, 127, 255}));
connect(pipe6.port_b, pipe1.port_a) annotation(
Line(points = {{-92, -238}, {-60, -238}}, color = {0, 127, 255}));
connect(inlet.m_flow_in, table_flow.y) annotation(
Line(points = {{-260, -230}, {-285, -230}}, color = {0, 0, 127}));
connect(inlet.ports[1], pipe.port_a) annotation(
Line(points = {{-240, -238}, {-220, -238}}, color = {0, 127, 255}));
connect(pipe1.port_b, outlet.ports[1]) annotation(
Line(points = {{-40, -238}, {-6, -238}}, color = {0, 127, 255}));
connect(p_atm.ports[1], pipe2.port_a) annotation(
Line(points = {{36, -298}, {8, -298}}, color = {0, 127, 255}));
connect(pipe.port_b, pipe7.port_a) annotation(
Line(points = {{-200, -238}, {-200, -298}, {-166, -298}}, color = {0, 127, 255}));
connect(pipe8.port_a, pipe7.port_b) annotation(
Line(points = {{-116, -298}, {-146, -298}}, color = {0, 127, 255}));
connect(pipe2.port_b, pipe9.port_b) annotation(
Line(points = {{-12, -298}, {-46, -298}}, color = {0, 127, 255}));
connect(pipe8.port_b, pipe9.port_a) annotation(
Line(points = {{-96, -298}, {-66, -298}}, color = {0, 127, 255}));
connect(Temperature3.T, p_atm.T_in) annotation(
Line(points = {{50, -340}, {78, -340}, {78, -293}, {60, -293}}, color = {0, 0, 127}));
connect(Temperature3.port, pipe9.heatPorts[3]) annotation(
Line(points = {{30, -340}, {-56, -340}, {-56, -302}}, color = {191, 0, 0}));
connect(pipe5.port_b, pipe6.port_a) annotation(
Line(points = {{-138, -238}, {-112, -238}}, color = {0, 127, 255}));
connect(outlet.T_in, Table_Temperature.y) annotation(
Line(points = {{14, -234}, {30, -234}, {30, -258}, {45, -258}}, color = {0, 0, 127}));
connect(outlet.p_in, Table_pressure.y) annotation(
Line(points = {{14, -230}, {30, -230}, {30, -209}, {45, -209}}, color = {0, 0, 127}));
algorithm
annotation(
Line(points = {{-566, -396}, {-556, -396}, {-556, -362}, {-536, -362}, {-536, -356}}, color = {191, 0, 0}),
uses(Modelica(version = "3.2.3")),
Diagram(coordinateSystem(extent = {{-320, -180}, {100, -360}}, initialScale = 0.1)),
Icon(coordinateSystem(extent = {{-1000, -205}, {425, 100}})),
version = "");
end Test_options;
</code>
model Test_options
/* déclation de la constance pi */
import Modelica.Constants.pi;
import Modelica.Blocks.Sources;
import Modelica.Utilities.Streams;
import Modelica.Math.Vectors;
parameter Real Flow_1[24, 2] = [0, 0.27; 50, 0.45; 166, 0.45; 172, 0.428; 184, 0.363; 196, 0.298; 208, 0.245; 212, 0.227; 218, 0.205; 222, 0.193; 226, 0.18; 232, 0.163; 236, 0.152; 244, 0.135; 254, 0.113; 262, 0.1; 268, 0.09; 272, 0.0846; 282, 0.0729; 296, 0.0576; 306, 0.045; 316, 0.0324; 318, 0.002; 650, 0.002];
// Variables for correlated tables
parameter Real correlatedCoef_BT_separateur[size(Flow_1, 1), 2](each fixed = false);
parameter Integer nNodes = 3;
parameter Real d(unit = "m", displayUnit = "mm") = 11e-3;
parameter Real D(unit = "m", displayUnit = "mm") = 18e-3;
parameter Real Ru(unit = "m") = 3.1e-5;
replaceable package Medium = Modelica.Media.Water.StandardWater constrainedby Modelica.Media.Interfaces.PartialMedium;
//Définition du modèle de transfert de chaleur
replaceable model HeatTransfer_1 = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.ConstantFlowHeatTransfer(alpha0 = 9000);
//Définition des conditions limites en entrée RRI
//Définition des serpentins du circuit RRI
inner Modelica.Fluid.System system(T_start = 313.15, m_flow_start = 0.3, p_start = 999999.9999999999) annotation(
Placement(transformation(origin = {-264, -314}, extent = {{-18, -18}, {18, 18}})));
//Définition des signaux d'entrée pour les échanges RRI/RCV
Modelica.Fluid.Pipes.DynamicPipe pipe6(redeclare package Medium = Medium, crossArea = Modelica.Constants.pi*(0.5^2 - 0.3^2), diameter = 0, isCircular = false, length = 140e-3, modelStructure = Modelica.Fluid.Types.ModelStructure.a_v_b, nNodes = 1, perimeter = Modelica.Constants.pi*(1 + 0.6), use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-102, -238}, extent = {{-10, 10}, {10, -10}})));
Modelica.Fluid.Pipes.DynamicPipe pipe5(redeclare package Medium = Medium, crossArea = Modelica.Constants.pi*(0.5^2 - 0.3^2), diameter = 0, isCircular = false, length = 140e-3, modelStructure = Modelica.Fluid.Types.ModelStructure.a_v_b, nNodes = 1, perimeter = Modelica.Constants.pi*(1 + 0.6), use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-148, -238}, extent = {{-10, 10}, {10, -10}})));
Modelica.Fluid.Sources.MassFlowSource_T inlet(redeclare package Medium = Medium, nPorts = 1, use_T_in = false, use_m_flow_in = true, T = 328.15, m_flow = 0.2) annotation(
Placement(transformation(origin = {-250, -238}, extent = {{-10, -10}, {10, 10}})));
Modelica.Fluid.Sources.Boundary_pT outlet(redeclare package Medium = Medium, T = 431.15, nPorts = 1, use_T_in = true, use_p_in = true, p = 15670000) annotation(
Placement(transformation(origin = {2, -238}, extent = {{10, -10}, {-10, 10}})));
Modelica.Fluid.Pipes.StaticPipe pipe(redeclare package Medium = Medium, diameter = 20e-3, isCircular = true, length = 12e-3) annotation(
Placement(transformation(origin = {-210, -238}, extent = {{-10, -10}, {10, 10}})));
Modelica.Fluid.Pipes.StaticPipe pipe1(redeclare package Medium = Medium, diameter = 20e-3, isCircular = true, length = 12e-3) annotation(
Placement(transformation(origin = {-50, -238}, extent = {{-10, -10}, {10, 10}})));
Modelica.Blocks.Sources.TimeTable table_flow(table = Flow_1) annotation(
Placement(transformation(origin = {-296, -230}, extent = {{10, -10}, {-10, 10}}, rotation = 180)));
Modelica.Fluid.Sources.Boundary_pT p_atm(redeclare package Medium = Medium, T = 328.15, nPorts = 1, p = 470000, use_T_in = true, use_p_in = false) annotation(
Placement(transformation(origin = {47, -298}, extent = {{11, -12}, {-11, 12}}, rotation = -0)));
Modelica.Fluid.Pipes.StaticPipe pipe2(redeclare package Medium = Medium, diameter = 20e-3, isCircular = true, length = 12e-3) annotation(
Placement(transformation(origin = {-2, -298}, extent = {{10, -10}, {-10, 10}}, rotation = -0)));
Modelica.Fluid.Pipes.DynamicPipe pipe7(redeclare package Medium = Medium, diameter = 3e-3, length = 2.3, nNodes = nNodes, use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-156, -298}, extent = {{-10, -10}, {10, 10}})));
Modelica.Fluid.Pipes.DynamicPipe pipe8(redeclare package Medium = Medium, diameter = 3e-3, length = 2.3, nNodes = nNodes, use_HeatTransfer = false) annotation(
Placement(transformation(origin = {-106, -298}, extent = {{10, 10}, {-10, -10}}, rotation = 180)));
Modelica.Fluid.Pipes.DynamicPipe pipe9(redeclare package Medium = Medium, diameter = 3e-3, length = 2.3, nNodes = nNodes, use_HeatTransfer = true) annotation(
Placement(transformation(origin = {-56, -298}, extent = {{10, -10}, {-10, 10}}, rotation = -180)));
Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor Temperature3 annotation(
Placement(transformation(origin = {40, -340}, extent = {{-10, -10}, {10, 10}}, rotation = -0)));
Modelica.Blocks.Sources.TimeTable Table_Temperature(table = [0, 303.15; 30, 569.03; 600, 569.03]) annotation(
Placement(transformation(origin = {56, -258}, extent = {{-10, -10}, {10, 10}}, rotation = -180)));
Modelica.Blocks.Sources.TimeTable Table_pressure(table = [0, 12e+5; 50, 156.7e+5; 600, 156.7e+5]) annotation(
Placement(transformation(origin = {57, -209}, extent = {{-11, -11}, {11, 11}}, rotation = 180)));
equation
connect(pipe.port_b, pipe5.port_a) annotation(
Line(points = {{-200, -238}, {-158, -238}}, color = {0, 127, 255}));
connect(pipe6.port_b, pipe1.port_a) annotation(
Line(points = {{-92, -238}, {-60, -238}}, color = {0, 127, 255}));
connect(inlet.m_flow_in, table_flow.y) annotation(
Line(points = {{-260, -230}, {-285, -230}}, color = {0, 0, 127}));
connect(inlet.ports[1], pipe.port_a) annotation(
Line(points = {{-240, -238}, {-220, -238}}, color = {0, 127, 255}));
connect(pipe1.port_b, outlet.ports[1]) annotation(
Line(points = {{-40, -238}, {-6, -238}}, color = {0, 127, 255}));
connect(p_atm.ports[1], pipe2.port_a) annotation(
Line(points = {{36, -298}, {8, -298}}, color = {0, 127, 255}));
connect(pipe.port_b, pipe7.port_a) annotation(
Line(points = {{-200, -238}, {-200, -298}, {-166, -298}}, color = {0, 127, 255}));
connect(pipe8.port_a, pipe7.port_b) annotation(
Line(points = {{-116, -298}, {-146, -298}}, color = {0, 127, 255}));
connect(pipe2.port_b, pipe9.port_b) annotation(
Line(points = {{-12, -298}, {-46, -298}}, color = {0, 127, 255}));
connect(pipe8.port_b, pipe9.port_a) annotation(
Line(points = {{-96, -298}, {-66, -298}}, color = {0, 127, 255}));
connect(Temperature3.T, p_atm.T_in) annotation(
Line(points = {{50, -340}, {78, -340}, {78, -293}, {60, -293}}, color = {0, 0, 127}));
connect(Temperature3.port, pipe9.heatPorts[3]) annotation(
Line(points = {{30, -340}, {-56, -340}, {-56, -302}}, color = {191, 0, 0}));
connect(pipe5.port_b, pipe6.port_a) annotation(
Line(points = {{-138, -238}, {-112, -238}}, color = {0, 127, 255}));
connect(outlet.T_in, Table_Temperature.y) annotation(
Line(points = {{14, -234}, {30, -234}, {30, -258}, {45, -258}}, color = {0, 0, 127}));
connect(outlet.p_in, Table_pressure.y) annotation(
Line(points = {{14, -230}, {30, -230}, {30, -209}, {45, -209}}, color = {0, 0, 127}));
algorithm
annotation(
Line(points = {{-566, -396}, {-556, -396}, {-556, -362}, {-536, -362}, {-536, -356}}, color = {191, 0, 0}),
uses(Modelica(version = "3.2.3")),
Diagram(coordinateSystem(extent = {{-320, -180}, {100, -360}}, initialScale = 0.1)),
Icon(coordinateSystem(extent = {{-1000, -205}, {425, 100}})),
version = "");
end Test_options;