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;