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

Last change on this file since 1 was 1, checked in by Rafael de Pelegrini Soares, 16 years ago

Initial import of the library

  • 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" diff(H0) = -V/(R+1);
34                diff(x1(1)) = V/H0 * (x1(1)-y1(1) + R * ((x1(2) - x1(1))/(R+1)));
35       
36                "Balanço demais pratos"
37                diff(x1(2:Np)) = V/Hi * (y1(1:Np-1) - y1(2:Np) + (R * ( x1(3:Np+1) - x1(2:Np) ) / (R+1)));
38
39                "Balanço último prato"
40                diff(x1(Np+1)) = V * ( y1(Np) - x1(Np+1) )/Hi;
41
42                x1  = 1 - x2;
43                y1*P = x1 * exp(A(1) - (B(1)/(T + 273.15 + C(1))) );
44                y1  = 1 - y2;
45                y2*P = x2 * exp(A(2) - (B(2)/(T + 273.15 + C(2))) );
46       
47                "Equação de Controle Ótimo"
48                x1(Np+1) = purity;
49
50        INITIAL
51                H0 = 100;
52                x1(1) = 0.55;
53                T(2:9) = [89.8, 87.5, 85.4, 83.8, 82.6, 81.7, 81.1, 81.0];
54                R = 1;
55end
56
57FlowSheet batch  as  BatchColumn
58        SET
59                Nc = 2;
60                Np = 11;
61
62                A = [15.7527, 16.0137];
63                B = [2766.63, 3096.52];
64                C = [ -50.5, -53.67];
65
66                purity = 0.998;
67                P = 760;
68                Hi = 1;
69                V = 120;
70
71        OPTIONS
72                time = [0:0.01:0.1, 0.2:0.1:2.1];
73                integration = "index0"; #original, index0 or index 1
74                outputLevel = "high";
75                relativeAccuracy = 1e-6;
76                absoluteAccuracy = 1e-8;
77                DAESolver = "mebdf"; #dasslc
78end
79
Note: See TracBrowser for help on using the repository browser.