1 |
REQUIRE "simpleUnits.AWW.a4c"; |
2 |
REQUIRE "atoms.AWW.a4c"; |
3 |
|
4 |
MODEL H2basis; |
5 |
|
6 |
tmf IS_A traceMoleFraction_constant; |
7 |
comps IS_A set OF symbol_constant; |
8 |
comps :== ['hydrogen','methane','ethane','oxygen','carbon_dioxide','water']; |
9 |
cdComps IS_A components_data(comps, 'water'); |
10 |
pdV IS_A phases_data('V','Pitzer_vapor_mixture','none','none'); |
11 |
equil IS_A boolean; |
12 |
|
13 |
Qin IS_A energy_rate; |
14 |
feed IS_A stream(cdComps, pdV, equil); |
15 |
product IS_A stream(cdComps, pdV, equil); |
16 |
react IS_A unitOneInOneOut(Qin, feed, product); |
17 |
|
18 |
METHODS |
19 |
|
20 |
METHOD default_self; |
21 |
RUN react.default_self; |
22 |
END default_self; |
23 |
|
24 |
METHOD values; |
25 |
equil := TRUE; |
26 |
feed.T := 298 {K}; |
27 |
feed.P := 1.0 {atm}; |
28 |
feed.f[comps] := tmf*1.0 {mol/h}; |
29 |
react.stoichCoef[comps] := 0.0; |
30 |
react.turnover := 1.0 {mol/h}; |
31 |
END values; |
32 |
|
33 |
METHOD valuesH2Combustion; |
34 |
(* H2 + 0.5O2 = H20 *) |
35 |
RUN values; |
36 |
feed.f['hydrogen'] := 1.0 {mol/h}; |
37 |
feed.f['oxygen'] := 0.5 {mol/h}; |
38 |
react.stoichCoef['hydrogen'] := -1.0; |
39 |
react.stoichCoef['oxygen'] := -0.5; |
40 |
react.stoichCoef['water'] := 1.0; |
41 |
END valuesH2Combustion; |
42 |
|
43 |
METHOD valuesCH4Combustion; |
44 |
(* CH4 + 2O2 = C02 + 2H2O *) |
45 |
RUN values; |
46 |
feed.f['methane'] := 1.0 {mol/h}; |
47 |
feed.f['oxygen'] := 2.0 {mol/h}; |
48 |
react.stoichCoef['methane'] := -1.0; |
49 |
react.stoichCoef['oxygen'] := -2.0; |
50 |
react.stoichCoef['carbon_dioxide'] := 1.0; |
51 |
react.stoichCoef['water'] := 2.0; |
52 |
END valuesCH4Combustion; |
53 |
|
54 |
METHOD specify; |
55 |
RUN react.specify; |
56 |
FREE react.Qin; |
57 |
FIX react.delT; |
58 |
END specify; |
59 |
|
60 |
END H2basis; |