1 |
REQUIRE "johnpye/fprops/brayton_split.a4c"; |
2 |
REQUIRE "johnpye/moltensalt.a4c"; |
3 |
|
4 |
(* |
5 |
This is a very simplified salt heat exchanger model. It has to be done |
6 |
differently from heatex_pinch because we don't yet have support for |
7 |
fluids of the type expressed in moltensalt.a4c under FPROPS. |
8 |
*) |
9 |
MODEL boiler_heatex_salt REFINES boiler_simple; |
10 |
inlet_salt, outlet_salt IS_A moltensalt_node; |
11 |
|
12 |
inlet_salt.mdot, outlet_salt.mdot ARE_THE_SAME; |
13 |
mdot_salt ALIASES inlet_salt.mdot; |
14 |
inlet_salt.p, outlet_salt.p ARE_THE_SAME; |
15 |
|
16 |
(* Qdot is positive if heat is added to the cold-side flow *) |
17 |
Qdot = inlet_salt.mdot * (inlet_salt.h - outlet_salt.h); |
18 |
|
19 |
END boiler_heatex_salt; |
20 |
|
21 |
MODEL brayton_split_salt_co2 REFINES brayton_split_co2; |
22 |
BO IS_REFINED_TO boiler_heatex_salt; |
23 |
|
24 |
cd.component :== 'carbondioxide'; |
25 |
cd.type :== 'helmholtz'; |
26 |
HEL.n :== 8; |
27 |
HEH.n :== 8; |
28 |
METHODS |
29 |
METHOD on_load; |
30 |
FIX BO.inlet_salt.T := 565 {K} + 263.15 {K}; |
31 |
FIX BO.inlet_salt.p := 1 {bar}; |
32 |
FIX BO.mdot_salt := 1 {kg/s}; |
33 |
RUN brayton_split_co2::on_load; |
34 |
END on_load; |
35 |
METHOD self_test; |
36 |
ASSERT BO.inlet_salt.T == 565 {K} + 263.15 {K}; |
37 |
ASSERT BO.mdot_salt == 1 {kg/s}; |
38 |
ASSERT BO.inlet_salt.p == 1 {bar}; |
39 |
END self_test; |
40 |
END brayton_split_salt_co2; |