1 | #* |
---|
2 | * EMSO template file for new flowsheets. |
---|
3 | * |
---|
4 | * The user should edit the contents of this file in order |
---|
5 | * to develop a new flowsheet. |
---|
6 | * |
---|
7 | * $Id: flowsheet.mso 299 2007-07-04 20:02:35Z rafael $ |
---|
8 | *# |
---|
9 | |
---|
10 | #* |
---|
11 | * The using command makes available entities declared in another files. |
---|
12 | * |
---|
13 | * With this command the user can make use of the EML models |
---|
14 | *# |
---|
15 | using "stage_separators/flash"; |
---|
16 | |
---|
17 | #* |
---|
18 | * A new flowsheet is declared with the FlowSheet keyword and a name. |
---|
19 | * A flowhseet can have several sections presented above: |
---|
20 | *# |
---|
21 | FlowSheet MyFlowSheet |
---|
22 | #* |
---|
23 | * In the PARAMETERS section we can define the constants of the |
---|
24 | * FlowSheet. When the model requires thermodynamic calculations |
---|
25 | * we should create an special parameter called PP and select |
---|
26 | * the model and components of the mixture, as follows: |
---|
27 | *# |
---|
28 | PARAMETERS |
---|
29 | PP as Plugin(Brief="Physical Properties", |
---|
30 | Type="PP", |
---|
31 | Components = ["1,3-butadiene", "isobutene", "n-pentane", "1-pentene"], |
---|
32 | LiquidModel = "PR", |
---|
33 | VapourModel = "PR" |
---|
34 | ); |
---|
35 | NComp as Integer; |
---|
36 | SET |
---|
37 | NComp = PP.NumberOfComponents; |
---|
38 | |
---|
39 | #* |
---|
40 | * In the DEVICES section the components of the process are declared. |
---|
41 | * Each device is based in a previously defined mathematical model, coming |
---|
42 | * from the EML or developed by the user. |
---|
43 | *# |
---|
44 | DEVICES |
---|
45 | STR101 as source; |
---|
46 | FLASH101 as flash; |
---|
47 | Q101 as energy_source; |
---|
48 | |
---|
49 | #* |
---|
50 | * Once the devices of the process were declared we can connect them |
---|
51 | * in the CONNECTIONS section |
---|
52 | *# |
---|
53 | CONNECTIONS |
---|
54 | STR101.Outlet to FLASH101.Inlet; |
---|
55 | Q101.Outlet to FLASH101.Q; |
---|
56 | |
---|
57 | #* |
---|
58 | * In order to simulate the process the user should specify some variables |
---|
59 | *# |
---|
60 | SPECIFY |
---|
61 | STR101.Outlet.F = 496.3 * 'kmol/h'; |
---|
62 | STR101.Outlet.T = 338 * 'K'; |
---|
63 | STR101.Outlet.P = 507.1 * 'kPa'; |
---|
64 | STR101.Outlet.z = [0.2379, 0.3082, 0.09959, 0.35431]; |
---|
65 | |
---|
66 | FLASH101.OutletV.F = 68.5 * 'kmol/h'; |
---|
67 | FLASH101.OutletL.F = 400*sqrt(FLASH101.Level/'m') * 'kmol/h'; |
---|
68 | FLASH101.Q = 1 * 'kJ/h'; |
---|
69 | |
---|
70 | #* |
---|
71 | * We can adjust the parameters of the devices in any point after |
---|
72 | * its declaration. |
---|
73 | *# |
---|
74 | SET |
---|
75 | FLASH101.V = 2000 * 'm^3'; |
---|
76 | FLASH101.orientation = "vertical"; |
---|
77 | FLASH101.diameter = 1 * 'm'; |
---|
78 | |
---|
79 | #* |
---|
80 | * Besides the usual specifications, dynamic models require the specification |
---|
81 | * of initial conditions. |
---|
82 | *# |
---|
83 | INITIAL |
---|
84 | FLASH101.OutletL.T = 330 *'K'; |
---|
85 | FLASH101.Level = 1 * 'm'; |
---|
86 | FLASH101.OutletL.z(1) = 0.1; |
---|
87 | FLASH101.OutletL.z(2) = 0.1; |
---|
88 | FLASH101.OutletL.z(3) = 0.1; |
---|
89 | end |
---|
90 | # The end keyword informs that the flowsheet declaration have ended. |
---|
91 | |
---|
92 | |
---|