1 |
REQUIRE "johnpye/iapws_sat_curves.a4c"; |
2 |
REQUIRE "johnpye/iapws95.a4c"; |
3 |
|
4 |
MODEL mixer; |
5 |
S_in_1 IS_A thermo_state; |
6 |
S_in_2 IS_A thermo_state; |
7 |
S_out IS_A thermo_state; |
8 |
|
9 |
mdot_in_1, mdot_in_2, mdot_out IS_A mass_rate; |
10 |
|
11 |
masscons: mdot_in_1 + mdot_in_2 = mdot_out; |
12 |
encons: mdot_in_1*S_in_1.h + mdot_in_2*S_in_2.h = mdot_out*S_out.h; |
13 |
|
14 |
S_in_1.p, S_in_2.p, S_out.p ARE_THE_SAME; |
15 |
|
16 |
METHODS |
17 |
METHOD default_self; |
18 |
RUN reset; RUN values; RUN bound_self; |
19 |
END default_self; |
20 |
|
21 |
METHOD specify; |
22 |
FIX S_in_1.T, S_in_2.T; |
23 |
FIX S_out.p; |
24 |
FIX mdot_in_1, mdot_in_2; |
25 |
END specify; |
26 |
|
27 |
METHOD values; |
28 |
S_out.p := 1 {bar}; |
29 |
S_in_1.T := 300 {K}; |
30 |
S_in_2.T := 320 {K}; |
31 |
|
32 |
mdot_in_1 := 10 {kg/s}; |
33 |
mdot_in_2 := 1 {kg/s}; |
34 |
END values; |
35 |
|
36 |
METHOD bound_self; |
37 |
(*pass*) |
38 |
END bound_self; |
39 |
|
40 |
END mixer; |
41 |
|
42 |
MODEL mixer_test; |
43 |
M IS_A mixer; |
44 |
|
45 |
S1 IS_A iapws95_1phase; |
46 |
M.S_in_1, S1 ARE_THE_SAME; |
47 |
|
48 |
S2 IS_A iapws95_1phase; |
49 |
M.S_in_2, S2 ARE_THE_SAME; |
50 |
|
51 |
S3 IS_A iapws95_1phase; |
52 |
M.S_out, S3 ARE_THE_SAME; |
53 |
|
54 |
METHODS |
55 |
METHOD default_self; |
56 |
RUN reset; RUN values; RUN bound_self; |
57 |
END default_self; |
58 |
|
59 |
METHOD specify; |
60 |
FIX S1.T, S1.rho; |
61 |
FIX S2.T; |
62 |
FIX M.mdot_in_1, M.mdot_in_2; |
63 |
END specify; |
64 |
|
65 |
METHOD values; |
66 |
S1.rho := 997 {kg/m^3}; |
67 |
S1.T := 300 {K}; |
68 |
S2.T := 320 {K}; |
69 |
|
70 |
M.mdot_in_1 := 10 {kg/s}; |
71 |
M.mdot_in_2 := 1 {kg/s}; |
72 |
|
73 |
(* free values *) |
74 |
S2.delta := 3.09; |
75 |
S2.d1 := 2.09; |
76 |
S2.rho := S1.rho; |
77 |
S2.h := 200 {kJ/kg/K}; |
78 |
|
79 |
S3.delta := 3.09; |
80 |
S3.d1 := 2.09; |
81 |
S3.rho := S1.rho; |
82 |
S3.T := S1.T; |
83 |
|
84 |
END values; |
85 |
|
86 |
METHOD bound_self; |
87 |
(*pass*) |
88 |
END bound_self; |
89 |
|
90 |
END mixer_test; |