Changeset 660


Ignore:
Timestamp:
Oct 6, 2008, 10:34:37 PM (14 years ago)
Author:
gerson bicca
Message:

added column model

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/eml/UserModels/UserColumn.mso

    r658 r660  
    560560end
    561561
     562
     563#* -------------------------------------------------------------------
     564* Distillation Column model with:
     565*
     566*       - NumberOfTrays like tray;
     567*       - a vessel in the bottom of column;
     568*       - a splitter who separate the bottom product and the stream to reboiler;
     569*       - steady state reboiler (thermosyphon);
     570*       - a dynamic condenser without subcooling;
     571*       - a splitter which separate reflux and distillate;
     572*       - a pump in reflux stream.
     573*
     574* ------------------------------------------------------------------*#
     575Model User_Distillation_thermosyphon_cond as User_Section_ColumnBasic
     576       
     577        ATTRIBUTES
     578        Pallete         = true;
     579        Icon            = "icon/DistillationThermosyphonCond";
     580        Brief           = "Model of a distillation column with dynamic condenser and steady reboiler.";
     581        Info            =
     582"== Specify ==
     583* the feed stream of each tray (Inlet);
     584* the Murphree eficiency for each tray Emv;
     585* the pump head;
     586* the condenser vapor outlet flow (OutletV.F);
     587* the heat supllied in bottom tank;
     588* the heat supllied in condenser and reboiler;
     589* the Outlet1 flow in the bottom splitter (spbottom.Outlet1.F) that corresponds to the bottom product;
     590       
     591== Initial Conditions ==
     592* the trays temperature (OutletL.T);
     593* the trays liquid level (Level) OR the trays liquid flow (OutletL.F);
     594* (NoComps - 1) OutletL (OR OutletV) compositions for each tray;
     595       
     596* the condenser temperature (OutletL.T);
     597* the condenser liquid level (Level);
     598* (NoComps - 1) OutletL (OR OutletV) compositions;
     599       
     600* the bottom tank temperature (OutletL.T);
     601* the bottom tank liquid level (Level);
     602* (NoComps - 1) OutletL (OR OutletV) compositions.
     603";
     604
     605PARAMETERS
     606        CondenserVapourFlow     as Switcher     (Valid = ["on", "off"], Default = "on",Hidden=true);
     607
     608VARIABLES
     609
     610        CondenserUnity as condenser;
     611        SplitterTop             as splitter;
     612        PumpUnity               as pump;
     613        BottomVessel    as tank;
     614        SplitterBottom  as splitter;
     615        ReboilerUnity   as reboilerSteady;
     616        alfaTopo                        as Real;
     617
     618out             HeatToCondenser         as energy_stream                                (Brief="Heat supplied to Condenser",Hidden=true);
     619out             HeatToReboiler                  as energy_stream                                (Brief="Heat supplied to Reboiler",Hidden=true);
     620out             HeatToBottomVessel      as energy_stream                                (Brief="Heat supplied to Bottom Vessel",Hidden=true);
     621
     622out     VapourDistillate                                as vapour_stream        (Brief="Vapour outlet stream From Top Condenser", PosX=0.73, PosY=0);
     623in              ConnectorCondenserVout  as stream                               (Brief="Connector for Vapour outlet stream From Top Condenser", Hidden=true);
     624
     625out     LiquidDistillate                                as liquid_stream        (Brief="Liquid outlet stream From Top Splitter", PosX=1, PosY=0.45);
     626in              ConnectorSplitterTop    as stream                       (Brief="Connector for Liquid outlet stream From Top Splitter", Hidden=true);
     627
     628out     BottomProduct                                   as liquid_stream        (Brief="Liquid outlet stream From Bottom Splitter", PosX=1, PosY=1);
     629in              ConnectorSplitterBottom         as stream                       (Brief="Connector for Liquid outlet stream From Reboiler", Hidden=true);
     630
     631EQUATIONS
     632
     633# Condenser Connector Equations
     634        ConnectorCondenserVout.T = VapourDistillate.T;
     635        ConnectorCondenserVout.P = VapourDistillate.P;
     636        ConnectorCondenserVout.F = VapourDistillate.F;
     637        ConnectorCondenserVout.z = VapourDistillate.z;
     638
     639# Top Splitter Connector Equations
     640        ConnectorSplitterTop.T = LiquidDistillate.T;
     641        ConnectorSplitterTop.P = LiquidDistillate.P;
     642        ConnectorSplitterTop.F = LiquidDistillate.F;
     643        ConnectorSplitterTop.z = LiquidDistillate.z;
     644
     645# Bottom Splitter Connector Equations
     646        ConnectorSplitterBottom.T = BottomProduct.T;
     647        ConnectorSplitterBottom.P = BottomProduct.P;
     648        ConnectorSplitterBottom.F = BottomProduct.F;
     649        ConnectorSplitterBottom.z = BottomProduct.z;
     650
     651switch CondenserVapourFlow
     652                case "on":
     653                CondenserUnity.InletV.F*trays(1).vV = alfaTopo * Ah * sqrt(2*(trays(1).OutletV.P -
     654                CondenserUnity.OutletL.P + 1e-8 * 'atm') / (alfa*trays(1).rhoV));
     655                when CondenserUnity.InletV.F < 1e-6 * 'kmol/h' switchto "off";
     656               
     657                case "off":
     658                CondenserUnity.InletV.F = 0 * 'mol/s';
     659                when trays(1).OutletV.P > CondenserUnity.OutletL.P + 1e-1 * 'atm' switchto "on";
     660end     
     661
     662CONNECTIONS
     663#vapor
     664        ReboilerUnity.OutletV   to trays(NumberOfTrays).InletV;
     665        trays(1).OutletV                                to CondenserUnity.InletV;
     666
     667#liquid
     668        CondenserUnity.OutletL          to SplitterTop.Inlet;   
     669        SplitterTop.Outlet2                             to PumpUnity.Inlet;
     670        PumpUnity.Outlet                                        to trays(1).InletL;
     671        trays(NumberOfTrays).OutletL    to BottomVessel.Inlet;
     672        BottomVessel.Outlet                             to SplitterBottom.Inlet;
     673        SplitterBottom.Outlet2                  to ReboilerUnity.InletL;
     674
     675#Connectors
     676HeatToCondenser                         to CondenserUnity.InletQ;
     677HeatToReboiler                          to ReboilerUnity.InletQ;
     678HeatToBottomVessel      to BottomVessel.InletQ;
     679CondenserUnity.OutletV to ConnectorCondenserVout;
     680SplitterTop.Outlet1             to ConnectorSplitterTop;
     681SplitterBottom.Outlet1  to ConnectorSplitterBottom;
     682
     683end
  • trunk/sample/UserSamples/ColumnDistillationThermosyphonSubcooling_Sample.pfd

    r658 r660  
    2121                <NLASolver_File_Index>0</NLASolver_File_Index>
    2222                <NLASolver_File_Text>sundials</NLASolver_File_Text>
    23                 <DAESolver_File_Index>0</DAESolver_File_Index>
    24                 <DAESolver_File_Text>sundials</DAESolver_File_Text>
     23                <DAESolver_File_Index>2</DAESolver_File_Index>
     24                <DAESolver_File_Text>dasslc</DAESolver_File_Text>
    2525        </Options>
    2626        <Width>2000</Width>
     
    3131                <Show_Grid>1</Show_Grid>
    3232                <Snap_to_Grid>1</Snap_to_Grid>
    33                 <Width>1244</Width>
    34                 <Height>514</Height>
     33                <Width>1260</Width>
     34                <Height>503</Height>
    3535                <X>0</X>
    3636                <Y>0</Y>
     
    4040                <Show_Grid>1</Show_Grid>
    4141                <Snap_to_Grid>1</Snap_to_Grid>
    42                 <Width>1244</Width>
     42                <Width>1260</Width>
    4343                <Height>0</Height>
    4444                <X>0</X>
     
    4949                <Id_String>simple_source_1</Id_String>
    5050                <Block_Name>feed</Block_Name>
    51                 <Image_File_Name>/media/sdb5/gerson/projetos/repositorio/biblioteca/trunk/eml/icon/Source.png</Image_File_Name>
     51                <Image_File_Name>/home/ubuntu/repositorio/alsoc/biblioteca/trunk/eml/icon/Source.png</Image_File_Name>
    5252                <X>66</X>
    5353                <Y>179</Y>
     
    127127                <Id_String>simple_sink_1</Id_String>
    128128                <Block_Name>LiquidOut</Block_Name>
    129                 <Image_File_Name>/media/sdb5/gerson/projetos/repositorio/biblioteca/trunk/eml/icon/Sink.png</Image_File_Name>
     129                <Image_File_Name>/home/ubuntu/repositorio/alsoc/biblioteca/trunk/eml/icon/Sink.png</Image_File_Name>
    130130                <X>809</X>
    131131                <Y>419</Y>
     
    160160                <Id_String>simple_sink_3</Id_String>
    161161                <Block_Name>Liquid</Block_Name>
    162                 <Image_File_Name>/media/sdb5/gerson/projetos/repositorio/biblioteca/trunk/eml/icon/Sink.png</Image_File_Name>
     162                <Image_File_Name>/home/ubuntu/repositorio/alsoc/biblioteca/trunk/eml/icon/Sink.png</Image_File_Name>
    163163                <X>849</X>
    164164                <Y>181</Y>
     
    193193                <Id_String>User_Distillation_thermosyphon_subcooling_1</Id_String>
    194194                <Block_Name>Distillation_thermosyphon_subcooling</Block_Name>
    195                 <Image_File_Name>/media/sdb5/gerson/projetos/repositorio/biblioteca/trunk/eml/UserModels/icon/DistillationThermosyphonSubcooling.png</Image_File_Name>
     195                <Image_File_Name>/home/ubuntu/repositorio/alsoc/biblioteca/trunk/eml/UserModels/icon/DistillationThermosyphonSubcooling.png</Image_File_Name>
    196196                <X>270</X>
    197197                <Y>47</Y>
     
    14031403                                <Desc>LevelFraction</Desc>
    14041404                                <Index>0</Index>
    1405                                 <Values>0.2</Values>
     1405                                <Values>0.8</Values>
    14061406                                <Status>4</Status>
    14071407                        </Parameters>
     
    15871587                                <Desc>TopVessel.Outlet.T</Desc>
    15881588                                <Index>0</Index>
    1589                                 <Values>260</Values>
     1589                                <Values>259.934</Values>
    15901590                                <Status>2</Status>
    15911591                                <Unit>K</Unit>
     
    16761676                                <Desc>TopVessel.Level</Desc>
    16771677                                <Index>0</Index>
    1678                                 <Values>1</Values>
     1678                                <Values>0.999425</Values>
    16791679                                <Status>2</Status>
    16801680                                <Unit>m</Unit>
     
    19641964                                <Desc>BottomVessel.Outlet.T</Desc>
    19651965                                <Index>0</Index>
    1966                                 <Values>330</Values>
     1966                                <Values>330.034</Values>
    19671967                                <Status>2</Status>
    19681968                                <Unit>K</Unit>
     
    20392039                                <Desc>BottomVessel.Level</Desc>
    20402040                                <Index>0</Index>
    2041                                 <Values>1</Values>
     2041                                <Values>1.00117</Values>
    20422042                                <Status>2</Status>
    20432043                                <Unit>m</Unit>
Note: See TracChangeset for help on using the changeset viewer.