source: mso/sample/miscellaneous/sample_bc.mso @ 32

Last change on this file since 32 was 32, checked in by Argimiro Resende Secchi, 16 years ago

clean up.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.8 KB
Line 
1#*
2
3  Arquivo de exemplo do EM·SO (TM)
4 
5  Descrição do flowsheet de uma coluna batelada com controle ótimo
6  de composição.
7  Modelo proposto por Logsdson e Biegler.
8 
9*#
10
11Model BatchColumn
12        PARAMETERS
13                Np  as Integer(Brief="Number of Plates");
14                Nc  as Integer(Brief="Number of Components");
15                purity as Real;
16                Hi  as Real;
17                A(Nc)  as Real;
18                B(Nc)  as Real;
19                C(Nc)  as Real;
20                P      as Real;
21                V as Real;
22
23        VARIABLES       
24                H0   as  Real(Default=1);
25                x1(Np+1)  as Real(Default=0.55, Lower = 0, Upper = 1);
26                x2(Np+1)  as Real(Default=0.45, Lower = 0, Upper = 1);
27                y1(Np+1)  as Real(Default=0.3, Lower = 0, Upper = 1);
28                y2(Np+1)  as Real(Default=0.7, Lower = 0, Upper = 1);
29                T(Np+1)   as Real(Default=85, Lower = 0, Upper = 400);
30                R as Real(Default=1);
31       
32        EQUATIONS
33                "Balanço no Prato 0"
34                diff(H0)*"s" = -V/(R+1);
35                diff(x1(1))*"s" = V/H0 * (x1(1)-y1(1) + R * ((x1(2) - x1(1))/(R+1)));
36       
37                "Balanço demais pratos"
38                diff(x1(2:Np))*"s" = V/Hi * (y1(1:Np-1) - y1(2:Np) + (R * ( x1(3:Np+1) - x1(2:Np) ) / (R+1)));
39
40                "Balanço último prato"
41                diff(x1(Np+1))*"s" = V * ( y1(Np) - x1(Np+1) )/Hi;
42
43                x1  = 1 - x2;
44                y1*P = x1 * exp(A(1) - (B(1)/(T + 273.15 + C(1))) );
45                y1  = 1 - y2;
46                y2*P = x2 * exp(A(2) - (B(2)/(T + 273.15 + C(2))) );
47       
48                "Equação de Controle Ótimo"
49                x1(Np+1) = purity;
50
51        INITIAL
52                H0 = 100;
53                x1(1) = 0.55;
54                T(2:9) = [89.8, 87.5, 85.4, 83.8, 82.6, 81.7, 81.1, 81.0];
55                R = 1;
56end
57
58FlowSheet batch  as  BatchColumn
59        SET
60                Nc = 2;
61                Np = 11;
62
63                A = [15.7527, 16.0137];
64                B = [2766.63, 3096.52];
65                C = [ -50.5, -53.67];
66
67                purity = 0.998;
68                P = 760;
69                Hi = 1;
70                V = 120;
71
72        OPTIONS
73                time = [0:0.01:0.1, 0.2:0.1:2.1];
74                integration = "index0"; #original, index0 or index 1
75                relativeAccuracy = 1e-6;
76                absoluteAccuracy = 1e-8;
77                DAESolver = "dasslc"; # "mebdf"
78end
79
Note: See TracBrowser for help on using the repository browser.