Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
i.elizarov
Fluid system CP and TD
Commits
772cbcaa
Commit
772cbcaa
authored
Apr 01, 2022
by
i.elizarov
Browse files
Added air cooling system with a coil for the thermal demonstrator
parent
e5d40c60
Changes
54
Hide whitespace changes
Inline
Side-by-side
CoolingSystem/Debug/TDGasCoolingDebug10.mo
0 → 100644
View file @
772cbcaa
within CoolingSystem.Debug;
model TDGasCoolingDebug10 "Model of the air cooling system for the thermal demonstrator"
parameter Modelica.SIunits.Diameter hoseDiameter = (100 - 1.75 * 2) * 1e-3;
// data points 2, 3, 4:
// a = 928665600
// b = 6420948
// data point 5:
// a = 2442036215.9921045
// data point 3:
// a = 5503626504.112218
package Medium = Modelica.Media.Air.MoistAir;
// X = {0.00008, 1-0.00008}
Modelica.Fluid.Pipes.StaticPipe hose1(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {-92, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
Modelica.Fluid.Sources.FixedBoundary labAirSink(redeclare package Medium = Medium, nPorts = 1) annotation(
Placement(visible = true, transformation(origin = {-38, -110}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
inner Modelica.Fluid.System system(T_ambient = Medium.T_default,allowFlowReversal = true,energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_start = 0, p_ambient = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {90, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant targetHumidity(k = 0.00015) annotation(
Placement(visible = true, transformation(origin = {-90, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe hose2(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {-22, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Sources.FixedBoundary wallN2(redeclare package Medium = Medium, nPorts = 0, p = (0.5 + 1) * 1e5) annotation(
// Placement(visible = true, transformation(origin = {-90, -68}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Pipes.StaticPipe hose3(redeclare package Medium = Medium, diameter = 9.525, length = 6, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
// Placement(visible = true, transformation(origin = {-46, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step(height = 1, startTime = 7200) annotation(
Placement(visible = true, transformation(origin = {12, 114}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Sources.Boundary_pT wallAirWithValve(redeclare package Medium = Medium, T = 273.15 + 20, nPorts = 1, p = (7 + 1) * 1e5, use_p_in = true) annotation(
Placement(visible = true, transformation(origin = {-118, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const1(k = (7 + 1.01325) * 1e5) annotation(
Placement(visible = true, transformation(origin = {-184, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Continuous.FirstOrder firstOrder(T = 2 / 5, initType = Modelica.Blocks.Types.Init.InitialOutput, y(fixed = false), y_start = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {-152, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Fittings.GenericResistances.VolumeFlowRate genRes(redeclare package Medium = Medium, a = 928665600, b = 6420948) annotation(
// Placement(visible = true, transformation(origin = {48, 28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant regValOp(k = 0.18) annotation(
Placement(visible = true, transformation(origin = {188, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe airCooRes(redeclare package Medium = Medium, diameter = 6e-3, length = 3.9) annotation(
Placement(visible = true, transformation(origin = {20, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe airDryRes(redeclare package Medium = Medium, diameter = 6e-3, length = 0.544 * 2) annotation(
Placement(visible = true, transformation(origin = {-60, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe inletPipe(redeclare package Medium = Medium, diameter = (21.3 - 2 * 2.6) * 1e-3, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {40, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe hose3(redeclare package Medium = Medium, diameter = hoseDiameter, length = 50e-2, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {88, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe hose4(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {86, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Fittings.SimpleGenericOrifice orifice2(redeclare package Medium = Medium, diameter = 9.5e-3, zeta = 1) annotation(
Placement(visible = true, transformation(origin = {-38, -80}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
IBPSA.Fluid.Actuators.Valves.TwoWayLinear valRegAir(redeclare package Medium = Medium, CvData = IBPSA.Fluid.Types.CvTypes.Kv, Kv = 55, allowFlowReversal = system.allowFlowReversal, l = 0.01, m_flow_nominal = 0.002, riseTime = 5, y_start = 0.18) annotation(
Placement(visible = true, transformation(origin = {150, -16}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
Modelica.Fluid.Vessels.ClosedVolume volTD(redeclare package Medium = Medium, V = 1.5, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, nPorts = 2, use_portsData = false) annotation(
Placement(visible = true, transformation(origin = {-16, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
IBPSA.Fluid.HeatExchangers.HeaterCooler_u airCooller(redeclare package Medium = Medium, Q_flow_nominal = -810, T_start = 20 + 273.15, allowFlowReversal = system.allowFlowReversal, dp_nominal = 0, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_nominal = 43.805 / 3600, tau = 20 * 60 / 5) annotation(
Placement(visible = true, transformation(origin = {56, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const2(k = 0) annotation(
Placement(visible = true, transformation(origin = {-26, 116}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
CoolingSystem.Experiments.Coil coil1(T_start = Medium.T_default,energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, p_start = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {130, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const(k = 273.15 + 20) annotation(
Placement(visible = true, transformation(origin = {158, 122}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step1(height = 5, offset = Medium.T_default, startTime = 60000) annotation(
Placement(visible = true, transformation(origin = {52, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step2(height = 1, offset = 0, startTime = 60000) annotation(
Placement(visible = true, transformation(origin = {20, 76}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Sensors.VolumeFlowRate volFlowTD(redeclare package Medium = Medium) annotation(
Placement(visible = true, transformation(origin = {12, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Blocks.Continuous.FirstOrder firstOrder1(T = 10 / 5, initType = Modelica.Blocks.Types.Init.InitialOutput, y(fixed = false), y_start = Medium.T_default) annotation(
Placement(visible = true, transformation(origin = {88, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
IBPSA.Fluid.Actuators.Valves.TwoWayLinear val(redeclare package Medium = Medium, CvData = IBPSA.Fluid.Types.CvTypes.Kv, Kv = 55, allowFlowReversal = system.allowFlowReversal, l = 0.01, m_flow_nominal = 0.002, riseTime = 5, y_start = 0.35) annotation(
Placement(visible = true, transformation(origin = {192, -14}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
Modelica.Blocks.Sources.Constant const3(k = 0.35) annotation(
Placement(visible = true, transformation(origin = {224, -14}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe pipe1(redeclare package Medium = Medium, diameter = hoseDiameter, length = 50e-2, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {144, -68}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
equation
connect(const1.y, firstOrder.u) annotation(
Line(points = {{-173, -46}, {-164, -46}}, color = {0, 0, 127}));
connect(firstOrder.y, wallAirWithValve.p_in) annotation(
Line(points = {{-141, -46}, {-130, -46}}, color = {0, 0, 127}));
connect(airDryRes.port_b, hose2.port_a) annotation(
Line(points = {{-50, 34}, {-32, 34}}, color = {0, 127, 255}));
connect(hose1.port_b, airDryRes.port_a) annotation(
Line(points = {{-92, 26}, {-92, 34}, {-70, 34}}, color = {0, 127, 255}));
connect(hose2.port_b, airCooRes.port_a) annotation(
Line(points = {{-12, 34}, {10, 34}}, color = {0, 127, 255}));
connect(orifice2.port_b, labAirSink.ports[1]) annotation(
Line(points = {{-38, -90}, {-38, -100}}, color = {0, 127, 255}));
connect(airCooRes.port_b, airCooller.port_a) annotation(
Line(points = {{30, 34}, {46, 34}}, color = {0, 127, 255}));
connect(airCooller.port_b, hose3.port_a) annotation(
Line(points = {{66, 34}, {78, 34}}, color = {0, 127, 255}));
connect(orifice2.port_a, volTD.ports[1]) annotation(
Line(points = {{-38, -70}, {-38, -38}, {-16, -38}, {-16, -44}}, color = {0, 127, 255}));
connect(hose3.port_b, coil1.port_a) annotation(
Line(points = {{98, 34}, {124, 34}, {124, 20}}, color = {0, 127, 255}));
connect(step2.y, airCooller.u) annotation(
Line(points = {{32, 76}, {40, 76}, {40, 40}, {44, 40}}, color = {0, 0, 127}));
connect(volFlowTD.port_a, inletPipe.port_b) annotation(
Line(points = {{22, -38}, {30, -38}}, color = {0, 127, 255}));
connect(volFlowTD.port_b, volTD.ports[2]) annotation(
Line(points = {{2, -38}, {-8, -38}, {-8, -44}, {-16, -44}}, color = {0, 127, 255}));
connect(regValOp.y, valRegAir.y) annotation(
Line(points = {{177, 26}, {172, 26}, {172, -16}, {162, -16}}, color = {0, 0, 127}));
connect(coil1.port_b, valRegAir.port_a) annotation(
Line(points = {{136, 20}, {136, 34}, {150, 34}, {150, -6}}, color = {0, 127, 255}));
connect(valRegAir.port_b, hose4.port_a) annotation(
Line(points = {{150, -26}, {150, -38}, {96, -38}}, color = {0, 127, 255}));
connect(wallAirWithValve.ports[1], hose1.port_a) annotation(
Line(points = {{-108, -54}, {-92, -54}, {-92, 6}}, color = {0, 127, 255}));
connect(step1.y, firstOrder1.u) annotation(
Line(points = {{64, -4}, {76, -4}}, color = {0, 0, 127}));
connect(firstOrder1.y, coil1.T) annotation(
Line(points = {{100, -4}, {104, -4}, {104, 14}, {118, 14}}, color = {0, 0, 127}));
connect(inletPipe.port_a, hose4.port_b) annotation(
Line(points = {{50, -38}, {76, -38}}, color = {0, 127, 255}));
connect(val.y, const3.y) annotation(
Line(points = {{204, -14}, {213, -14}}, color = {0, 0, 127}));
connect(pipe1.port_a, val.port_b) annotation(
Line(points = {{154, -68}, {192, -68}, {192, -24}}, color = {0, 127, 255}));
connect(pipe1.port_b, inletPipe.port_a) annotation(
Line(points = {{134, -68}, {62, -68}, {62, -38}, {50, -38}}, color = {0, 127, 255}));
connect(airCooller.port_b, val.port_a) annotation(
Line(points = {{66, 34}, {68, 34}, {68, 56}, {192, 56}, {192, -4}}, color = {0, 127, 255}));
annotation(
Documentation(info = "
<html><head></head><body><div>
Simulation reaches the steadz state at 60e3 s
</div></body></html>
"));
end TDGasCoolingDebug10;
CoolingSystem/Debug/TDGasCoolingDebug11.mo
0 → 100644
View file @
772cbcaa
within CoolingSystem.Debug;
model TDGasCoolingDebug11 "Model of the air cooling system for the thermal demonstrator"
parameter Modelica.SIunits.Diameter hoseDiameter = (100 - 1.75 * 2) * 1e-3;
// data points 2, 3, 4:
// a = 928665600
// b = 6420948
// data point 5:
// a = 2442036215.9921045
// data point 3:
// a = 5503626504.112218
package Medium = Modelica.Media.Air.MoistAir;
// X = {0.00008, 1-0.00008}
Modelica.Fluid.Pipes.StaticPipe hose1(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {-92, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
Modelica.Fluid.Sources.FixedBoundary labAirSink(redeclare package Medium = Medium, nPorts = 1) annotation(
Placement(visible = true, transformation(origin = {-38, -110}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
inner Modelica.Fluid.System system(T_ambient = Medium.T_default,allowFlowReversal = true,energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_start = 0, p_ambient = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {90, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant targetHumidity(k = 0.00015) annotation(
Placement(visible = true, transformation(origin = {-90, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe hose2(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {-22, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Sources.FixedBoundary wallN2(redeclare package Medium = Medium, nPorts = 0, p = (0.5 + 1) * 1e5) annotation(
// Placement(visible = true, transformation(origin = {-90, -68}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Pipes.StaticPipe hose3(redeclare package Medium = Medium, diameter = 9.525, length = 6, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
// Placement(visible = true, transformation(origin = {-46, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step(height = 1, startTime = 7200) annotation(
Placement(visible = true, transformation(origin = {12, 114}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Sources.Boundary_pT wallAirWithValve(redeclare package Medium = Medium, T = 273.15 + 20, X = {7.8765e-5, 1 - 7.8765e-5}, nPorts = 1, p = (7 + 1) * 1e5, use_p_in = true) annotation(
Placement(visible = true, transformation(origin = {-118, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const1(k = (7 + 1.01325) * 1e5) annotation(
Placement(visible = true, transformation(origin = {-184, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Continuous.FirstOrder firstOrder(T = 2 / 5, initType = Modelica.Blocks.Types.Init.InitialOutput, y(fixed = false), y_start = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {-152, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Fittings.GenericResistances.VolumeFlowRate genRes(redeclare package Medium = Medium, a = 928665600, b = 6420948) annotation(
// Placement(visible = true, transformation(origin = {48, 28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant regValOp(k = 0.18) annotation(
Placement(visible = true, transformation(origin = {188, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe airCooRes(redeclare package Medium = Medium, diameter = 6e-3, length = 3.9) annotation(
Placement(visible = true, transformation(origin = {20, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe airDryRes(redeclare package Medium = Medium, diameter = 6e-3, length = 0.544 * 2) annotation(
Placement(visible = true, transformation(origin = {-60, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe inletPipe(redeclare package Medium = Medium, diameter = (21.3 - 2 * 2.6) * 1e-3, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {40, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe hose3(redeclare package Medium = Medium, diameter = hoseDiameter, length = 50e-2, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {88, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe hose4(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {86, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Fittings.SimpleGenericOrifice orifice2(redeclare package Medium = Medium, diameter = 9.5e-3, zeta = 1) annotation(
Placement(visible = true, transformation(origin = {-38, -80}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
IBPSA.Fluid.Actuators.Valves.TwoWayLinear valRegAir(redeclare package Medium = Medium, CvData = IBPSA.Fluid.Types.CvTypes.Kv, Kv = 55, allowFlowReversal = system.allowFlowReversal, l = 0.01, m_flow_nominal = 0.002, riseTime = 5, y_start = 0.18) annotation(
Placement(visible = true, transformation(origin = {150, -16}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
Modelica.Fluid.Vessels.ClosedVolume volTD(redeclare package Medium = Medium, V = 1.5, X_start = {11.887e-3, 1 - 11.887e-3}, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, nPorts = 2, use_portsData = false) annotation(
Placement(visible = true, transformation(origin = {-16, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
IBPSA.Fluid.HeatExchangers.HeaterCooler_u airCooller(redeclare package Medium = Medium, Q_flow_nominal = -810, T_start = 20 + 273.15, allowFlowReversal = system.allowFlowReversal, dp_nominal = 0, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_nominal = 43.805 / 3600, tau = 20 * 60 / 5) annotation(
Placement(visible = true, transformation(origin = {56, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const2(k = 0) annotation(
Placement(visible = true, transformation(origin = {-26, 116}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
CoolingSystem.Experiments.Coil coil1(T_start = Medium.T_default,energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, p_start = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {130, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const(k = 273.15 + 20) annotation(
Placement(visible = true, transformation(origin = {158, 122}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step1(height = 5, offset = Medium.T_default, startTime = 60000) annotation(
Placement(visible = true, transformation(origin = {52, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step2(height = 1, offset = 0, startTime = 60000) annotation(
Placement(visible = true, transformation(origin = {20, 76}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Sensors.VolumeFlowRate volFlowTD(redeclare package Medium = Medium) annotation(
Placement(visible = true, transformation(origin = {12, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Blocks.Continuous.FirstOrder firstOrder1(T = 10 / 5, initType = Modelica.Blocks.Types.Init.InitialOutput, y(fixed = false), y_start = Medium.T_default) annotation(
Placement(visible = true, transformation(origin = {88, -4}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
equation
connect(const1.y, firstOrder.u) annotation(
Line(points = {{-173, -46}, {-164, -46}}, color = {0, 0, 127}));
connect(firstOrder.y, wallAirWithValve.p_in) annotation(
Line(points = {{-141, -46}, {-130, -46}}, color = {0, 0, 127}));
connect(airDryRes.port_b, hose2.port_a) annotation(
Line(points = {{-50, 34}, {-32, 34}}, color = {0, 127, 255}));
connect(hose1.port_b, airDryRes.port_a) annotation(
Line(points = {{-92, 26}, {-92, 34}, {-70, 34}}, color = {0, 127, 255}));
connect(hose2.port_b, airCooRes.port_a) annotation(
Line(points = {{-12, 34}, {10, 34}}, color = {0, 127, 255}));
connect(orifice2.port_b, labAirSink.ports[1]) annotation(
Line(points = {{-38, -90}, {-38, -100}}, color = {0, 127, 255}));
connect(airCooRes.port_b, airCooller.port_a) annotation(
Line(points = {{30, 34}, {46, 34}}, color = {0, 127, 255}));
connect(airCooller.port_b, hose3.port_a) annotation(
Line(points = {{66, 34}, {78, 34}}, color = {0, 127, 255}));
connect(orifice2.port_a, volTD.ports[1]) annotation(
Line(points = {{-38, -70}, {-38, -38}, {-16, -38}, {-16, -44}}, color = {0, 127, 255}));
connect(hose3.port_b, coil1.port_a) annotation(
Line(points = {{98, 34}, {124, 34}, {124, 20}}, color = {0, 127, 255}));
connect(step2.y, airCooller.u) annotation(
Line(points = {{32, 76}, {40, 76}, {40, 40}, {44, 40}}, color = {0, 0, 127}));
connect(volFlowTD.port_a, inletPipe.port_b) annotation(
Line(points = {{22, -38}, {30, -38}}, color = {0, 127, 255}));
connect(volFlowTD.port_b, volTD.ports[2]) annotation(
Line(points = {{2, -38}, {-8, -38}, {-8, -44}, {-16, -44}}, color = {0, 127, 255}));
connect(regValOp.y, valRegAir.y) annotation(
Line(points = {{177, 26}, {172, 26}, {172, -16}, {162, -16}}, color = {0, 0, 127}));
connect(coil1.port_b, valRegAir.port_a) annotation(
Line(points = {{136, 20}, {136, 34}, {150, 34}, {150, -6}}, color = {0, 127, 255}));
connect(valRegAir.port_b, hose4.port_a) annotation(
Line(points = {{150, -26}, {150, -38}, {96, -38}}, color = {0, 127, 255}));
connect(wallAirWithValve.ports[1], hose1.port_a) annotation(
Line(points = {{-108, -54}, {-92, -54}, {-92, 6}}, color = {0, 127, 255}));
connect(step1.y, firstOrder1.u) annotation(
Line(points = {{64, -4}, {76, -4}}, color = {0, 0, 127}));
connect(firstOrder1.y, coil1.T) annotation(
Line(points = {{100, -4}, {104, -4}, {104, 14}, {118, 14}}, color = {0, 0, 127}));
connect(inletPipe.port_a, hose4.port_b) annotation(
Line(points = {{50, -38}, {76, -38}}, color = {0, 127, 255}));
annotation(
Documentation(info = "
<html><head></head><body><div>
Simulation reaches the steadz state at 60e3 s
</div></body></html>
"));
end TDGasCoolingDebug11;
CoolingSystem/Debug/TDGasCoolingDebug12.mo
0 → 100644
View file @
772cbcaa
within CoolingSystem.Debug;
model TDGasCoolingDebug12 "Model of the air cooling system for the thermal demonstrator"
parameter Modelica.SIunits.Diameter hoseDiameter = (100 - 1.75 * 2) * 1e-3;
// data points 2, 3, 4:
// a = 928665600
// b = 6420948
// data point 5:
// a = 2442036215.9921045
// data point 3:
// a = 5503626504.112218
package Medium = Modelica.Media.Air.MoistAir;
// X = {0.00008, 1-0.00008}
Modelica.Fluid.Pipes.StaticPipe hose1(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {-92, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
Modelica.Fluid.Sources.FixedBoundary labAirSink(redeclare package Medium = Medium, nPorts = 1) annotation(
Placement(visible = true, transformation(origin = {-38, -110}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
inner Modelica.Fluid.System system(T_ambient = Medium.T_default,allowFlowReversal = true,energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_start = 0, p_ambient = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {90, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant targetHumidity(k = 0.00015) annotation(
Placement(visible = true, transformation(origin = {-90, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe hose2(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {-22, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Sources.FixedBoundary wallN2(redeclare package Medium = Medium, nPorts = 0, p = (0.5 + 1) * 1e5) annotation(
// Placement(visible = true, transformation(origin = {-90, -68}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Pipes.StaticPipe hose3(redeclare package Medium = Medium, diameter = 9.525, length = 6, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
// Placement(visible = true, transformation(origin = {-46, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step(height = 1, startTime = 7200) annotation(
Placement(visible = true, transformation(origin = {12, 114}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Sources.Boundary_pT wallAirWithValve(redeclare package Medium = Medium, T = 273.15 + 20, nPorts = 1, p = (7 + 1) * 1e5, use_p_in = true) annotation(
Placement(visible = true, transformation(origin = {-118, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const1(k = (7 + 1.01325) * 1e5) annotation(
Placement(visible = true, transformation(origin = {-184, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Continuous.FirstOrder firstOrder(T = 2 / 5, initType = Modelica.Blocks.Types.Init.InitialOutput, y(fixed = false), y_start = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {-152, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Fittings.GenericResistances.VolumeFlowRate genRes(redeclare package Medium = Medium, a = 928665600, b = 6420948) annotation(
// Placement(visible = true, transformation(origin = {48, 28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant regValOp(k = 0.18) annotation(
Placement(visible = true, transformation(origin = {188, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe airCooRes(redeclare package Medium = Medium, diameter = 6e-3, length = 3.9) annotation(
Placement(visible = true, transformation(origin = {20, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe airDryRes(redeclare package Medium = Medium, diameter = 6e-3, length = 0.544 * 2) annotation(
Placement(visible = true, transformation(origin = {-60, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe inletPipe(redeclare package Medium = Medium, diameter = (21.3 - 2 * 2.6) * 1e-3, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {40, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe hose3(redeclare package Medium = Medium, diameter = hoseDiameter, length = 50e-2, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {88, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe hose4(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {86, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Fittings.SimpleGenericOrifice orifice2(redeclare package Medium = Medium, diameter = 9.5e-3, zeta = 1) annotation(
Placement(visible = true, transformation(origin = {-38, -80}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
IBPSA.Fluid.Actuators.Valves.TwoWayLinear valRegAir(redeclare package Medium = Medium, CvData = IBPSA.Fluid.Types.CvTypes.Kv, Kv = 55, allowFlowReversal = system.allowFlowReversal, l = 0.01, m_flow_nominal = 0.002, riseTime = 5, y_start = 0.18) annotation(
Placement(visible = true, transformation(origin = {150, -16}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
Modelica.Fluid.Vessels.ClosedVolume volTD(redeclare package Medium = Medium, V = 1.5, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, nPorts = 2, use_portsData = false) annotation(
Placement(visible = true, transformation(origin = {-16, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
IBPSA.Fluid.HeatExchangers.HeaterCooler_u airCooller(redeclare package Medium = Medium, Q_flow_nominal = -810, T_start = 20 + 273.15, allowFlowReversal = system.allowFlowReversal, dp_nominal = 0, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_nominal = 43.805 / 3600, tau = 20 * 60 / 5) annotation(
Placement(visible = true, transformation(origin = {56, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const2(k = 0) annotation(
Placement(visible = true, transformation(origin = {-26, 116}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
CoolingSystem.Experiments.Coil coil1(T_start = Medium.T_default,energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, p_start = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {94, 6}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const(k = 273.15 + 20) annotation(
Placement(visible = true, transformation(origin = {158, 122}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step1(height = 5, offset = Medium.T_default, startTime = 60000) annotation(
Placement(visible = true, transformation(origin = {16, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step2(height = 1, offset = 0, startTime = 60000) annotation(
Placement(visible = true, transformation(origin = {20, 76}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Sensors.VolumeFlowRate volFlowTD(redeclare package Medium = Medium) annotation(
Placement(visible = true, transformation(origin = {12, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Blocks.Continuous.FirstOrder firstOrder1(T = 10 / 5, initType = Modelica.Blocks.Types.Init.InitialOutput, y(fixed = false), y_start = Medium.T_default) annotation(
Placement(visible = true, transformation(origin = {52, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const3(k = 0.35) annotation(
Placement(visible = true, transformation(origin = {224, -14}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe pipe(redeclare package Medium = Medium,diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {86, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
IBPSA.Fluid.Actuators.Valves.TwoWayLinear val(redeclare package Medium = Medium,CvData = IBPSA.Fluid.Types.CvTypes.Kv, Kv = 55, allowFlowReversal = system.allowFlowReversal, l = 0.01, m_flow_nominal = 0.002, riseTime = 5, y_start = 0.18) annotation(
Placement(visible = true, transformation(origin = {112, -16}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
Modelica.Blocks.Sources.Constant const4(k = 0.18) annotation(
Placement(visible = true, transformation(origin = {188, -62}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
equation
connect(const1.y, firstOrder.u) annotation(
Line(points = {{-173, -46}, {-164, -46}}, color = {0, 0, 127}));
connect(firstOrder.y, wallAirWithValve.p_in) annotation(
Line(points = {{-141, -46}, {-130, -46}}, color = {0, 0, 127}));
connect(airDryRes.port_b, hose2.port_a) annotation(
Line(points = {{-50, 34}, {-32, 34}}, color = {0, 127, 255}));
connect(hose1.port_b, airDryRes.port_a) annotation(
Line(points = {{-92, 26}, {-92, 34}, {-70, 34}}, color = {0, 127, 255}));
connect(hose2.port_b, airCooRes.port_a) annotation(
Line(points = {{-12, 34}, {10, 34}}, color = {0, 127, 255}));
connect(orifice2.port_b, labAirSink.ports[1]) annotation(
Line(points = {{-38, -90}, {-38, -100}}, color = {0, 127, 255}));
connect(airCooRes.port_b, airCooller.port_a) annotation(
Line(points = {{30, 34}, {46, 34}}, color = {0, 127, 255}));
connect(airCooller.port_b, hose3.port_a) annotation(
Line(points = {{66, 34}, {78, 34}}, color = {0, 127, 255}));
connect(orifice2.port_a, volTD.ports[1]) annotation(
Line(points = {{-38, -70}, {-38, -38}, {-16, -38}, {-16, -44}}, color = {0, 127, 255}));
connect(step2.y, airCooller.u) annotation(
Line(points = {{32, 76}, {40, 76}, {40, 40}, {44, 40}}, color = {0, 0, 127}));
connect(volFlowTD.port_a, inletPipe.port_b) annotation(
Line(points = {{22, -38}, {30, -38}}, color = {0, 127, 255}));
connect(volFlowTD.port_b, volTD.ports[2]) annotation(
Line(points = {{2, -38}, {-8, -38}, {-8, -44}, {-16, -44}}, color = {0, 127, 255}));
connect(regValOp.y, valRegAir.y) annotation(
Line(points = {{177, 26}, {172, 26}, {172, -16}, {162, -16}}, color = {0, 0, 127}));
connect(valRegAir.port_b, hose4.port_a) annotation(
Line(points = {{150, -26}, {150, -38}, {96, -38}}, color = {0, 127, 255}));
connect(wallAirWithValve.ports[1], hose1.port_a) annotation(
Line(points = {{-108, -54}, {-92, -54}, {-92, 6}}, color = {0, 127, 255}));
connect(step1.y, firstOrder1.u) annotation(
Line(points = {{27, -8}, {39, -8}}, color = {0, 0, 127}));
connect(firstOrder1.y, coil1.T) annotation(
Line(points = {{63, -8}, {67, -8}, {67, 10}, {81, 10}}, color = {0, 0, 127}));
connect(inletPipe.port_a, hose4.port_b) annotation(
Line(points = {{50, -38}, {76, -38}}, color = {0, 127, 255}));
connect(coil1.port_b, val.port_a) annotation(
Line(points = {{100, 16}, {112, 16}, {112, -6}}, color = {0, 127, 255}));
connect(coil1.port_a, airDryRes.port_b) annotation(
Line(points = {{88, 16}, {-40, 16}, {-40, 34}, {-50, 34}}, color = {0, 127, 255}));
connect(val.port_b, pipe.port_a) annotation(
Line(points = {{112, -26}, {112, -60}, {96, -60}}, color = {0, 127, 255}));
connect(pipe.port_b, inletPipe.port_a) annotation(
Line(points = {{76, -60}, {60, -60}, {60, -38}, {50, -38}}, color = {0, 127, 255}));
connect(hose3.port_b, valRegAir.port_a) annotation(
Line(points = {{98, 34}, {150, 34}, {150, -6}}, color = {0, 127, 255}));
connect(const4.y, val.y) annotation(
Line(points = {{178, -62}, {128, -62}, {128, -16}, {124, -16}}, color = {0, 0, 127}));
annotation(
Documentation(info = "
<html><head></head><body><div>
Simulation reaches the steadz state at 60e3 s
</div></body></html>
"));
end TDGasCoolingDebug12;
CoolingSystem/Debug/TDGasCoolingDebug13.mo
0 → 100644
View file @
772cbcaa
within CoolingSystem.Debug;
model TDGasCoolingDebug13 "Model of the air cooling system for the thermal demonstrator"
parameter Modelica.SIunits.Diameter hoseDiameter = (100 - 1.75 * 2) * 1e-3;
// data points 2, 3, 4:
// a = 928665600
// b = 6420948
// data point 5:
// a = 2442036215.9921045
// data point 3:
// a = 5503626504.112218
package Medium = Modelica.Media.Air.MoistAir;
// X = {0.00008, 1-0.00008}
Modelica.Fluid.Pipes.StaticPipe hose1(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {-92, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
Modelica.Fluid.Sources.FixedBoundary labAirSink(redeclare package Medium = Medium, nPorts = 1) annotation(
Placement(visible = true, transformation(origin = {-38, -110}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
inner Modelica.Fluid.System system(T_ambient = Medium.T_default,allowFlowReversal = true,energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_start = 0, p_ambient = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {90, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant targetHumidity(k = 0.00015) annotation(
Placement(visible = true, transformation(origin = {-90, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe hose2(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {-22, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Sources.FixedBoundary wallN2(redeclare package Medium = Medium, nPorts = 0, p = (0.5 + 1) * 1e5) annotation(
// Placement(visible = true, transformation(origin = {-90, -68}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Pipes.StaticPipe hose3(redeclare package Medium = Medium, diameter = 9.525, length = 6, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
// Placement(visible = true, transformation(origin = {-46, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step(height = 1, startTime = 7200) annotation(
Placement(visible = true, transformation(origin = {12, 114}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Sources.Boundary_pT wallAirWithValve(redeclare package Medium = Medium, T = 273.15 + 20, nPorts = 1, p = (7 + 1) * 1e5, use_p_in = true) annotation(
Placement(visible = true, transformation(origin = {-118, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const1(k = (7 + 1.01325) * 1e5) annotation(
Placement(visible = true, transformation(origin = {-184, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Continuous.FirstOrder firstOrder(T = 2 / 5, initType = Modelica.Blocks.Types.Init.InitialOutput, y(fixed = false), y_start = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {-152, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Fittings.GenericResistances.VolumeFlowRate genRes(redeclare package Medium = Medium, a = 928665600, b = 6420948) annotation(
// Placement(visible = true, transformation(origin = {48, 28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant regValOp(k = 0.15) annotation(
Placement(visible = true, transformation(origin = {188, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe airCooRes(redeclare package Medium = Medium, diameter = 6e-3, length = 3.9) annotation(
Placement(visible = true, transformation(origin = {20, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe airDryRes(redeclare package Medium = Medium, diameter = 6e-3, length = 0.544 * 2) annotation(
Placement(visible = true, transformation(origin = {-60, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe inletPipe(redeclare package Medium = Medium, diameter = (21.3 - 2 * 2.6) * 1e-3, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {40, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe hose3(redeclare package Medium = Medium, diameter = hoseDiameter, length = 50e-2, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {88, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe hose4(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {86, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Fittings.SimpleGenericOrifice orifice2(redeclare package Medium = Medium, diameter = 9.5e-3, zeta = 1) annotation(
Placement(visible = true, transformation(origin = {-38, -80}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
IBPSA.Fluid.Actuators.Valves.TwoWayLinear valRegAir(redeclare package Medium = Medium, CvData = IBPSA.Fluid.Types.CvTypes.Kv, Kv = 55, allowFlowReversal = system.allowFlowReversal, l = 0.01, m_flow_nominal = 0.002, riseTime = 5, y_start = 0.18) annotation(
Placement(visible = true, transformation(origin = {150, -16}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
Modelica.Fluid.Vessels.ClosedVolume volTD(redeclare package Medium = Medium, V = 1.5, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, nPorts = 2, use_portsData = false) annotation(
Placement(visible = true, transformation(origin = {-16, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
IBPSA.Fluid.HeatExchangers.HeaterCooler_u airCooller(redeclare package Medium = Medium, Q_flow_nominal = -810, T_start = 20 + 273.15, allowFlowReversal = system.allowFlowReversal, dp_nominal = 0, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_nominal = 43.805 / 3600, tau = 20 * 60 / 5) annotation(
Placement(visible = true, transformation(origin = {56, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const2(k = 0) annotation(
Placement(visible = true, transformation(origin = {-26, 116}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
CoolingSystem.Experiments.Coil coil1(T_start = Medium.T_default,energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, p_start = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {94, 6}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const(k = 273.15 + 20) annotation(
Placement(visible = true, transformation(origin = {158, 122}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step1(height = 50 + 30, offset = Medium.T_default, startTime = 60000) annotation(
Placement(visible = true, transformation(origin = {16, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step2(height = 1, offset = 0, startTime = 60000) annotation(
Placement(visible = true, transformation(origin = {20, 76}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Sensors.VolumeFlowRate volFlowTD(redeclare package Medium = Medium) annotation(
Placement(visible = true, transformation(origin = {12, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Blocks.Continuous.FirstOrder firstOrder1(T = 10 / 5, initType = Modelica.Blocks.Types.Init.InitialOutput, y(fixed = false), y_start = Medium.T_default) annotation(
Placement(visible = true, transformation(origin = {52, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const3(k = 0.35) annotation(
Placement(visible = true, transformation(origin = {224, -14}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe pipe(redeclare package Medium = Medium,diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {86, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
IBPSA.Fluid.Actuators.Valves.TwoWayLinear val(redeclare package Medium = Medium,CvData = IBPSA.Fluid.Types.CvTypes.Kv, Kv = 55, allowFlowReversal = system.allowFlowReversal, l = 0.01, m_flow_nominal = 0.002, riseTime = 5, y_start = 0.5) annotation(
Placement(visible = true, transformation(origin = {112, -16}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
Modelica.Blocks.Sources.Constant const4(k = 0.5) annotation(
Placement(visible = true, transformation(origin = {188, -62}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Sources.FixedBoundary boundary(redeclare package Medium = Medium, nPorts = 1, p = (1 + 0.3) * 1e5) annotation(
Placement(visible = true, transformation(origin = {44, -118}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
equation
connect(const1.y, firstOrder.u) annotation(
Line(points = {{-173, -46}, {-164, -46}}, color = {0, 0, 127}));
connect(firstOrder.y, wallAirWithValve.p_in) annotation(
Line(points = {{-141, -46}, {-130, -46}}, color = {0, 0, 127}));
connect(airDryRes.port_b, hose2.port_a) annotation(
Line(points = {{-50, 34}, {-32, 34}}, color = {0, 127, 255}));
connect(hose1.port_b, airDryRes.port_a) annotation(
Line(points = {{-92, 26}, {-92, 34}, {-70, 34}}, color = {0, 127, 255}));
connect(hose2.port_b, airCooRes.port_a) annotation(
Line(points = {{-12, 34}, {10, 34}}, color = {0, 127, 255}));
connect(orifice2.port_b, labAirSink.ports[1]) annotation(
Line(points = {{-38, -90}, {-38, -100}}, color = {0, 127, 255}));
connect(airCooRes.port_b, airCooller.port_a) annotation(
Line(points = {{30, 34}, {46, 34}}, color = {0, 127, 255}));
connect(airCooller.port_b, hose3.port_a) annotation(
Line(points = {{66, 34}, {78, 34}}, color = {0, 127, 255}));
connect(orifice2.port_a, volTD.ports[1]) annotation(
Line(points = {{-38, -70}, {-38, -38}, {-16, -38}, {-16, -44}}, color = {0, 127, 255}));
connect(step2.y, airCooller.u) annotation(
Line(points = {{32, 76}, {40, 76}, {40, 40}, {44, 40}}, color = {0, 0, 127}));
connect(volFlowTD.port_a, inletPipe.port_b) annotation(
Line(points = {{22, -38}, {30, -38}}, color = {0, 127, 255}));
connect(volFlowTD.port_b, volTD.ports[2]) annotation(
Line(points = {{2, -38}, {-8, -38}, {-8, -44}, {-16, -44}}, color = {0, 127, 255}));
connect(regValOp.y, valRegAir.y) annotation(
Line(points = {{177, 26}, {172, 26}, {172, -16}, {162, -16}}, color = {0, 0, 127}));
connect(valRegAir.port_b, hose4.port_a) annotation(
Line(points = {{150, -26}, {150, -38}, {96, -38}}, color = {0, 127, 255}));
connect(wallAirWithValve.ports[1], hose1.port_a) annotation(
Line(points = {{-108, -54}, {-92, -54}, {-92, 6}}, color = {0, 127, 255}));
connect(step1.y, firstOrder1.u) annotation(
Line(points = {{27, -8}, {39, -8}}, color = {0, 0, 127}));
connect(firstOrder1.y, coil1.T) annotation(
Line(points = {{63, -8}, {67, -8}, {67, 10}, {81, 10}}, color = {0, 0, 127}));
connect(inletPipe.port_a, hose4.port_b) annotation(
Line(points = {{50, -38}, {76, -38}}, color = {0, 127, 255}));
connect(coil1.port_b, val.port_a) annotation(
Line(points = {{100, 16}, {112, 16}, {112, -6}}, color = {0, 127, 255}));
connect(val.port_b, pipe.port_a) annotation(
Line(points = {{112, -26}, {112, -60}, {96, -60}}, color = {0, 127, 255}));
connect(pipe.port_b, inletPipe.port_a) annotation(
Line(points = {{76, -60}, {60, -60}, {60, -38}, {50, -38}}, color = {0, 127, 255}));
connect(hose3.port_b, valRegAir.port_a) annotation(
Line(points = {{98, 34}, {150, 34}, {150, -6}}, color = {0, 127, 255}));
connect(const4.y, val.y) annotation(
Line(points = {{178, -62}, {128, -62}, {128, -16}, {124, -16}}, color = {0, 0, 127}));
connect(coil1.port_a, boundary.ports[1]) annotation(
Line(points = {{88, 16}, {-66, 16}, {-66, -138}, {16, -138}, {16, -86}, {44, -86}, {44, -108}}, color = {0, 127, 255}));
annotation(
Documentation(info = "
<html><head></head><body><div>
Simulation reaches the steadz state at 60e3 s
</div></body></html>
"));
end TDGasCoolingDebug13;
CoolingSystem/Debug/TDGasCoolingDebug14.mo
0 → 100644
View file @
772cbcaa
within CoolingSystem.Debug;
model TDGasCoolingDebug14 "Model of the air cooling system for the thermal demonstrator"
parameter Modelica.SIunits.Diameter hoseDiameter = (100 - 1.75 * 2) * 1e-3;
// data points 2, 3, 4:
// a = 928665600
// b = 6420948
// data point 5:
// a = 2442036215.9921045
// data point 3:
// a = 5503626504.112218
package Medium = Modelica.Media.Air.MoistAir;
// X = {0.00008, 1-0.00008}
Modelica.Fluid.Pipes.StaticPipe hose1(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {-92, 16}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
Modelica.Fluid.Sources.FixedBoundary labAirSink(redeclare package Medium = Medium, nPorts = 1) annotation(
Placement(visible = true, transformation(origin = {-38, -110}, extent = {{-10, -10}, {10, 10}}, rotation = 90)));
inner Modelica.Fluid.System system(T_ambient = Medium.T_default,allowFlowReversal = true,energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_start = 0, p_ambient = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {90, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant targetHumidity(k = 0.00015) annotation(
Placement(visible = true, transformation(origin = {-90, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe hose2(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {-22, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Sources.FixedBoundary wallN2(redeclare package Medium = Medium, nPorts = 0, p = (0.5 + 1) * 1e5) annotation(
// Placement(visible = true, transformation(origin = {-90, -68}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Pipes.StaticPipe hose3(redeclare package Medium = Medium, diameter = 9.525, length = 6, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
// Placement(visible = true, transformation(origin = {-46, -60}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step(height = 1, startTime = 7200) annotation(
Placement(visible = true, transformation(origin = {12, 114}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Sources.Boundary_pT wallAirWithValve(redeclare package Medium = Medium, T = 273.15 + 20, X = {7.8765e-5, 1 - 7.8765e-5}, nPorts = 1, p = (7 + 1) * 1e5, use_p_in = true) annotation(
Placement(visible = true, transformation(origin = {-118, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const1(k = (7 + 1.01325) * 1e5) annotation(
Placement(visible = true, transformation(origin = {-184, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Continuous.FirstOrder firstOrder(T = 2 / 5, initType = Modelica.Blocks.Types.Init.InitialOutput, y(fixed = false), y_start = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {-152, -46}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
// Modelica.Fluid.Fittings.GenericResistances.VolumeFlowRate genRes(redeclare package Medium = Medium, a = 928665600, b = 6420948) annotation(
// Placement(visible = true, transformation(origin = {48, 28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant regValOp(k = 0.18) annotation(
Placement(visible = true, transformation(origin = {188, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe airCooRes(redeclare package Medium = Medium, diameter = 6e-3, length = 3.9) annotation(
Placement(visible = true, transformation(origin = {20, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe airDryRes(redeclare package Medium = Medium, diameter = 6e-3, length = 0.544 * 2) annotation(
Placement(visible = true, transformation(origin = {-60, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe inletPipe(redeclare package Medium = Medium, diameter = (21.3 - 2 * 2.6) * 1e-3, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {40, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Pipes.StaticPipe hose3(redeclare package Medium = Medium, diameter = hoseDiameter, length = 50e-2, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {88, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Fluid.Pipes.StaticPipe hose4(redeclare package Medium = Medium, diameter = hoseDiameter, length = 3, roughness(displayUnit = "m") = 0.0002999999999999999) annotation(
Placement(visible = true, transformation(origin = {86, -38}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
Modelica.Fluid.Fittings.SimpleGenericOrifice orifice2(redeclare package Medium = Medium, diameter = 9.5e-3, zeta = 1) annotation(
Placement(visible = true, transformation(origin = {-38, -80}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
IBPSA.Fluid.Actuators.Valves.TwoWayLinear valRegAir(redeclare package Medium = Medium, CvData = IBPSA.Fluid.Types.CvTypes.Kv, Kv = 55, allowFlowReversal = system.allowFlowReversal, l = 0.01, m_flow_nominal = 0.002, riseTime = 5, y_start = 0.1) annotation(
Placement(visible = true, transformation(origin = {150, -16}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
Modelica.Fluid.Vessels.ClosedVolume volTD(redeclare package Medium = Medium, V = 1.5, X_start = {11.887e-3, 1 - 11.887e-3}, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, nPorts = 2, use_portsData = false) annotation(
Placement(visible = true, transformation(origin = {-16, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
IBPSA.Fluid.HeatExchangers.HeaterCooler_u airCooller(redeclare package Medium = Medium, Q_flow_nominal = -810, T_start = 20 + 273.15, allowFlowReversal = system.allowFlowReversal, dp_nominal = 0, energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, m_flow_nominal = 43.805 / 3600, tau = 20 * 60 / 5) annotation(
Placement(visible = true, transformation(origin = {56, 34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const2(k = 0) annotation(
Placement(visible = true, transformation(origin = {-26, 116}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
CoolingSystem.Experiments.Coil coil1(T_start = Medium.T_default,energyDynamics = Modelica.Fluid.Types.Dynamics.FixedInitial, p_start = Medium.p_default) annotation(
Placement(visible = true, transformation(origin = {130, 10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Constant const(k = 273.15 + 20) annotation(
Placement(visible = true, transformation(origin = {158, 122}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
Modelica.Blocks.Sources.Step step1(height = 5, offset = Medium.T_default, startTime = 60000) annotation(