Name | Description |
---|---|
![]() | |
![]() | Controller. |
![]() | Information emitter. |
![]() | Gas - CV. |
![]() | Gas TP. |
![]() | Gas TP. |
![]() | Gas TP. |
![]() | Gas CV. |
![]() | Thermic interface - CV. |
![]() | Thermic interface TP. |
![]() | Thermic interface TP. |
![]() | Thermic interface TP. |
![]() | Liquid and Gas - TP. |
![]() | Liquid and Gas - TP. |
![]() | Liquid TP. |
![]() | Liquid TP. |
![]() | Liquid TP. |
![]() | Liquid CV. |
![]() | Liquid CV. |
![]() | Liquid CV. |
![]() | Information flow. |
![]() | Information flow |
![]() | Information flow |
![]() | Information receiver. |
![]() | Information flow. |
![]() | Information flow. |
![]() | Information flow. |
![]() | Information flow. |
![]() | Information flow. |
![]() | Information flow. |
![]() | Volume constraint. |
Interface type: information flow
Type | Name | Default | Description |
---|---|---|---|
Real | samplePeriod0 | 0.1 | Sample period |
Integer | dimSP | 1 | Dimension of the set-point signal |
Integer | dimy | 1 | Dimension of the controlled variable signal |
Integer | dimu | 1 | Dimension of the manipulated variable signal |
Type | Name | Description |
---|---|---|
cutReceiver | setPointSignal | Set-point signal |
cutEmitter | uVarSignal | Manipulated variable |
cutReceiver | yVarSignal | Controlled variable |
partial model controllerI parameter Real samplePeriod0 = 0.1 "Sample period"; Real samplePeriod(start=samplePeriod0) "Sample period of component"; // parameter SI.Time startTime=0 "First sample time instant"; discrete Boolean sampleTrigger(fixed=true, start=true) "True, if sample time instant"; Boolean firstTrigger "Rising edge signals first sample instant"; parameter Integer dimSP=1 "Dimension of the set-point signal"; parameter Integer dimy=1 "Dimension of the controlled variable signal"; parameter Integer dimu=1 "Dimension of the manipulated variable signal"; Real setPoint[dimSP] "Setpoint signals"; Real uVar[dimu] "Manipulated signals"; Real yVar[dimy] "Controlled signals"; cutsB.cutReceiver setPointSignal(dim=dimSP, signal=setPoint) "Set-point signal"; cutsB.cutEmitter uVarSignal(dim=dimu, signal=uVar) "Manipulated variable"; cutsB.cutReceiver yVarSignal(dim=dimy, signal=yVar) "Controlled variable"; protected discrete Real nextTime(start=0); equation der(samplePeriod) = 0; when time > nextTime then //Hasta el sgte. instante de muestreo no se actualiza el valor de nextTime // sampleTrigger = true; nextTime = samplePeriod + pre(nextTime); end when; sampleTrigger = time < nextTime; when sampleTrigger then firstTrigger = time <= samplePeriod/2; end when; end controllerI;
Interface type: information flow
Type | Name | Default | Description |
---|---|---|---|
Integer | dimSP | 1 | Number of setpoint signals |
Integer | dimManip | 1 | Number of manipulated variables |
Integer | dimControl | 1 | Number of control variables |
Type | Name | Description |
---|---|---|
cutReceiver | setPointSignal | Setpoint signals |
cutEmitter | manipVarSignal | Manipulated signals |
cutReceiver | contrVarSignal | Control signals |
model controllerMI "Controller." parameter Integer dimSP = 1 "Number of setpoint signals"; parameter Integer dimManip = 1 "Number of manipulated variables"; parameter Integer dimControl = 1 "Number of control variables"; Real setPoint[ dimSP] "Setpoint signals"; Real manipVar[ dimManip] "Manipulated signals"; Real contrVar[ dimControl] "Controlled signals"; cutsB.cutReceiver setPointSignal( dim=dimSP, signal=setPoint) "Setpoint signals"; cutsB.cutEmitter manipVarSignal( dim=dimManip, signal=manipVar) "Manipulated signals"; cutsB.cutReceiver contrVarSignal( dim=dimControl, signal=contrVar) "Control signals"; equation end controllerMI;
Interface type: information flow
Type | Name | Default | Description |
---|---|---|---|
Integer | dim | 1 | Number of components of the signal vector |
Type | Name | Description |
---|---|---|
cutEmitter | signal | Information |
model emitter1I "Information emitter." parameter Integer dim = 1 "Number of components of the signal vector"; cutsB.cutEmitter signal( dim=dim) "Information"; equation end emitter1I;
Interface of the classes modeling a control volume (CV) that contains a homogeneous mixture of an arbitrary number of semiperfect gases.
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutGasC | inMol | Gas flow - Connector Capacitive |
cutHeatMC | inHeat | Heat flow - Connector M-C |
model gas1I "Gas - CV." parameter Integer nComp = 1 "Number of components"; cutsB.cutGasC inMol( nComp=nComp) "Gas flow - Connector Capacitive"; cutsB.cutHeatMC inHeat( nComp=nComp) "Heat flow - Connector M-C"; equation end gas1I;
Interface type: transport phenomenon
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutGasR | inMol | Gas flow - Connector Resistive |
model gasFlow1I "Gas TP." parameter Integer nComp = 1 "Number of components"; cutsB.cutGasR inMol( nComp=nComp) "Gas flow - Connector Resistive"; equation end gasFlow1I;
Interface type: transport phenomenon
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutGasR | inMol | Gas flow - Connector Resistive |
cutGasR | outMol | Gas flow - Connector Resistive |
model gasFlow2I "Gas TP." parameter Integer nComp = 1 "Number of components"; cutsB.cutGasR inMol( nComp=nComp) "Gas flow - Connector Resistive"; cutsB.cutGasR outMol( nComp=nComp) "Gas flow - Connector Resistive"; equation end gasFlow2I;
Interface type: transport phenomenon
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutGasR | inMol | Gas flow - Connector Resistive. |
cutGasR | outMol | Gas flow - Connector Resistive. |
cutHeatFC | inHeat | Heat flow - Connector F-C. Connector for the heat convection. |
model gasFlow2qI "Gas TP." parameter Integer nComp = 1 "Number of components"; cutsB.cutGasR inMol( nComp=nComp) "Gas flow - Connector Resistive."; cutsB.cutGasR outMol( nComp=nComp) "Gas flow - Connector Resistive."; cutsB.cutHeatFC inHeat( nComp=nComp) "Heat flow - Connector F-C. Connector for the heat convection."; equation end gasFlow2qI;
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutGasC | inMol | Gas flow - Connector Capacitive |
cutHeatMC | inHeat | Heat flow - Connector M-C |
cutVolConstrGas | constraintV | Volume constraint - Gas |
model gasV1I "Gas CV." parameter Integer nComp = 1 "Number of components"; cutsB.cutGasC inMol( nComp=nComp) "Gas flow - Connector Capacitive"; cutsB.cutHeatMC inHeat( nComp=nComp) "Heat flow - Connector M-C"; cutsB.cutVolConstrGas constraintV "Volume constraint - Gas"; equation // Reationship between the terminal variables // constraintV.dummyVol1 = constraintV.dummyVol; constraintV.vcE[1] = constraintV.vcE[2]; end gasV1I;
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutHeatMC | inHeat | Connector for the heat conduction. |
model heat1I "Thermic interface - CV." parameter Integer nComp = 1 "Number of components"; cutsB.cutHeatMC inHeat( nComp=nComp) "Connector for the heat conduction."; equation end heat1I;
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutHeatMR | inHeat | Heat flow source |
model heatFlow1I "Thermic interface TP." parameter Integer nComp = 1 "Number of components"; cutsB.cutHeatMR inHeat( nComp=nComp) "Heat flow source"; equation end heatFlow1I;
Type | Name | Default | Description |
---|---|---|---|
Integer | nCompI | 1 | Number of components of inHeat |
Integer | nCompO | 1 | Number of components of outHeat |
Type | Name | Description |
---|---|---|
cutHeatMR | inHeat | Heat flow |
cutHeatMR | outHeat | Heat flow |
model heatFlow2I "Thermic interface TP." parameter Integer nCompI = 1 "Number of components of inHeat"; parameter Integer nCompO = 1 "Number of components of outHeat"; cutsB.cutHeatMR inHeat( nComp=nCompI) "Heat flow"; cutsB.cutHeatMR outHeat( nComp=nCompO) "Heat flow"; equation end heatFlow2I;
Type | Name | Default | Description |
---|---|---|---|
Integer | nCompI | 1 | Number of components of inHeat |
Integer | nCompO | 1 | Number of components of outHeat |
Type | Name | Description |
---|---|---|
cutHeatMR | inHeat | Heat flow |
cutHeatFR | outHeat | Heat flow |
model heatFlowF2I "Thermic interface TP." parameter Integer nCompI = 1 "Number of components of inHeat"; parameter Integer nCompO = 1 "Number of components of outHeat"; cutsB.cutHeatMR inHeat( nComp=nCompI) "Heat flow"; cutsB.cutHeatFR outHeat( nComp=nCompO) "Heat flow"; equation end heatFlowF2I;
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutLiquidR | inMass | Liquid flow - Connector R. Connector for the liquid flow. |
cutGasR | outMol | Gas flow - Connector Resistive. |
model heteroFlow2I "Liquid and Gas - TP." parameter Integer nComp = 1 "Number of components"; cutsB.cutLiquidR inMass( nComp=nComp) "Liquid flow - Connector R. Connector for the liquid flow."; cutsB.cutGasR outMol( nComp=nComp) "Gas flow - Connector Resistive."; equation end heteroFlow2I;
Interface type: transport phenomenon
Type | Name | Default | Description |
---|---|---|---|
Integer | nCompL | 1 | Number of liquid components |
Integer | nCompG | 1 | Number of gas components |
Type | Name | Description |
---|---|---|
cutLiquidR | inMass | Connector for the liquid flow |
cutGasR | outMol | Connector for the gas flow |
model heteroProcessFlow2I "Liquid and Gas - TP." parameter Integer nCompL = 1 "Number of liquid components"; parameter Integer nCompG = 1 "Number of gas components"; cutsB.cutLiquidR inMass( nComp=nCompL) "Connector for the liquid flow"; cutsB.cutGasR outMol( nComp=nCompG) "Connector for the gas flow"; equation end heteroProcessFlow2I;
Interface type: transport phenomenon
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutLiquidR | inMass | Connector for the liquid flow |
model liqFlow1I "Liquid TP." parameter Integer nComp = 1 "Number of components"; cutsB.cutLiquidR inMass( nComp=nComp) "Connector for the liquid flow"; equation end liqFlow1I;
Interface type: transport phenomenon
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 |
Type | Name | Description |
---|---|---|
cutLiquidR | inMass | |
cutLiquidR | outMass |
model liqFlow2I "Liquid TP." parameter Integer nComp = 1; cutsB.cutLiquidR inMass( nComp=nComp); cutsB.cutLiquidR outMass( nComp=nComp); equation end liqFlow2I;
Interface type: transport phenomenon
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutLiquidR | inMass | Liquid flow connector - R |
cutLiquidR | outMass | Liquid flow connector - R |
cutHeatFC | inHeat | Heat flow connector -C |
model liqFlow2qI "Liquid TP." parameter Integer nComp = 1 "Number of components"; cutsB.cutLiquidR inMass( nComp=nComp) "Liquid flow connector - R"; cutsB.cutLiquidR outMass( nComp=nComp) "Liquid flow connector - R"; cutsB.cutHeatFC inHeat( nComp=nComp) "Heat flow connector -C"; equation end liqFlow2qI;
Interface type: control volume
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components of the liquid mixture |
Type | Name | Description |
---|---|---|
cutLiquidC | inMass | Connector for the liquid flow |
model liquid1I "Liquid CV." parameter Integer nComp = 1 "Number of components of the liquid mixture"; cutsB.cutLiquidC inMass( nComp=nComp) "Connector for the liquid flow"; equation end liquid1I;
Liquid CV: the CV contains an ideal, homogeneous liquid mixture composed of an arbitrary number of components.
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components of the liquid mixture |
Type | Name | Description |
---|---|---|
cutLiquidC | inMassTop | Connector for the liquid flow |
cutLiquidC | inMassBot | Connector for the liquid flow |
cutHeatMC | inHeat | Connector for the heat flow |
model liquid2I "Liquid CV." parameter Integer nComp = 1 "Number of components of the liquid mixture"; cutsB.cutLiquidC inMassTop( nComp=nComp) "Connector for the liquid flow"; cutsB.cutLiquidC inMassBot( nComp=nComp) "Connector for the liquid flow"; cutsB.cutHeatMC inHeat( nComp=nComp) "Connector for the heat flow"; equation end liquid2I;
Interface type: control volumeLiquid CV: the CV contains an ideal, homogeneous liquid mixture composed of an arbitrary number of components.
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutLiquidC | inMassTop | Connector for the liquid flow |
cutLiquidC | inMassBot | Connector for the liquid flow |
cutHeatMC | inHeat | Connector for the heat flow |
cutVolConstrLiq | constraintV | Connector for the volume constraint - Liquid |
model liquidV2I "Liquid CV." parameter Integer nComp = 1 "Number of components"; cutsB.cutLiquidC inMassTop( nComp=nComp) "Connector for the liquid flow"; cutsB.cutLiquidC inMassBot( nComp=nComp) "Connector for the liquid flow"; cutsB.cutHeatMC inHeat( nComp=nComp) "Connector for the heat flow"; cutsB.cutVolConstrLiq constraintV "Connector for the volume constraint - Liquid"; equation end liquidV2I;
Interface type: information flow
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Set-point signal |
model pumpMassSignalI "Information flow." Real totalMassFSP( unit="M.t-1") "Setpoint of the total mass flow"; cutsB.cutEmitter setPointSignal( dim=1, signal={totalMassFSP}) "Set-point signal"; equation end pumpMassSignalI;
Interface type: information flow
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Setpoint of the total molar flow |
model pumpMolSignalI "Information flow" Real totalMolFSP( unit="mol.t-1") "Setpoint of the total molar flow"; cutsB.cutEmitter setPointSignal( dim=1, signal={totalMolFSP}) "Setpoint of the total molar flow"; equation end pumpMolSignalI;
Interface type: information flow
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Setpoint of the total volumetric flow |
model pumpVolSignalI "Information flow" Real totalVolFSP( unit="L3.t-1") "Setpoint of the total volumetric flow"; cutsB.cutEmitter setPointSignal( dim=1, signal={totalVolFSP}) "Setpoint of the total volumetric flow"; equation end pumpVolSignalI;
Interface type: information flow
Type | Name | Default | Description |
---|---|---|---|
Integer | dim | 1 | Dimension of the signal vector |
Type | Name | Description |
---|---|---|
cutReceiver | signal | Information connector |
model receiver1I "Information receiver." parameter Integer dim = 1 "Dimension of the signal vector"; cutsB.cutReceiver signal( dim=dim) "Information connector"; equation end receiver1I;
Interface type: information flow
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Setpoint of the heat flow |
model sourceHeatSignalI "Information flow." Real heatFSP( unit="M.L2.t-3") "Setpoint of the heat flow"; cutsB.cutEmitter setPointSignal( dim=1, signal={heatFSP}) "Setpoint of the heat flow"; equation end sourceHeatSignalI;
Interface type: information flow
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Setpoint of the temperature |
model sourceMassSignalI "Information flow." parameter Integer nComp = 1 "Number of components"; Real totalMassFSP( unit="M.t-1") "Setpoint of the total mass-flow"; Real massFractSP[ nComp]( unit=" ") "Setpoint of each-component mass fraction"; Real tempFSP( unit="T") "Setpoint of the temperature"; cutsB.cutEmitter setPointSignal( dim=nComp+2) "Setpoint of the temperature"; equation setPointSignal.signal[1] = totalMassFSP; setPointSignal.signal[2:(nComp+1)] = massFractSP[:]; setPointSignal.signal[nComp+2] = tempFSP; end sourceMassSignalI;
Interface type: information flow
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 |
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Set-point of the total molar flow, mol fraction and temperature |
model sourceMolSignalI "Information flow." parameter Integer nComp = 1; Real totalMolFSP( unit="mol.t-1") "Setpoint of the total mol-flow"; Real molFractSP[ nComp]( unit=" ") "Setpoint of each-component mol fraction"; Real tempFSP( unit="T") "Setpoint of the temperature"; cutsB.cutEmitter setPointSignal( dim=nComp+2) "Set-point of the total molar flow, mol fraction and temperature"; equation setPointSignal.signal[1] = totalMolFSP; setPointSignal.signal[2:(nComp+1)] = molFractSP[:]; setPointSignal.signal[nComp+2] = tempFSP; end sourceMolSignalI;
Interface type: information flow
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 |
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Setpoint of the total volumetric flow, component mol fraction, temperature and pressure |
model sourceVolGasSignalI "Information flow." parameter Integer nComp = 1; Real totalVolFSP( unit="L3.t-1") "Setpoint of the total volumetric flow"; Real molFractSP[ nComp]( unit=" ") "Setpoint of each-component mol fraction"; Real tempFSP( unit="T") "Setpoint of the temperature"; Real pressFSP( unit="M.L-1.t-2") "Setpoint of the pressure"; cutsB.cutEmitter setPointSignal( dim=nComp+3) "Setpoint of the total volumetric flow, component mol fraction, temperature and pressure"; equation setPointSignal.signal[1] = totalVolFSP; setPointSignal.signal[2:(nComp+1)] = molFractSP[:]; setPointSignal.signal[nComp+2] = tempFSP; setPointSignal.signal[nComp+3] = pressFSP; end sourceVolGasSignalI;
Interface type: information flow
Type | Name | Default | Description |
---|---|---|---|
Integer | nComp | 1 | Number of components |
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Set-point of the total volumetric flow, component volume fraction and temperature |
model sourceVolLiqSignalI "Information flow." parameter Integer nComp = 1 "Number of components"; Real totalVolFSP( unit="L3.t-1") "Setpoint of the total volumetric flow"; Real volFractSP[ nComp]( unit=" ") "Setpoint of each-component volume fraction"; Real tempFSP( unit="T") "Setpoint of the temperature"; cutsB.cutEmitter setPointSignal( dim=nComp+2) "Set-point of the total volumetric flow, component volume fraction and temperature"; equation setPointSignal.signal[1] = totalVolFSP; setPointSignal.signal[2:(nComp+1)] = volFractSP[:]; setPointSignal.signal[nComp+2] = tempFSP; end sourceVolLiqSignalI;
Interface type: information flow
Type | Name | Description |
---|---|---|
cutEmitter | setPointSignal | Setpoint signal: {valveOpeningSP} |
model valveSignalI "Information flow." Real valveOpeningSP( unit=" ") "Setpoint of the valve opening"; cutsB.cutEmitter setPointSignal( dim=1, signal={valveOpeningSP}) "Setpoint signal: {valveOpeningSP}"; equation end valveSignalI;
Type | Name | Description |
---|---|---|
cutVolConstrVessel | constraintV | Volume constraint - Vessel. |
model vesselI "Volume constraint." cutsB.cutVolConstrVessel constraintV "Volume constraint - Vessel."; equation // Relationship between the terminal variables // constraintV.dummyVolF = -constraintV.dummyVol; constraintV.vcE[2] = - constraintV.vcF; end vesselI;