Changeset 869 for branches


Ignore:
Timestamp:
Oct 29, 2009, 11:01:32 AM (13 years ago)
Author:
gerson bicca
Message:

added volume sizing for dynamic reboiler model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/gui/eml/stage_separators/reboiler.mso

    r866 r869  
    343343* thermodynamics equilibrium;
    344344* no liquid entrainment in the vapour stream.
    345        
     345
     346== SET ==
     347*Orientation: vessel position - vertical or horizontal;
     348*Heads (bottom and top heads are identical)
     349**elliptical: 2:1 elliptical heads (25% of vessel diameter);
     350**hemispherical: hemispherical heads (50% of vessel diameter);
     351*Diameter: Vessel diameter;
     352*Lenght: Side length of the cylinder shell;
     353
    346354== SPECIFY ==
    347355* the InletLiquid stream;
     
    364372        outer PP                as Plugin       (Brief = "External Physical Properties", Type="PP");
    365373        outer NComp     as Integer      (Brief="Number of Components");
    366         Across                  as area         (Brief="Cross Section Area of reboiler");
    367         V                               as volume       (Brief="Total volume of reboiler");
     374       
     375        pi                      as positive             (Brief="Pi value", Default=3.141593,Hidden=true, Symbol="\pi");
     376        g                               as acceleration (Brief="Gravity Acceleration",Default=9.81,Hidden=true);
     377       
     378        Orientation     as Switcher (Valid=["vertical","horizontal"],Default="vertical");
     379        Heads                   as Switcher (Valid=["elliptical","hemispherical"],Default="elliptical");
     380
     381        Diameter                as length       (Brief="Vessel diameter", Symbol="D_{i}");
     382        Lenght                  as length       (Brief="Side length of the cylinder shell", Symbol="L_{vessel}");
     383       
     384        Vhead_elliptical                as volume       (Brief="Elliptical Head Total Volume",Hidden=true, Symbol="V_{head}^{elliptical}");
     385        Vhead_hemispherical     as volume       (Brief="Hemispherical Head Total Volume",Hidden=true, Symbol="V_{head}^{hemispherical}");
     386        Vcylinder                               as volume       (Brief="Cylinder Total Volume",Hidden=true, Symbol="V_{cylinder}");
     387        radius                                  as length       (Brief="Vessel radius",Hidden=true, Symbol="R_{cylinder}");
    368388       
    369389        Levelpercent_Initial            as positive     (Brief="Initial liquid height in Percent", Default = 0.70);
     
    371391        Initial_Composition(NComp)      as positive     (Brief="Initial Liquid Composition",Lower=1E-6);
    372392
     393SET
     394        pi = 3.141593;
     395        g = 9.81 * 'm/(s^2)';
     396        Vhead_elliptical        = (pi*Diameter^3)/12;
     397        Vhead_hemispherical = (pi*Diameter^3)/6;
     398        Vcylinder = 0.25*(pi*Diameter^2)*Lenght;
     399        radius = 0.5*Diameter;
     400       
    373401VARIABLES
    374402
     
    392420        Pdrop           as press_delta  (Brief = "Pressure Drop", DisplayUnit = 'kPa', Symbol ="\Delta P", Protected=true);
    393421
     422        Vtotal                  as volume                       (Brief="Vessel total volume",Protected=true, Symbol="V_{total}");
     423        Vfilled                 as volume                       (Brief="Vessel volume content",Protected=true, Symbol="V_{filled}");
     424        Across                  as area         (Brief="Cross Section Area of reboiler",Protected=true);
     425
     426       
    394427INITIAL
    395428
     
    405438EQUATIONS
    406439
     440switch Orientation
     441
     442case "vertical":
     443
     444"Vessel Cross Section Area"
     445        Across = 0.25*(pi*Diameter^2);
     446
     447switch Heads
     448
     449case "elliptical":
     450
     451"Vessel Total Volume"
     452        Vtotal = Vhead_elliptical +     Vcylinder;
     453
     454if Level < 0.25*Diameter then
     455
     456"Vessel Filled Volume"
     457        Vfilled = 0.25*pi*(((Diameter*Level)/(0.25*Diameter))^2)*(0.25*Diameter-Level/3);
     458
     459else
     460
     461"Vessel Filled Volume"
     462        Vfilled = 0.25*pi*(Diameter^2)*(Level - 0.25*Diameter/3);
     463
     464end
     465
     466case "hemispherical":
     467
     468"Vessel Total Volume"
     469        Vtotal = Vhead_hemispherical + Vcylinder;
     470
     471if Level < 0.5*Diameter then
     472
     473"Vessel Filled Volume"
     474        Vfilled = 0.25*pi*(Level^2)*(2*Diameter-4*Level/3);
     475
     476else
     477
     478"Vessel Filled Volume"
     479        Vfilled = 0.25*pi*((2/3)*((0.5*Diameter)^3) - (0.25*(Diameter)^3) + Level*Diameter^2);
     480
     481end
     482
     483end
     484
     485case "horizontal":
     486
     487"Vessel Cross Section Area"
     488        Across = (radius^2)*acos((radius-Level)/radius)-(radius-Level)*sqrt((2*radius*Level-Level^2));
     489
     490switch Heads
     491
     492case "elliptical":
     493
     494"Vessel Total Volume"
     495        Vtotal = Vhead_elliptical +     Vcylinder;
     496
     497"Vessel Filled Volume"
     498        Vfilled = 0.5236*Level^2*(1.5*Diameter-Level) + Across*Lenght;
     499
     500case "hemispherical":
     501
     502"Vessel Total Volume"
     503        Vtotal = Vhead_hemispherical + Vcylinder;
     504
     505"Vessel Filled Volume"
     506        Vfilled = 1.0472*Level^2*(1.5*Diameter-Level) + Across*Lenght;
     507
     508end
     509
     510end
     511
    407512"Component Molar Balance"
    408513        diff(M)= InletLiquid.F*InletLiquid.z    - OutletLiquid.F*OutletLiquid.z - OutletVapour.F*OutletVapour.z;
     
    415520
    416521"Energy Holdup"
    417         E = ML*OutletLiquid.h + MV*OutletVapour.h - OutletLiquid.P*V;
     522        E = ML*OutletLiquid.h + MV*OutletVapour.h - OutletLiquid.P*Vtotal;
    418523
    419524"Mol Fraction Normalisation"
     
    445550
    446551"Geometry Constraint"
    447         V = ML*vL + MV*vV;
    448 
    449 "Level of liquid phase"
    450         Level = ML*vL/Across;
     552        Vtotal = ML*vL + MV*vV;
     553
     554"Liquid Level"
     555        ML * vL = Vfilled;
    451556
    452557"Temperature Indicator"
     
    457562
    458563"Level indicator"
    459         LI*V = Level*Across;
    460 
    461 end
     564        LI*Vtotal= Vfilled;
     565
     566end
Note: See TracChangeset for help on using the changeset viewer.