Commit 772cbcaa authored by i.elizarov's avatar i.elizarov
Browse files

Added air cooling system with a coil for the thermal demonstrator

parent e5d40c60
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;
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;
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;
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;
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(