Changeset 426


Ignore:
Timestamp:
Dec 10, 2007, 11:24:49 AM (15 years ago)
Author:
Rodolfo Rodrigues
Message:

Updated to use vol_tank.mso

Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/eml/reactors/equil.mso

    r421 r426  
    7070
    7171        G(NComp)        as energy_mol   (Brief="Gibbs free-energy of formation");
    72         K(NReac)        as Real                 (Brief="Equillibrium constant",Default=1.5);
    73         activ(NComp)as Real             (Brief="Activity", Symbol="\hat{a}", Default=0.2);
     72        K(NReac)        as Real                 (Brief="Equillibrium constant", Lower=0, Default=1.5);
     73        activ(NComp)as Real             (Brief="Activity", Symbol="\hat{a}", Lower=0, Default=0.2);
    7474       
    7575        rate(NComp) as reaction_mol (Brief="Overall component rate of reaction");
     
    7979        EQUATIONS
    8080        "Outlet stream"
    81         Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Vr;
     81        Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Tank.V;
    8282       
    8383        "Mechanical equilibrium"
     
    170170        EQUATIONS
    171171        "Outlet stream"
    172         Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Vr;
     172        Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Tank.V;
    173173       
    174174        "Mechanical equilibrium"
  • trunk/eml/reactors/gibbs.mso

    r421 r426  
    7272        G(NComp)                as energy_mol   (Brief="Gibbs free-energy change of formation");
    7373        lambda(NElem)   as energy_mol   (Brief="Lagrangian multiplier", Symbol="\lambda");
    74         activ(NComp)    as Real                 (Brief="Activity", Symbol="\hat{a}", Lower=1e-20);
     74        activ(NComp)    as Real                 (Brief="Activity", Symbol="\hat{a}", Lower=0);
    7575       
    7676        rate(NComp)     as reaction_mol (Brief="Overall component rate of reaction");
     
    8080        EQUATIONS
    8181        "Outlet stream"
    82         Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Vr;
     82        Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Tank.V;
    8383       
    8484        "Mechanical equilibrium"
     
    167167        EQUATIONS
    168168        "Outlet stream"
    169         Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Vr;
     169        Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Tank.V;
    170170       
    171171        "Mechanical equilibrium"
  • trunk/eml/reactors/stoic.mso

    r421 r426  
    6161        EQUATIONS
    6262        "Outlet stream"
    63         Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Vr;
     63        Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Tank.V;
    6464       
    6565        "Mechanical equilibrium"
     
    112112        EQUATIONS
    113113        "Outlet stream"
    114         Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Vr;
     114        Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Tank.V;
    115115       
    116116        "Mechanical equilibrium"
     
    158158        EQUATIONS
    159159        "Rate of reaction"
    160         rate*Vr = sumt(stoic*extent);
     160        rate*Tank.V = sumt(stoic*extent);
    161161end
    162162
     
    177177        EQUATIONS
    178178        "Rate of reaction"
    179         rate*Vr = sumt(stoic*extent);
     179        rate*Tank.V = sumt(stoic*extent);
    180180end
    181181
     
    203203        EQUATIONS
    204204        "Reaction rate"
    205         rate*Vr = sumt(stoic)/abs(sumt(stoic(KComp,:)))*Outletm.F*Outletm.z(KComp)*kconv;
     205        rate*Tank.V = sumt(stoic)/abs(sumt(stoic(KComp,:)))*Outletm.F*Outletm.z(KComp)*kconv;
    206206end
    207207
     
    225225        EQUATIONS
    226226        "Reaction rate"
    227         rate*Vr = sumt(stoic)/abs(sumt(stoic(KComp,:)))*Outletm.F*Outletm.z(KComp)*kconv;
    228 end
     227        rate*Tank.V = sumt(stoic)/abs(sumt(stoic(KComp,:)))*Outletm.F*Outletm.z(KComp)*kconv;
     228end
  • trunk/eml/reactors/tank_basic.mso

    r422 r426  
    3030
    3131using "streams";
     32using "vol_tank";
    3233
    3334
     
    4344in      Inlet   as stream       (Brief="Inlet stream", PosX=0, PosY=0, Symbol="_{in}");
    4445        Outletm as stream       (Brief="Intermediary outlet stream", Symbol="_{outm}");
    45 
     46        Tank    as vol_tank     (Brief="Routine to volume tank calculation", Symbol="_{tank}");
     47       
    4648        M(NComp)as mol          (Brief="Component molar holdup");
    4749        Mt              as mol          (Brief="Total component molar holdup");
    48         Vr              as volume       (Brief="Volume of reactional mixture");
    4950        E               as energy       (Brief="Internal energy");
    5051        Q               as heat_rate(Brief="Reactor duty", Default=0);
    51        
    52         Across  as area         (Brief="Tank cross section area");
    53         Level   as length       (Brief="Tank level");
    5452       
    5553        EQUATIONS
     
    6563        "Energy balance"
    6664        diff(E) = Inlet.F*Inlet.h - Outletm.F*Outletm.h + Q;
    67        
    68         "Geometry"
    69         Vr = Across*Level;
    7065end
    7166
     
    8681
    8782        "Volume constraint"
    88         Vr = Mt*PP.VapourVolume(Outletm.T,Outletm.P,Outletm.z);
     83        Tank.V = Mt*PP.VapourVolume(Outletm.T,Outletm.P,Outletm.z);
    8984
    9085        "Total internal energy"
     
    108103       
    109104        "Volume constraint"
    110         Vr = Mt*PP.LiquidVolume(Outletm.T,Outletm.P,Outletm.z);
     105        Tank.V = Mt*PP.LiquidVolume(Outletm.T,Outletm.P,Outletm.z);
    111106       
    112107        "Total internal energy"
    113         E = Mt*Outletm.h - Outletm.P*Vr;
     108        E = Mt*Outletm.h - Outletm.P*Tank.V;
    114109end
    115110
     
    130125        OutletmL as liquid_stream       (Brief="Intermediary liquid outlet stream", Symbol="_{outmL}");
    131126out     OutletV  as vapour_stream       (Brief="Outlet vapour stream", Symbol="_{outV}");
    132 
     127        Tank     as vol_tank            (Brief="Routine to volume tank calculation", Symbol="_{tank}");
     128       
    133129        M(NComp)as mol                  (Brief="Component molar holdup");
    134130        ML              as mol                  (Brief="Molar liquid holdup");
    135131        MV              as mol                  (Brief="Molar vapour holdup");
    136         Vr              as volume               (Brief="Volume of reactional mixture");
    137132        E               as energy               (Brief="Internal energy");
    138133        Q               as heat_rate    (Brief="Reactor duty", Default=0);
    139134        vL              as volume_mol   (Brief="Liquid Molar Volume");
    140        
    141         Across  as area                 (Brief="Tank cross section area");
    142         Level   as length               (Brief="Tank level");
    143135       
    144136        EQUATIONS
     
    168160       
    169161        "Total internal energy"
    170         E = ML*OutletmL.h + MV*OutletV.h; #- OutletmL.P*V; P_tank*V_tank
     162        E = ML*OutletmL.h + MV*OutletV.h;
    171163       
    172164        "Geometry constraint"
    173         Vr = ML*vL + MV*PP.VapourVolume(OutletV.T,OutletV.P,OutletV.z);
     165        Tank.V = ML*vL + MV*PP.VapourVolume(OutletV.T,OutletV.P,OutletV.z);
    174166       
    175167       
     
    188180       
    189181        "Tank Level"
    190         ML*vL = Across*Level;
     182        ML*vL = Tank.V;
    191183end
  • trunk/eml/reactors/yield.mso

    r421 r426  
    7070        EQUATIONS
    7171        "Outlet stream"
    72         Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Vr;
     72        Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Tank.V;
    7373       
    7474        "Rate of reaction"
    75         rate*Vr = Outletm.F*(yield/(1 + yield(KComp))*Outletm.z(KComp) - Outletm.z);
     75        rate*Tank.V = Outletm.F*(yield/(1 + yield(KComp))*Outletm.z(KComp) - Outletm.z);
    7676       
    7777        "Instantaneous yield"
     
    133133        EQUATIONS
    134134        "Outlet stream"
    135         Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Vr;
     135        Outlet.F*Outlet.z = Outletm.F*Outletm.z + rate*Tank.V;
    136136       
    137137        "Rate of reaction"
    138         rate*Vr = Outletm.F*(yield/(1 + yield(KComp))*Outletm.z(KComp) - Outletm.z);
     138        rate*Tank.V = Outletm.F*(yield/(1 + yield(KComp))*Outletm.z(KComp) - Outletm.z);
    139139       
    140140        "Molar reaction yield"
  • trunk/sample/reactors/sample_equil.mso

    r403 r426  
    8282        R.Outlet.P = 1*'bar';
    8383        R.Outlet.T = Fin.Outlet.T;
    84         R.Outlet.F = 2*'mol/s'*sqrt(R.Level/'m');
     84        R.Outlet.F = 2*'mol/s'*sqrt(R.Tank.Level/'m');
    8585
    86         R.Across = 5*'m^2';
     86        R.Tank.Across = 5*'m^2';
     87        R.Tank.L = 1.5*'m';
    8788       
    8889        INITIAL
  • trunk/sample/reactors/sample_gibbs.mso

    r403 r426  
    8181        Fin.Outlet.T = 1000*'K';
    8282       
    83         R.Outlet.F = 5*'kmol/h'*sqrt(R.Level/'m');
     83        R.Outlet.F = 5*'kmol/h'*sqrt(R.Tank.Level/'m');
    8484        R.Outlet.P = 1*'atm';
    8585        R.Outlet.T = Fin.Outlet.T;
    8686
    87         R.Across = 5*'m^2';
     87        R.Tank.Across = 5*'m^2';
     88        R.Tank.L = 1.5*'m';
    8889       
    8990        INITIAL
  • trunk/sample/reactors/sample_stoic.mso

    r421 r426  
    6969        Fin.Outlet.T = 500*'K';
    7070
    71         R.Outlet.F = 1000*'kmol/h'*sqrt(R.Level/'m');
     71        R.Outlet.F = 1000*'kmol/h'*sqrt(R.Tank.Level/'m');
    7272        R.Outlet.P = 10*'kgf/cm^2';
    7373        R.Q = 0*'W';
    7474       
    7575        R.extent = [85, 65, 75]*'kmol/h';
    76         R.Across = 5*'m^2';
     76        R.Tank.Across = 150*'cm^2';
     77        R.Tank.L = 350*'cm';
    7778       
    7879        INITIAL
     
    122123        Fin.Outlet.T = 500*'K';
    123124       
    124         R.Outlet.F = 1000*'kmol/h'*sqrt(R.Level/'m');
     125        R.Outlet.F = 1000*'kmol/h'*sqrt(R.Tank.Level/'m');
    125126        R.Outlet.P = 10*'kgf/cm^2';
    126127        R.Q = 0*'W';
    127128
    128129        R.kconv = 0.9;
    129         R.Across = 5*'m^2';
     130        R.Tank.Across = 150*'cm^2';
     131        R.Tank.L = 350*'cm';
    130132
    131133        OPTIONS
  • trunk/sample/reactors/sample_yield.mso

    r418 r426  
    6363        Fin.Outlet.T = 500*'K';
    6464       
    65         R.Outlet.F = 300*'kmol/h'*sqrt(R.Level/'m');
     65        R.Outlet.F = 300*'kmol/h'*sqrt(R.Tank.Level/'m');
    6666        R.Outlet.P = 10*'kgf/cm^2';
    6767        R.Outlet.T = Fin.Outlet.T;
     
    6969       
    7070        R.yield = [0.6, 1, 0.4, 0.5, 0.05];
    71         R.Across = 5*'m^2';
     71        R.Tank.Across = 50000*'cm^2';
     72        R.Tank.L = 10000*'cm';
    7273
    7374        INITIAL
Note: See TracChangeset for help on using the changeset viewer.