Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.Validation
Collection of validation models
Information
This package contains validation models for the classes in Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
| Name | Description | 
|---|---|
|  CollectorDistributor | Validation of collector distributor model | 
 Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.Validation.CollectorDistributor
Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.Validation.CollectorDistributor
Validation of collector distributor model
 
Information
This model validates Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.CollectorDistributor in a configuration where the model is used to connect
- 
an active primary circuit which mass flow rate varies from 0 to 1.1 times
m_flow_nominaland two active secondary circuits, one with a mass flow rate varying from 0.5 to 1 timesm_flow_nominal, another with a constant mass flow rate, equal to 0.5 timesm_flow_nominal: this case illustrates a typical supply-through loop and the supply temperature drop in one secondary circuit resulting from flow recirculation when the sum of the secondary mass flow rates exceeds the primary mass flow rate;
- 
an active primary circuit which mass flow rate varies from 0 to 1.1 times
m_flow_nominal(similar to the previous case) and two passive secondary circuits, with no recirculation loop at the end of the distribution line,
- a passive primary circuit and two active secondary circuits, both with a varying mass flow rate, with no recirculation loop at the end of the distribution line.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Parameters
| Type | Name | Default | Description | 
|---|---|---|---|
| MassFlowRate | m_flow_nominal | 1 | Nominal mass flow rate [kg/s] | 
Modelica definition
model CollectorDistributor
  "Validation of collector distributor model"
  extends Modelica.Icons.Example;
  package Medium=Buildings.Media.Water
    "Source side medium";
  parameter Modelica.SIunits.MassFlowRate m_flow_nominal=1
    "Nominal mass flow rate";
  Fluid.Movers.FlowControlled_m_flow sou1(
    redeclare package Medium=Medium,
    energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
    T_start=273.15+40,
    m_flow_nominal=m_flow_nominal,
    addPowerToMedium=false,
    nominalValuesDefineDefaultPressureCurve=true)
    "Primary supply";
  Fluid.Movers.FlowControlled_m_flow sou2_1(
    redeclare package Medium=Medium,
    energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
    T_start=273.15+30,
    m_flow_nominal=m_flow_nominal,
    addPowerToMedium=false,
    nominalValuesDefineDefaultPressureCurve=true)
    "Secondary pump";
  Fluid.Sources.Boundary_pT bou1(
    redeclare package Medium=Medium,
    use_T_in=true,
    nPorts=2)
    "Boundary pressure";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp m1(
    height=1.1,
    duration=1000,
    startTime=0)
    "Primary flow";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant T1(
    k=40+273.15)
    "Primary supply temperature";
  Fluid.Sensors.TemperatureTwoPort senT2_1Sup(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary supply temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT1_1Sup(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Primary supply temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT1_1Ret(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Primary return temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT2_1Ret(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary return temperature (measured)";
  Fluid.Sensors.MassFlowRate senMasFlo1_1(
    redeclare final package Medium=Medium)
    "Primary mass flow rate (measured)";
  Fluid.Sensors.MassFlowRate senMasFlo2_1(
    redeclare final package Medium=Medium)
    "Secondary mass flow rate (measured)";
  Fluid.MixingVolumes.MixingVolume vol2_1(
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    T_start=273.15+30,
    final prescribedHeatFlowRate=true,
    redeclare final package Medium=Medium,
    V=1,
    final mSenFac=1,
    final m_flow_nominal=m_flow_nominal,
    nPorts=2)
    "Volume for fluid stream";
  Fluid.HeatExchangers.HeaterCooler_u coo(
    redeclare final package Medium=Medium,
    dp_nominal=1,
    m_flow_nominal=m_flow_nominal,
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    Q_flow_nominal=-1E5)
    "Heat exchange with water stream";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant T2_1Ret(
    k=30+273.15)
    "First secondary return temperature";
  Buildings.Controls.OBC.CDL.Continuous.PID conTChiWat1(
    k=0.1,
    Ti=10,
    yMax=1,
    controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI,
    yMin=0,
    reverseActing=false)
    "PI controller for chilled water supply";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp m2_1(
    height=0.5,
    duration=1000,
    offset=0.5,
    startTime=2000)
    "First secondary flow signal";
  Fluid.Movers.FlowControlled_m_flow sou2_2(
    redeclare package Medium=Medium,
    energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
    T_start=273.15+30,
    m_flow_nominal=m_flow_nominal,
    addPowerToMedium=false,
    nominalValuesDefineDefaultPressureCurve=true)
    "Secondary pump";
  Fluid.Sensors.TemperatureTwoPort senT2_2Sup(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary supply temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT2_2Ret(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary return temperature (measured)";
  Fluid.Sensors.MassFlowRate senMasFlo2_2(
    redeclare final package Medium=Medium)
    "Secondary mass flow rate (measured)";
  Fluid.MixingVolumes.MixingVolume vol2(
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    T_start=273.15+30,
    final prescribedHeatFlowRate=true,
    redeclare final package Medium=Medium,
    V=1,
    final mSenFac=1,
    final m_flow_nominal=m_flow_nominal,
    nPorts=2)
    "Volume for fluid stream";
  Fluid.HeatExchangers.HeaterCooler_u coo1(
    redeclare final package Medium=Medium,
    dp_nominal=1,
    m_flow_nominal=m_flow_nominal,
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    Q_flow_nominal=-1E5)
    "Heat exchange with water stream";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant T2_2Ret(
    k=35+273.15)
    "Second secondary return temperature";
  Buildings.Controls.OBC.CDL.Continuous.PID conTChiWat2(
    k=0.1,
    Ti=10,
    yMax=1,
    controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI,
    yMin=0,
    reverseActing=false)
    "PI controller for chilled water supply";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant m2_2(
    k=0.5)
    "Second secondary mass flow rate signal";
  Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.CollectorDistributor
                                                                                     colDis(
    redeclare final package Medium=Medium,
    mCon_flow_nominal=fill(
      m_flow_nominal,
      2),
    nCon=2)
    "Collector/distributor";
  Fluid.Movers.FlowControlled_m_flow sou2(
    redeclare package Medium=Medium,
    energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
    T_start=273.15+40,
    m_flow_nominal=m_flow_nominal,
    addPowerToMedium=false,
    nominalValuesDefineDefaultPressureCurve=true,
    dp_nominal=10000)
    "Primary supply";
  Fluid.Sources.Boundary_pT bou2(
    redeclare package Medium=Medium,
    use_T_in=true,
    nPorts=2)
    "Boundary pressure";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant T2(
    k=40+273.15)
    "Primary supply temperature";
  Fluid.Sensors.TemperatureTwoPort senT2_3Sup(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary supply temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT1_2Sup(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Primary supply temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT1_2Ret(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Primary return temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT2_3Ret(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary return temperature (measured)";
  Fluid.Sensors.MassFlowRate senMasFlo1_2(
    redeclare final package Medium=Medium)
    "Primary mass flow rate (measured)";
  Fluid.Sensors.MassFlowRate senMasFlo2_3(
    redeclare final package Medium=Medium)
    "Secondary mass flow rate (measured)";
  Fluid.MixingVolumes.MixingVolume vol2_2(
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    T_start=273.15+30,
    final prescribedHeatFlowRate=true,
    redeclare final package Medium=Medium,
    V=1,
    final mSenFac=1,
    final m_flow_nominal=m_flow_nominal,
    nPorts=2)
    "Volume for fluid stream";
  Fluid.HeatExchangers.HeaterCooler_u coo2(
    redeclare final package Medium=Medium,
    dp_nominal=1,
    m_flow_nominal=m_flow_nominal,
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    Q_flow_nominal=-1E5)
    "Heat exchange with water stream";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant T2_1Ret1(
    k=30+273.15)
    "First secondary return temperature";
  Buildings.Controls.OBC.CDL.Continuous.PID conTChiWat3(
    k=0.1,
    Ti=10,
    yMax=1,
    controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI,
    yMin=0,
    reverseActing=false)
    "PI controller for chilled water supply";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp m2_3(
    height=0.5,
    duration=1000,
    offset=0.5,
    startTime=2000)
    "First secondary flow signal";
  Fluid.Sensors.TemperatureTwoPort senT2_4Sup(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary supply temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT2_4Ret(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary return temperature (measured)";
  Fluid.Sensors.MassFlowRate senMasFlo2_4(
    redeclare final package Medium=Medium)
    "Secondary mass flow rate (measured)";
  Fluid.MixingVolumes.MixingVolume vol1(
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    T_start=273.15+30,
    final prescribedHeatFlowRate=true,
    redeclare final package Medium=Medium,
    V=1,
    final mSenFac=1,
    final m_flow_nominal=m_flow_nominal,
    nPorts=2)
    "Volume for fluid stream";
  Fluid.HeatExchangers.HeaterCooler_u coo3(
    redeclare final package Medium=Medium,
    dp_nominal=1,
    m_flow_nominal=m_flow_nominal,
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    Q_flow_nominal=-1E5)
    "Heat exchange with water stream";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant T2_2Ret1(
    k=35+273.15)
    "Second secondary return temperature";
  Buildings.Controls.OBC.CDL.Continuous.PID conTChiWat4(
    k=0.1,
    Ti=10,
    yMax=1,
    controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI,
    yMin=0,
    reverseActing=false)
    "PI controller for chilled water supply";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant m2_4(
    k=0.5)
    "Second secondary mass flow rate signal";
  Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.CollectorDistributor
                                                                                     colDis1(
    redeclare final package Medium=Medium,
    mCon_flow_nominal=fill(
      m_flow_nominal,
      2),
    nCon=2)
    "Collector/distributor";
  Fluid.Actuators.Valves.TwoWayEqualPercentage val2_1(
    redeclare package Medium=Medium,
    m_flow_nominal=m_flow_nominal,
    dpValve_nominal=3000,
    dpFixed_nominal=7000)
    "Secondary control valve";
  Fluid.Actuators.Valves.TwoWayEqualPercentage val2_2(
    redeclare package Medium=Medium,
    m_flow_nominal=m_flow_nominal,
    dpValve_nominal=3000,
    dpFixed_nominal=7000)
    "Secondary control valve";
  Fluid.Movers.FlowControlled_m_flow sou2_3(
    redeclare package Medium=Medium,
    energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
    T_start=273.15+30,
    m_flow_nominal=m_flow_nominal,
    addPowerToMedium=false,
    nominalValuesDefineDefaultPressureCurve=true)
    "Secondary pump";
  Fluid.Sources.Boundary_pT bou3(
    redeclare package Medium=Medium,
    use_T_in=true,
    nPorts=2)
    "Boundary pressure";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant T3(
    k=40+273.15)
    "Primary supply temperature";
  Fluid.Sensors.TemperatureTwoPort senT2_5Sup(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary supply temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT1_3Sup(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Primary supply temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT1_3Ret(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Primary return temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT2_5Ret(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary return temperature (measured)";
  Fluid.Sensors.MassFlowRate senMasFlo1_3(
    redeclare final package Medium=Medium)
    "Primary mass flow rate (measured)";
  Fluid.Sensors.MassFlowRate senMasFlo2_5(
    redeclare final package Medium=Medium)
    "Secondary mass flow rate (measured)";
  Fluid.MixingVolumes.MixingVolume vol2_3(
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    T_start=273.15+30,
    final prescribedHeatFlowRate=true,
    redeclare final package Medium=Medium,
    V=1,
    final mSenFac=1,
    final m_flow_nominal=m_flow_nominal,
    nPorts=2)
    "Volume for fluid stream";
  Fluid.HeatExchangers.HeaterCooler_u coo4(
    redeclare final package Medium=Medium,
    dp_nominal=1,
    m_flow_nominal=m_flow_nominal,
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    Q_flow_nominal=-1E5)
    "Heat exchange with water stream";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant T2_1Ret2(
    k=30+273.15)
    "First secondary return temperature";
  Buildings.Controls.OBC.CDL.Continuous.PID conTChiWat5(
    k=0.1,
    Ti=10,
    yMax=1,
    controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI,
    yMin=0,
    reverseActing=false)
    "PI controller for chilled water supply";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp m2_5(
    height=0.5,
    duration=1000,
    offset=0.5,
    startTime=2000)
    "First secondary flow signal";
  Fluid.Movers.FlowControlled_m_flow sou2_4(
    redeclare package Medium=Medium,
    energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState,
    T_start=273.15+30,
    m_flow_nominal=m_flow_nominal,
    addPowerToMedium=false,
    nominalValuesDefineDefaultPressureCurve=true)
    "Secondary pump";
  Fluid.Sensors.TemperatureTwoPort senT2_6Sup(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary supply temperature (measured)";
  Fluid.Sensors.TemperatureTwoPort senT2_6Ret(
    redeclare final package Medium=Medium,
    m_flow_nominal=m_flow_nominal)
    "Secondary return temperature (measured)";
  Fluid.Sensors.MassFlowRate senMasFlo2_6(
    redeclare final package Medium=Medium)
    "Secondary mass flow rate (measured)";
  Fluid.MixingVolumes.MixingVolume vol3(
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    T_start=273.15+30,
    final prescribedHeatFlowRate=true,
    redeclare final package Medium=Medium,
    V=1,
    final mSenFac=1,
    final m_flow_nominal=m_flow_nominal,
    nPorts=2)
    "Volume for fluid stream";
  Fluid.HeatExchangers.HeaterCooler_u coo5(
    redeclare final package Medium=Medium,
    dp_nominal=1,
    m_flow_nominal=m_flow_nominal,
    energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial,
    Q_flow_nominal=-1E5)
    "Heat exchange with water stream";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant T2_2Ret2(
    k=35+273.15)
    "Second secondary return temperature";
  Buildings.Controls.OBC.CDL.Continuous.PID conTChiWat6(
    k=0.1,
    Ti=10,
    yMax=1,
    controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI,
    yMin=0,
    reverseActing=false)
    "PI controller for chilled water supply";
  Buildings.Controls.OBC.CDL.Continuous.Sources.Constant m2_6(
    k=0.5)
    "Second secondary mass flow rate signal";
  Buildings.Experimental.DHC.EnergyTransferStations.BaseClasses.CollectorDistributor
                                                                                     colDis2(
    redeclare final package Medium=Medium,
    mCon_flow_nominal=fill(
      m_flow_nominal,
      2),
    nCon=2)
    "Collector/distributor";
equation 
  connect(m1.y,sou1.m_flow_in);
  connect(senMasFlo1_1.port_b,senT1_1Sup.port_a);
  connect(senT2_1Sup.port_b,senMasFlo2_1.port_a);
  connect(sou1.port_b,senMasFlo1_1.port_a);
  connect(coo.port_b,senT2_1Ret.port_a);
  connect(T2_1Ret.y,conTChiWat1.u_s);
  connect(conTChiWat1.y,coo.u);
  connect(senT2_1Ret.T,conTChiWat1.u_m);
  connect(vol2_1.ports[1],sou2_1.port_a);
  connect(senMasFlo2_1.port_b,vol2_1.ports[2]);
  connect(m2_1.y,sou2_1.m_flow_in);
  connect(bou1.ports[1],sou1.port_a);
  connect(T1.y,bou1.T_in);
  connect(senT2_2Sup.port_b,senMasFlo2_2.port_a);
  connect(coo1.port_b,senT2_2Ret.port_a);
  connect(T2_2Ret.y,conTChiWat2.u_s);
  connect(conTChiWat2.y,coo1.u);
  connect(senT2_2Ret.T,conTChiWat2.u_m);
  connect(vol2.ports[1],sou2_2.port_a);
  connect(senMasFlo2_2.port_b,vol2.ports[2]);
  connect(sou2_2.port_b,coo1.port_a);
  connect(senT1_1Ret.port_b,bou1.ports[2]);
  connect(sou2_1.port_b,coo.port_a);
  connect(m2_2.y,sou2_2.m_flow_in);
  connect(senT1_1Sup.port_b,colDis.port_aDisSup);
  connect(senT1_1Ret.port_a,colDis.port_bDisRet);
  connect(colDis.ports_bCon[1],senT2_1Sup.port_a);
  connect(colDis.ports_bCon[2],senT2_2Sup.port_a);
  connect(senT2_1Ret.port_b,colDis.ports_aCon[1]);
  connect(senT2_2Ret.port_b,colDis.ports_aCon[2]);
  connect(colDis.port_bDisSup,colDis.port_aDisRet);
  connect(senMasFlo1_2.port_b,senT1_2Sup.port_a);
  connect(senT2_3Sup.port_b,senMasFlo2_3.port_a);
  connect(sou2.port_b,senMasFlo1_2.port_a);
  connect(coo2.port_b,senT2_3Ret.port_a);
  connect(T2_1Ret1.y,conTChiWat3.u_s);
  connect(conTChiWat3.y,coo2.u);
  connect(senT2_3Ret.T,conTChiWat3.u_m);
  connect(senMasFlo2_3.port_b,vol2_2.ports[1]);
  connect(bou2.ports[1],sou2.port_a);
  connect(T2.y,bou2.T_in);
  connect(senT2_4Sup.port_b,senMasFlo2_4.port_a);
  connect(coo3.port_b,senT2_4Ret.port_a);
  connect(T2_2Ret1.y,conTChiWat4.u_s);
  connect(conTChiWat4.y,coo3.u);
  connect(senT2_4Ret.T,conTChiWat4.u_m);
  connect(senMasFlo2_4.port_b,vol1.ports[1]);
  connect(senT1_2Ret.port_b,bou2.ports[2]);
  connect(senT1_2Sup.port_b,colDis1.port_aDisSup);
  connect(senT1_2Ret.port_a,colDis1.port_bDisRet);
  connect(colDis1.ports_bCon[1],senT2_3Sup.port_a);
  connect(colDis1.ports_bCon[2],senT2_4Sup.port_a);
  connect(senT2_3Ret.port_b,colDis1.ports_aCon[1]);
  connect(senT2_4Ret.port_b,colDis1.ports_aCon[2]);
  connect(vol2_2.ports[2],val2_1.port_a);
  connect(val2_1.port_b,coo2.port_a);
  connect(m2_3.y,val2_1.y);
  connect(vol1.ports[2],val2_2.port_a);
  connect(val2_2.port_b,coo3.port_a);
  connect(m2_4.y,val2_2.y);
  connect(senMasFlo1_3.port_b,senT1_3Sup.port_a);
  connect(senT2_5Sup.port_b,senMasFlo2_5.port_a);
  connect(coo4.port_b,senT2_5Ret.port_a);
  connect(T2_1Ret2.y,conTChiWat5.u_s);
  connect(conTChiWat5.y,coo4.u);
  connect(senT2_5Ret.T,conTChiWat5.u_m);
  connect(vol2_3.ports[1],sou2_3.port_a);
  connect(senMasFlo2_5.port_b,vol2_3.ports[2]);
  connect(m2_5.y,sou2_3.m_flow_in);
  connect(T3.y,bou3.T_in);
  connect(senT2_6Sup.port_b,senMasFlo2_6.port_a);
  connect(coo5.port_b,senT2_6Ret.port_a);
  connect(T2_2Ret2.y,conTChiWat6.u_s);
  connect(conTChiWat6.y,coo5.u);
  connect(senT2_6Ret.T,conTChiWat6.u_m);
  connect(vol3.ports[1],sou2_4.port_a);
  connect(senMasFlo2_6.port_b,vol3.ports[2]);
  connect(sou2_4.port_b,coo5.port_a);
  connect(sou2_3.port_b,coo4.port_a);
  connect(m2_6.y,sou2_4.m_flow_in);
  connect(colDis2.ports_bCon[1],senT2_5Sup.port_a);
  connect(colDis2.ports_bCon[2],senT2_6Sup.port_a);
  connect(senT2_5Ret.port_b,colDis2.ports_aCon[1]);
  connect(senT2_6Ret.port_b,colDis2.ports_aCon[2]);
  connect(bou3.ports[1],senMasFlo1_3.port_a);
  connect(senT1_3Sup.port_b,colDis2.port_aDisSup);
  connect(senT1_3Ret.port_a,colDis2.port_bDisRet);
  connect(m1.y,sou2.m_flow_in);
  connect(bou3.ports[2],senT1_3Ret.port_b);
end CollectorDistributor;
