Changeset 505 for branches/rate


Ignore:
Timestamp:
Apr 18, 2008, 6:47:45 PM (14 years ago)
Author:
Gabriela Sporleder Straatmann
Message:

Adding non-equilibrium model for a tray.

File:
1 edited

Legend:

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

    r503 r505  
    471471        "Liquid holdup"
    472472        hl = (12*miL*a^2*uL/rhoL/g)^1/3;
     473       
     474       
    473475end
    474476
    475 Model trayRate
     477#*-------------------------------------
     478* Nonequilibrium Model
     479-------------------------------------*#
     480Model interface
     481       
    476482        ATTRIBUTES
    477483        Pallete         = false;
     
    479485        Brief           = "Basic equations of a tray column model.";
    480486        Info            =
    481 "This model contains only the main equations of a column tray equilibrium model without
     487"This model contains only the main equations of a column tray nonequilibrium model without
     488the hidraulic equations.";
     489
     490        PARAMETERS
     491outer PP as Plugin(Brief = "External Physical Properties", Type="PP");
     492outer NComp as Integer;
     493outer NC1 as Integer;
     494       
     495        VARIABLES
     496        NL(NComp) as flux_mol   (Brief = "Stream Molar Flux Rate on Liquid Phase");
     497        NV(NComp) as flux_mol   (Brief = "Stream Molar Flux Rate on Vapour Phase");
     498        T as temperature                (Brief = "Stream Temperature");
     499        P as pressure                   (Brief = "Stream Pressure");
     500        x(NComp) as fraction    (Brief = "Stream Molar Fraction on Liquid Phase");
     501        y(NComp) as fraction    (Brief = "Stream Molar Fraction on Vapour Phase");
     502        a as area                           (Brief = "Interface Area");
     503        htL as heat_trans_coeff (Brief = "Heat Transference Coefficient on Liquid Phase");
     504        htV as heat_trans_coeff (Brief = "Heat Transference Coefficient on Vapour Phase");     
     505        E_liq as heat_flux      (Brief = "Liquid Energy on interface");
     506    E_vap as heat_flux      (Brief = "Vapour Energy on interface");     
     507        hL as enth_mol          (Brief = "Liquid Molar Enthalpy");
     508        hV as enth_mol          (Brief = "Vapour Molar Enthalpy");
     509        ConcL as conc_mol       (Brief = "Liquid Molar Concentration");
     510        ConcV as conc_mol       (Brief = "Vapour Molar Concentration");
     511        kL(NC1,NC1) as velocity (Brief = "Mass Transfer Coefficients");
     512        kV(NC1,NC1) as velocity (Brief = "Mass Transfer Coefficients");
     513       
     514        EQUATIONS
     515        "Liquid Enthalpy"
     516        hL = PP.LiquidEnthalpy(T, P, x);
     517       
     518        "Vapour Enthalpy"
     519        hV = PP.VapourEnthalpy(T, P, y);
     520
     521end
     522
     523Model trayRate
     524        ATTRIBUTES
     525        Pallete         = false;
     526        Icon            = "icon/Tray";
     527        Brief           = "Basic equations of a tray column model.";
     528        Info            =
     529"This model contains only the main equations of a column tray nonequilibrium model without
    482530the hidraulic equations.
    483531       
    484532== Assumptions ==
    485533* both phases (liquid and vapour) exists all the time;
    486 * thermodymanic equilibrium with Murphree plate efficiency;
    487534* no entrainment of liquid or vapour phase;
    488535* no weeping;
     
    493540outer PP as Plugin(Brief = "External Physical Properties", Type="PP");
    494541outer NComp as Integer;
     542    NC1 as Integer;
    495543        V as volume(Brief="Total Volume of the tray");
    496544        Q as heat_rate (Brief="Rate of heat supply");
     
    499547        VARIABLES
    500548in      Inlet as stream (Brief="Feed stream", PosX=0, PosY=0.4932, Symbol="_{in}");
     549in      InletFV as stream (Brief="Feed stream", PosX=0, PosY=0.4932, Symbol="_{in}");
    501550in      InletL as stream (Brief="Inlet liquid stream", PosX=0.5195, PosY=0, Symbol="_{inL}");
    502551in      InletV as stream (Brief="Inlet vapour stream", PosX=0.4994, PosY=1, Symbol="_{inV}");
     
    504553out     OutletV as vapour_stream (Brief="Outlet vapour stream", PosX=0.8043, PosY=0, Symbol="_{outV}");
    505554
    506         M(NComp) as mol (Brief="Molar Holdup in the tray");
     555        M_liq(NComp) as mol (Brief="Liquid Molar Holdup in the tray");
     556        M_vap(NComp) as mol (Brief="Vapour Molar Holdup in the tray");
    507557        ML as mol (Brief="Molar liquid holdup");
    508558        MV as mol (Brief="Molar vapour holdup");
    509         E as energy (Brief="Total Energy Holdup on tray");
     559        E_liq as energy (Brief="Total Liquid Energy Holdup on tray");
     560        E_vap as energy (Brief="Total Vapour Energy Holdup on tray");
    510561        vL as volume_mol (Brief="Liquid Molar Volume");
    511562        vV as volume_mol (Brief="Vapour Molar volume");
    512563        Level as length (Brief="Height of clear liquid on plate");
    513         yideal(NComp) as fraction;
    514         Emv as Real (Brief = "Murphree efficiency");
     564        interf as interface;   
    515565       
    516566        EQUATIONS
    517567        "Component Molar Balance"
    518         diff(M)=Inlet.F*Inlet.z + InletL.F*InletL.z + InletV.F*InletV.z
    519                 - OutletL.F*OutletL.z - OutletV.F*OutletV.z;
     568        diff(M_liq)=Inlet.F*Inlet.z + InletL.F*InletL.z
     569        - OutletL.F*OutletL.z + interf.a*interf.NL;
     570       
     571        diff(M_vap)=InletFV.F*InletFV.z + InletV.F*InletV.z
     572        - OutletV.F*OutletV.z - interf.a*interf.NV;
    520573       
    521574        "Energy Balance"
    522         diff(E) = ( Inlet.F*Inlet.h + InletL.F*InletL.h + InletV.F*InletV.h
    523                 - OutletL.F*OutletL.h - OutletV.F*OutletV.h + Q );
     575        diff(E_liq) = Inlet.F*Inlet.h + InletL.F*InletL.h
     576                - OutletL.F*OutletL.h  + Q + interf.a*interf.E_liq;
     577       
     578        diff(E_vap) = InletFV.F*InletFV.h + InletV.F*InletV.h
     579                - OutletV.F*OutletV.h  - interf.a*interf.E_vap;
    524580       
    525581        "Molar Holdup"
    526         M = ML*OutletL.z + MV*OutletV.z;
     582        M_liq = ML*OutletL.z;
     583       
     584        M_vap = MV*OutletV.z;
    527585       
    528586        "Energy Holdup"
    529         E = ML*OutletL.h + MV*OutletV.h - OutletL.P*V;
     587        E_liq = ML*(OutletL.h - OutletL.P*vL);
     588       
     589        E_vap = MV*(OutletV.h - OutletV.P*vV);
     590       
     591        "Energy on interface"
     592        interf.E_liq = interf.htL*(interf.T-OutletL.T)+sum(interf.NL)*interf.hL;       
     593       
     594        interf.E_vap = interf.htV*(OutletV.T-interf.T)+sum(interf.NV)*interf.hV;
     595       
     596        "Mass Conservation"
     597        interf.NL=interf.NV;
     598       
     599        "Energy Conservation"
     600        interf.E_liq = interf.E_vap;
     601       
    530602       
    531603        "Mol fraction normalisation"
    532604        sum(OutletL.z)= 1.0;
    533605        sum(OutletL.z)= sum(OutletV.z);
     606        sum(interf.x)=1.0;
     607        sum(interf.x)=sum(interf.y);
    534608       
    535609        "Liquid Volume"
     
    539613       
    540614        "Chemical Equilibrium"
    541         PP.LiquidFugacityCoefficient(OutletL.T, OutletL.P, OutletL.z)*OutletL.z =
    542                 PP.VapourFugacityCoefficient(OutletV.T, OutletV.P, yideal)*yideal;
    543 
    544         "Murphree Efficiency"
    545         OutletV.z = Emv * (yideal - InletV.z) + InletV.z;
    546        
    547         "Thermal Equilibrium"
    548         OutletV.T = OutletL.T;
    549        
     615        PP.LiquidFugacityCoefficient(interf.T, interf.P, interf.x)*interf.x =
     616                PP.VapourFugacityCoefficient(interf.T, interf.P, interf.y)*interf.y;
     617
     618        "Geometry Constraint"
     619        V = ML*vL + MV*vV;
     620       
     621        "Level of clear liquid over the weir"
     622        Level = ML*vL/Ap;
     623       
     624        "Total Mass Transfer Fluxes"
     625        interf.NL(1:NC1)=interf.ConcL*sumt(interf.kL*(interf.x(1:NC1)-OutletL.z(1:NC1)))+
     626                OutletL.z(1:NC1)*sum(interf.NL);
     627       
     628        interf.NV(1:NC1)=interf.ConcV*sumt(interf.kV*(OutletV.z(1:NC1)-interf.y(1:NC1)))+
     629                OutletV.z(1:NC1)*sum(interf.NV);
     630
    550631        "Mechanical Equilibrium"
    551632        OutletV.P = OutletL.P;
    552        
    553         "Geometry Constraint"
    554         V = ML* vL + MV*vV;
    555        
    556         "Level of clear liquid over the weir"
    557         Level = ML*vL/Ap;
     633        interf.P=OutletL.P;
     634       
     635        SET   
     636        NC1=NComp-1;
    558637end
    559638
Note: See TracChangeset for help on using the changeset viewer.