Ignore:
Timestamp:
Sep 30, 2008, 6:42:41 PM (14 years ago)
Author:
gerson bicca
Message:

testing column model in the GUI (Distillation_thermosyphon_subcooling)

File:
1 edited

Legend:

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

    r648 r649  
    447447*       - a pump in reflux stream.
    448448*
    449 * ------------------------------------------------------------------
    450 Model Distillation_thermosyphon_subcoolingTeste
     449* ------------------------------------------------------------------*#
     450Model Distillation_thermosyphon_subcooling as Section_ColumnBasic
    451451        ATTRIBUTES
    452452        Pallete         = true;
     
    478478";
    479479       
    480         PARAMETERS
    481         outer PP as Plugin(Brief = "External Physical Properties", Type="PP");
    482         outer NComp as Integer;
    483         NumberOfTrays as Integer(Brief="Number of trays", Default=2);
    484         topdown as Integer(Brief="Trays counting (1=top-down, -1=bottom-up)", Default=1);
    485         top as Integer(Brief="Number of top tray");
    486         bot as Integer(Brief="Number of bottom tray");
    487         VapourFlow as Switcher(Valid = ["on", "off"], Default = "on");
    488 
    489         SET
    490         top = (NumberOfTrays-1)*(1-topdown)/2+1;
    491         bot = NumberOfTrays/top;
    492        
    493         VARIABLES
    494         trays(NumberOfTrays) as trayTeste;
    495         cond as condenserSteady;
    496         reb as reboilerSteady;
    497         tbottom as tank;
    498         ttop as tank_cylindrical;
    499         spbottom as splitter;
    500         sptop as splitter;
    501         pump1 as pump;
    502         alfaTopo as Real;
    503 
    504         EQUATIONS
    505         switch VapourFlow
    506                 case "on":
    507                 cond.InletV.F*trays(top).vV = alfaTopo * trays(top).Ah * sqrt(2*(trays(top).OutletV.P -
    508                 cond.OutletL.P + 1e-8 * 'atm') / (trays(top).alfa*trays(top).rhoV));
    509                 when cond.InletV.F < 1e-6 * 'kmol/h' switchto "off";
    510                
    511                 case "off":
    512                 cond.InletV.F = 0 * 'mol/s';
    513                 when trays(top).OutletV.P > cond.OutletL.P + 1e-1 * 'atm' switchto "on";
    514         end     
    515        
    516         CONNECTIONS
    517         #vapor
    518         reb.OutletV to trays(bot).InletV;
    519         trays([top+topdown:topdown:bot]).OutletV to trays([top:topdown:bot-topdown]).InletV;
    520         trays(top).OutletV to cond.InletV;
    521        
    522         #liquid
    523         cond.OutletL to ttop.Inlet;     
    524         ttop.Outlet to sptop.Inlet;
    525         sptop.Outlet2 to pump1.Inlet;   
    526         pump1.Outlet to trays(top).InletL;
    527         trays([top:topdown:bot-topdown]).OutletL to trays([top+topdown:topdown:bot]).InletL;
    528         trays(bot).OutletL to tbottom.Inlet;
    529         tbottom.Outlet to spbottom.Inlet;
    530         spbottom.Outlet2 to reb.InletL;
     480PARAMETERS
     481
     482        CondenserVapourFlow as Switcher(Valid = ["on", "off"], Hidden=true, Default = "on");
     483
     484VARIABLES
     485        CondenserUnity as condenserSteady;
     486        TopVessel               as tank_cylindrical;
     487        TopSplitter             as splitter;
     488        PumpUnity               as pump;
     489        ReboilerUnity   as reboilerSteady;
     490        BottomVessel    as tank;
     491        BottomSplitter  as splitter;
     492
     493
     494        alfaTopo                        as Real;
     495
     496out             HeatToCondenser         as power                                (Brief="Heat supplied to Condenser",Hidden=true);
     497out             HeatToReboiler          as power                                (Brief="Heat supplied to Reboiler",Hidden=true);
     498out             HeatToBottomVessel      as power                                (Brief="Heat supplied to Bottom Vessel",Hidden=true);
     499out             HeatToTopVessel         as power                                (Brief="Heat supplied to Top Vessel",Hidden=true);
     500
     501EQUATIONS
     502
     503switch CondenserVapourFlow
     504
     505        case "on":
     506                CondenserUnity.InletV.F*trays(1).vV = alfaTopo * Ah * sqrt(2*(trays(1).OutletV.P -
     507                CondenserUnity.OutletL.P + 1e-8 * 'atm') / (alfa*trays(1).rhoV));
     508                when CondenserUnity.InletV.F < 1e-6 * 'kmol/h' switchto "off";
     509
     510        case "off":
     511                CondenserUnity.InletV.F = 0 * 'mol/s';
     512                when trays(1).OutletV.P > CondenserUnity.OutletL.P + 1e-1 * 'atm' switchto "on";
     513
     514end     
     515       
     516CONNECTIONS
     517#vapor
     518        ReboilerUnity.OutletV   to trays(NumberOfTrays).InletV;
     519        trays(1).OutletV                                to CondenserUnity.InletV;
     520
     521#liquid
     522        CondenserUnity.OutletL          to TopVessel.Inlet;     
     523        TopVessel.Outlet                                        to TopSplitter.Inlet;
     524        TopSplitter.Outlet2                             to PumpUnity.Inlet;     
     525        PumpUnity.Outlet                                        to trays(1).InletL;
     526        trays(NumberOfTrays).OutletL    to BottomVessel.Inlet;
     527        BottomVessel.Outlet                             to BottomSplitter.Inlet;
     528        BottomSplitter.Outlet2                  to ReboilerUnity.InletL;
     529
     530#Connectors
     531HeatToCondenser                         to CondenserUnity.InletQ;
     532HeatToReboiler                  to ReboilerUnity.InletQ;
     533HeatToBottomVessel      to BottomVessel.InletQ;
     534HeatToTopVessel                 to TopVessel.InletQ;
     535
    531536end
    532537
Note: See TracChangeset for help on using the changeset viewer.