Extends from Buildings.BaseClasses.BaseIconExamples (Icon for Examples packages).
| Name | Description |
|---|---|
| PrescribedExtraPropertyFlow |
model PrescribedExtraPropertyFlow
package Medium = Buildings.Media.GasesPTDecoupled.SimpleAir(extraPropertiesNames={"CO2"});
// package Medium = Buildings.Media.GasesPTDecoupled.SimpleAir;
MixingVolumes.MixingVolume vol(
redeclare package Medium = Medium,
nPorts=1,
V=100) "Mixing volume";
PrescribedExtraPropertyFlowRate sou(redeclare package Medium = Medium,
use_m_flow_in=true);
Modelica.Blocks.Sources.Step step( startTime=0.5,
height=-2,
offset=2);
FixedResistances.FixedResistanceDpM res(
redeclare package Medium = Medium,
m_flow_nominal=1,
dp_nominal=1)
"Resistance, used to check if species are transported between ports";
MixingVolumes.MixingVolume vol1(
redeclare package Medium = Medium,
nPorts=1,
V=100) "Mixing volume";
PrescribedExtraPropertyFlowRate sou1(
redeclare package Medium = Medium,
use_m_flow_in=true);
Buildings.Utilities.Diagnostics.AssertEquality assEqu(threShold=1E-4)
"Assert that both volumes have the same concentration";
Modelica.Blocks.Sources.RealExpression reaExp(y=vol.mC[1]);
Modelica.Blocks.Sources.RealExpression reaExp1(y=vol1.mC[1]);
MixingVolumes.MixingVolume vol2(
redeclare package Medium = Medium,
nPorts=2,
p_start=Medium.p_default,
V=100) "Mixing volume";
MixingVolumes.MixingVolume vol3(
redeclare package Medium = Medium,
nPorts=2,
p_start=Medium.p_default,
V=100) "Mixing volume";
Buildings.Fluid.FixedResistances.SplitterFixedResistanceDpM spl(
redeclare package Medium = Medium,
m_flow_nominal={1,1,1},
dp_nominal={1,1,1},
from_dp=false);
Buildings.Utilities.Diagnostics.AssertEquality assEqu1(
threShold=1E-4)
"Assert that both volumes have the same concentration";
Modelica.Blocks.Sources.RealExpression reaExp2(y=vol2.mC[1]);
Modelica.Blocks.Sources.RealExpression reaExp3(y=vol3.mC[1]);
MixingVolumes.MixingVolume vol4(
redeclare package Medium = Medium,
nPorts=3,
p_start=Medium.p_default,
V=100) "Mixing volume";
PrescribedExtraPropertyFlowRate sou2(
redeclare package Medium = Medium,
use_m_flow_in=true);
Buildings.Fluid.Sources.Boundary_pT bou(
redeclare package Medium = Medium,
p=101325,
nPorts=1,
T=293.15);
Buildings.Fluid.Sources.Boundary_pT bou1(
redeclare package Medium = Medium,
nPorts=2,
p=101320,
T=293.15);
FixedResistances.FixedResistanceDpM res1(
redeclare package Medium = Medium,
m_flow_nominal=1,
dp_nominal=1)
"Resistance, used to check if species are transported between ports";
FixedResistances.FixedResistanceDpM res2(
redeclare package Medium = Medium,
m_flow_nominal=1,
dp_nominal=1)
"Resistance, used to check if species are transported between ports";
FixedResistances.FixedResistanceDpM res3(
redeclare package Medium = Medium,
m_flow_nominal=1,
dp_nominal=1)
"Resistance, used to check if species are transported between ports";
inner Modelica.Fluid.System system;
equation
connect(reaExp.y, assEqu.u1);
connect(reaExp1.y, assEqu.u2);
connect(reaExp2.y, assEqu1.u1);
connect(reaExp3.y, assEqu1.u2);
connect(vol4.ports[2], spl.port_3);
connect(spl.port_1, vol2.ports[1]);
connect(spl.port_2, vol3.ports[1]);
connect(res2.port_a, vol3.ports[2]);
connect(res1.port_a, vol2.ports[2]);
connect(res3.port_b, vol4.ports[3]);
connect(res1.port_b, bou1.ports[1]);
connect(res2.port_b, bou1.ports[2]);
connect(bou.ports[1], res3.port_a);
connect(sou.ports, vol.ports);
connect(sou1.ports[1], res.port_a);
connect(res.port_b, vol1.ports[1]);
connect(sou2.ports[1], vol4.ports[1]);
connect(step.y, sou.m_flow_in);
connect(step.y, sou1.m_flow_in);
connect(step.y, sou2.m_flow_in);
end PrescribedExtraPropertyFlow;