/[ascend]/trunk/models/solar/trough_receiver.a4c
ViewVC logotype

Contents of /trunk/models/solar/trough_receiver.a4c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2625 - (show annotations) (download) (as text)
Tue May 15 23:49:15 2012 UTC (8 years, 4 months ago) by jpye
File MIME type: text/x-ascend
File size: 3933 byte(s)
trough receiver model works, still some numerical issues to solve.
1 REQUIRE "atoms.a4l";
2
3 (* refinement base, used in the parabolic_trough model... *)
4 MODEL receiver_loss_base;
5 END receiver_loss_base;
6
7
8 (*
9 Loss parameters for the Luz evacuated tube receiver as provided in
10 Patnode thesis.
11 *)
12 MODEL luz_loss_parameters(
13 type IS_A symbol_constant;
14 );
15 a[0..3] IS_A real_constant;
16 b[0,1] IS_A real_constant;
17
18 SELECT(type)
19 CASE 'vacuum':
20 (* an intact HCE, evacuated air at 0.0001 Torr *)
21 a[0] :== -9.463033e+00 {W/m^2};
22 a[1] :== 3.029616e-01 {W/m^2/K};
23 a[2] :== -1.386833e-03 {W/m^2/K^2};
24 a[3] :== 6.929243e-06 {W/m^2/K^3};
25 b[0] :== 7.649610e-02 {m};
26 b[1] :== 1.128818e-07 {m/K^2};
27 CASE 'hydrogen':
28 (* intact HCE into which hydrogen has diffused to a pressure of 1 Torr *)
29 a[0] :== -3.583342e+01 {W/m^2};
30 a[1] :== 1.461366e+00 {W/m^2/K};
31 a[2] :== 1.569955e-03 {W/m^2/K^2};
32 a[3] :== 4.013432e-06 {W/m^2/K^3};
33 b[0] :== 6.926351e-02 {m};
34 b[1] :== 1.382089e-07 {m/K^2};
35 CASE 'air':
36 (* a broken glass envelope; contents will be air at ambient pressure *)
37 a[0] :== -2.247372E+01 {W/m^2};
38 a[1] :== 8.374490E-01 {W/m^2/K};
39 a[2] :== 0.00 {W/m^2/K^2};
40 a[3] :== 4.620143E-06 {W/m^2/K^3};
41 b[0] :== 6.983190E-02 {m};
42 b[1] :== 9.312703E-08 {m/K^2};
43 END SELECT;
44 END luz_loss_parameters;
45
46
47 (*
48 Receiver (HCE) heat loss calculated for a local position along the receiver,
49 as a function of fluid temperature and DNI.
50 *)
51 MODEL receiver_loss_local(
52 type IS_A symbol_constant;
53 T_K WILL_BE temperature;
54 DNI WILL_BE power_per_area;
55 ) REFINES receiver_loss_base;
56 lp IS_A luz_loss_parameters(type);
57 a ALIASES lp.a;
58 b ALIASES lp.b;
59
60 (* calculate temperature in celsius *)
61 T IS_A delta_temperature;
62 T = T_K - 273.15 {K};
63
64 (* receiver heat loss, Patnode eq 2.16 *)
65 Qd_loss IS_A power_per_length;
66 Qd_loss = a[0] + a[1]*T + a[2]*T^2 + a[3]*T^3+ DNI*(b[0] + b[1]*T^2);
67 END receiver_loss_local;
68
69
70 (*
71 Receiver (HCE) heat loss calculated by integration along a length of tube,
72 as function of inlet and outlet temperature, plus DNI.
73 *)
74 MODEL receiver_loss_integ(
75 type IS_A symbol_constant;
76 T_i_K WILL_BE temperature;
77 T_o_K WILL_BE temperature;
78 DNI WILL_BE power_per_area;
79 ) REFINES receiver_loss_base;
80 lp IS_A luz_loss_parameters(type);
81 a ALIASES lp.a;
82 b ALIASES lp.b;
83
84 (* calculate temperatures in celsius *)
85 T_i, T_o IS_A delta_temperature;
86 T_i = T_i_K - 273.15 {K};
87 T_o = T_o_K - 273.15 {K};
88
89 (* heat loss calculated as integral wrt temperature, Patnode eq 2.18. *)
90 Qd_loss IS_A power_per_length;
91 Qd_loss = SUM[a[i]/(i+1)*(T_o^(i+1) - T_i^(i+1))/(T_o - T_i) | i IN [0..3]] + DNI * (b[0]) + b[1]/3.*(T_o^3 - T_i^3)/(T_o - T_i);
92
93 (* NOTE the above form seems to avoid Qd_loss converging to zero and T_o --> T_i *)
94 (* NOTE above eq assumes linear temperature rise with position? is that suff valid? *)
95 (* NOTE above eq assumes ambient temperature of 25 C (Patnode sect 2.3.2) -- should adjust for changes in T_amb?? *)
96 (* NOTE also the equation in Lippke 1995 for bare tubes, which has a different form and requires wind speed *)
97 (* NOTE that Lippke says that end loss must be included in the above equation (eq 7, p. 11) *)
98 END receiver_loss_integ;
99
100
101 (*
102 Test of local model. Gives results consistent with Figs 2.19-2.21 from
103 Patnode thesis.
104 *)
105 MODEL receiver_loss_local_test;
106 T IS_A temperature;
107 DNI IS_A power_per_area;
108 recv IS_A receiver_loss_local('hydrogen',T,DNI);
109
110 Qd_loss ALIASES recv.Qd_loss;
111 T_C ALIASES recv.T;
112 METHODS
113 METHOD on_load;
114 FIX DNI, T_C;
115 DNI := 1000 {W/m^2};
116 T_C := 300 {K};
117 END on_load;
118 END receiver_loss_local_test;
119
120
121
122 MODEL receiver_loss_integ_test;
123 T_i, T_o IS_A temperature;
124 DNI IS_A power_per_area;
125 recv IS_A receiver_loss_integ('vacuum',T_i,T_o,DNI);
126 Qd_loss ALIASES recv.Qd_loss;
127 T_i_C ALIASES recv.T_i;
128 T_o_C ALIASES recv.T_o;
129 METHODS
130 METHOD on_load;
131 FIX DNI, T_i_C, T_o_C;
132 DNI := 1000 {W/m^2};
133 T_i_C := 200 {K};
134 T_o_C := 400 {K};
135 END on_load;
136 END receiver_loss_integ_test;

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22