Ignore:
Timestamp:
Feb 20, 2010, 1:24:41 AM (12 years ago)
Author:
Argimiro Resende Secchi
Message:

Checking new EML.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/gui/sample/controllers/sample_PID_MIMO.mso

    r735 r910  
    2424* Author: Argimiro R. Secchi
    2525* $Id: sample_PID_MIMO.mso 313 2007-07-14 16:45:55Z arge $
    26 *--------------------------------------------------------------------#
     26*--------------------------------------------------------------------*#
    2727
    2828using "stage_separators/column";
     
    4141        NComp   as Integer;
    4242       
    43         Qcmin as heat_rate (Brief="Minimum Condenser Heat supplied");
    44         Qcmax as heat_rate (Brief="Maximum Condenser Heat supplied");
    4543        Qrmin as heat_rate (Brief="Minimum Reboiler Heat supplied");
    4644        Qrmax as heat_rate (Brief="Maximum Reboiler Heat supplied");
    47         Frmin as flow_mol (Brief="Minimum bottom flow rate");
    48         Frmax as flow_mol (Brief="Maximum bottom flow rate");
    49         Fcmin as flow_mol (Brief="Minimum reflux flow rate");
    50         Fcmax as flow_mol (Brief="Maximum reflux flow rate");
    51         Hmint as length (Brief="Minimum liquid level in top tank");
    52         Hmaxt as length (Brief="Maximum liquid level in top tank");
    53     Hminb as length (Brief="Minimum liquid level in reboiler");
    54         Hmaxb as length (Brief="Maximum liquid level in reboiler");
    55         Pmax as pressure (Brief="Maximum column pressure");
    56         Pmin as pressure (Brief="Minimum column pressure");
    57         Tmax as temperature (Brief="Maximum column temperature");
    58         Tmin as temperature (Brief="Minimum column temperature");
    5945        RRmax as positive (Brief="Maximum reflux ratio");
    6046        RRmin as positive (Brief="Minimum reflux ratio");
     
    6349        Qc as energy_source (Brief="Heat rate removed from condenser");
    6450        Qr as energy_source (Brief="Heat rate supplied to reboiler");
    65         Had_top as Real (Brief="Dimensionless condenser level");
    66         Had_bot as Real (Brief="Dimensionless reboiler level");
    67         Pad as Real (Brief="Dimensionless pressure");
    6851        P_sp as pressure (Brief="Pressure setpoint");
    69         Tad as Real (Brief="Dimensionless temperature");
    7052        T_sp as temperature (Brief="Condenser temperature setpoint");
    7153        RR      as positive (Brief="Reflux ratio");
    72         LC_sp as length (Brief="Condenser level setpoint");
    73         LR_sp as length (Brief="Reboiler level setpoint");
    74         xtop as fraction (Brief="Controlled top composition");
    75         xbot as fraction (Brief="Controlled bottom composition");
     54        LC_sp as fraction (Brief="Condenser level setpoint");
     55        LR_sp as fraction (Brief="Reboiler level setpoint");
     56out     xtop as fraction (Brief="Controlled top composition");
     57out     xbot as fraction (Brief="Controlled bottom composition");
    7658        xtop_sp as fraction (Brief="Controlled top composition setpoint");
    7759        xbot_sp as fraction (Brief="Controlled bottom composition setpoint");
     
    8163
    8264        DEVICES
    83         col as Distillation_kettle_cond;
     65        col as Section_Column;
     66        cond as condenser;
     67        reb as reboiler;
     68        sptop as splitter_column;
     69        pump1 as pump;
     70#       Valve_Distillate as valve_flow;
     71#       Valve_Bottom as valve_flow;
    8472        feed as source;
    85         zero as stream;
    8673        TCcond as PIDIncr;
    8774        LCtop as PIDIncr;
     
    9481
    9582        CONNECTIONS
    96         feed.Outlet to col.trays(5).Inlet;
    97         zero to col.reb.Inlet;
    98         zero to col.trays([1:4]).Inlet;
    99         zero to col.trays([6:col.NTrays]).Inlet;
    100         Qc.OutletQ to col.cond.InletQ;
    101         Qr.OutletQ to col.reb.InletQ;
     83        feed.Outlet to col.FeedTray;
     84        Qc.OutletQ to cond.InletQ;
     85        Qr.OutletQ to reb.InletQ;
     86#       sptop.Distillate to Valve_Distillate.Inlet;
     87        sptop.Reflux to pump1.Inlet;
     88        pump1.Outlet to col.LiquidInlet;
     89        col.VapourOutlet to cond.InletVapour;
     90        cond.OutletLiquid to sptop.Inlet;
     91        col.LiquidOutlet to reb.InletLiquid;
     92        reb.OutletVapour to col.VapourInlet;
     93#       reb.OutletLiquid to Valve_Bottom.Inlet;
     94        cond.TI to TCcond.Input;
     95        cond.PI to PC.Input;
     96        cond.LI to LCtop.Input;
     97        reb.LI to LCbot.Input;
     98        xtop to PID11.Input;
     99        xbot to PID12.Input;
     100        xtop to PID21.Input;
     101        xbot to PID22.Input;
    102102
    103103        EQUATIONS
    104    "Temperature Controller"
    105         TCcond.Parameters.tau = 0*'s'; 
    106         TCcond.Parameters.tauSet = 0*'s';       
    107         TCcond.Parameters.alpha = 0.3;
    108         TCcond.Parameters.bias = 0.5;   
    109         TCcond.Parameters.gamma = 1;
    110         TCcond.Parameters.beta = 1;
    111         TCcond.Options.action = 1;
    112         TCcond.Options.clip = 1;
    113         TCcond.Options.autoMan = 0;
    114         TCcond.Parameters.intTime = 60*'s';
    115         TCcond.Parameters.gain = 0.6;
    116         TCcond.Parameters.derivTime = 1*'s';
    117         TCcond.Ports.setPoint = (T_sp - Tmin)/(Tmax-Tmin);
    118         TCcond.Ports.input = Tad;
    119         Tad = (col.cond.OutletL.T-Tmin)/(Tmax-Tmin);
    120         Qc.OutletQ.Q = Qcmin+(Qcmax-Qcmin)*TCcond.Ports.output;
    121 
    122         "Pressure Controller"
    123         PC.Parameters.tau = 0*'s';     
    124         PC.Parameters.tauSet = 0*'s';   
    125         PC.Parameters.alpha = 0.3;
    126         PC.Parameters.bias = 0;
    127         PC.Parameters.gamma = 1;
    128         PC.Parameters.beta = 1;
    129         PC.Options.action = -1;
    130         PC.Options.clip = 1;
    131         PC.Options.autoMan = 0;
    132         PC.Parameters.intTime = 50*'s';
    133         PC.Parameters.gain = 0.5;
    134         PC.Parameters.derivTime = 1*'s';
    135         PC.Ports.setPoint = (P_sp-Pmin)/(Pmax-Pmin);
    136         PC.Ports.input = Pad;
    137         Pad = (col.cond.OutletV.P-Pmin)/(Pmax-Pmin);
    138         col.cond.OutletV.F = (Fcmin+(Fcmax-Fcmin)*PC.Ports.output);     
     104
     105        TCcond.SetPoint * 'K' = T_sp;
     106        Qc.OutletQ = TCcond.Output * 'kJ/h';
     107
     108        PC.SetPoint * 'bar' = P_sp;
     109        cond.OutletVapour.F = PC.Output * 'kmol/h';
     110
     111        LCtop.SetPoint = LC_sp;
     112        sptop.Distillate.F = LCtop.Output * 'kmol/h';
     113
     114        LCbot.SetPoint = LR_sp;
     115        reb.OutletLiquid.F = LCbot.Output * 'kmol/h';
     116
     117        "MIMO PID Controller"
     118        PID11.SetPoint = xtop_sp;
     119        PID12.SetPoint = xbot_sp;
     120
     121        RR = RRmin + (RRmax-RRmin) * (PID11.Output + PID12.Output);
     122
     123        PID21.SetPoint = xtop_sp;
     124        PID22.SetPoint = xbot_sp;
     125
     126        Qr.OutletQ = Qrmin + (Qrmax-Qrmin) * (PID21.Output + PID22.Output);
     127
     128        RR * (cond.OutletVapour.F + sptop.Distillate.F) = sptop.Reflux.F;
     129        xtop = cond.OutletLiquid.z(4); # benzene
     130        xbot = reb.OutletLiquid.z(3); # propylene
     131
     132        if time < 1 * 'h' then
     133                feed.F = 113.4 * 'kmol/h';
     134        else
     135                feed.F = 120 * 'kmol/h';
     136        end
     137
     138        SPECIFY
     139        feed.T = 291 * 'K';
     140        feed.P = 568.3 * 'kPa';
     141        feed.Composition = 1/NComp;
    139142       
    140         "Ttop Level Controller"
    141         LCtop.Parameters.tau = 0*'s';   
    142         LCtop.Parameters.tauSet = 0*'s';       
    143         LCtop.Parameters.alpha = 0.3;
    144         LCtop.Parameters.bias = 0.5;   
    145         LCtop.Parameters.gamma = 1;
    146         LCtop.Parameters.beta = 1;
    147         LCtop.Options.action = -1;
    148         LCtop.Options.clip = 1;
    149         LCtop.Options.autoMan = 0;
    150         LCtop.Parameters.intTime = 20*'s';
    151         LCtop.Parameters.gain = 1;
    152         LCtop.Parameters.derivTime = 0*'s';
    153         LCtop.Ports.setPoint = (LC_sp - Hmint)/(Hmaxt-Hmint);
    154         LCtop.Ports.input = Had_top;
    155         Had_top = (col.cond.Level-Hmint)/(Hmaxt-Hmint);
    156         col.sptop.Outlet1.F = Fcmin + (Fcmax-Fcmin) * LCtop.Ports.output;
    157 
    158         "Tbottom Level Controller"
    159         LCbot.Parameters.tau = 0*'s';   
    160         LCbot.Parameters.tauSet = 0*'s';       
    161         LCbot.Parameters.alpha = 0.3;
    162         LCbot.Parameters.bias = 0.5;   
    163         LCbot.Parameters.gamma = 1;
    164         LCbot.Parameters.beta = 1;
    165         LCbot.Options.action = -1;
    166         LCbot.Options.clip = 1;
    167         LCbot.Options.autoMan = 0;
    168         LCbot.Parameters.intTime = 100*'s';
    169         LCbot.Parameters.gain = 1;
    170         LCbot.Parameters.derivTime = 0*'s';
    171         LCbot.Ports.setPoint = (LR_sp - Hminb)/(Hmaxb-Hminb);
    172         LCbot.Ports.input = Had_bot;
    173         Had_bot = (col.reb.Level-Hminb)/(Hmaxb-Hminb);
    174         col.reb.OutletL.F = Frmin + (Frmax-Frmin) * LCbot.Ports.output;
    175 
    176         "MIMO PID Controller"
    177         PID11.Parameters.tau = 0*'s';   
    178         PID11.Parameters.tauSet = 0*'s';       
    179         PID11.Parameters.alpha = 0.3;
    180         PID11.Parameters.bias = 0.1;   
    181         PID11.Parameters.gamma = 1;
    182         PID11.Parameters.beta = 1;
    183         PID11.Options.action = -1;
    184         PID11.Options.clip = 1;
    185         PID11.Options.autoMan = 0;
    186         PID11.Parameters.intTime = 60*'s';
    187         PID11.Parameters.gain = 0.6;
    188         PID11.Parameters.derivTime = 0*'s';
    189         PID11.Ports.setPoint = xtop_sp;
    190         PID11.Ports.input = xtop;
    191 
    192         PID12.Parameters.tau = 0*'s';   
    193         PID12.Parameters.tauSet = 0*'s';       
    194         PID12.Parameters.alpha = 0.3;
    195         PID12.Parameters.bias = 0.0;   
    196         PID12.Parameters.gamma = 1;
    197         PID12.Parameters.beta = 1;
    198         PID12.Options.action = -1;
    199         PID12.Options.clip = 1;
    200         PID12.Options.autoMan = 0;
    201         PID12.Parameters.intTime = 100*'s';
    202         PID12.Parameters.gain = 0.5;
    203         PID12.Parameters.derivTime = 0*'s';
    204         PID12.Ports.setPoint = xbot_sp;
    205         PID12.Ports.input = xbot;
    206 
    207         RR = RRmin + (RRmax-RRmin) * (PID11.Ports.output + PID12.Ports.output);
    208 
    209         PID21.Parameters.tau = 0*'s';   
    210         PID21.Parameters.tauSet = 0*'s';       
    211         PID21.Parameters.alpha = 0.3;
    212         PID21.Parameters.bias = 0.0;   
    213         PID21.Parameters.gamma = 1;
    214         PID21.Parameters.beta = 1;
    215         PID21.Options.action = 1;
    216         PID21.Options.clip = 1;
    217         PID21.Options.autoMan = 0;
    218         PID21.Parameters.intTime = 100*'s';
    219         PID21.Parameters.gain = 0.5;
    220         PID21.Parameters.derivTime = 0*'s';
    221         PID21.Ports.setPoint = xtop_sp;
    222         PID21.Ports.input = xtop;
    223 
    224         PID22.Parameters.tau = 0*'s';   
    225         PID22.Parameters.tauSet = 0*'s';       
    226         PID22.Parameters.alpha = 0.3;
    227         PID22.Parameters.bias = 0.5;   
    228         PID22.Parameters.gamma = 1;
    229         PID22.Parameters.beta = 1;
    230         PID22.Options.action = -1;
    231         PID22.Options.clip = 1;
    232         PID22.Options.autoMan = 0;
    233         PID22.Parameters.intTime = 60*'s';
    234         PID22.Parameters.gain = 0.6;
    235         PID22.Parameters.derivTime = 0*'s';
    236         PID22.Ports.setPoint = xbot_sp;
    237         PID22.Ports.input = xbot;
    238        
    239         Qr.OutletQ.Q = Qrmin + (Qrmax-Qrmin) * (PID21.Ports.output + PID22.Ports.output);
    240 
    241         RR * (col.cond.OutletV.F + col.sptop.Outlet1.F) = col.sptop.Outlet2.F;
    242         xtop = col.cond.OutletL.z(4); # benzene
    243         xbot = col.reb.OutletL.z(3); # propylene
    244 
    245         if time < 1 * 'h' then
    246                 feed.Outlet.F = 113.4 * 'kmol/h';
    247         else
    248                 feed.Outlet.F = 120 * 'kmol/h';
    249         end
    250 
    251         SPECIFY
    252         feed.Outlet.T = 291 * 'K';
    253         feed.Outlet.P = 568.3 * 'kPa';
    254         feed.Outlet.z = 1/NComp;
    255        
    256         zero.F = 0 * 'kmol/h';
    257         zero.T = 300 * 'K';
    258         zero.P = 1 * 'atm';
    259         zero.z = 1/NComp;
    260         zero.v = 0;
    261         zero.h = 0 * 'J/mol';
    262        
    263 #       Qr.OutletQ.Q = 3e6 * 'kJ/h';
    264         col.pump1.dP = 16 * 'kPa';
    265         col.trays.Emv = 1;
    266 #       col.sptop.Outlet2.F = 75 * 'kmol/h'; # reflux
    267     col.alfaTopo = 2;
     143#       Qr.OutletQ = 3e6 * 'kJ/h';
     144        pump1.Pincrease = 16 * 'kPa';
     145#       sptop.Reflux.F = 75 * 'kmol/h'; # reflux
     146        col.VapourDrawOffFlow = 0 * 'kmol/h' ;
     147        col.LiquidDrawOffFlow = 0 * 'kmol/h' ;
    268148
    269149        xtop_sp = 1e-3; # benzene
     
    271151        P_sp = 4.0*'bar';
    272152        T_sp = (15+273.15) * 'K';
    273         LC_sp = 1.0 * 'm';
    274         LR_sp = 1.0 * 'm';
     153        LC_sp = 0.5;
     154        LR_sp = 0.5;
    275155
    276156        SET
    277         col.NTrays = 8;
    278         col.cond.V = 2 * 'm^3';
    279         col.cond.Across = 1 * 'm^2';
    280         col.trays.V = 4 * 'ft^3';
    281         col.trays.Ah = 0.394 * 'ft^2';
    282         col.trays.lw = 20.94 * 'in';
    283         col.trays.hw = 0.125 * 'ft';
    284         col.trays.Q = 0 * 'kW';
    285         col.trays.beta = 0.6;
    286         col.trays.alfa = 4;
    287         col.trays.Ap = 3.94 * 'ft^2';
    288         col.reb.V = 2 * 'm^3';
    289         col.reb.Across = 1 * 'm^2';
     157        col.FeedTrayLocation(1) = 5;
     158        col.NumberOfTrays = 8;
     159        col.LiquidSideStreamLocation = 2;
     160        col.VapourSideStreamLocation = 2;
     161        col.WeirLength = 20.94 * 'in';
     162        col.WeirHeight = 0.125 * 'ft';
     163        col.TrayLiquidPasses = 1;
     164        col.HeatSupply = 0 * 'kW' ;
     165        col.AerationFraction = 0.6;
     166        col.DryPdropCoeff = 4;
     167        col.MurphreeEff = 1;
     168
     169        cond.Geometry.Lenght = 1 * 'm';
     170        cond.Geometry.Diameter = 1 * 'm';
     171        reb.Geometry.Lenght = 2 * 'm';
     172        reb.Geometry.Diameter = 1 * 'm';
    290173
    291174        # Controllers type
     
    299182        PID22.PID_Select = "Ideal_AW";
    300183
     184        # Temperature Controller
     185        TCcond.tau = 1*'s';     
     186        TCcond.tauSet = 1*'s'; 
     187        TCcond.alpha = 0.1;
     188        TCcond.bias = 0.5;     
     189        TCcond.gamma = 1;
     190        TCcond.beta = 1;
     191        TCcond.Action = "Reverse";
     192        TCcond.Clip = "Clipped";
     193        TCcond.Mode = "Automatic";
     194        TCcond.intTime = 60*'s';
     195        TCcond.gain = 0.6;
     196        TCcond.derivTime = 1*'s';
     197
     198        # Pressure Controller
     199        PC.tau = 1*'s';
     200        PC.tauSet = 1*'s';     
     201        PC.alpha = 0.1;
     202        PC.bias = 0;   
     203        PC.gamma = 1;
     204        PC.beta = 1;
     205        PC.Action = "Direct";
     206        PC.Clip = "Clipped";
     207        PC.Mode = "Automatic";
     208        PC.intTime = 50*'s';
     209        PC.gain = 0.5;
     210        PC.derivTime = 1*'s';
     211
     212        # Ttop Level Controller
     213        LCtop.tau = 1*'s';     
     214        LCtop.tauSet = 1*'s';   
     215        LCtop.alpha = 0.1;
     216        LCtop.bias = 0.5;       
     217        LCtop.gamma = 1;
     218        LCtop.beta = 1;
     219        LCtop.Action = "Direct";
     220        LCtop.Clip = "Clipped";
     221        LCtop.Mode = "Automatic";
     222        LCtop.intTime = 20*'s';
     223        LCtop.gain = 1;
     224        LCtop.derivTime = 0*'s';
     225
     226        # Tbottom Level Controller
     227        LCbot.tau = 1*'s';     
     228        LCbot.tauSet = 1*'s';   
     229        LCbot.alpha = 0.1;
     230        LCbot.bias = 0.5;       
     231        LCbot.gamma = 1;
     232        LCbot.beta = 1;
     233        LCbot.Action = "Direct";
     234        LCbot.Clip = "Clipped";
     235        LCbot.Mode = "Automatic";
     236        LCbot.intTime = 100*'s';
     237        LCbot.gain = 1.5;
     238        LCbot.derivTime = 0*'s';
     239
     240        # MIMO PID Controller
     241        PID11.tau = 1*'s';     
     242        PID11.tauSet = 1*'s';   
     243        PID11.alpha = 0.1;
     244        PID11.bias = 0.1;       
     245        PID11.gamma = 1;
     246        PID11.beta = 1;
     247        PID11.Action = "Direct";
     248        PID11.Clip = "Clipped";
     249        PID11.Mode = "Automatic";
     250        PID11.intTime = 60*'s';
     251        PID11.gain = 0.6;
     252        PID11.derivTime = 0*'s';
     253
     254        PID12.tau = 1*'s';     
     255        PID12.tauSet = 1*'s';   
     256        PID12.alpha = 0.1;
     257        PID12.bias = 0.0;       
     258        PID12.gamma = 1;
     259        PID12.beta = 1;
     260        PID12.Action = "Direct";
     261        PID12.Clip = "Clipped";
     262        PID12.Mode = "Automatic";
     263        PID12.intTime = 100*'s';
     264        PID12.gain = 0.5;
     265        PID12.derivTime = 0*'s';
     266       
     267        PID21.tau = 1*'s';     
     268        PID21.tauSet = 1*'s';   
     269        PID21.alpha = 0.1;
     270        PID21.bias = 0.0;       
     271        PID21.gamma = 1;
     272        PID21.beta = 1;
     273        PID21.Action = "Reverse";
     274        PID21.Clip = "Clipped";
     275        PID21.Mode = "Automatic";
     276        PID21.intTime = 100*'s';
     277        PID21.gain = 0.5;
     278        PID21.derivTime = 0*'s';
     279
     280        PID22.tau = 1*'s';     
     281        PID22.tauSet = 1*'s';   
     282        PID22.alpha = 0.1;
     283        PID22.bias = 0.5;       
     284        PID22.gamma = 1;
     285        PID22.beta = 1;
     286        PID22.Action = "Direct";
     287        PID22.Clip = "Clipped";
     288        PID22.Mode = "Automatic";
     289        PID22.intTime = 60*'s';
     290        PID22.gain = 0.6;
     291        PID22.derivTime = 0*'s';
     292
     293        PC.MinOutput = 0;
     294        PC.MaxOutput = 120;
     295        PC.MinInput = 0.5;
     296        PC.MaxInput = 10;
     297        LCtop.MinInput = 0;
     298        LCtop.MaxInput = 1;
     299        LCtop.MinOutput = 0;
     300        LCtop.MaxOutput = 120;
     301        LCbot.MinInput = 0;
     302        LCbot.MaxInput = 1;
     303        LCbot.MinOutput = 0;
     304        LCbot.MaxOutput = 60;
     305        TCcond.MaxOutput = -5e5;
     306        TCcond.MinOutput = -5e6;
     307        TCcond.MaxInput = (30+273.15);
     308        TCcond.MinInput = (-20+273.15);
     309        PID11.MinInput = 0;
     310        PID12.MinInput = 0;
     311        PID21.MinInput = 0;
     312        PID22.MinInput = 0;
     313        PID11.MaxInput = 1;
     314        PID12.MaxInput = 1;
     315        PID21.MaxInput = 1;
     316        PID22.MaxInput = 1;
     317        RRmax = 5;
     318        RRmin = 0.1;
    301319        Qrmax = 5e6 * 'kJ/h';
    302320        Qrmin = 1e6 * 'kJ/h';
    303         Frmin = 0 * 'kmol/h';
    304         Frmax = 60 * 'kmol/h';
    305         Fcmin = 0 * 'kmol/h';
    306         Fcmax = 120 * 'kmol/h';
    307         Hmint = 0 * 'm';
    308         Hmaxt = 2 * 'm';
    309         Hminb = 0 * 'm';
    310         Hmaxb = 2 * 'm';
    311         Pmin = 0.5 * 'bar';
    312         Pmax = 10 * 'bar';
    313         Qcmax = -5e5 * 'kJ/h';
    314         Qcmin = -5e6 * 'kJ/h';
    315         Tmax = (30+273.15) * 'K';
    316         Tmin = (-20+273.15) * 'K';
    317         RRmax = 5;
    318         RRmin = 0.1;
    319 
    320         INITIAL
     321
     322        # Initial condition
    321323        # condenser
    322         col.cond.OutletL.T = 260 *'K';
    323         col.cond.Level = 1 * 'm';
    324         col.cond.OutletL.z([1:4]) = [0.2, 0.2, 0.4, 0.05];
     324        cond.Levelpercent_Initial = 0.5;
     325        cond.Initial_Temperature = 260 *'K';
     326        cond.Initial_Composition = [0.2, 0.2, 0.4, 0.05, 0.15];
    325327
    326328        # reboiler
    327         col.reb.OutletL.T = 350 *'K';
    328         col.reb.Level = 1 * 'm';
    329         col.reb.OutletL.z([1:4]) = [0.1, 0.4, 0.1, 0.3];
     329        reb.Levelpercent_Initial = 0.5;
     330        reb.Initial_Temperature = 350 *'K';
     331        reb.Initial_Composition = [0.1, 0.4, 0.1, 0.3, 0.1];
    330332
    331333        # column trays
    332         col.trays.OutletL.T = [290:(330-290)/(col.NTrays-1):330] * 'K';
    333         col.trays.Level = 1.2 * col.trays.hw;
    334         col.trays.OutletL.z([1:4]) = [0.15, 0.3, 0.25, 0.2];
     334        col.INITIALIZATION.TopTemperature = 290 * 'K';
     335        col.INITIALIZATION.BottomTemperature = 330 * 'K';
     336        col.INITIALIZATION.LevelFraction = 0.1;
     337        col.INITIALIZATION.TopComposition = [0.2, 0.2, 0.4, 0.05, 0.15];
     338        col.INITIALIZATION.BottomComposition = [0.1, 0.4, 0.1, 0.3, 0.1];
    335339
    336340        OPTIONS
     
    338342        TimeEnd = 5;
    339343        TimeUnit = 'h';
    340         InitialFile = "Column_ctrl.rlt";
     344        InitialFile = "Column_MPID.rlt";
    341345        DAESolver(File="dassl");
    342         #GuessFile = "Column_ctrl.rlt";
     346        #GuessFile = "Column_MPID.rlt";
    343347        #Dynamic = false;
    344348end
Note: See TracChangeset for help on using the changeset viewer.