Changeset 607


Ignore:
Timestamp:
Aug 23, 2008, 7:06:59 PM (15 years ago)
Author:
Argimiro Resende Secchi
Message:

Updating tray efficiency models.

Location:
trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/eml/stage_separators/tray_Eff.mso

    r593 r607  
    253253        fi as fraction (Brief="Fractional perforated tray area(hole area/ bubbling area)");
    254254        Ts as length (Brief="Tray spacing");
    255         T as length (Brief="Tray thickness");
    256         psi as Real (Brief="Correction factor of liquid entrainment in dualflow trays");
    257         psi1 as Real (Brief="Correction factor of weeping in dualflow trays");
     255        T as length (Brief="Tray thickness");   
    258256        tray_type as Switcher (Valid = ["Dualflow", "Downcomer"], Default= "Downcomer");
    259257outer   iLK as Integer (Brief="Pseudo-binary ligth key index");
     
    389387        Emv1 as positive (Brief="Murphree tray efficiency");
    390388       
     389        psi as Real (Brief="Correction factor of liquid entrainment in dualflow trays");
     390        psi1 as Real (Brief="Correction factor of weeping in dualflow trays");
     391       
    391392        hb as length (Brief="Height on spray regime");     
    392393        l as positive (Brief="Fraction of entrained liquid");     
  • trunk/sample/stage_separators/Sample_Distillation_kettle_cond_Eff.mso

    r593 r607  
    382382       
    383383        RR = 1;
    384 
     384       
     385        col.trays.psi=1;
     386        col.trays.psi1=1;
     387       
    385388        col.cond.OutletV.F = 0 * 'kmol/h';
    386389        Qr.OutletQ.Q = 1854471.14 * 'W';
    387         col.pump1.dP = 0.0000000001* 'kPa';
     390        col.pump1.dP = 0.000000001* 'kPa';
    388391       
    389392        col.alfaTopo = 2;
    390393       
    391 #*      col.trays.Emv = [0.47806479
     394        #*col.trays.Emv = [0.47806479
    3923950.53702951
    3933960.59429546
     
    3963990.7437489
    3974000.76615292
    398 0.79338953];
    399 *#
     4010.79338953];*#
     402
    400403        #eff model
    401404        col.trays.Dv = 3.2556e-6*'m^2/s';
     
    742745end
    743746
    744 
     747FlowSheet Sample_Distillation_kettle_cond_EffFund_Dual
     748        PARAMETERS
     749        PP      as Plugin(Brief="Physical Properties",
     750                Type="PP",
     751                Components = [ "propane", "propylene" ],
     752                LiquidModel = "PR",
     753                VapourModel = "PR"
     754        );
     755        NComp   as Integer;
     756        iLK as Integer;
     757        iHK as Integer;
     758
     759        Pcmin as pressure (Brief="Minimum column temperature");
     760        Pcmax as pressure (Brief="Minimum column temperature");
     761        Qcmin as heat_rate (Brief="Minimum Condenser Heat supplied");
     762        Qcmax as heat_rate (Brief="Maximum Condenser Heat supplied");
     763        Hmint as length (Brief="Minimum liquid level in top tank");
     764        Hmaxt as length (Brief="Maximum liquid level in top tank");
     765    Hminb as length (Brief="Minimum liquid level in reboiler");
     766        Hmaxb as length (Brief="Maximum liquid level in reboiler");
     767        Frmin as flow_mol (Brief="Minimum bottom flow rate");
     768        Frmax as flow_mol (Brief="Maximum bottom flow rate");
     769        Fcmin as flow_mol (Brief="Minimum reflux flow rate");
     770        Fcmax as flow_mol (Brief="Maximum reflux flow rate");
     771
     772        VARIABLES
     773        Qc as energy_source (Brief="Heat rate removed from condenser");
     774        Qr as energy_source (Brief="Heat rate supplied to reboiler");
     775        Padc as Real (Brief="Dimensionless pressure");
     776        Had_top as Real (Brief="Dimensionless condenser level");
     777        Had_bot as Real (Brief="Dimensionless reboiler level");
     778        DF as fraction (Brief="Distillation to feed ratio");
     779        RR as Real (Brief="Reflux ratio");
     780       
     781        SET
     782        NComp = PP.NumberOfComponents;
     783
     784        DEVICES
     785       
     786        col as Distillation_kettle_cond_EffFund;
     787        feed as source;
     788        zero as stream;
     789        LCtop as PIDIncr;
     790        LCbot as PIDIncr;
     791        PCcond as PIDIncr;
     792       
     793       
     794        SET
     795        col.NTrays = 8;
     796        col.trays.tray_type = "Dualflow";
     797       
     798        CONNECTIONS
     799        feed.Outlet to col.trays(4).Inlet;
     800        zero to col.reb.Inlet;
     801        zero to col.trays([1:3]).Inlet;
     802        zero to col.trays([5:col.NTrays]).Inlet;
     803        Qc.OutletQ to col.cond.InletQ;
     804        Qr.OutletQ to col.reb.InletQ;
     805       
     806        EQUATIONS
     807   
     808   "Pressure Controller Cond"
     809        PCcond.Parameters.tau = 0*'s'; 
     810        PCcond.Parameters.tauSet = 0*'s';       
     811        PCcond.Parameters.alpha = 0.3;
     812        PCcond.Parameters.bias = 0.67; 
     813        PCcond.Parameters.gamma = 1;
     814        PCcond.Parameters.beta = 1;
     815        PCcond.Options.action = 1;
     816        PCcond.Options.clip = 1;
     817        PCcond.Options.autoMan = 0;
     818        PCcond.Parameters.intTime = 60*'s';
     819        PCcond.Parameters.gain = 0.6;
     820        PCcond.Parameters.derivTime = 1*'s';
     821        PCcond.Ports.setPoint = (10 * 'bar' - Pcmin)/(Pcmax-Pcmin);
     822        PCcond.Ports.input = Padc;
     823        Padc = (col.cond.OutletL.P-Pcmin)/(Pcmax-Pcmin);
     824        Qc.OutletQ.Q = Qcmin+(Qcmax-Qcmin)*PCcond.Ports.output;
     825       
     826        "Ttop Level Controller"
     827        LCtop.Parameters.tau = 0*'s';   
     828        LCtop.Parameters.tauSet = 0*'s';       
     829        LCtop.Parameters.alpha = 0.3;
     830        LCtop.Parameters.bias = 0.5;   
     831        LCtop.Parameters.gamma = 1;
     832        LCtop.Parameters.beta = 1;
     833        LCtop.Options.action = -1;
     834        LCtop.Options.clip = 1;
     835        LCtop.Options.autoMan = 0;
     836        LCtop.Parameters.intTime = 20*'min';
     837        LCtop.Parameters.gain = 0.9;
     838        LCtop.Parameters.derivTime = 0*'s';
     839        LCtop.Ports.setPoint = (2 * 'm' - Hmint)/(Hmaxt-Hmint);
     840        LCtop.Ports.input = Had_top;
     841        Had_top = (col.cond.Level-Hmint)/(Hmaxt-Hmint);
     842        col.sptop.Outlet2.F = Fcmin + (Fcmax-Fcmin) * LCtop.Ports.output;
     843
     844        "Tbottom Level Controller"
     845        LCbot.Parameters.tau = 0*'s';   
     846        LCbot.Parameters.tauSet = 0*'s';       
     847        LCbot.Parameters.alpha = 0.3;
     848        LCbot.Parameters.bias = 0.5;   
     849        LCbot.Parameters.gamma = 1;
     850        LCbot.Parameters.beta = 1;
     851        LCbot.Options.action = -1;
     852        LCbot.Options.clip = 1;
     853        LCbot.Options.autoMan = 0;
     854        LCbot.Parameters.intTime = 20*'min';
     855        LCbot.Parameters.gain = 0.9;
     856        LCbot.Parameters.derivTime = 0*'s';
     857        LCbot.Ports.setPoint = (2 * 'm' - Hminb)/(Hmaxb-Hminb);
     858        LCbot.Ports.input = Had_bot;
     859        Had_bot = (col.reb.Level-Hminb)/(Hmaxb-Hminb);
     860        col.reb.OutletL.F = Frmin + (Frmax-Frmin) * LCbot.Ports.output;
     861       
     862        DF = col.sptop.Outlet1.F / feed.Outlet.F;
     863        RR * (col.sptop.Outlet1.F + col.cond.OutletV.F) = col.sptop.Outlet2.F;
     864       
     865        "Correction factor of liquid entrainment in dualflow trays"
     866        col.trays.psi=1.9771*col.trays.ff-1.4857;
     867        col.trays.psi1=-0.9333*col.trays.ff+0.94;
     868
     869        SPECIFY
     870        feed.Outlet.F = 800 * 'kmol/h';
     871        feed.Outlet.T = (33.1+273.15) * 'K';
     872        feed.Outlet.P = 11.25 * 'bar';
     873        feed.Outlet.z(1) = 0.1;
     874        feed.Outlet.z(2)=0.9;
     875       
     876        zero.F = 0 * 'kmol/h';
     877        zero.T = 300 * 'K';
     878        zero.P = 1 * 'atm';
     879        zero.z = 1/NComp;
     880        zero.v = 0;
     881        zero.h = 0 * 'J/mol';
     882       
     883        RR = 15;
     884
     885        col.cond.OutletV.F = 0 * 'kmol/h';
     886        Qr.OutletQ.Q = 27582461.8 * 'W';
     887        col.pump1.dP = 0.0000000001* 'kPa';
     888       
     889       
     890        col.alfaTopo = 2;
     891       
     892        #col.trays.Emv = 0.75;
     893
     894        #para modelo de eff
     895        col.trays.Dv = 4.64e-7*'m^2/s';
     896        col.trays.Dl = 1.3e-8*'m^2/s';
     897        col.trays.sigma=[0.00762423
     898                                        0.00750252
     899                                        0.00738331
     900                                        0.00726649
     901                                        0.00715206
     902                                        0.00703969
     903                                        0.00692930
     904                                        0.00682079]*'N/m';
     905       
     906        SET
     907
     908        #para modelo de eff
     909        #col.trays.z = 1.35*'m';
     910        col.trays.d = 4.4*'m';
     911        col.trays.fi= 0.2074;
     912        col.trays.Ts= 0.4*'m';
     913        col.trays.T= 0.0025*'m';
     914        col.trays.Aa=15.205*'m^2';
     915        col.trays.dh=0.009*'m';
     916       
     917        col.trays.V = 6.08 * 'm^3';
     918        col.trays.Ah = 3.15447 * 'm^2';
     919        col.trays.hw = 0.052 * 'm';
     920        col.trays.lw = 1.264 * 'm';
     921        col.trays.Q = 0 * 'kW';
     922        col.trays.beta = 0.25;#fluxo de liquido
     923        col.trays.alfa =80;#parametro de ajuste para queda de pressão
     924        col.trays.Ap = 15.205 * 'm^2';
     925       
     926        col.cond.V = 10*6.08 * 'm^3';
     927        col.cond.Across = 18 * 'm^2';
     928       
     929        col.reb.V = 10*6.08 * 'm^3';
     930        col.reb.Across = 20 * 'm^2';
     931       
     932        # Controllers type
     933        PCcond.PID_Select = "Ideal_AW";
     934        LCtop.PID_Select = "Ideal_AW";
     935        LCbot.PID_Select = "Ideal_AW";
     936       
     937        Frmin = 120 * 'kmol/h';
     938        Frmax = 400 * 'kmol/h';
     939        Fcmin = 6800 * 'kmol/h';
     940        Fcmax = 7500 * 'kmol/h';
     941        Hmint = 0.01 * 'm';
     942        Hmaxt = 2.5 * 'm';
     943        Hminb = 0.01 * 'm';
     944        Hmaxb = 2.5 * 'm';
     945        Pcmin = 8 * 'bar';
     946        Pcmax = 12 * 'bar';
     947        Qcmax = -15e6 * 'W';
     948        Qcmin = -30e6 * 'W';
     949
     950       
     951        INITIAL
     952        # condenser
     953        col.cond.OutletL.T = 292.473621*'K';
     954        col.cond.Level = 2* 'm';
     955        col.cond.OutletL.z([1]) = [0.0842132];
     956
     957        # reboiler
     958        col.reb.OutletL.T = 299.8068 *'K';
     959        col.reb.Level = 1 * 'm';
     960        col.reb.OutletL.z([1]) = [0.1236802];
     961
     962        # column trays
     963        col.trays.OutletL.T = [292.497341
     964                                                293.463727
     965                                                294.413253
     966                                                295.346614
     967                                                296.263841
     968                                                297.167167
     969                                                298.05727
     970                                                298.934812] * 'K';
     971       
     972        col.trays.Level = 1 * col.trays.hw;
     973        col.trays.OutletL.z([1]) = [0.08822571
     974                                                                0.09221042
     975                                                                0.09616891
     976                                                                0.10010309
     977                                                                0.1038177
     978                                                                0.10781901
     979                                                                0.11213108
     980                                                                0.1167803];
     981       
     982
     983        OPTIONS
     984        TimeStep = 100;
     985        TimeEnd = 3600;
     986        TimeUnit = 's';
     987        NLASolver (File="sundials");
     988        DAESolver (File="mebdf", RelativeAccuracy=1e-4, AbsoluteAccuracy=1e-4);
     989        InitialFile="Sample_Distillation_kettle_cond_EffFund_Dual1.rlt";
     990        #Dynamic = false;       
     991end
Note: See TracChangeset for help on using the changeset viewer.