| 1 | model pipe
|
|---|
| 2 | replaceable package Medium = Modelica.Media.Water.StandardWaterOnePhase
|
|---|
| 3 | constrainedby Modelica.Media.Interfaces.PartialMedium;
|
|---|
| 4 |
|
|---|
| 5 | input Modelica.Fluid.Sources.MassFlowSource_T Input(redeclare package Medium = Medium, nPorts = 1, use_T_in = true, use_m_flow_in = true) annotation(
|
|---|
| 6 | Placement(visible = true, transformation(origin = {-52, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 7 | output Modelica.Fluid.Sources.FixedBoundary Output(redeclare package Medium = Medium, nPorts = 1) annotation(
|
|---|
| 8 | Placement(visible = true, transformation(origin = {62, 2}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
|
|---|
| 9 | Modelica.Fluid.Pipes.DynamicPipe dynamicPipe(redeclare package Medium = Medium, diameter = 0.025, length = 100, nNodes = 3, use_HeatTransfer = true) annotation(
|
|---|
| 10 | Placement(visible = true, transformation(origin = {0, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 11 | Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow pipeHeatFlow annotation(
|
|---|
| 12 | Placement(visible = true, transformation(origin = {-40, 66}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 13 | Modelica.Blocks.Sources.Sine sine1(amplitude = 5, freqHz = 0.01, offset = 293) annotation(
|
|---|
| 14 | Placement(visible = true, transformation(origin = {-86, 4}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 15 | Modelica.Blocks.Sources.Constant const(k = 0.2) annotation(
|
|---|
| 16 | Placement(visible = true, transformation(origin = {-88, 38}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 17 | Modelica.Blocks.Interfaces.RealOutput Tpipe_in annotation(
|
|---|
| 18 | Placement(visible = true, transformation(origin = {64, -36}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {64, -36}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 19 | Modelica.Blocks.Interfaces.RealOutput Tpipe_out annotation(
|
|---|
| 20 | Placement(visible = true, transformation(origin = {66, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {66, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 21 | Modelica.Fluid.Sensors.TemperatureTwoPort temperature(redeclare package Medium = Medium) annotation(
|
|---|
| 22 | Placement(visible = true, transformation(origin = {30, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
|---|
| 23 | Modelica.Blocks.Interfaces.RealInput Qpipe_in annotation(
|
|---|
| 24 | Placement(visible = true, transformation(origin = {-94, 66}, extent = {{-20, -20}, {20, 20}}, rotation = 0), iconTransformation(origin = {-94, 66}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
|
|---|
| 25 | equation
|
|---|
| 26 | connect(Qpipe_in, pipeHeatFlow.Q_flow) annotation(
|
|---|
| 27 | Line(points = {{-94, 66}, {-52, 66}, {-52, 66}, {-50, 66}}, color = {0, 0, 127}));
|
|---|
| 28 | connect(temperature.T, Tpipe_out) annotation(
|
|---|
| 29 | Line(points = {{30, 12}, {30, 12}, {30, 40}, {66, 40}, {66, 40}}, color = {0, 0, 127}));
|
|---|
| 30 | connect(temperature.port_b, Output.ports[1]) annotation(
|
|---|
| 31 | Line(points = {{40, 0}, {52, 0}, {52, 2}, {52, 2}}, color = {0, 127, 255}));
|
|---|
| 32 | connect(dynamicPipe.port_b, temperature.port_a) annotation(
|
|---|
| 33 | Line(points = {{10, 0}, {20, 0}, {20, 0}, {20, 0}}, color = {0, 127, 255}));
|
|---|
| 34 | connect(pipeHeatFlow.port, dynamicPipe.heatPorts[1]) annotation(
|
|---|
| 35 | Line(points = {{-30, 66}, {0, 66}, {0, 4}}, color = {191, 0, 0}));
|
|---|
| 36 | connect(const.y, Input.m_flow_in) annotation(
|
|---|
| 37 | Line(points = {{-77, 38}, {-68, 38}, {-68, 8}, {-62, 8}}, color = {0, 0, 127}));
|
|---|
| 38 | connect(sine1.y, Tpipe_in) annotation(
|
|---|
| 39 | Line(points = {{-74, 4}, {-72, 4}, {-72, -36}, {64, -36}, {64, -36}}, color = {0, 0, 127}));
|
|---|
| 40 | connect(sine1.y, Input.T_in) annotation(
|
|---|
| 41 | Line(points = {{-75, 4}, {-64, 4}}, color = {0, 0, 127}));
|
|---|
| 42 | connect(Input.ports[1], dynamicPipe.port_a) annotation(
|
|---|
| 43 | Line(points = {{-42, 0}, {-10, 0}}, color = {0, 127, 255}));
|
|---|
| 44 | annotation(
|
|---|
| 45 | uses(Modelica(version = "3.2.3")));
|
|---|
| 46 |
|
|---|
| 47 | end pipe;
|
|---|