JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel

Models used to build the double pipe heat-exchanger physical model

Information


 

Models used to build the double pipe heat-exchanger physical model

Package Content

NameDescription
DoublePipeHeatExchanger Double-pipe heat-exchanger
JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.massSourceCntrl massSourceCntrl Controller of the gas pump. Set-points: total mass flow and temperature
JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.molSourceCntrl molSourceCntrl Controller of the gas pump. Set-points: total mass flow, temperature and molar fraction of CO2
JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.pumpCntrl pumpCntrl Controller of the liquid pump. Set-point: total mass flow
JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.pumpMolCntrl pumpMolCntrl Controller of the gas pump. Set-point: total mol flow


JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.DoublePipeHeatExchanger

Double-pipe heat-exchanger

JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.DoublePipeHeatExchanger

Information


 

Double-pipe heat-exchanger model



The JARA2i model of the heat exchanger is based on the physical model described in (Cutlip and Shacham 1999). A gaseous mixture of carbon dioxide and sulfur dioxide (in the tube) is cooled by water (in the shell). The JARA2i model allows two modes of operation: cocurrent and countercurrent flow. The temperature dependence with the spatial coordinate has been modeled by dividing the flow paths of the water and the gas, and the pipe wall in control volumes. This approach allows for local variations in physical properties and heat transfer coefficients.

References

M. B. Cutlip and M. Shacham (1999): Problem Solving in Chemical Engineering with Numerical Methods. Prentice-Hall.


Parameters

TypeNameDefaultDescription
IntegernCompL1Number of components of the liquid mixture
IntegernCompG2Number of components of the gas mixture
BooleanEjstrueGlobal variable - Runtime Interactivity
BooleanSysquakefalseGlobal variable - Batch interactivity
Realpi3.141593 
IntegernumNodes10Number of nodes for temperature calculation
RealperfGasConst8.31Perfect gases constant [J/(mol.K)]
RealdensityL[nCompL]{996}Density of the liquid components [Kg.m-3]
RealCpCoefML[nCompL, 7][4185, 0, 0, 0, 0, 0, 0]Heat capacity [J/(Kg.K)]
RealviscLiq[4]{1,-10.547,541.69,144.53}Viscosity coefficients [W/(m.K)]
RealthermCondL[2]{0.61,0}Thermal conductivity coefficients
RealCpCoefNG[nCompG, 7][36.83, 0, 0, 0, 0, 0, 0; 42...Heat capacity per mol at constant pressure [J/(mol.K)]
RealCpCoefMG[nCompG, 7][837, 0, 0, 0, 0, 0, 0; 657,...Heat capacity per mass at constant [J/(Kg.K)]
RealviscGas[4]{1.55E-5,0,0,1}Viscosity [Kg/(m.s)]
RealthermCondG[2]{0.014,0}Coeff. of the thermal conductivity [W/(m.K)]
RealmolecWeigthG[2]{44E-3,64E-3}Molecular weight [Kg/mol]
ReallenPipeInitial1Pipe lenght [m]
RealpipeDiameter1Initial18.92E-3Inner diameter of the inside tube [m]
RealpipeDiameter2Initial22.22E-3Outer diameter of the inside tube [m]
RealpipeDiameter3Initial38.10E-3Inner diameter of the outside pipe [m]
RealsectionIntInitial(pi*(pipeDiameter1Initial/2)...[m2]
RealareaIntInitial(pi*pipeDiameter1Initial*len...[m2]
RealareaExtInitial(pi*pipeDiameter2Initial*len...[m2]
RealvolElemIntInitial(sectionIntInitial*lenPipeIn...[m3]
RealvolElemGasInitialvolElemIntInitial[m3]
RealsectionExtInitial(pi*((pipeDiameter3Initial/2...[m2]
RealvolElemLiqInitialsectionExtInitial*lenPipeIni...[m3]
Realpmax1E9Characteristic parameters of the source and pumps
Realpcodo0.9E9 
Realpmin2E-2 
Realpeps1E-2 
RealmassFractionLSP[nCompL]{1}Setpoint: mass fraction of the liquid
RealdensityIntPipeWall8950Density of the inside-tube wall [Kg/m3]
RealCpIntPipeWall[7]{383,0,0,0,0,0,0}Heat capacity of the inside-tube wall [J/(Kg.K)]
RealthermalCondWall381Thermal conductivity of the inside-tube wall [W/(m.K)]
RealpipeWallSectionInitial(pi*((pipeDiameter2Initial/2... 
RealmassIntPipeWallInitial(densityIntPipeWall*lenPipeI... 
RealmassElemPipeInitial(massIntPipeWallInitial/(num... 
RealthermalResistanceInitial(lenPipeInitial/(thermalCond... 
RealSTcoefLiq[4]{0.023,0.8,0.4,0}Sieder-Tate correlation coefficients
RealSTcoefGas[4]{0.023,0.8,0.3,0}Sieder-Tate correlation coefficients
RealtempInitialWall[numNodes - 1]fill(283, (numNodes - 1))Wall initial temperature [K]
RealtempInitialLiq[numNodes]fill(283, numNodes)Liquid initial temperature [K]
RealtempInitialGas[numNodes]fill(283, numNodes)Gas initial temperature [K]
RealinitialLiqMassFraction[nCompL]{1}Initial mass-fraction of the liquid mixture components
RealmassInitialLiq[nCompL]volElemLiqInitial*initialLiq...Initial mass of liquid inside a control volume [Kg]
RealmolFractGasInitial[nCompG]{0.5,0.5}Initial mol fraction of the gas components
RealgasPressureInitial5e5Initial pressure of the gas mixture [J.m-3]

Modelica definition

model DoublePipeHeatExchanger "Double-pipe heat-exchanger" 
  
  //  Gas.     [1]: Carbon dioxide; [2]: Sulfur dioxide 
  //  Liquid.  [1]: Water
  
   parameter Integer nCompL =     1 
    "Number of components of the liquid mixture";
   parameter Integer nCompG =     2 "Number of components of the gas mixture";
  
   // Interactivity
   inner parameter Boolean Ejs =      true 
    "Global variable - Runtime Interactivity";
   inner parameter Boolean Sysquake = false 
    "Global variable - Batch interactivity";
  
   parameter Real pi =            3.141593;
  
   parameter Integer numNodes =  10 
    "Number of nodes for temperature calculation";
  
   parameter Real perfGasConst( unit="J/(mol.K)") = 8.31 
    "Perfect gases constant";
  
   // Parameters of the liquid
   parameter Real densityL[nCompL](   unit="Kg.m-3") = {996} 
    "Density of the liquid components";
   parameter Real CpCoefML[nCompL,7]( unit="J/(Kg.K)") = [4185,0,0,0,0,0,0] 
    "Heat capacity";
   parameter Real viscLiq[4](         unit="W/(m.K)") =  {    1,
                                                             -10.547,
                                                             541.69,
                                                             144.53} 
    "Viscosity coefficients";
   parameter Real thermCondL[2] =       {0.61, 0} 
    "Thermal conductivity coefficients";
  
   // Parameters of the gas mixture
   parameter Real CpCoefNG[nCompG,7](  unit="J/(mol.K)") =   [36.83,0,0,0,0,0,0;
                                                              42.05,0,0,0,0,0,0] 
    "Heat capacity per mol at constant pressure";
   parameter Real CpCoefMG[nCompG,7](  unit="J/(Kg.K)") =    [837,0,0,0,0,0,0;
                                                              657,0,0,0,0,0,0] 
    "Heat capacity per mass at constant";
   parameter Real viscGas[4](          unit="Kg/(m.s)") =    {1.55E-5, 0, 0, 1} 
    "Viscosity";
   parameter Real thermCondG[2](       unit="W/(m.K)") =     {0.014, 0} 
    "Coeff. of the thermal conductivity";
   parameter Real molecWeigthG[2](     unit="Kg/mol") =      {44E-3, 64E-3} 
    "Molecular weight";
  
   // --------------------------------------------
   // Interactive parameters of the heat exchanger
   // --------------------------------------------
  
   // Geometric parameters
   parameter Real lenPipeInitial(        unit="m") =  1 "Pipe lenght";
   parameter Real pipeDiameter1Initial(  unit="m") =  18.92E-3 
    "Inner diameter of the inside tube";
   parameter Real pipeDiameter2Initial(  unit="m") =  22.22E-3 
    "Outer diameter of the inside tube";
   parameter Real pipeDiameter3Initial(  unit="m") =  38.10E-3 
    "Inner diameter of the outside pipe";
  
   Real lenPipe(        unit="m", start=lenPipeInitial) "Pipe lenght";
   Real pipeDiameter1(  unit="m", start=pipeDiameter1Initial) 
    "Inner diameter of the inside tube";
   Real pipeDiameter2(  unit="m", start=pipeDiameter2Initial) 
    "Outer diameter of the inside tube";
   Real pipeDiameter3(  unit="m", start=pipeDiameter3Initial) 
    "Inner diameter of the outside pipe";
  
   // Gas control volumes
   parameter Real sectionIntInitial(     unit="m2") =  ( pi * (pipeDiameter1Initial/2)^ 2);
   parameter Real areaIntInitial(        unit="m2") =  ( pi * pipeDiameter1Initial * lenPipeInitial / (numNodes - 1));
   parameter Real areaExtInitial(        unit="m2") =  ( pi * pipeDiameter2Initial * lenPipeInitial / (numNodes - 1));
   parameter Real volElemIntInitial(     unit="m3") =  ( sectionIntInitial * lenPipeInitial / (numNodes - 1));
   parameter Real volElemGasInitial(     unit="m3") =  volElemIntInitial;
  
   // Liquid control volumes
   parameter Real sectionExtInitial(      unit="m2") = ( pi * ( (pipeDiameter3Initial/2)^ 2 - (pipeDiameter2Initial/2)^ 2));
   parameter Real volElemLiqInitial(      unit="m3") = sectionExtInitial * lenPipeInitial / (numNodes - 1);
  
   // Characteristic parameters of the source and pumps
   parameter Real pmax =   1E9 
    "Characteristic parameters of the source and pumps";
   parameter Real pcodo =  0.9E9;
   parameter Real pmin =   2E-2;
   parameter Real peps =   1E-2;
  
   // Mass fraction of the liquid
   parameter Real massFractionLSP[nCompL]( unit="") =  {1} 
    "Setpoint: mass fraction of the liquid";
  
   // Pipe parameters
   parameter Real densityIntPipeWall(  unit="Kg/m3") = 8950 
    "Density of the inside-tube wall";
   parameter Real CpIntPipeWall[ 7](   unit="J/(Kg.K)") = {383,0,0,0,0,0,0} 
    "Heat capacity of the inside-tube wall";
   parameter Real thermalCondWall(     unit="W/(m.K)") = 381 
    "Thermal conductivity of the inside-tube wall";
  
   parameter Real pipeWallSectionInitial =     ( pi * ( (pipeDiameter2Initial/2)^ 2 - (pipeDiameter1Initial/2)^ 2));
   parameter Real massIntPipeWallInitial =     ( densityIntPipeWall * lenPipeInitial * pipeWallSectionInitial);
   parameter Real massElemPipeInitial =        ( massIntPipeWallInitial / (numNodes - 1));
   parameter Real thermalResistanceInitial =   ( lenPipeInitial / ( thermalCondWall * pipeWallSectionInitial * ( numNodes - 1)));
  
   // Sieder-Tate correlation coefficients
   parameter Real STcoefLiq[ 4] = {0.023, 0.8, 0.4, 0} 
    "Sieder-Tate correlation coefficients";
   parameter Real STcoefGas[ 4] = {0.023, 0.8, 0.3, 0} 
    "Sieder-Tate correlation coefficients";
  
   // Initial temperature
   parameter Real tempInitialWall[ numNodes-1](   unit="K") =  fill(283,(numNodes-1)) 
    "Wall initial temperature";
   parameter Real tempInitialLiq[ numNodes](      unit="K") =  fill(283,numNodes) 
    "Liquid initial temperature";
   parameter Real tempInitialGas[ numNodes](      unit="K") =  fill(283,numNodes) 
    "Gas initial temperature";
  
   // Initial liquid mass
   parameter Real initialLiqMassFraction[ nCompL] = { 1} 
    "Initial mass-fraction of the liquid mixture components";
   parameter Real massInitialLiq[ nCompL](      unit="Kg") = volElemLiqInitial * initialLiqMassFraction * diagonal(densityL) 
    "Initial mass of liquid inside a control volume";
  
   // Initial moles of the gas
   parameter Real molFractGasInitial[ nCompG]( unit="") =      { 0.5, 0.5} 
    "Initial mol fraction of the gas components";
   parameter Real gasPressureInitial(          unit="J.m-3") = 5e5 
    "Initial pressure of the gas mixture";
  
   // ----------------
   // Public variables
   // ----------------
   Real tempLiq[ numNodes](     unit="K") 
    "Temperature at the liquid control volumes";
   Real tempGas[ numNodes](     unit="K") 
    "Temperature at the gas control volumes";
   Real tempWall[ numNodes-1](  unit="K") 
    "Temperature at the wall control volumes";
  
   Real massFlowLiq[ nCompL](   unit="Kg/s") "Mass flow of the liquid";
   Real molFlowGas[ nCompG](    unit="mol/s") "Mol flow of the gas components";
  
   Real tempLiqFlowSourceL1(    unit="K") 
    "Temperature of the liquid flowing to/from SourceL1";
   Real tempLiqFlowSourceL2(    unit="K") 
    "Temperature of the liquid flowing to/from SourceL2";
  
   Real tempGasFlowSourceG1(    unit="K") 
    "Temperature of the gas flowing to/from SourceG1";
   Real tempGasFlowSourceG2(    unit="K") 
    "Temperature of the gas flowing to/from SourceG2";
  
   Real gasPressure(  unit = "Pa", start = gasPressureInitial);
   Real molarFractCO2(start = 0.5);
//protected 
   JARA2i.liq.liquidCp6PrefVB volCntrlLiq1(
                                nComp=nCompL,sectionInitial=1,CpCoefMInitial=CpCoefML,
                                tempLinitial=tempInitialLiq[1], massLinitial=massInitialLiq/2,
                                vesselVolumeInitial=1E5,densityInitial=densityL);
   JARA2i.liq.liquidCp6PrefVB volCntrlLiq2(
                                nComp=nCompL,sectionInitial=1,CpCoefMInitial=CpCoefML,
                                tempLinitial=tempInitialLiq[2], massLinitial=massInitialLiq,
                                vesselVolumeInitial=1E5,densityInitial=densityL);
   JARA2i.liq.liquidCp6PrefVB volCntrlLiq3(
                                nComp=nCompL,sectionInitial=1,CpCoefMInitial=CpCoefML,
                                tempLinitial=tempInitialLiq[3], massLinitial=massInitialLiq,
                                vesselVolumeInitial=1E5,densityInitial=densityL);
   JARA2i.liq.liquidCp6PrefVB volCntrlLiq4(
                                nComp=nCompL,sectionInitial=1,CpCoefMInitial=CpCoefML,
                                tempLinitial=tempInitialLiq[4], massLinitial=massInitialLiq,
                                vesselVolumeInitial=1E5,densityInitial=densityL);
   JARA2i.liq.liquidCp6PrefVB volCntrlLiq5(
                                nComp=nCompL,sectionInitial=1,CpCoefMInitial=CpCoefML,
                                tempLinitial=tempInitialLiq[5], massLinitial=massInitialLiq,
                                vesselVolumeInitial=1E5,densityInitial=densityL);
   JARA2i.liq.liquidCp6PrefVB volCntrlLiq6(
                                nComp=nCompL,sectionInitial=1,CpCoefMInitial=CpCoefML,
                                tempLinitial=tempInitialLiq[6], massLinitial=massInitialLiq,
                                vesselVolumeInitial=1E5,densityInitial=densityL);
   JARA2i.liq.liquidCp6PrefVB volCntrlLiq7(
                                nComp=nCompL,sectionInitial=1,CpCoefMInitial=CpCoefML,
                                tempLinitial=tempInitialLiq[7], massLinitial=massInitialLiq,
                                vesselVolumeInitial=1E5,densityInitial=densityL);
   JARA2i.liq.liquidCp6PrefVB volCntrlLiq8(
                                nComp=nCompL,sectionInitial=1,CpCoefMInitial=CpCoefML,
                                tempLinitial=tempInitialLiq[8], massLinitial=massInitialLiq,
                                vesselVolumeInitial=1E5,densityInitial=densityL);
   JARA2i.liq.liquidCp6PrefVB volCntrlLiq9(
                                nComp=nCompL,sectionInitial=1,CpCoefMInitial=CpCoefML,
                                tempLinitial=tempInitialLiq[9], massLinitial=massInitialLiq,
                                vesselVolumeInitial=1E5,densityInitial=densityL);
   JARA2i.liq.liquidCp6PrefVB volCntrlLiq10(
                                nComp=nCompL,sectionInitial=1,CpCoefMInitial=CpCoefML,
                                tempLinitial=tempInitialLiq[10], massLinitial=massInitialLiq/2,
                                vesselVolumeInitial=1E5,densityInitial=densityL);
  
   JARA2i.liq.pumpMassLiqB pumpL1( nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.liq.pumpMassLiqB pumpL2( nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.liq.pumpMassLiqB pumpL3( nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.liq.pumpMassLiqB pumpL4(  nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.liq.pumpMassLiqB pumpL5(  nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.liq.pumpMassLiqB pumpL6(  nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.liq.pumpMassLiqB pumpL7(  nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.liq.pumpMassLiqB pumpL8(  nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.liq.pumpMassLiqB pumpL9(  nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
  
   pumpCntrl pumpLCntrl(      totalMassFlowSPInitial = 0.2778);
  
    JARA2i.liq.sourceMassLiqFB sourceL1(
                                  nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.liq.sourceMassLiqFB sourceL2(
                                  nComp=nCompL,CpCoefMInitial=CpCoefML,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
  
   massSourceCntrl sourceL1Cntrl(  nComp=nCompL, massFractionSP=massFractionLSP,
      flowDirection =                                                                          -1,
                                   totalMassFlowSPInitial=0.2778,
      tempFlowSPInitial =                                                           291);
   massSourceCntrl sourceL2Cntrl(  nComp=nCompL, massFractionSP=massFractionLSP,
      flowDirection =                                                                          1,
                                   totalMassFlowSPInitial=0.2778,
      tempFlowSPInitial =                                                           291);
  
   JARA2i.gas.semiPerfGasCp6VB volCntrlGas1(      nComp=nCompG,perfGasConst=perfGasConst,CpCoefN=CpCoefNG,
                                                tempGinitial=tempInitialGas[1],
                                                molGinitial=0.5*molFractGasInitial*gasPressureInitial*volElemGasInitial/(perfGasConst*tempInitialGas[1]),
                                                vesselVolumeInitial=(0.5*volElemIntInitial));
   JARA2i.gas.semiPerfGasCp6VB volCntrlGas2(      nComp=nCompG,perfGasConst=perfGasConst,CpCoefN=CpCoefNG,
                                                tempGinitial=tempInitialGas[2],
                                                molGinitial=molFractGasInitial*gasPressureInitial*volElemGasInitial/(perfGasConst*tempInitialGas[2]),
                                                vesselVolumeInitial=volElemIntInitial);
   JARA2i.gas.semiPerfGasCp6VB volCntrlGas3(      nComp=nCompG,perfGasConst=perfGasConst,CpCoefN=CpCoefNG,
                                                tempGinitial=tempInitialGas[3],
                                                molGinitial=molFractGasInitial*gasPressureInitial*volElemGasInitial/(perfGasConst*tempInitialGas[3]),
                                                vesselVolumeInitial=volElemIntInitial);
   JARA2i.gas.semiPerfGasCp6VB volCntrlGas4(      nComp=nCompG,perfGasConst=perfGasConst,CpCoefN=CpCoefNG,
                                                tempGinitial=tempInitialGas[4],
                                                molGinitial=molFractGasInitial*gasPressureInitial*volElemGasInitial/(perfGasConst*tempInitialGas[4]),
                                                vesselVolumeInitial=volElemIntInitial);
   JARA2i.gas.semiPerfGasCp6VB volCntrlGas5(      nComp=nCompG,perfGasConst=perfGasConst,CpCoefN=CpCoefNG,
                                                tempGinitial=tempInitialGas[5],
                                                molGinitial=molFractGasInitial*gasPressureInitial*volElemGasInitial/(perfGasConst*tempInitialGas[5]),
                                                vesselVolumeInitial=volElemIntInitial);
   JARA2i.gas.semiPerfGasCp6VB volCntrlGas6(      nComp=nCompG,perfGasConst=perfGasConst,CpCoefN=CpCoefNG,
                                                tempGinitial=tempInitialGas[6],
                                                molGinitial=molFractGasInitial*gasPressureInitial*volElemGasInitial/(perfGasConst*tempInitialGas[6]),
                                                vesselVolumeInitial=volElemIntInitial);
   JARA2i.gas.semiPerfGasCp6VB volCntrlGas7(      nComp=nCompG,perfGasConst=perfGasConst,CpCoefN=CpCoefNG,
                                                tempGinitial=tempInitialGas[7],
                                                molGinitial=molFractGasInitial*gasPressureInitial*volElemGasInitial/(perfGasConst*tempInitialGas[7]),
                                                vesselVolumeInitial=volElemIntInitial);
   JARA2i.gas.semiPerfGasCp6VB volCntrlGas8(      nComp=nCompG,perfGasConst=perfGasConst,CpCoefN=CpCoefNG,
                                                tempGinitial=tempInitialGas[8],
                                                molGinitial=molFractGasInitial*gasPressureInitial*volElemGasInitial/(perfGasConst*tempInitialGas[8]),
                                                vesselVolumeInitial=volElemIntInitial);
   JARA2i.gas.semiPerfGasCp6VB volCntrlGas9(      nComp=nCompG,perfGasConst=perfGasConst,CpCoefN=CpCoefNG,
                                                tempGinitial=tempInitialGas[9],
                                                molGinitial=molFractGasInitial*gasPressureInitial*volElemGasInitial/(perfGasConst*tempInitialGas[9]),
                                                vesselVolumeInitial=volElemIntInitial);
   JARA2i.gas.semiPerfGasCp6VB volCntrlGas10(     nComp=nCompG,perfGasConst=perfGasConst,CpCoefN=CpCoefNG,
                                                tempGinitial=tempInitialGas[10],
                                                molGinitial=0.5*molFractGasInitial*gasPressureInitial*volElemGasInitial/(perfGasConst*tempInitialGas[10]),
                                                vesselVolumeInitial=(0.5*volElemIntInitial));
  
   JARA2i.gas.pumpMolGasB pumpG1(      nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.gas.pumpMolGasB pumpG2(      nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.gas.pumpMolGasB pumpG3(      nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.gas.pumpMolGasB pumpG4(      nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.gas.pumpMolGasB pumpG5(      nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.gas.pumpMolGasB pumpG6(      nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.gas.pumpMolGasB pumpG7(      nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.gas.pumpMolGasB pumpG8(      nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.gas.pumpMolGasB pumpG9(      nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
  
   pumpMolCntrl pumpGCntrl(   totalMolFlowSPInitial=0.16);
  
   JARA2i.gas.sourceMolGasFB sourceG1(     nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
   JARA2i.gas.sourceMolGasFB sourceG2(     nComp=nCompG,CpCoefN=CpCoefNG,pmax=pmax,pmin=pmin,pcodo=pcodo,peps=peps);
  
   molSourceCntrl sourceG1Cntrl(  nComp=nCompG, flowDirection=-1,
                                  totalMolFlowSPInitial=0.16,
                                  tempFlowSPInitial=400,
                                  molFracCO2SPInitial=0.5);
   molSourceCntrl sourceG2Cntrl(   nComp=nCompG,
                                  totalMolFlowSPInitial=0.16,
                                  tempFlowSPInitial=400,
                                  molFracCO2SPInitial=0.5);
  
   JARA2i.heat.solidC6B pipeWall1(      CpCoefM=CpIntPipeWall,massInitial=massElemPipeInitial,
      tempInitial =                                                                                     tempInitialWall[1]);
   JARA2i.heat.solidC6B pipeWall2(      CpCoefM=CpIntPipeWall,massInitial=massElemPipeInitial,
      tempInitial =                                                                                     tempInitialWall[2]);
   JARA2i.heat.solidC6B pipeWall3(      CpCoefM=CpIntPipeWall,massInitial=massElemPipeInitial,
      tempInitial =                                                                                     tempInitialWall[3]);
   JARA2i.heat.solidC6B pipeWall4(      CpCoefM=CpIntPipeWall,massInitial=massElemPipeInitial,
      tempInitial =                                                                                     tempInitialWall[4]);
   JARA2i.heat.solidC6B pipeWall5(      CpCoefM=CpIntPipeWall,massInitial=massElemPipeInitial,
      tempInitial =                                                                                     tempInitialWall[5]);
   JARA2i.heat.solidC6B pipeWall6(      CpCoefM=CpIntPipeWall,massInitial=massElemPipeInitial,
      tempInitial =                                                                                     tempInitialWall[6]);
   JARA2i.heat.solidC6B pipeWall7(      CpCoefM=CpIntPipeWall,massInitial=massElemPipeInitial,
      tempInitial =                                                                                     tempInitialWall[7]);
   JARA2i.heat.solidC6B pipeWall8(      CpCoefM=CpIntPipeWall,massInitial=massElemPipeInitial,
      tempInitial =                                                                                     tempInitialWall[8]);
   JARA2i.heat.solidC6B pipeWall9(      CpCoefM=CpIntPipeWall,massInitial=massElemPipeInitial,
      tempInitial =                                                                                     tempInitialWall[9]);
  
   JARA2i.heat.RthConstB condHeat12(    RthInitial=thermalResistanceInitial);
   JARA2i.heat.RthConstB condHeat23(    RthInitial=thermalResistanceInitial);
   JARA2i.heat.RthConstB condHeat34(    RthInitial=thermalResistanceInitial);
   JARA2i.heat.RthConstB condHeat45(    RthInitial=thermalResistanceInitial);
   JARA2i.heat.RthConstB condHeat56(    RthInitial=thermalResistanceInitial);
   JARA2i.heat.RthConstB condHeat67(    RthInitial=thermalResistanceInitial);
   JARA2i.heat.RthConstB condHeat78(    RthInitial=thermalResistanceInitial);
   JARA2i.heat.RthConstB condHeat89(    RthInitial=thermalResistanceInitial);
  
   JARA2i.heat.convecSiederTateB convHeatFL1(
                                    nCompI=1,nCompO=nCompL,CpCoefM=CpCoefML,
      thermCondCoef =                                                                     thermCondL,
                                    pipeDiameterInitial=pipeDiameter2Initial,
      pipeSectionInitial =                                                                      sectionExtInitial,STcoef=STcoefLiq,
                                    pipeSurfaceAreaInitial=areaExtInitial,visc=viscLiq);
   JARA2i.heat.convecSiederTateB convHeatFL2(
                                    nCompI=1,nCompO=nCompL,CpCoefM=CpCoefML,
      thermCondCoef =                                                                     thermCondL,
                                    pipeDiameterInitial=pipeDiameter2Initial,
      pipeSectionInitial =                                                                      sectionExtInitial,STcoef=STcoefLiq,
                                    pipeSurfaceAreaInitial=areaExtInitial,visc=viscLiq);
   JARA2i.heat.convecSiederTateB convHeatFL3(
                                    nCompI=1,nCompO=nCompL,CpCoefM=CpCoefML,
      thermCondCoef =                                                                     thermCondL,
                                    pipeDiameterInitial=pipeDiameter2Initial,
      pipeSectionInitial =                                                                      sectionExtInitial,STcoef=STcoefLiq,
                                    pipeSurfaceAreaInitial=areaExtInitial,visc=viscLiq);
   JARA2i.heat.convecSiederTateB convHeatFL4(
                                    nCompI=1,nCompO=nCompL,CpCoefM=CpCoefML,
      thermCondCoef =                                                                     thermCondL,
                                    pipeDiameterInitial=pipeDiameter2Initial,
      pipeSectionInitial =                                                                      sectionExtInitial,STcoef=STcoefLiq,
                                    pipeSurfaceAreaInitial=areaExtInitial,visc=viscLiq);
   JARA2i.heat.convecSiederTateB convHeatFL5(
                                    nCompI=1,nCompO=nCompL,CpCoefM=CpCoefML,
      thermCondCoef =                                                                     thermCondL,
                                    pipeDiameterInitial=pipeDiameter2Initial,
      pipeSectionInitial =                                                                      sectionExtInitial,STcoef=STcoefLiq,
                                    pipeSurfaceAreaInitial=areaExtInitial,visc=viscLiq);
   JARA2i.heat.convecSiederTateB convHeatFL6(
                                    nCompI=1,nCompO=nCompL,CpCoefM=CpCoefML,
      thermCondCoef =                                                                     thermCondL,
                                    pipeDiameterInitial=pipeDiameter2Initial,
      pipeSectionInitial =                                                                      sectionExtInitial,STcoef=STcoefLiq,
                                    pipeSurfaceAreaInitial=areaExtInitial,visc=viscLiq);
   JARA2i.heat.convecSiederTateB convHeatFL7(
                                    nCompI=1,nCompO=nCompL,CpCoefM=CpCoefML,
      thermCondCoef =                                                                     thermCondL,
                                    pipeDiameterInitial=pipeDiameter2Initial,
      pipeSectionInitial =                                                                      sectionExtInitial,STcoef=STcoefLiq,
                                    pipeSurfaceAreaInitial=areaExtInitial,visc=viscLiq);
   JARA2i.heat.convecSiederTateB convHeatFL8(
                                    nCompI=1,nCompO=nCompL,CpCoefM=CpCoefML,
      thermCondCoef =                                                                     thermCondL,
                                    pipeDiameterInitial=pipeDiameter2Initial,
      pipeSectionInitial =                                                                      sectionExtInitial,STcoef=STcoefLiq,
                                    pipeSurfaceAreaInitial=areaExtInitial,visc=viscLiq);
   JARA2i.heat.convecSiederTateB convHeatFL9(
                                    nCompI=1,nCompO=nCompL,CpCoefM=CpCoefML,
      thermCondCoef =                                                                     thermCondL,
                                    pipeDiameterInitial=pipeDiameter2Initial,
      pipeSectionInitial =                                                                      sectionExtInitial,STcoef=STcoefLiq,
                                    pipeSurfaceAreaInitial=areaExtInitial,visc=viscLiq);
  
   JARA2i.heat.convecSiederTateB convHeatFG1(
                                   nCompI=1,nCompO=nCompG,CpCoefM=CpCoefMG,
      thermCondCoef =                                                                    thermCondG,
                                   pipeDiameterInitial=pipeDiameter1Initial,
      pipeSectionInitial =                                                                     sectionIntInitial,STcoef=STcoefGas,
                                   pipeSurfaceAreaInitial=areaIntInitial,visc=viscGas);
   JARA2i.heat.convecSiederTateB convHeatFG2(
                                   nCompI=1,nCompO=nCompG,CpCoefM=CpCoefMG,
      thermCondCoef =                                                                    thermCondG,
                                   pipeDiameterInitial=pipeDiameter1Initial,
      pipeSectionInitial =                                                                     sectionIntInitial,STcoef=STcoefGas,
                                   pipeSurfaceAreaInitial=areaIntInitial,visc=viscGas);
   JARA2i.heat.convecSiederTateB convHeatFG3(
                                   nCompI=1,nCompO=nCompG,CpCoefM=CpCoefMG,
      thermCondCoef =                                                                    thermCondG,
                                   pipeDiameterInitial=pipeDiameter1Initial,
      pipeSectionInitial =                                                                     sectionIntInitial,STcoef=STcoefGas,
                                   pipeSurfaceAreaInitial=areaIntInitial,visc=viscGas);
   JARA2i.heat.convecSiederTateB convHeatFG4(
                                   nCompI=1,nCompO=nCompG,CpCoefM=CpCoefMG,
      thermCondCoef =                                                                    thermCondG,
                                   pipeDiameterInitial=pipeDiameter1Initial,
      pipeSectionInitial =                                                                     sectionIntInitial,STcoef=STcoefGas,
                                   pipeSurfaceAreaInitial=areaIntInitial,visc=viscGas);
   JARA2i.heat.convecSiederTateB convHeatFG5(
                                   nCompI=1,nCompO=nCompG,CpCoefM=CpCoefMG,
      thermCondCoef =                                                                    thermCondG,
                                   pipeDiameterInitial=pipeDiameter1Initial,
      pipeSectionInitial =                                                                     sectionIntInitial,STcoef=STcoefGas,
                                   pipeSurfaceAreaInitial=areaIntInitial,visc=viscGas);
   JARA2i.heat.convecSiederTateB convHeatFG6(
                                   nCompI=1,nCompO=nCompG,CpCoefM=CpCoefMG,
      thermCondCoef =                                                                    thermCondG,
                                   pipeDiameterInitial=pipeDiameter1Initial,
      pipeSectionInitial =                                                                     sectionIntInitial,STcoef=STcoefGas,
                                   pipeSurfaceAreaInitial=areaIntInitial,visc=viscGas);
   JARA2i.heat.convecSiederTateB convHeatFG7(
                                   nCompI=1,nCompO=nCompG,CpCoefM=CpCoefMG,
      thermCondCoef =                                                                    thermCondG,
                                   pipeDiameterInitial=pipeDiameter1Initial,
      pipeSectionInitial =                                                                     sectionIntInitial,STcoef=STcoefGas,
                                   pipeSurfaceAreaInitial=areaIntInitial,visc=viscGas);
   JARA2i.heat.convecSiederTateB convHeatFG8(
                                   nCompI=1,nCompO=nCompG,CpCoefM=CpCoefMG,
      thermCondCoef =                                                                    thermCondG,
                                   pipeDiameterInitial=pipeDiameter1Initial,
      pipeSectionInitial =                                                                     sectionIntInitial,STcoef=STcoefGas,
                                   pipeSurfaceAreaInitial=areaIntInitial,visc=viscGas);
   JARA2i.heat.convecSiederTateB convHeatFG9(
                                   nCompI=1,nCompO=nCompG,CpCoefM=CpCoefMG,
      thermCondCoef =                                                                    thermCondG,
                                   pipeDiameterInitial=pipeDiameter1Initial,
      pipeSectionInitial =                                                                     sectionIntInitial,STcoef=STcoefGas,
                                   pipeSurfaceAreaInitial=areaIntInitial,visc=viscGas);
  
equation 
   // ----------------------
   // Interactive parameters
   // ----------------------
  
   der(lenPipe)        = 0;
   der(pipeDiameter1)  = 0;
   der(pipeDiameter2)  = 0;
   der(pipeDiameter3)  = 0;
  
   der(gasPressure) = 0;
   der( molarFractCO2) = 0;
   // ----------------------------------
   // Definition of the public variables
   // ----------------------------------
  
   tempLiq[1]  = volCntrlLiq1.liquid.inHeat.temp;
   tempLiq[2]  = volCntrlLiq2.liquid.inHeat.temp;
   tempLiq[3]  = volCntrlLiq3.liquid.inHeat.temp;
   tempLiq[4]  = volCntrlLiq4.liquid.inHeat.temp;
   tempLiq[5]  = volCntrlLiq5.liquid.inHeat.temp;
   tempLiq[6]  = volCntrlLiq6.liquid.inHeat.temp;
   tempLiq[7]  = volCntrlLiq7.liquid.inHeat.temp;
   tempLiq[8]  = volCntrlLiq8.liquid.inHeat.temp;
   tempLiq[9]  = volCntrlLiq9.liquid.inHeat.temp;
   tempLiq[10] = volCntrlLiq10.liquid.inHeat.temp;
  
   tempGas[1]  = volCntrlGas1.semiPerfGas.inHeat.temp;
   tempGas[2]  = volCntrlGas2.semiPerfGas.inHeat.temp;
   tempGas[3]  = volCntrlGas3.semiPerfGas.inHeat.temp;
   tempGas[4]  = volCntrlGas4.semiPerfGas.inHeat.temp;
   tempGas[5]  = volCntrlGas5.semiPerfGas.inHeat.temp;
   tempGas[6]  = volCntrlGas6.semiPerfGas.inHeat.temp;
   tempGas[7]  = volCntrlGas7.semiPerfGas.inHeat.temp;
   tempGas[8]  = volCntrlGas8.semiPerfGas.inHeat.temp;
   tempGas[9]  = volCntrlGas9.semiPerfGas.inHeat.temp;
   tempGas[10] = volCntrlGas10.semiPerfGas.inHeat.temp;
  
   tempWall[1]  = pipeWall1.inHeat.temp;
   tempWall[2]  = pipeWall2.inHeat.temp;
   tempWall[3]  = pipeWall3.inHeat.temp;
   tempWall[4]  = pipeWall4.inHeat.temp;
   tempWall[5]  = pipeWall5.inHeat.temp;
   tempWall[6]  = pipeWall6.inHeat.temp;
   tempWall[7]  = pipeWall7.inHeat.temp;
   tempWall[8]  = pipeWall8.inHeat.temp;
   tempWall[9]  = pipeWall9.inHeat.temp;
  
   massFlowLiq  = sourceL2.inMass.massLF;
  
   molFlowGas   = sourceG2.inMol.molGF;
  
   tempLiqFlowSourceL1 = sourceL1.tempF;
   tempLiqFlowSourceL2 = sourceL2.tempF;
  
   tempGasFlowSourceG1 = sourceG2.tempF;
   tempGasFlowSourceG2 = sourceG2.tempF;
  
   // Set point signals 
  
   connect(  sourceL1Cntrl.setPointSignal, sourceL1.setPointSignal);
   connect(  sourceL2Cntrl.setPointSignal, sourceL2.setPointSignal);
   connect(  pumpLCntrl.setPointSignal,   pumpL1.setPointSignal);
   connect(  pumpLCntrl.setPointSignal,   pumpL2.setPointSignal);
   connect(  pumpLCntrl.setPointSignal,  pumpL3.setPointSignal);
   connect(  pumpLCntrl.setPointSignal,  pumpL4.setPointSignal);
   connect(  pumpLCntrl.setPointSignal,  pumpL5.setPointSignal);
   connect(  pumpLCntrl.setPointSignal,  pumpL6.setPointSignal);
   connect(  pumpLCntrl.setPointSignal,  pumpL7.setPointSignal);
   connect(  pumpLCntrl.setPointSignal,  pumpL8.setPointSignal);
   connect(  pumpLCntrl.setPointSignal,   pumpL9.setPointSignal);
   connect(  sourceG1Cntrl.setPointSignal,  sourceG1.setPointSignal);
   connect(  sourceG2Cntrl.setPointSignal,  sourceG2.setPointSignal);
   connect(  pumpGCntrl.setPointSignal,  pumpG1.setPointSignal);
   connect(  pumpGCntrl.setPointSignal,  pumpG2.setPointSignal);
   connect(  pumpGCntrl.setPointSignal,  pumpG3.setPointSignal);
   connect(  pumpGCntrl.setPointSignal,  pumpG4.setPointSignal);
   connect(  pumpGCntrl.setPointSignal,  pumpG5.setPointSignal);
   connect(  pumpGCntrl.setPointSignal,  pumpG6.setPointSignal);
   connect(  pumpGCntrl.setPointSignal,  pumpG7.setPointSignal);
   connect(  pumpGCntrl.setPointSignal,  pumpG8.setPointSignal);
   connect(  pumpGCntrl.setPointSignal,  pumpG9.setPointSignal);
   connect(  volCntrlLiq1.inMassBot,  sourceL1.inMass);
   connect(  volCntrlLiq1.inMassBot,  pumpL1.inMass);
   connect(  volCntrlLiq2.inMassBot,  pumpL1.outMass);
   connect(  volCntrlLiq2.inMassBot,  pumpL2.inMass);
   connect(  volCntrlLiq3.inMassBot,  pumpL2.outMass);
   connect(  volCntrlLiq3.inMassBot,  pumpL3.inMass);
   connect(  volCntrlLiq4.inMassBot,  pumpL3.outMass);
   connect(  volCntrlLiq4.inMassBot,  pumpL4.inMass);
   connect(  volCntrlLiq5.inMassBot,  pumpL4.outMass);
   connect(  volCntrlLiq5.inMassBot,  pumpL5.inMass);
   connect(  volCntrlLiq6.inMassBot,  pumpL5.outMass);
   connect(  volCntrlLiq6.inMassBot,  pumpL6.inMass);
   connect(  volCntrlLiq7.inMassBot,  pumpL6.outMass);
   connect(  volCntrlLiq7.inMassBot,  pumpL7.inMass);
   connect(  volCntrlLiq8.inMassBot,  pumpL7.outMass);
   connect(  volCntrlLiq8.inMassBot,  pumpL8.inMass);
   connect(  volCntrlLiq9.inMassBot,  pumpL8.outMass);
   connect(  volCntrlLiq9.inMassBot,  pumpL9.inMass);
   connect(  volCntrlLiq10.inMassBot,  pumpL9.outMass);
   connect(  volCntrlLiq10.inMassBot,  sourceL2.inMass);
   connect(  volCntrlGas1.inMol,   sourceG1.inMol);
   connect(  volCntrlGas1.inMol,   pumpG1.inMol);
   connect(  volCntrlGas2.inMol,   pumpG1.outMol);
   connect(  volCntrlGas2.inMol,   pumpG2.inMol);
   connect(  volCntrlGas3.inMol,   pumpG2.outMol);
   connect(  volCntrlGas3.inMol,   pumpG3.inMol);
   connect(  volCntrlGas4.inMol,   pumpG3.outMol);
   connect(  volCntrlGas4.inMol,   pumpG4.inMol);
   connect(  volCntrlGas5.inMol,   pumpG4.outMol);
   connect(  volCntrlGas5.inMol,   pumpG5.inMol);
   connect(  volCntrlGas6.inMol,   pumpG5.outMol);
   connect(  volCntrlGas6.inMol,   pumpG6.inMol);
   connect(  volCntrlGas7.inMol,   pumpG6.outMol);
   connect(  volCntrlGas7.inMol,   pumpG7.inMol);
   connect(  volCntrlGas8.inMol,   pumpG7.outMol);
   connect(  volCntrlGas8.inMol,   pumpG8.inMol);
   connect(  volCntrlGas9.inMol,   pumpG8.outMol);
   connect(  volCntrlGas9.inMol,   pumpG9.inMol);
   connect(  volCntrlGas10.inMol,  pumpG9.outMol);
   connect(  volCntrlGas10.inMol,  sourceG2.inMol);
   connect(  pipeWall1.inHeat,   condHeat12.inHeat);
   connect(  pipeWall2.inHeat,  condHeat12.outHeat);
   connect(  pipeWall2.inHeat,  condHeat23.inHeat);
   connect(  pipeWall3.inHeat,  condHeat23.outHeat);
   connect(  pipeWall3.inHeat,  condHeat34.inHeat);
   connect(  pipeWall4.inHeat,  condHeat34.outHeat);
   connect(  pipeWall4.inHeat,  condHeat45.inHeat);
   connect(  pipeWall5.inHeat,  condHeat45.outHeat);
   connect(  pipeWall5.inHeat,  condHeat56.inHeat);
   connect(  pipeWall6.inHeat,  condHeat56.outHeat);
   connect(  pipeWall6.inHeat,  condHeat67.inHeat);
   connect(  pipeWall7.inHeat,  condHeat67.outHeat);
   connect(  pipeWall7.inHeat,  condHeat78.inHeat);
   connect(  pipeWall8.inHeat,  condHeat78.outHeat);
   connect(  pipeWall8.inHeat,  condHeat89.inHeat);
   connect(  pipeWall9.inHeat,  condHeat89.outHeat);
   connect(  convHeatFL1.inHeat,  pipeWall1.inHeat);
   connect(  convHeatFL1.outHeat, pumpL1.inHeat);
   connect(  convHeatFL2.inHeat,  pipeWall2.inHeat);
   connect(  convHeatFL2.outHeat, pumpL2.inHeat);
   connect(  convHeatFL3.inHeat,  pipeWall3.inHeat);
   connect(  convHeatFL3.outHeat, pumpL3.inHeat);
   connect(  convHeatFL4.inHeat,  pipeWall4.inHeat);
   connect(  convHeatFL4.outHeat, pumpL4.inHeat);
   connect(  convHeatFL5.inHeat,  pipeWall5.inHeat);
   connect(  convHeatFL5.outHeat, pumpL5.inHeat);
   connect(  convHeatFL6.inHeat,  pipeWall6.inHeat);
   connect(  convHeatFL6.outHeat, pumpL6.inHeat);
   connect(  convHeatFL7.inHeat,  pipeWall7.inHeat);
   connect(  convHeatFL7.outHeat, pumpL7.inHeat);
   connect(  convHeatFL8.inHeat,  pipeWall8.inHeat);
   connect(  convHeatFL8.outHeat, pumpL8.inHeat);
   connect(  convHeatFL9.inHeat,  pipeWall9.inHeat);
   connect(  convHeatFL9.outHeat, pumpL9.inHeat);
   connect(  convHeatFG1.inHeat,   pipeWall1.inHeat);
   connect(  convHeatFG1.outHeat,  pumpG1.inHeat);
   connect(  convHeatFG2.inHeat,   pipeWall2.inHeat);
   connect(  convHeatFG2.outHeat,  pumpG2.inHeat);
   connect(  convHeatFG3.inHeat,   pipeWall3.inHeat);
   connect(  convHeatFG3.outHeat,  pumpG3.inHeat);
   connect(  convHeatFG4.inHeat,   pipeWall4.inHeat);
   connect(  convHeatFG4.outHeat,  pumpG4.inHeat);
   connect(  convHeatFG5.inHeat,   pipeWall5.inHeat);
   connect(  convHeatFG5.outHeat,  pumpG5.inHeat);
   connect(  convHeatFG6.inHeat,   pipeWall6.inHeat);
   connect(  convHeatFG6.outHeat,  pumpG6.inHeat);
   connect(  convHeatFG7.inHeat,   pipeWall7.inHeat);
   connect(  convHeatFG7.outHeat,  pumpG7.inHeat);
   connect(  convHeatFG8.inHeat,   pipeWall8.inHeat);
   connect(  convHeatFG8.outHeat,  pumpG8.inHeat);
   connect(  convHeatFG9.inHeat,   pipeWall9.inHeat);
   connect(  convHeatFG9.outHeat,  pumpG9.inHeat);
  
   // Liquid flow 
  
   // Gas flow 
  
   // Conduction heat flow
  
   // Convection heat flow liquid - internal pipe wall 
  
   // Convection heat flow gas - internal pipe wall 
  
end DoublePipeHeatExchanger;

JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.massSourceCntrl JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.massSourceCntrl

Controller of the gas pump. Set-points: total mass flow and temperature

JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.massSourceCntrl

Information


Controller of the gas pump

Class modeling the gas pump controller. This class inherits from interf.sourceMassSignalI. The interactive variables of the model are shown in Table 1.

Table 1. Interactive variables.
totalMassFlowSP Set-point of the total mass flow.
tempFlowSP Set-point of the temperature.



Parameters

TypeNameDefaultDescription
IntegernComp1Number of components
RealmassFractionSP[nComp]{1}Setpoint of the mass fraction
RealflowDirection1Flow direction
RealtotalMassFlowSPInitial Setpoint of the mass flow [Kg/s]
RealtempFlowSPInitial Setpoint of the temperature [K]
BooleanEjsfalseGlobal variable - Runtime interactivty
BooleanSysquakefalseGlobal variable - Batch interactivity

Connectors

TypeNameDescription
cutEmittersetPointSignalSetpoint of the temperature

Modelica definition

model massSourceCntrl 
  "Controller of the gas pump. Set-points: total mass flow and temperature" 
  
   extends JARA2i.interf.sourceMassSignalI;
  
   parameter Real massFractionSP[ nComp](  unit="") = { 1} 
    "Setpoint of the mass fraction";
  
   parameter Real flowDirection = 1 "Flow direction";
  
   // Interactive parameters
   parameter Real totalMassFlowSPInitial( unit="Kg/s") 
    "Setpoint of the mass flow";
   Real totalMassFlowSP(                  unit="Kg/s", start=totalMassFlowSPInitial) 
    "Setpoint of the mass flow";
  
   parameter Real tempFlowSPInitial(      unit="K") 
    "Setpoint of the temperature";
   Real tempFlowSP(                       unit="K", start=tempFlowSPInitial) 
    "Setpoint of the temperature";
   outer parameter Boolean Ejs = false "Global variable - Runtime interactivty";
   outer parameter Boolean Sysquake = false 
    "Global variable - Batch interactivity";
  
equation 
   // Interactive parameters
  if (Ejs) then
   der(totalMassFlowSP) = 0;
   der(tempFlowSP) = 0;
  end if;
  
   totalMassFSP * flowDirection = totalMassFlowSP;
  
   massFractSP   = massFractionSP;
  
  tempFSP = tempFlowSP;
  
  
end massSourceCntrl;

JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.molSourceCntrl JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.molSourceCntrl

Controller of the gas pump. Set-points: total mass flow, temperature and molar fraction of CO2

JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.molSourceCntrl

Information


Controller of the gas pump

Class modeling the gas pump controller. This class inherits from interf.sourceMassSignalI. The interactive variables of the model are shown in Table 1.

Table 1. Interactive variables.
totalMassFlowSP Set-point of the total mass flow.
tempFlowSP Set-point of the temperature.
molFracCO2SP Setpoint of the molar fraction of CO2.



Parameters

TypeNameDefaultDescription
IntegernComp1 
RealflowDirection1Flow direction
RealtotalMolFlowSPInitial Setpoint of the molar flow [mol/s]
RealtempFlowSPInitial Setpoint of the temperature [K]
RealmolFracCO2SPInitial Setpoint of the molar fraction of CO2

Connectors

TypeNameDescription
cutEmittersetPointSignalSet-point of the total molar flow, mol fraction and temperature

Modelica definition

model molSourceCntrl 
  "Controller of the gas pump. Set-points: total mass flow, temperature and molar fraction of CO2" 
  
   extends JARA2i.interf.sourceMolSignalI;
  
   parameter Real flowDirection = 1 "Flow direction";
  
   // Interactive parameters
  
   parameter Real totalMolFlowSPInitial( unit="mol/s") 
    "Setpoint of the molar flow";
   Real totalMolFlowSP(           unit="mol/s", start=totalMolFlowSPInitial) 
    "Setpoint of the molar flow";
  
   parameter Real tempFlowSPInitial(     unit="K") 
    "Setpoint of the temperature";
   Real tempFlowSP(               unit="K", start=tempFlowSPInitial) 
    "Setpoint of the temperature";
  
   parameter Real molFracCO2SPInitial(   unit="") 
    "Setpoint of the molar fraction of CO2";
   Real molFracCO2SP(             unit="", start=molFracCO2SPInitial) 
    "Setpoint of the molar fraction of CO2";
  
equation 
   // Interactive parameters
   der(totalMolFlowSP) = 0;
   der(tempFlowSP)     = 0;
   der(molFracCO2SP)   = 0;
  
   totalMolFSP * flowDirection = totalMolFlowSP;
  
   molFractSP[1] = molFracCO2SP;
   molFractSP[1] + molFractSP[2] = 1;
  
   tempFSP = tempFlowSP;
  
  
end molSourceCntrl;

JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.pumpCntrl JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.pumpCntrl

Controller of the liquid pump. Set-point: total mass flow

JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.pumpCntrl

Information


Controller of the liquid pump

Class modeling the liquid pump controller. This class inherits from interf.pumpMassSignalI. The interactive variables of the model are shown in Table 1.

Table 1. Interactive variables.
totalMassFlowSP Set-point of the total mass flow.



Parameters

TypeNameDefaultDescription
RealtotalMassFlowSPInitial [Kg/s]

Connectors

TypeNameDescription
cutEmittersetPointSignalSet-point signal

Modelica definition

model pumpCntrl 
  "Controller of the liquid pump. Set-point: total mass flow" 
  
   extends JARA2i.interf.pumpMassSignalI;
  
   // Interactive parameter
   parameter Real totalMassFlowSPInitial( unit="Kg/s");
   Real totalMassFlowSP(           start=totalMassFlowSPInitial);
  
equation 
   // Interactive parameter
   der(totalMassFlowSP) = 0;
  
   totalMassFSP = totalMassFlowSP;
  
  
end pumpCntrl;

JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.pumpMolCntrl JARA2i.CaseStudies.doublePipeHeatExchanger.PhysicalModel.pumpMolCntrl

Controller of the gas pump. Set-point: total mol flow

Information

Controller of the gas pump

Parameters

TypeNameDefaultDescription
RealtotalMolFlowSPInitial Set-point of the total mol flow [Kg/s]

Connectors

TypeNameDescription
cutEmittersetPointSignalSetpoint of the total molar flow

Modelica definition

model pumpMolCntrl 
  "Controller of the gas pump. Set-point: total mol flow" 
  
   extends JARA2i.interf.pumpMolSignalI;
  
   // Interactive parameter
   parameter Real totalMolFlowSPInitial( unit="Kg/s") 
    "Set-point of the total mol flow";
   Real totalMolFlowSP(           start=totalMolFlowSPInitial);
  
equation 
   // Interactive parameter
   der(totalMolFlowSP) = 0;
  
  totalMolFSP = totalMolFlowSP;
  
  
end pumpMolCntrl;

HTML-documentation generated by Dymola Tue Jul 24 19:08:11 2007.