Name | Description |
---|---|
DoublePipeHeatExchanger | Double-pipe heat-exchanger |
![]() | Controller of the gas pump. Set-points: total mass flow and temperature |
![]() | Controller of the gas pump. Set-points: total mass flow, temperature and molar fraction of CO2 |
![]() | Controller of the liquid pump. Set-point: total mass flow |
![]() | Controller of the gas pump. Set-point: total mol flow |
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.
M. B. Cutlip and M. Shacham (1999): Problem Solving in Chemical Engineering with Numerical Methods. Prentice-Hall.
Type | Name | Default | Description |
---|---|---|---|
Integer | nCompL | 1 | Number of components of the liquid mixture |
Integer | nCompG | 2 | Number of components of the gas mixture |
Boolean | Ejs | true | Global variable - Runtime Interactivity |
Boolean | Sysquake | false | Global variable - Batch interactivity |
Real | pi | 3.141593 | |
Integer | numNodes | 10 | Number of nodes for temperature calculation |
Real | perfGasConst | 8.31 | Perfect gases constant [J/(mol.K)] |
Real | densityL[nCompL] | {996} | Density of the liquid components [Kg.m-3] |
Real | CpCoefML[nCompL, 7] | [4185, 0, 0, 0, 0, 0, 0] | Heat capacity [J/(Kg.K)] |
Real | viscLiq[4] | {1,-10.547,541.69,144.53} | Viscosity coefficients [W/(m.K)] |
Real | thermCondL[2] | {0.61,0} | Thermal conductivity coefficients |
Real | CpCoefNG[nCompG, 7] | [36.83, 0, 0, 0, 0, 0, 0; 42... | Heat capacity per mol at constant pressure [J/(mol.K)] |
Real | CpCoefMG[nCompG, 7] | [837, 0, 0, 0, 0, 0, 0; 657,... | Heat capacity per mass at constant [J/(Kg.K)] |
Real | viscGas[4] | {1.55E-5,0,0,1} | Viscosity [Kg/(m.s)] |
Real | thermCondG[2] | {0.014,0} | Coeff. of the thermal conductivity [W/(m.K)] |
Real | molecWeigthG[2] | {44E-3,64E-3} | Molecular weight [Kg/mol] |
Real | lenPipeInitial | 1 | Pipe lenght [m] |
Real | pipeDiameter1Initial | 18.92E-3 | Inner diameter of the inside tube [m] |
Real | pipeDiameter2Initial | 22.22E-3 | Outer diameter of the inside tube [m] |
Real | pipeDiameter3Initial | 38.10E-3 | Inner diameter of the outside pipe [m] |
Real | sectionIntInitial | (pi*(pipeDiameter1Initial/2)... | [m2] |
Real | areaIntInitial | (pi*pipeDiameter1Initial*len... | [m2] |
Real | areaExtInitial | (pi*pipeDiameter2Initial*len... | [m2] |
Real | volElemIntInitial | (sectionIntInitial*lenPipeIn... | [m3] |
Real | volElemGasInitial | volElemIntInitial | [m3] |
Real | sectionExtInitial | (pi*((pipeDiameter3Initial/2... | [m2] |
Real | volElemLiqInitial | sectionExtInitial*lenPipeIni... | [m3] |
Real | pmax | 1E9 | Characteristic parameters of the source and pumps |
Real | pcodo | 0.9E9 | |
Real | pmin | 2E-2 | |
Real | peps | 1E-2 | |
Real | massFractionLSP[nCompL] | {1} | Setpoint: mass fraction of the liquid |
Real | densityIntPipeWall | 8950 | Density of the inside-tube wall [Kg/m3] |
Real | CpIntPipeWall[7] | {383,0,0,0,0,0,0} | Heat capacity of the inside-tube wall [J/(Kg.K)] |
Real | thermalCondWall | 381 | Thermal conductivity of the inside-tube wall [W/(m.K)] |
Real | pipeWallSectionInitial | (pi*((pipeDiameter2Initial/2... | |
Real | massIntPipeWallInitial | (densityIntPipeWall*lenPipeI... | |
Real | massElemPipeInitial | (massIntPipeWallInitial/(num... | |
Real | thermalResistanceInitial | (lenPipeInitial/(thermalCond... | |
Real | STcoefLiq[4] | {0.023,0.8,0.4,0} | Sieder-Tate correlation coefficients |
Real | STcoefGas[4] | {0.023,0.8,0.3,0} | Sieder-Tate correlation coefficients |
Real | tempInitialWall[numNodes - 1] | fill(283, (numNodes - 1)) | Wall initial temperature [K] |
Real | tempInitialLiq[numNodes] | fill(283, numNodes) | Liquid initial temperature [K] |
Real | tempInitialGas[numNodes] | fill(283, numNodes) | Gas initial temperature [K] |
Real | initialLiqMassFraction[nCompL] | {1} | Initial mass-fraction of the liquid mixture components |
Real | massInitialLiq[nCompL] | volElemLiqInitial*initialLiq... | Initial mass of liquid inside a control volume [Kg] |
Real | molFractGasInitial[nCompG] | {0.5,0.5} | Initial mol fraction of the gas components |
Real | gasPressureInitial | 5e5 | Initial pressure of the gas mixture [J.m-3] |
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;
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. |
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Real | massFractionSP[nComp] | {1} | Setpoint of the mass fraction |
Real | flowDirection | 1 | Flow direction |
Real | totalMassFlowSPInitial | Setpoint of the mass flow [Kg/s] | |
Real | tempFlowSPInitial | Setpoint of the temperature [K] | |
Boolean | Ejs | false | Global variable - Runtime interactivty |
Boolean | Sysquake | false | Global variable - Batch interactivity |
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Setpoint of the temperature |
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;
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. |
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | |
Real | flowDirection | 1 | Flow direction |
Real | totalMolFlowSPInitial | Setpoint of the molar flow [mol/s] | |
Real | tempFlowSPInitial | Setpoint of the temperature [K] | |
Real | molFracCO2SPInitial | Setpoint of the molar fraction of CO2 |
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Set-point of the total molar flow, mol fraction and temperature |
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;
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. |
Type | Name | Default | Description |
---|---|---|---|
Real | totalMassFlowSPInitial | [Kg/s] |
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Set-point signal |
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;
Controller of the gas pump
Type | Name | Default | Description |
---|---|---|---|
Real | totalMolFlowSPInitial | Set-point of the total mol flow [Kg/s] |
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Setpoint of the total molar flow |
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;