TITLE MULTI VESSEL BATCH DISTILLATION # # Plant consists of 3 column sections, 2 intermediate vessels, # reboiler, total condenser and accumulator (trays are numbered # from the top and down). # Vapor bypassing the intermediate vessels # # There are 4 components. The lightest product is accumulated # in the condenser, the second lightest in the upper vessel, # the third lightest in the lower vessel and the heaviest in # the reboiler. # # The mathematical model assumes constant relative volatility # (relative to the heaviest component) and linear tray # hydraulics. Separation is taking place in the vessels too. # # Control algorithm: 3 PI-controllers which control the # temperature in the middle of the column sections. # Manipulated variable is the liquid flow from the vessel # above. Set points for the controllers are average boiling # temperature between the two separated components # # The termination criterion is based on approach to steady # state; max[xt(t)-xt(t-0.01)] in the condenser, vessels and # reboiler. # # Two report forms: Multi_vessel and Summary. # #--------------------------------------------------------------- # # Dummy variable XT in most models. Reason: Can not use derivative # variable (xt) in input/output streams (use xo instead). # # Composition changes as separate variables in condenser, # vessels and reboiler. Reason: Can not use arrays in connections. # #--------------------------------------------------------------- # # Author: Bernd Wittgens, based on E. Sorensen # Date: 10.10.95 # **** OPTIONS ROUTINES DAE EXECUTION PRINTLEVEL = 2 # level of output during solution TARGET = terminal # device to which output is directed REL_TOL = 1E-8 # relative tolerence ABS_TOL = 1E-8 # absolute tolerence EVENT_TOL = 1E-8 # event tolerance INTERVALS = 100 # number of time steps for dynamic solution TIME_STEP = 0.1 # length of time step for storing data DEBUG = OFF # switch for additional information **** DECLARE TYPE FLOWRATE = 10.0 : 0 : 50 Unit = "kmol/hr" MOLE_FRACTION = 0.5 : 0 : 1 Unit = "-------" MOLAR_HOLDUP = 3.0 : 0 : 25 Unit = "kmol" REFLUX_RATIO = 1 : 0 :1.0E10 Unit = "-------" EQ_CONST = 1 : 0.01 : 100 Unit = "-------" NOTYPE = 1 : -100 : 250 Unit = "-------" TEMPERATURE = 90 : 50 : 130 UNIT = "deg. C " STREAM MAINSTREAM SET NC = 4 TYPE FLOWRATE, MOLE_FRACTION(NC) **** MODEL CONDENSER # Condenser model # SET NC TYPE LO,VI,L_CNTR AS FLOWRATE XO,YI,XD,XT AS ARRAY(NC) OF MOLE_FRACTION HT,HC AS MOLAR_HOLDUP R AS REFLUX_RATIO T AS TEMPERATURE TB AS ARRAY(NC) OF TEMPERATURE SS_XT_1,SS_XT_2 AS NOTYPE SS_XT_3,SS_XT_4 AS NOTYPE MINUS AS NOTYPE STREAM INPUT 1 VI,YI OUTPUT 1 LO,XO CONNECTION 1 L_CNTR # From controller # CONNECTION 2 SS_XT_1 # Approach to steady_state # CONNECTION 3 SS_XT_2 # Approach to steady_state # CONNECTION 4 SS_XT_3 # Approach to steady_state # CONNECTION 5 SS_XT_4 # Approach to steady_state # CONNECTION 6 T EQUATION # Material balance # $HT = VI - LO ; HC * $XT + XT * $HT = VI * YI - LO * XD ; HT = HC ; XT = XO = XD ; # Reflux ratio # R * VI = LO ; # Controller # LO = L_CNTR ; # Temperature # T = Tb(1)*xt(1)+Tb(2)*xt(2)+Tb(3)*xt(3)+Tb(4)*xt(4); # Steady state measure = xt(t)-xt(t-minus) # SS_XT_1 = XT(1) - (DELAY XT(1) BY MINUS) ; SS_XT_2 = XT(2) - (DELAY XT(2) BY MINUS) ; SS_XT_3 = XT(3) - (DELAY XT(3) BY MINUS) ; SS_XT_4 = XT(4) - (DELAY XT(4) BY MINUS) ; **** MODEL PI_CONTROLLER # Proportional controller SET CLIP = 1 TYPE MEASURE, SET_POINT AS NOTYPE BIAS,GAIN, reset AS NOTYPE ERROR, I_error, eps AS NOTYPE CALC_VALUE,CONT AS NOTYPE CONTROL_ACTION AS NOTYPE MAX,MIN AS NOTYPE CNTR_FLAG,SET_FLOW AS NOTYPE STREAM CONNECTION 1 MEASURE CONNECTION 2 CONTROL_ACTION EQUATION ERROR = SET_POINT - MEASURE ; $I_error = eps ; CALC_VALUE = BIAS + GAIN * (error + I_error/reset) ; # Clip if required # IF CLIP = 1 THEN IF CALC_VALUE > MAX THEN CONT = MAX ELSE IF CALC_VALUE < MIN THEN CONT = MIN ELSE CONT = CALC_VALUE ENDIF ENDIF ELSE CONT = CALC_VALUE ENDIF ; IF CNTR_FLAG = 1 THEN CONTROL_ACTION = CONT ELSE CONTROL_ACTION = SET_FLOW ENDIF ; # antiwindup IF < OR max> > then eps = 0.0 else eps = error endif; **** MODEL P_CONTROLLER # Proportional controller SET CLIP = 1 TYPE MEASURE, SET_POINT AS NOTYPE BIAS,GAIN,ERROR AS NOTYPE CALC_VALUE,CONT AS NOTYPE CONTROL_ACTION AS NOTYPE MAX,MIN AS NOTYPE CNTR_FLAG,SET_FLOW AS NOTYPE STREAM CONNECTION 1 MEASURE CONNECTION 2 CONTROL_ACTION EQUATION ERROR = SET_POINT - MEASURE ; CALC_VALUE = BIAS + GAIN * ERROR ; # Clip if required # IF CLIP = 1 THEN IF CALC_VALUE > MAX THEN CONT = MAX ELSE IF CALC_VALUE < MIN THEN CONT = MIN ELSE CONT = CALC_VALUE ENDIF ENDIF ELSE CONT = CALC_VALUE ENDIF ; IF CNTR_FLAG = 1 THEN CONTROL_ACTION = CONT ELSE CONTROL_ACTION = SET_FLOW ENDIF ; **** MODEL REBOILER # Reboiler model # SET NC TYPE LI,VO AS FLOWRATE XI,YO,XN,XT AS ARRAY(NC) OF MOLE_FRACTION HT,HN AS MOLAR_HOLDUP K AS ARRAY(NC) OF EQ_CONST SS_XT_1,SS_XT_2 AS NOTYPE SS_XT_3,SS_XT_4 AS NOTYPE MINUS AS NOTYPE T AS TEMPERATURE TB AS ARRAY(NC) OF TEMPERATURE STREAM INPUT 1 LI,XI OUTPUT 1 VO,YO CONNECTION 1 SS_XT_1 # Approach to steady_state # CONNECTION 2 SS_XT_2 # Approach to steady_state # CONNECTION 3 SS_XT_3 # Approach to steady_state # CONNECTION 4 SS_XT_4 # Approach to steady_state # CONNECTION 5 T EQUATION # Material balance # $HT = LI - VO ; HT * $XT + XT * $HT = LI * XI - VO * YO ; HT = HN ; XT = XN ; # Phase equilibrium # YO(2:NC) * XN(1) = K(2:NC)/K(1) * XN(2:NC) * YO(1) ; SIGMA(YO) = 1.0 ; # Temperature # T = Tb(1)*xt(1)+Tb(2)*xt(2)+Tb(3)*xt(3)+Tb(4)*xt(4); # Steady state measure = xt(t)-xt(t-minus) # SS_XT_1 = XT(1) - (DELAY XT(1) BY MINUS) ; SS_XT_2 = XT(2) - (DELAY XT(2) BY MINUS) ; SS_XT_3 = XT(3) - (DELAY XT(3) BY MINUS) ; SS_XT_4 = XT(4) - (DELAY XT(4) BY MINUS) ; **** MODEL STEADY_STATE # Returns maximum change in composition over time interval # SET NNC=16 TYPE COND_SS_XT_1,COND_SS_XT_2 AS NOTYPE COND_SS_XT_3,COND_SS_XT_4 AS NOTYPE V_A_SS_XT_1,V_A_SS_XT_2 AS NOTYPE V_A_SS_XT_3,V_A_SS_XT_4 AS NOTYPE V_B_SS_XT_1,V_B_SS_XT_2 AS NOTYPE V_B_SS_XT_3,V_B_SS_XT_4 AS NOTYPE REB_SS_XT_1,REB_SS_XT_2 AS NOTYPE REB_SS_XT_3,REB_SS_XT_4 AS NOTYPE SS AS ARRAY(NNC) OF NOTYPE MAX_SS AS NOTYPE STREAM CONNECTION 1 COND_SS_XT_1 # From condenser # CONNECTION 2 COND_SS_XT_2 CONNECTION 3 COND_SS_XT_3 CONNECTION 4 COND_SS_XT_4 CONNECTION 5 V_A_SS_XT_1 # From vessel_A # CONNECTION 6 V_A_SS_XT_2 CONNECTION 7 V_A_SS_XT_3 CONNECTION 8 V_A_SS_XT_4 CONNECTION 9 V_B_SS_XT_1 # From vessel_B # CONNECTION 10 V_B_SS_XT_2 CONNECTION 11 V_B_SS_XT_3 CONNECTION 12 V_B_SS_XT_4 CONNECTION 13 REB_SS_XT_1 # From reboiler # CONNECTION 14 REB_SS_XT_2 CONNECTION 15 REB_SS_XT_3 CONNECTION 16 REB_SS_XT_4 EQUATION # All composition changes in an array # SS(1) = COND_SS_XT_1 ; SS(2) = COND_SS_XT_2 ; SS(3) = COND_SS_XT_3 ; SS(4) = COND_SS_XT_4 ; SS(5) = V_A_SS_XT_1 ; SS(6) = V_A_SS_XT_2 ; SS(7) = V_A_SS_XT_3 ; SS(8) = V_A_SS_XT_4 ; SS(9) = V_B_SS_XT_1 ; SS(10) = V_B_SS_XT_2 ; SS(11) = V_B_SS_XT_3 ; SS(12) = V_B_SS_XT_4 ; SS(13) = REB_SS_XT_1 ; SS(14) = REB_SS_XT_2 ; SS(15) = REB_SS_XT_1 ; SS(16) = REB_SS_XT_2 ; # Largest steady state deviation # MAX_SS = SMAX(SS) ; **** MODEL TRAY # Column tray model # SET NC TYPE LO_INIT,LI,VO,VI,LO AS FLOWRATE XI,XO,YO,YI,XT AS ARRAY(NC) OF MOLE_FRACTION X1,X2,X3,X4 AS MOLE_FRACTION HI_INIT,HI,HT AS MOLAR_HOLDUP K AS ARRAY(NC) OF EQ_CONST TAU AS NOTYPE T AS TEMPERATURE TB AS ARRAY(NC) OF TEMPERATURE STREAM INPUT 1 LI,XI INPUT 2 VI,YI OUTPUT 1 LO,XO OUTPUT 2 VO,YO CONNECTION 1 X1 # Composition of component 1 # CONNECTION 2 X2 # Composition of component 2 # CONNECTION 3 X3 # Composition of component 3 # CONNECTION 4 X4 # Composition of component 4 # CONNECTION 5 T EQUATION # Material balance # $HT = LI + VI - LO - VO ; HT * $XT + XT * $HT = LI * XI + VI * YI - LO * XO - VO * YO ; HT = HI ; XT = XO ; # Constant molar flows # VI = VO ; # Phase equilibrium # YO(2:NC) * XO(1) = K(2:NC)/K(1) * XO(2:NC) * YO(1) ; SIGMA(YO) = 1.0 ; # Temperature # T = Tb(1)*xt(1)+Tb(2)*xt(2)+Tb(3)*xt(3)+Tb(4)*xt(4); # Tray hydraulics # (LO - LO_INIT) * TAU = HI - HI_INIT ; TAU = 2/3 * HI/LO ; # Measurements used by controllers # X1 = XO(1) ; X2 = XO(2) ; X3 = XO(3) ; X4 = XO(4) ; **** MODEL VESSEL # Intermediate storage vessel model # SET NC TYPE LI,LO,L_CNTR AS FLOWRATE XI,XO,XT AS ARRAY(NC) OF MOLE_FRACTION HT,HI AS MOLAR_HOLDUP SS_XT_1,SS_XT_2 AS NOTYPE SS_XT_3,SS_XT_4 AS NOTYPE MINUS AS NOTYPE T AS TEMPERATURE TB AS ARRAY(NC) OF TEMPERATURE STREAM INPUT 1 LI,XI OUTPUT 1 LO,XO CONNECTION 1 L_CNTR # From controller # CONNECTION 2 SS_XT_1 # Approach to steady_state # CONNECTION 3 SS_XT_2 # Approach to steady_state # CONNECTION 4 SS_XT_3 # Approach to steady_state # CONNECTION 5 SS_XT_4 # Approach to steady_state # CONNECTION 6 T EQUATION # Material balance # $HT = LI - LO ; HT * $XT + XT * $HT = LI * XI - LO * XO ; HT = HI ; XT = XO ; # Controller # LO = L_CNTR ; # Temperature # T = Tb(1)*xt(1)+Tb(2)*xt(2)+Tb(3)*xt(3)+Tb(4)*xt(4); # Steady state measure = xt(t)-xt(t-minus) # SS_XT_1 = XT(1) - (DELAY XT(1) BY MINUS) ; SS_XT_2 = XT(2) - (DELAY XT(2) BY MINUS) ; SS_XT_3 = XT(3) - (DELAY XT(3) BY MINUS) ; SS_XT_4 = XT(4) - (DELAY XT(4) BY MINUS) ; **** FLOWSHEET # Liquid flows (top and down).. # reflux to column section A STREAM L1_FEED OUTPUT 1 OF cond IS INPUT 1 OF TRAY_A1 STREAM L2_FEED OUTPUT 1 OF TRAY_A1 IS INPUT 1 OF TRAY_A2 STREAM L3_FEED OUTPUT 1 OF TRAY_A2 IS INPUT 1 OF TRAY_A3 STREAM L4_FEED OUTPUT 1 OF TRAY_A3 IS INPUT 1 OF TRAY_A4 STREAM L5_FEED OUTPUT 1 OF TRAY_A4 IS INPUT 1 OF TRAY_A5 STREAM L6_FEED OUTPUT 1 OF TRAY_A5 IS INPUT 1 OF TRAY_A6 STREAM L7_FEED OUTPUT 1 OF TRAY_A6 IS INPUT 1 OF TRAY_A7 STREAM L8_FEED OUTPUT 1 OF TRAY_A7 IS INPUT 1 OF TRAY_A8 STREAM L9_FEED OUTPUT 1 OF TRAY_A8 IS INPUT 1 OF TRAY_A9 STREAM L10_FEED OUTPUT 1 OF TRAY_A9 IS INPUT 1 OF TRAY_A10 STREAM L11_FEED OUTPUT 1 OF TRAY_A10 IS INPUT 1 OF TRAY_A11 STREAM L12_FEED OUTPUT 1 OF TRAY_A11 IS INPUT 1 OF VESSEL_A STREAM L13_FEED OUTPUT 1 OF VESSEL_A IS INPUT 1 OF TRAY_B1 STREAM L14_FEED OUTPUT 1 OF TRAY_B1 IS INPUT 1 OF TRAY_B2 STREAM L15_FEED OUTPUT 1 OF TRAY_B2 IS INPUT 1 OF TRAY_B3 STREAM L16_FEED OUTPUT 1 OF TRAY_B3 IS INPUT 1 OF TRAY_B4 STREAM L17_FEED OUTPUT 1 OF TRAY_B4 IS INPUT 1 OF TRAY_B5 STREAM L18_FEED OUTPUT 1 OF TRAY_B5 IS INPUT 1 OF TRAY_B6 STREAM L19_FEED OUTPUT 1 OF TRAY_B6 IS INPUT 1 OF TRAY_B7 STREAM L20_FEED OUTPUT 1 OF TRAY_B7 IS INPUT 1 OF TRAY_B8 STREAM L21_FEED OUTPUT 1 OF TRAY_B8 IS INPUT 1 OF TRAY_B9 STREAM L22_FEED OUTPUT 1 OF TRAY_B9 IS INPUT 1 OF TRAY_B10 STREAM L23_FEED OUTPUT 1 OF TRAY_B10 IS INPUT 1 OF TRAY_B11 STREAM L24_FEED OUTPUT 1 OF TRAY_B11 IS INPUT 1 OF VESSEL_B STREAM L25_FEED OUTPUT 1 OF VESSEL_B IS INPUT 1 OF TRAY_C1 STREAM L26_FEED OUTPUT 1 OF TRAY_C1 IS INPUT 1 OF TRAY_C2 STREAM L27_FEED OUTPUT 1 OF TRAY_C2 IS INPUT 1 OF TRAY_C3 STREAM L28_FEED OUTPUT 1 OF TRAY_C3 IS INPUT 1 OF TRAY_C4 STREAM L29_FEED OUTPUT 1 OF TRAY_C4 IS INPUT 1 OF TRAY_C5 STREAM L30_FEED OUTPUT 1 OF TRAY_C5 IS INPUT 1 OF TRAY_C6 STREAM L31_FEED OUTPUT 1 OF TRAY_C6 IS INPUT 1 OF TRAY_C7 STREAM L32_FEED OUTPUT 1 OF TRAY_C7 IS INPUT 1 OF TRAY_C8 STREAM L33_FEED OUTPUT 1 OF TRAY_C8 IS INPUT 1 OF TRAY_C9 STREAM L34_FEED OUTPUT 1 OF TRAY_C9 IS INPUT 1 OF TRAY_C10 STREAM L35_FEED OUTPUT 1 OF TRAY_C10 IS INPUT 1 OF TRAY_C11 STREAM L36_FEED OUTPUT 1 OF TRAY_C11 IS INPUT 1 OF REB # Vapour flows (bottom and up).. STREAM V1_FEED OUTPUT 1 OF REB IS INPUT 2 OF TRAY_C11 STREAM V2_FEED OUTPUT 2 OF TRAY_C11 IS INPUT 2 OF TRAY_C10 STREAM V3_FEED OUTPUT 2 OF TRAY_C10 IS INPUT 2 OF TRAY_C9 STREAM V4_FEED OUTPUT 2 OF TRAY_C9 IS INPUT 2 OF TRAY_C8 STREAM V5_FEED OUTPUT 2 OF TRAY_C8 IS INPUT 2 OF TRAY_C7 STREAM V6_FEED OUTPUT 2 OF TRAY_C7 IS INPUT 2 OF TRAY_C6 STREAM V7_FEED OUTPUT 2 OF TRAY_C6 IS INPUT 2 OF TRAY_C5 STREAM V8_FEED OUTPUT 2 OF TRAY_C5 IS INPUT 2 OF TRAY_C4 STREAM V9_FEED OUTPUT 2 OF TRAY_C4 IS INPUT 2 OF TRAY_C3 STREAM V10_FEED OUTPUT 2 OF TRAY_C3 IS INPUT 2 OF TRAY_C2 STREAM V11_FEED OUTPUT 2 OF TRAY_C2 IS INPUT 2 OF TRAY_C1 STREAM V12_FEED OUTPUT 2 OF TRAY_C1 IS INPUT 2 OF TRAY_B11 STREAM V13_FEED OUTPUT 2 OF TRAY_B11 IS INPUT 2 OF TRAY_B10 STREAM V14_FEED OUTPUT 2 OF TRAY_B10 IS INPUT 2 OF TRAY_B9 STREAM V15_FEED OUTPUT 2 OF TRAY_B9 IS INPUT 2 OF TRAY_B8 STREAM V16_FEED OUTPUT 2 OF TRAY_B8 IS INPUT 2 OF TRAY_B7 STREAM V17_FEED OUTPUT 2 OF TRAY_B7 IS INPUT 2 OF TRAY_B6 STREAM V18_FEED OUTPUT 2 OF TRAY_B6 IS INPUT 2 OF TRAY_B5 STREAM V19_FEED OUTPUT 2 OF TRAY_B5 IS INPUT 2 OF TRAY_B4 STREAM V20_FEED OUTPUT 2 OF TRAY_B4 IS INPUT 2 OF TRAY_B3 STREAM V21_FEED OUTPUT 2 OF TRAY_B3 IS INPUT 2 OF TRAY_B2 STREAM V22_FEED OUTPUT 2 OF TRAY_B2 IS INPUT 2 OF TRAY_B1 STREAM V23_FEED OUTPUT 2 OF TRAY_B1 IS INPUT 2 OF TRAY_A11 STREAM V24_FEED OUTPUT 2 OF TRAY_A11 IS INPUT 2 OF TRAY_A10 STREAM V25_FEED OUTPUT 2 OF TRAY_A10 IS INPUT 2 OF TRAY_A9 STREAM V26_FEED OUTPUT 2 OF TRAY_A9 IS INPUT 2 OF TRAY_A8 STREAM V27_FEED OUTPUT 2 OF TRAY_A8 IS INPUT 2 OF TRAY_A7 STREAM V28_FEED OUTPUT 2 OF TRAY_A7 IS INPUT 2 OF TRAY_A6 STREAM V29_FEED OUTPUT 2 OF TRAY_A6 IS INPUT 2 OF TRAY_A5 STREAM V30_FEED OUTPUT 2 OF TRAY_A5 IS INPUT 2 OF TRAY_A4 STREAM V31_FEED OUTPUT 2 OF TRAY_A4 IS INPUT 2 OF TRAY_A3 STREAM V32_FEED OUTPUT 2 OF TRAY_A3 IS INPUT 2 OF TRAY_A2 STREAM V33_FEED OUTPUT 2 OF TRAY_A2 IS INPUT 2 OF TRAY_A1 STREAM V34_FEED OUTPUT 2 OF TRAY_A1 IS INPUT 1 OF COND # Controlling composition 1 in Condenser.. CONNECTION 1 OF CNTR_1 IS CONNECTION 5 OF TRAY_A6 CONNECTION 2 OF CNTR_1 IS CONNECTION 1 OF COND # Controlling composition 2 in Vessel A.. CONNECTION 1 OF CNTR_2 IS CONNECTION 5 OF TRAY_B6 CONNECTION 2 OF CNTR_2 IS CONNECTION 1 OF VESSEL_A # Controlling composition 3 in Vessel B.. CONNECTION 1 OF CNTR_3 IS CONNECTION 5 OF TRAY_C6 CONNECTION 2 OF CNTR_3 IS CONNECTION 1 OF VESSEL_B # Connections for composition change measure # CONNECTION 1 OF ST_STATE IS CONNECTION 2 OF COND CONNECTION 2 OF ST_STATE IS CONNECTION 3 OF COND CONNECTION 3 OF ST_STATE IS CONNECTION 4 OF COND CONNECTION 4 OF ST_STATE IS CONNECTION 5 OF COND CONNECTION 5 OF ST_STATE IS CONNECTION 2 OF VESSEL_A CONNECTION 6 OF ST_STATE IS CONNECTION 3 OF VESSEL_A CONNECTION 7 OF ST_STATE IS CONNECTION 4 OF VESSEL_A CONNECTION 8 OF ST_STATE IS CONNECTION 5 OF VESSEL_A CONNECTION 9 OF ST_STATE IS CONNECTION 2 OF VESSEL_B CONNECTION 10 OF ST_STATE IS CONNECTION 3 OF VESSEL_B CONNECTION 11 OF ST_STATE IS CONNECTION 4 OF VESSEL_B CONNECTION 12 OF ST_STATE IS CONNECTION 5 OF VESSEL_B CONNECTION 13 OF ST_STATE IS CONNECTION 1 OF REB CONNECTION 14 OF ST_STATE IS CONNECTION 2 OF REB CONNECTION 15 OF ST_STATE IS CONNECTION 3 OF REB CONNECTION 16 OF ST_STATE IS CONNECTION 4 OF REB **** UNIT CNTR_1 IS A P_CONTROLLER **** UNIT CNTR_2 IS A P_CONTROLLER **** UNIT CNTR_3 IS A P_CONTROLLER **** UNIT COND IS A CONDENSER **** UNIT REB IS A REBOILER **** UNIT ST_STATE IS A STEADY_STATE **** UNIT TRAY_A1 IS A TRAY **** UNIT TRAY_A10 IS A TRAY **** UNIT TRAY_A11 IS A TRAY **** UNIT TRAY_A2 IS A TRAY **** UNIT TRAY_A3 IS A TRAY **** UNIT TRAY_A4 IS A TRAY **** UNIT TRAY_A5 IS A TRAY **** UNIT TRAY_A6 IS A TRAY **** UNIT TRAY_A7 IS A TRAY **** UNIT TRAY_A8 IS A TRAY **** UNIT TRAY_A9 IS A TRAY **** UNIT TRAY_B1 IS A TRAY **** UNIT TRAY_B10 IS A TRAY **** UNIT TRAY_B11 IS A TRAY **** UNIT TRAY_B2 IS A TRAY **** UNIT TRAY_B3 IS A TRAY **** UNIT TRAY_B4 IS A TRAY **** UNIT TRAY_B5 IS A TRAY **** UNIT TRAY_B6 IS A TRAY **** UNIT TRAY_B7 IS A TRAY **** UNIT TRAY_B8 IS A TRAY **** UNIT TRAY_B9 IS A TRAY **** UNIT TRAY_C1 IS A TRAY **** UNIT TRAY_C10 IS A TRAY **** UNIT TRAY_C11 IS A TRAY **** UNIT TRAY_C2 IS A TRAY **** UNIT TRAY_C3 IS A TRAY **** UNIT TRAY_C4 IS A TRAY **** UNIT TRAY_C5 IS A TRAY **** UNIT TRAY_C6 IS A TRAY **** UNIT TRAY_C7 IS A TRAY **** UNIT TRAY_C8 IS A TRAY **** UNIT TRAY_C9 IS A TRAY **** UNIT VESSEL_A IS A VESSEL **** UNIT VESSEL_B IS A VESSEL **** OPERATION SET WITHIN COND MINUS=0.1 , TB=<64.7,78.3,97.2,117.7> WITHIN CNTR_1 SET_POINT=71.5, BIAS=10.0, GAIN=-.25, MIN=0.0, MAX=20.0, CNTR_FLAG=1, SET_FLOW=10.0 # CNTR_FLAG = 1 for automatic WITHIN TRAY_A1 #K=<10.2,4.5,2.3,1.0> LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_A2 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_A3 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_A4 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_A5 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_A6 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_A7 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_A8 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_A9 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_A10 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_A11 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN VESSEL_A MINUS=0.1 TB =<64.7,78.3,97.2,117.7> WITHIN CNTR_2 SET_POINT=87.75, BIAS=10.0, GAIN=-.25, MIN=0.0, MAX=20.0, CNTR_FLAG=1, SET_FLOW=10.0 WITHIN TRAY_B1 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_B2 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_B3 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_B4 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_B5 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_B6 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_B7 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_B8 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_B9 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_B10 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_B11 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN VESSEL_B MINUS=0.1 , TB=<64.7,78.3,97.2,117.7> WITHIN CNTR_3 SET_POINT=107.2, BIAS=10.0, GAIN=-.25, MIN=0.0, MAX=20.0, CNTR_FLAG=1, SET_FLOW=10.0 WITHIN TRAY_C1 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_C2 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_C3 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_C4 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_C5 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_C6 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_C7 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_C8 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_C9 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_C10 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN TRAY_C11 LO_INIT=10.0, HI_INIT=0.01, K=<10.2,4.5,2.3,1.0> TB=<64.7,78.3,97.2,117.7> WITHIN REB K=<10.2,4.5,2.3,1.0>, MINUS=0.1, VO=10.0 TB=<64.7,78.3,97.2,117.7> # base case XT=<0.25,0.25,0.25,0.25>, # disturbance XT=<0.30,0.10,0.40,0.20>, INITIAL WITHIN COND XT=<0.30,0.10,0.40,0.20>, HT=2.5 WITHIN TRAY_A1 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_A2 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_A3 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_A4 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_A5 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_A6 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_A7 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_A8 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_A9 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_A10 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_A11 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN VESSEL_A XT=<0.30,0.10,0.40,0.20>, HT=2.5 WITHIN TRAY_B1 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_B2 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_B3 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_B4 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_B5 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_B6 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_B7 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_B8 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_B9 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_B10 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_B11 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN VESSEL_B XT=<0.30,0.10,0.40,0.20>, HT=2.5 WITHIN TRAY_C1 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_C2 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_C3 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_C4 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_C5 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_C6 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_C7 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_C8 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_C9 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_C10 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN TRAY_C11 XT=<0.30,0.10,0.40,0.20>, HT=1.0E-2 WITHIN REB XT=<0.30,0.10,0.40,0.20>, HT = 2.5 #HT =10.0-33*1.0E-2 - 3*2.5 # account for tray holdup when # start from empty column **** CONDITIONS IF ST_STATE.MAX_SS < 1.0E-6 Then Stop 1000 ST_STATE.MAX_SS IF COND.xt(1)>=0.98 and vessel_a.xt(2)>=0.945 and vessel_b.xt(3)>=0.95 and reb.xt(4)>= 0.98 then stop 2000 Code 1000 FORMAT (1H,'Steady state reached! Maximum deviation=',G14.5) 2000 FORMAT (1H,'prod. requirements achieved') $Endcode # has to be in the first column!! **** REPORT COMPOSITION Fields LOWLIMIT = 1.0e-6 ZERO = 1.0e-8 Decimals = 3 &1 = T; &2 = cond.xt(1); &3 = cond.xt(2); &4 = cond.xt(3); &5 = cond.xt(4); &6 = cond.T; &7 = tray_a1.xt(1); &8 = tray_a1.xt(2); &9 = tray_a1.xt(3); &10 = tray_a1.xt(4); &11 = tray_a1.T; &12 = tray_a2.xt(1); &13 = tray_a2.xt(2); &14 = tray_a2.xt(3); &15 = tray_a2.xt(4); &16 = tray_a2.T; &17 = tray_a3.xt(1); &18 = tray_a3.xt(2); &19 = tray_a3.xt(3); &20 = tray_a3.xt(4); &21 = tray_a3.T; &22 = tray_a4.xt(1); &23 = tray_a4.xt(2); &24 = tray_a4.xt(3); &25 = tray_a4.xt(4); &26 = tray_a4.T; &27= tray_a5.xt(1); &28 = tray_a5.xt(2); &29 = tray_a5.xt(3); &30 = tray_a5.xt(4); &31= tray_a5.T; &32 = tray_a6.xt(1); &33 = tray_a6.xt(2); &34 = tray_a6.xt(3); &35 = tray_a6.xt(4); &36 = tray_a6.T; &37 = tray_a7.xt(1); &38 = tray_a7.xt(2); &39 = tray_a7.xt(3); &40 = tray_a7.xt(4); &41 = tray_a7.T; &42 = tray_a8.xt(1); &43 = tray_a8.xt(2); &44 = tray_a8.xt(3); &45 = tray_a8.xt(4); &46 = tray_a8.T; &47 = tray_a9.xt(1); &48 = tray_a9.xt(2); &49 = tray_a9.xt(3); &50 = tray_a9.xt(4); &51 = tray_a9.T; &52 = tray_a10.xt(1); &53 = tray_a10.xt(2); &54= tray_a10.xt(3); &55 = tray_a10.xt(4); &56 = tray_a10.T; &57 = tray_a11.xt(1); &58 = tray_a11.xt(2); &59 = tray_a11.xt(3); &60 = tray_a11.xt(4); &61 = tray_a11.T; &62 = vessel_A.xt(1); &63 = vessel_A.xt(2); &64 =vessel_A.xt(3); &65 =vessel_A.xt(4); &66 =vessel_A.T; &67 = tray_b1.xt(1); &68 = tray_b1.xt(2); &69 = tray_b1.xt(3); &70 = tray_b1.xt(4); &71 = tray_b1.T; &72 = tray_b2.xt(1); &73 = tray_b2.xt(2); &74 = tray_b2.xt(3); &75 = tray_b2.xt(4); &76 = tray_b2.T; &77 = tray_b3.xt(1); &78 = tray_b3.xt(2); &79 = tray_b3.xt(3); &80 = tray_b3.xt(4); &81 = tray_b3.T; &82 = tray_b4.xt(1); &83 = tray_b4.xt(2); &84 = tray_b4.xt(3); &85= tray_b4.xt(4); &86 = tray_b4.T; &87 = tray_b5.xt(1); &88 = tray_b5.xt(2); &89= tray_b5.xt(3); &90= tray_b5.xt(4); &91 = tray_b5.T; &92 = tray_b6.xt(1); &93 = tray_b6.xt(2); &94 = tray_b6.xt(3); &95 = tray_b6.xt(4); &96 = tray_b6.T; &97 = tray_b7.xt(1); &98 = tray_b7.xt(2); &99 = tray_b7.xt(3); &100= tray_b7.xt(4); &101= tray_b7.T; &102= tray_b8.xt(1); &103= tray_b8.xt(2); &104= tray_b8.xt(3); &105= tray_b8.xt(4); &106= tray_b8.T; &107= tray_b9.xt(1); &108= tray_b9.xt(2); &109= tray_b9.xt(3); &110= tray_b9.xt(4); &111= tray_b9.T; &112= tray_b10.xt(1); &113= tray_b10.xt(2); &114= tray_b10.xt(3); &115= tray_b10.xt(4); &116= tray_b10.T; &117=tray_b11.xt(1); &118= tray_b11.xt(2); &119= tray_b11.xt(3); &120= tray_b11.xt(4); &121= tray_b11.T; &122= vessel_b.xt(1); &123= vessel_b.xt(2); &124 =vessel_b.xt(3); &125=vessel_b.xt(4); &126=vessel_b.T; &127= tray_c1.xt(1); &128= tray_c1.xt(2); &129 = tray_c1.xt(3); &130= tray_c1.xt(4); &131= tray_c1.T; &132= tray_c2.xt(1); &133= tray_c2.xt(2); &134= tray_c2.xt(3); &135= tray_c2.xt(4); &136= tray_c2.T; &137= tray_c3.xt(1); &138= tray_c3.xt(2); &139= tray_c3.xt(3); &140= tray_c3.xt(4); &141= tray_c3.T; &142= tray_c4.xt(1); &143= tray_c4.xt(2); &144= tray_c4.xt(3); &145= tray_c4.xt(4); &146= tray_c4.T; &147= tray_c5.xt(1); &148= tray_c5.xt(2); &149= tray_c5.xt(3); &150= tray_c5.xt(4); &151= tray_c5.T; &152= tray_c6.xt(1); &153= tray_c6.xt(2); &154= tray_c6.xt(3); &155= tray_c6.xt(4); &156= tray_c6.T; &157= tray_c7.xt(1); &158= tray_c7.xt(2); &159= tray_c7.xt(3); &160= tray_c7.xt(4); &161= tray_c7.T; &162= tray_c8.xt(1); &163= tray_c8.xt(2); &164= tray_c8.xt(3); &165= tray_c8.xt(4); &166= tray_c8.T; &167= tray_c9.xt(1); &168= tray_c9.xt(2); &169= tray_c9.xt(3); &170= tray_c9.xt(4); &171= tray_c9.T; &172= tray_c10.xt(1); &173= tray_c10.xt(2); &174= tray_c10.xt(3); &175= tray_c10.xt(4); &176= tray_c10.T; &177= tray_c11.xt(1); &178= tray_c11.xt(2); &179= tray_c11.xt(3); &180= tray_c11.xt(4); &181= tray_c11.T; &182= reb.xt(1); &183= reb.xt(2); &184= reb.xt(3); &185= reb.xt(4); &186= reb.T display time = %%%%% hr MEOH EtOH PrOH BuOH Temperature Condenser %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A1 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A2 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A3 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A4 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A5 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A6 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A7 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A8 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A9 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A10 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray A11 %%%%% %%%%% %%%%% %%%%% %%%%%%%% Vessel A %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B1 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B2 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B3 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B4 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B5 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B6 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B7 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B8 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B9 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B10 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray B11 %%%%% %%%%% %%%%% %%%%% %%%%%%%% Vessel B %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C1 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C2 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C3 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C4 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C5 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C6 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C7 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C8 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C9 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C10 %%%%% %%%%% %%%%% %%%%% %%%%%%%% tray C11 %%%%% %%%%% %%%%% %%%%% %%%%%%%% Reboiler %%%%% %%%%% %%%%% %%%%% %%%%%%%% **** REPORT MULTI_VESSEL FIELDS LOWLIMIT = 1.0E-6 ZERO = 1.0E-8 DECIMALS = 1 &6 = CNTR_1.SET_POINT ; &7 = CNTR_1.MEASURE ; &8 = CNTR_1.GAIN ; &13 = CNTR_2.SET_POINT ; &14 = CNTR_2.MEASURE ; &15 = CNTR_2.GAIN ; &20 = CNTR_3.SET_POINT ; &21 = CNTR_3.MEASURE ; &22 = CNTR_3.GAIN ; DECIMALS = 2 &1 = T ; &2 = TRAY_A1.VO ; &5 = COND.LO ; &9 = TRAY_A11.LO ; &12 = VESSEL_A.LO ; &16 = TRAY_B11.LO ; &19 = VESSEL_B.LO ; &23 = TRAY_C11.LO ; &25 = REB.VO ; DECIMALS = 3 &3 = COND.HT ; &4 = COND.XT(1) ; &10 = VESSEL_A.HT ; &11 = VESSEL_A.XT(2) ; &17 = VESSEL_B.HT ; &18 = VESSEL_B.XT(3) ; &24 = REB.HT ; &26 = REB.XT(4) ; DECIMALS = 2 &27 = REB.K(1) ; &28 = REB.K(2) ; &29 = REB.K(3) ; &30 = REB.K(4) ; DISPLAY ******************************************************************** * MULTI VESSEL BATCH DISTILLATION TIME = %%%%%%%% hr * ******************************************************************** * * * FLOW = %%%%% KMOL/HR /----------------\ * * --------------| HT = %%%%% KMOL| CONDENSER * * /|\ | XT = %%%%% | * * | \----------------/ * * | | FLOW = %%%%% KMOL/HR * * ------------ \|/ * * | |---------------- * * | TRAYS_A | /|\ * * | | | | X_S = %%%%% * * | |-------| X_M = %%%%% * * ------------ KP = %%%% * * /|\ | * * | | FLOW = %%%%% KMOL/HR * * | \|/ * * /-----------------\ * * | HT = %%%%% KMOL | * * | XT = %%%%% | VESSEL_A * * \-----------------/ * * /|\ | FLOW = %%%%% KMOL/HR * * | |---------- * * | \|/ /|\ * * ------------ | | X_S = %%%%% * * | | | X_M = %%%%% * * | TRAYS_B |------- KP = %%%% * * | | * * | | * * ------------ * * /|\ | * * | | FLOW = %%%%% KMOL/HR * * | \|/ * * /-----------------\ * * | HT = %%%%% KMOL | * * | XT = %%%%% | VESSEL_B * * \-----------------/ * * /|\ | FLOW = %%%%% KMOL/HR * * | |---------- * * | \|/ /|\ * * ------------ | | X_S = %%%%% * * | | | X_M = %%%%% * * | TRAYS_C |------- KP = %%%% * * | | * * | | * * ------------ * * /|\ | * * | | FLOW = %%%%% KMOL/HR * * | \|/ * * /-----------------\ REBOILER * * | |_______\ * * | HT = %%%%% KMOL | / VAPOUR = %%%%% KMOL/HR * * | XT = %%%%% |/_______ * * | |\ * * \-----------------/ * * * * 4 COMPONENT MIXTURE - K = %%%%%, %%%%%, %%%%%, %%%%% * * * ******************************************************************** **** REPORT SUMMARY FIELDS LOWLIMIT = 1.0E-6 ZERO = 1.0E-8 DECIMALS = 2 &1 Left = T ; DECIMALS = 3 &2 Left = COND.HT ; &3 Left = VESSEL_A.HT ; &4 Left = VESSEL_B.HT ; &5 Left = REB.HT ; DECIMALS = 4 &6 Left = COND.XT(1) ; &7 Left = VESSEL_A.XT(1) ; &8 Left = VESSEL_B.XT(1) ; &9 Left = REB.XT(1) ; &10 Left = COND.XT(2) ; &11 Left = VESSEL_A.XT(2) ; &12 Left = VESSEL_B.XT(2) ; &13 Left = REB.XT(2) ; &14 Left = COND.XT(3) ; &15 Left = VESSEL_A.XT(3) ; &16 Left = VESSEL_B.XT(3) ; &17 Left = REB.XT(3) ; &18 Left = COND.XT(4) ; &19 Left = VESSEL_A.XT(4) ; &20 Left = VESSEL_B.XT(4) ; &21 Left = REB.XT(4) ; DISPLAY ******************************************************************** * SUMMARY MULTI VESSEL BATCH DISTILLATION TIME = %%%%%% hr * ******************************************************************** * * * CONDENSER: VESSEL_A: VESSEL_B: REBOILER: * * * * HT(KMOL) %%%%% %%%%% %%%%% %%%%% * * * * XT(1) %%%%%%%% %%%%%%%% %%%%%%%% %%%%%%%% * * XT(2) %%%%%%%% %%%%%%%% %%%%%%%% %%%%%%%% * * XT(3) %%%%%%%% %%%%%%%% %%%%%%%% %%%%%%%% * * XT(4) %%%%%%%% %%%%%%%% %%%%%%%% %%%%%%%% * * * ******************************************************************** ****