Ignore:
Timestamp:
Jun 3, 2009, 5:07:22 PM (13 years ago)
Author:
gerson bicca
Message:

some adaption in models

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/gui/eml/streams.mso

    r739 r757  
    214214end
    215215
     216Model sink2
     217        ATTRIBUTES
     218        Pallete = true;
     219        Icon = "icon/Sink2";
     220        Brief = "Material stream sink";
     221        Info = "
     222        This model should be used for boundary streams when additional
     223        information about the stream is desired.
     224
     225        Some of the additional informations calculated by this models are:
     226         * Mass density
     227         * Mass flow
     228         * Mass compostions
     229         * Specific volume
     230         * Vapour fraction
     231         * Volumetric flow
     232         * Liquid and Vapour compositions
     233        ";
     234
     235        PARAMETERS
     236        outer PP                        as Plugin               (Brief = "External Physical Properties", Type="PP");
     237        outer NComp             as Integer              (Brief = "Number of chemical components", Lower = 1);
     238                  M(NComp)      as molweight    (Brief = "Component Mol Weight");
     239       
     240        SET
     241
     242        M   = PP.MolecularWeight();
     243       
     244        VARIABLES
     245        in Inlet                as stream               (Brief = "Inlet Stream", PosX=1, PosY=0.5308, Protected=true,Symbol="_{in}");
     246        v                               as fraction             (Brief = "Vapourization fraction",Hidden=true);
     247        x(NComp)                as fraction             (Brief = "Liquid Molar Fraction",Hidden=true);
     248        y(NComp)                as fraction             (Brief = "Vapour Molar Fraction",Hidden=true);
     249        zmass(NComp)    as fraction             (Brief = "Mass Fraction");
     250        Mw                              as molweight    (Brief = "Average Mol Weight");
     251        vm                              as volume_mol   (Brief = "Molar Volume");       
     252        rho                             as dens_mass    (Brief = "Stream Mass Density");
     253        rhom                    as dens_mol             (Brief = "Stream Molar Density");
     254        Fw                              as flow_mass    (Brief = "Stream Mass Flow");
     255        Fvol            as flow_vol     (Brief = "Volumetric Flow");
     256        T_Cdeg                  as temperature  (Brief = "Temperature in °C", Lower=-200);
     257
     258        EQUATIONS
     259        "Flash Calculation"
     260        [v, x, y] = PP.FlashPH(Inlet.P, Inlet.h, Inlet.z);
     261       
     262        "Average Molecular Weight"
     263        Mw = sum(M*Inlet.z);
     264
     265        "Molar Density"
     266                rhom * vm = 1;
     267               
     268        "Mass or Molar Density"
     269        rhom * Mw = rho;
     270
     271        "Flow Mass"
     272        Fw      =  Mw*Inlet.F;
     273
     274        "Molar Volume"
     275        vm = (1-v)*PP.LiquidVolume(Inlet.T, Inlet.P, x) + v*PP.VapourVolume(Inlet.T,Inlet.P,y);
     276       
     277        "Volumetric Flow"
     278        Fvol = Inlet.F*vm ;
     279       
     280        "Mass Fraction"
     281        zmass = M*Inlet.z / Mw;
     282       
     283        "Temperature in °C"
     284        T_Cdeg = Inlet.T - 273.15 * 'K';
     285
     286end
     287
    216288Model simple_sink
    217289        ATTRIBUTES
     
    228300end
    229301
     302Model simple_sink2
     303        ATTRIBUTES
     304        Pallete = true;
     305        Icon = "icon/Sink2";
     306        Brief = "Simple material stream sink";
     307        Info = "
     308        This model should be used for boundary streams when no additional
     309        information about the stream is desired.
     310        ";
     311       
     312        VARIABLES
     313        in Inlet                as stream       (Brief = "Inlet Stream", PosX=1, PosY=0.5308, Protected=true,Symbol="_{in}");
     314       
     315end
     316
    230317Model energy_source
    231318        ATTRIBUTES
     
    236323        VARIABLES
    237324        out OutletQ             as power(Brief = "Outlet energy stream", PosX=1, PosY=0.40, Symbol="_{out}");
     325
     326end
     327
     328Model energy_source2
     329        ATTRIBUTES
     330        Pallete = true;
     331        Icon = "icon/energy_source2";
     332        Brief = "Energy stream source";
     333
     334        VARIABLES
     335        out OutletQ             as power(Brief = "Outlet energy stream", PosX=0, PosY=0.40, Symbol="_{out}");
    238336
    239337end
     
    539637end
    540638
     639Model source2
     640
     641ATTRIBUTES
     642        Pallete = true;
     643        Icon = "icon/Source2";
     644        Brief = "Material stream source";
     645        Info = "
     646        This model should be used for boundary streams.
     647        Usually these streams are known and come from another process
     648        units.
     649
     650        The user should specify:
     651         * Total molar (mass or volumetric) flow
     652         * Temperature
     653         * Pressure
     654         * Molar or mass composition
     655       
     656        No matter the specification set, the model will calculate some
     657        additional properties:
     658         * Mass density
     659         * Mass flow
     660         * Mass compostions
     661         * Specific volume
     662         * Vapour fraction
     663         * Volumetric flow
     664         * Liquid and Vapour compositions
     665        ";
     666
     667PARAMETERS
     668        outer PP                                                as Plugin                       (Brief = "External Physical Properties", Type="PP");
     669        outer NComp                             as Integer                      (Brief = "Number of chemical components", Lower = 1);
     670                  M(NComp)                              as molweight    (Brief = "Component Mol Weight");
     671                  CompositionBasis              as Switcher             (Brief = "Molar or Mass Composition", Valid = ["Molar", "Mass"], Default="Molar");
     672                  ValidPhases                           as Switcher             (Brief = "Valid Phases for Flash Calculation", Valid = ["Vapour-Only", "Liquid-Only","Vapour-Liquid"], Default="Vapour-Liquid");
     673       
     674
     675SET
     676
     677        M   = PP.MolecularWeight();
     678
     679VARIABLES
     680
     681        out Outlet                      as stream                       (Brief = "Outlet stream", PosX=0, PosY=0.5256, Symbol="_{out}",Protected=true);
     682       
     683        Composition(NComp) as fraction                  (Brief = "Stream Composition");
     684        SumOfComposition as positive                    (Brief = "Sum of Stream Composition",Protected=true);
     685        F                                                               as flow_mol             (Brief = "Stream Molar Flow Rate");
     686        Fw                                                      as flow_mass            (Brief = "Stream Mass Flow");
     687        Fvol                                    as flow_vol        (Brief = "Volumetric Flow");
     688        T                                                               as temperature  (Brief = "Stream Temperature");
     689        T_Cdeg                                          as temperature  (Brief = "Temperature in °C", Lower=-200);
     690        P                                                               as pressure             (Brief = "Stream Pressure");
     691       
     692        x(NComp)                        as fraction                     (Brief = "Liquid Molar Fraction",Hidden=true);
     693        y(NComp)                        as fraction                     (Brief = "Vapour Molar Fraction",Hidden=true);
     694       
     695        Mw                                              as molweight                    (Brief = "Average Mol Weight",Protected=true);
     696        vm                                              as volume_mol           (Brief = "Molar Volume",Protected=true);       
     697        rho                                             as dens_mass                    (Brief = "Stream Mass Density",Protected=true);
     698        rhom                                            as dens_mol                     (Brief = "Stream Molar Density",Protected=true);
     699       
     700        zmass(NComp)            as fraction                             (Brief = "Mass Fraction",Protected=true);
     701       
     702        EQUATIONS
     703
     704switch CompositionBasis
     705
     706        case "Molar":
     707"Stream Molar Composition"
     708        Outlet.z = Composition/sum(Composition);
     709
     710"Stream Mass Composition"
     711        zmass = M*Outlet.z / Mw;
     712
     713        case "Mass":
     714"Stream Mass Composition"
     715        zmass = Composition/sum(Composition);
     716
     717"Stream Molar Composition"
     718        Outlet.z*sum(zmass/M) = zmass/M;
     719
     720end
     721
     722switch ValidPhases
     723       
     724        case "Liquid-Only":
     725
     726"Vapour Fraction"
     727        Outlet.v = 0;
     728
     729"Liquid Composition"
     730        x = Outlet.z;
     731
     732"Vapour Composition"
     733        y = Outlet.z;
     734
     735"Overall Enthalpy"
     736        Outlet.h = PP.LiquidEnthalpy(Outlet.T, Outlet.P, x);
     737
     738"Molar Volume"
     739        vm = PP.LiquidVolume(Outlet.T, Outlet.P, x);
     740
     741        case "Vapour-Only":
     742
     743"Vapor Fraction"
     744        Outlet.v = 1;
     745
     746"Liquid Composition"
     747        x = Outlet.z;
     748
     749"Vapour Composition"
     750        y = Outlet.z;
     751
     752"Overall Enthalpy"
     753        Outlet.h = PP.VapourEnthalpy(Outlet.T, Outlet.P, y);
     754
     755"Molar Volume"
     756        vm = PP.VapourVolume(Outlet.T, Outlet.P, y);
     757
     758
     759        case "Vapour-Liquid":
     760
     761"Flash Calculation"
     762        [Outlet.v, x, y] = PP.Flash(Outlet.T, Outlet.P, Outlet.z);
     763
     764"Overall Enthalpy"
     765        Outlet.h = (1-Outlet.v)*PP.LiquidEnthalpy(Outlet.T, Outlet.P, x) + Outlet.v*PP.VapourEnthalpy(Outlet.T, Outlet.P, y);
     766
     767"Molar Volume"
     768        vm = (1-Outlet.v)*PP.LiquidVolume(Outlet.T, Outlet.P, x) + Outlet.v*PP.VapourVolume(Outlet.T,Outlet.P,y);
     769
     770end
     771
     772"Sum of Composition"
     773        SumOfComposition = sum(Composition);
     774
     775"Molar Density"
     776        rhom * vm = 1;
     777
     778"Average Molecular Weight"
     779        Mw = sum(M*Outlet.z);
     780
     781"Mass or Molar Density"
     782        rhom * Mw = rho;
     783
     784"Flow Mass"
     785        Fw      =  Mw*Outlet.F;
     786
     787"Volumetric Flow"
     788        Fvol = Outlet.F*vm ;
     789       
     790"Temperature in °C"
     791        T_Cdeg = Outlet.T - 273.15 * 'K';
     792
     793"Equate Flow"
     794        Outlet.F = F;
     795
     796"Equate Pressures"
     797        Outlet.P = P;
     798
     799"Equate Temperatures"
     800        Outlet.T = T;
     801
     802end
     803
    541804Model simple_source
    542805
     
    649912end
    650913
     914Model simple_source2
     915
     916ATTRIBUTES
     917        Pallete = true;
     918        Icon = "icon/Source2";
     919        Brief = "Simple Material stream source";
     920        Info = "
     921        This model should be used for boundary streams.
     922        Usually these streams are known and come from another process
     923        units.
     924
     925        The user should specify:
     926         * Total molar flow
     927         * Temperature
     928         * Pressure
     929         * Molar composition
     930";
     931
     932PARAMETERS
     933        outer PP                                                as Plugin                       (Brief = "External Physical Properties", Type="PP");
     934        outer NComp                             as Integer                      (Brief = "Number of chemical components", Lower = 1);
     935                  M(NComp)                              as molweight    (Brief = "Component Mol Weight");
     936                  ValidPhases                           as Switcher             (Brief = "Valid Phases for Flash Calculation", Valid = ["Vapour-Only", "Liquid-Only","Vapour-Liquid"], Default="Vapour-Liquid");
     937       
     938
     939SET
     940
     941        M   = PP.MolecularWeight();
     942
     943VARIABLES
     944
     945        out Outlet                      as stream                       (Brief = "Outlet stream", PosX=1, PosY=0.5256, Symbol="_{out}",Protected=true);
     946       
     947        MolarComposition(NComp) as fraction                     (Brief = "Stream Molar Composition");
     948        SumOfComposition as positive                    (Brief = "Sum of Stream Composition",Protected=true);
     949        F                                                               as flow_mol             (Brief = "Stream Molar Flow Rate");
     950        T                                                               as temperature  (Brief = "Stream Temperature");
     951        T_Cdeg                                          as temperature  (Brief = "Temperature in °C", Lower=-200);
     952        P                                                               as pressure             (Brief = "Stream Pressure");
     953       
     954        x(NComp)                        as fraction                     (Brief = "Liquid Molar Fraction",Hidden=true);
     955        y(NComp)                        as fraction                     (Brief = "Vapour Molar Fraction",Hidden=true);
     956       
     957
     958EQUATIONS
     959
     960"Sum of Composition"
     961        SumOfComposition = sum(MolarComposition);
     962       
     963"Stream Molar Composition"
     964        Outlet.z = MolarComposition/sum(MolarComposition);
     965
     966
     967switch ValidPhases
     968       
     969        case "Liquid-Only":
     970
     971"Vapour Fraction"
     972        Outlet.v = 0;
     973
     974"Liquid Composition"
     975        x = Outlet.z;
     976
     977"Vapour Composition"
     978        y = Outlet.z;
     979
     980"Overall Enthalpy"
     981        Outlet.h = PP.LiquidEnthalpy(Outlet.T, Outlet.P, x);
     982
     983
     984        case "Vapour-Only":
     985
     986"Vapor Fraction"
     987        Outlet.v = 1;
     988
     989"Liquid Composition"
     990        x = Outlet.z;
     991
     992"Vapour Composition"
     993        y = Outlet.z;
     994
     995"Overall Enthalpy"
     996        Outlet.h = PP.VapourEnthalpy(Outlet.T, Outlet.P, y);
     997
     998
     999        case "Vapour-Liquid":
     1000
     1001"Flash Calculation"
     1002        [Outlet.v, x, y] = PP.Flash(Outlet.T, Outlet.P, Outlet.z);
     1003
     1004"Overall Enthalpy"
     1005        Outlet.h = (1-Outlet.v)*PP.LiquidEnthalpy(Outlet.T, Outlet.P, x) + Outlet.v*PP.VapourEnthalpy(Outlet.T, Outlet.P, y);
     1006
     1007
     1008end
     1009
     1010"Temperature in °C"
     1011        T_Cdeg = Outlet.T - 273.15 * 'K';
     1012
     1013"Equate Flow"
     1014        Outlet.F = F;
     1015
     1016"Equate Pressures"
     1017        Outlet.P = P;
     1018
     1019"Equate Temperatures"
     1020        Outlet.T = T;
     1021
     1022end
     1023
    6511024Model sourceNoFlow
    6521025
Note: See TracChangeset for help on using the changeset viewer.