Changeset 521


Ignore:
Timestamp:
May 21, 2008, 8:20:47 PM (15 years ago)
Author:
Argimiro Resende Secchi
Message:

merging tray versions.

Location:
branches/rate
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/rate/eml/stage_separators/tray.mso

    r520 r521  
    119119== Initial ==
    120120* the plate temperature (OutletL.T)
    121 * the liquid height (Level) OR the liquid holdup (ML)
     121* the liquid height (Level) OR the liquid flow OutletL.F
    122122* (NoComps - 1) OutletL compositions
     123
     124== Options ==
     125You can choose the equation for the liquid outlet flow and the vapour
     126inlet flow calculation through the VapourFlowModel and LiquidFlowModel
     127switchers.
     128
     129== References ==
     130* ELGUE, S.; PRAT, L.; CABASSUD, M.; LANN, J. L.; CéZERAC, J. Dynamic models for start-up operations of batch distillation columns with experimental validation. Computers and Chemical Engineering, v. 28, p. 2735-2747, 2004.
     131* FEEHERY, W. F. Dynamic Optimization with Path Constraints. Tese (Doutorado) - Massachusetts Institute of Technology, June 1998.
     132* KLINGBERG, A. Modeling and Optimization of Batch Distillation. Dissertação (Mestrado) - Department of Automatic Control, Lund Institute of Technology, Lund, Sweden, fev. 2000.
     133* OLSEN, I.; ENDRESTOL, G. O.; SIRA, T. A rigorous and efficient distillation column model for engineering and training simulators. Computers and Chemical Engineering,v. 21, n. Suppl, p. S193-S198, 1997.
     134* REEPMEYER, F.; REPKE, J.-U.; WOZNY, G. Analysis of the start-up process for reactive distillation. Chemical Engineering Technology, v. 26, p. 81-86, 2003.
     135* ROFFEL, B.; BETLEM, B.; RUIJTER, J. de. First principles dynamic modeling and multivariable control of a cryogenic distillation column process. Computers and Chemical Engineering, v. 24, p. 111-123, 2000.
     136* WANG, L.; LI, P.; WOZNY, G.; WANG, S. A start-up model for simulation of batch distillation starting from a cold state. Computers and Chemical Engineering, v. 27, p.1485-1497, 2003.
    123137";     
    124138
     
    130144        beta as fraction (Brief="Aeration fraction");
    131145        alfa as fraction (Brief="Dry pressure drop coefficient");
     146        w as Real (Brief="Feehery's correlation coefficient", Unit='1/m^4', Default=1);
     147        btray as Real (Brief="Elgue's correlation coefficient", Unit='kg/m/mol^2', Default=1);
     148        fw as Real      (Brief = "Olsen's correlation coefficient", Default=1);
     149        Np as Real      (Brief = "Number of liquid passes in the tray", Default=1);
     150        Mw(NComp)       as molweight    (Brief = "Component Mol Weight");
    132151       
    133152        VapourFlow as Switcher(Valid = ["on", "off"], Default = "on");
    134153        LiquidFlow as Switcher(Valid = ["on", "off"], Default = "on");
     154        VapourFlowModel as Switcher(Valid = ["Reepmeyer", "Feehery_Fv", "Roffel_Fv", "Klingberg", "Wang_Fv", "Elgue"], Default = "Reepmeyer");
     155        LiquidFlowModel as Switcher(Valid = ["default", "Wang_Fl", "Olsen", "Feehery_Fl", "Roffel_Fl"], Default = "default");
     156
     157        SET
     158        Mw = PP.MolecularWeight();
    135159       
    136160        VARIABLES
     
    138162        rhoV as dens_mass;
    139163
     164        btemp as Real (Brief="Temporary variable of Roffel's liquid flow equation");
     165       
    140166        EQUATIONS
    141167        "Liquid Density"
     
    146172        switch LiquidFlow
    147173                case "on":
    148                 "Francis Equation"
    149 #               OutletL.F*vL = 1.84*'m^0.5/s'*lw*((Level-(beta*hw))/(beta))^1.5;
    150                 OutletL.F*vL = 1.84*'1/s'*lw*((Level-(beta*hw))/(beta))^2;
     174                        switch LiquidFlowModel
     175                                case "default":
     176                                "Francis Equation"
     177                                OutletL.F*vL = 1.84*'1/s'*lw*((Level-(beta*hw))/(beta))^2;
     178                       
     179                                case "Wang_Fl":
     180                                OutletL.F*vL = 1.84*'m^0.5/s'*lw*((Level-(beta*hw))/(beta))^1.5;
     181                       
     182                                case "Olsen":
     183                                OutletL.F / 'mol/s'= lw*Np*rhoL/sum(Mw*OutletV.z)/(0.665*fw)^1.5 * ((ML*sum(Mw*OutletL.z)/rhoL/Ap)-hw)^1.5 * 'm^0.5/mol';
     184                       
     185                                case "Feehery_Fl":
     186                                OutletL.F = lw*rhoL/sum(Mw*OutletL.z) * ((Level-hw)/750/'mm')^1.5 * 'm^2/s';
     187                       
     188                                case "Roffel_Fl":
     189                                OutletL.F = 2/3*sqrt(2*g)*rhoL/sum(Mw*OutletL.z)*lw*(2*btemp-1)*(ML*sum(Mw*OutletL.z)/(Ap*1.3)/rhoL/(2*btemp-1))^1.5;
     190                        end
    151191                when Level < (beta * hw) switchto "off";
    152192               
     
    156196                when Level > (beta * hw) + 1e-6*'m' switchto "on";
    157197        end
     198       
     199        btemp = 1 - 0.3593/'Pa^0.0888545'*(OutletV.F*sum(Mw*OutletV.z)/(Ap*1.3)/sqrt(rhoV))^0.177709; #/'(kg/m)^0.0888545/s^0.177709';
    158200
    159201        switch VapourFlow
    160202                case "on":
    161                 InletV.F*vV = sqrt((InletV.P - OutletV.P)/(rhoV*alfa))*Ah;
     203                        switch VapourFlowModel
     204                                case "Reepmeyer":
     205                                InletV.F*vV = sqrt((InletV.P - OutletV.P)/(rhoV*alfa))*Ah;
     206                       
     207                                case "Feehery_Fv":
     208                                InletV.F = rhoV/Ap/w/sum(Mw*OutletV.z) * sqrt(((InletV.P - OutletV.P)-(rhoV*g*ML*vL/Ap))/rhoV);
     209                       
     210                                case "Roffel_Fv":
     211                                InletV.F^1.08 * 0.0013 * 'kg/m/mol^1.08/s^0.92*1e5' = (InletV.P - OutletV.P)*1e5 - (beta*sum(M*Mw)/(Ap*1.3)*g*1e5) * (rhoV*Ah/sum(Mw*OutletV.z))^1.08 * 'm^1.08/mol^1.08';
     212                       
     213                                case "Klingberg":
     214                                InletV.F * vV = Ap * sqrt(((InletV.P - OutletV.P)-rhoL*g*Level)/rhoV);
     215                       
     216                                case "Wang_Fv":
     217                                InletV.F * vV = Ap * sqrt(((InletV.P - OutletV.P)-rhoL*g*Level)/rhoV*alfa);
     218                               
     219                                case "Elgue":
     220                                InletV.F  = sqrt((InletV.P - OutletV.P)/btray);
     221                        end
    162222                when InletV.F < 1e-6 * 'kmol/h' switchto "off";
    163223               
     
    330390        ATTRIBUTES
    331391        Pallete         = false;
    332         Icon            = "icon/Tray";
     392        Icon            = "icon/PackedStage";
    333393        Brief           = "Complete model of a packed column stage.";
    334394        Info            =
     
    471531        "Liquid holdup"
    472532        hl = (12*miL*a^2*uL/rhoL/g)^1/3;
    473        
    474        
    475533end
    476534
  • branches/rate/sample/stage_separators/sample_tray.mso

    r519 r521  
    7373        t1.hw = 0.125 * 'ft';
    7474        t1.Q = 0 * 'kW';
    75         t1.beta = 0.6;
     75        t1.beta = 1;
    7676        t1.alfa = 4;
    7777        t1.Ap = 3.94 * 'ft^2';
     78       
     79        t1.VapourFlowModel = "Feehery_Fv"; #"Roffel_Fv" "Klingberg" "Wang_Fv" "Elgue" or "Reepmeyer"-> default
     80        t1.w = 0.5 * '1/m^4';
     81
     82        t1.LiquidFlowModel = "Wang_Fl"; # "Feehery_Fl" "Roffel_Fl" "Olsen" or "default"
    7883       
    7984        INITIAL
Note: See TracChangeset for help on using the changeset viewer.