/[ascend]/trunk/models/johnpye/cavity.a4c
ViewVC logotype

Contents of /trunk/models/johnpye/cavity.a4c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2311 - (show annotations) (download) (as text)
Mon Nov 1 05:51:07 2010 UTC (13 years, 7 months ago) by jpye
File MIME type: text/x-ascend
File size: 6856 byte(s)
Fix outdated URL.
1 (*
2 ASCEND model library: radiation heat transfer model
3 Copyright (C) John Pye 2006
4 http://jpye.dyndns.org/
5
6 This program is free software; you can redistribute it
7 and/or modify it under the terms of the GNU General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later
10 version.
11
12 This program is distributed in the hope that it will be
13 useful, but WITHOUT ANY WARRANTY; without even the implied
14 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the GNU General Public License for more
16 details.
17
18 You should have received a copy of the GNU General Public
19 License along with this program; if not, write to the Free
20 Software Foundation, Inc., 59 Temple Place, Suite 330,
21 Boston, MA 02111-1307 USA
22 -------------------------------------------------------------------
23
24 This is a radiation heat transfer model that is being used
25 to simulate (just a rough model) the absorber of a large solar
26 thermal energy system. For more information see
27 http://jpye.dyndns.org or google for 'CLFR'. This is a linear
28 concentrator, so the cavity is simulated with a two-dimensional
29 model. The cavity is trapezoidal in shape, wider at the base
30 through which radiation enters.
31
32 The upper inside surface 'W' is the absorber. The cavity has a flat
33 base 'B', and side walls 'L' and 'R' (of length N). This model
34 calculates view factors between these surfaces then implements a
35 'network' model to determine the equilibrium temperatures and
36 heat transfer between the surfaces inside the cavity. External heat
37 losses are allowed for: radiation and convention at the cavity
38 base, plus convection off the side-walls.
39 *)
40
41 REQUIRE "atoms.a4l";
42 REQUIRE "johnpye/thermo_types.a4c";
43
44 MODEL cavity_base;
45 (*
46 This model implements the grey body equilibrium equations
47 but no specific geometry or boundary conditions
48 *)
49 n "surfaces in the cavity" IS_A set OF symbol_constant;
50 A[n] "length of the surfaces (in 2D)" IS_A distance;
51
52 F[n][n] IS_A fraction;
53
54 (* Radiation equations *)
55 q[n] "net heat transfer from each surface" IS_A energy_rate_per_length;
56
57 E_b[n] IS_A energy_flux;
58 J[n] IS_A energy_flux;
59 T[n] IS_A temperature;
60 eps[n] IS_A fraction; (* emissivity *)
61
62 FOR i IN n CREATE
63 z_q[i]: q[i] = SUM[ (J[i]-J[j])*(A[i]*F[i][j]) | j IN n];
64 END FOR;
65
66 FOR i IN n CREATE
67 z_E_b[i]: E_b[i] = 1{SIGMA_C} * T[i]^4;
68 END FOR;
69
70 FOR i IN n CREATE
71 z_J[i]: q[i] * (1-eps[i]) = (E_b[i] - J[i]) * (eps[i]*A[i]);
72 END FOR;
73 END cavity_base;
74
75 MODEL cavity REFINES cavity_base;
76 (* specific test case for the CLFR cavity receiver *)
77 W,B,S,N,C,E,D IS_A distance;
78 theta, phi, psi IS_A angle;
79
80 F_WN, F_WW, F_WB IS_A factor;
81 F_NB, F_NW, F_NN, F_BW, F_BN IS_A factor;
82 F_WS IS_A factor;
83
84 z_N: N * sin(theta) = D;
85 z_S: S * tan(theta) = D;
86 z_B: B = W + 2 * S;
87 z_E: E^2 = W^2 + D^2;
88 z_phi: phi = arctan(D/W);
89 z_psi: psi = 1{PI} - phi;
90 z_C: C^2 = E^2 + S^2 - 2* E * S * cos(psi);
91
92 z_F_WN: F_WN = (W+N-C)/2/W;
93 z_F_WW: F_WW = (2*E-2*D)/2/W; (* from top to directly opp part of bottom *)
94 z_F_WB: F_WB = 1 - 2 * F_WN;
95 z_F_WS: F_WS = (1 - 2 * F_WN - F_WB)/2;
96 z_F_NB: F_NB = (N+B-C)/2/N;
97 z_F_NW: F_NW = (N+W-C)/2/N;
98
99 z_F_BN: F_BN = F_NB*N/B;
100 z_F_NN: F_NN = 1 - F_NW - F_NB;
101 z_F_BW: F_BW = F_WB*W/B;
102
103 n :== ['W','B','L','R'];
104
105 (* Put lengths into a vector *)
106
107 A['W'], W ARE_THE_SAME;
108 A['B'], B ARE_THE_SAME;
109 A['L'], N ARE_THE_SAME;
110 A['R'], N ARE_THE_SAME;
111
112 (* View factor matrix *)
113
114 F['W']['L'], F['W']['R'], F_WN ARE_THE_SAME;
115 F['W']['B'], F_WB ARE_THE_SAME;
116 z_F_WW1: F['W']['W'] = 0;
117
118 F['B']['L'], F['B']['R'], F_BN ARE_THE_SAME;
119 F['B']['W'], F_BW ARE_THE_SAME;
120 z_F_BB1: F['B']['B'] = 0;
121
122 F['L']['R'], F['R']['L'], F_NN ARE_THE_SAME;
123 F['L']['B'], F['R']['B'], F_NB ARE_THE_SAME;
124 F['L']['W'], F['R']['W'], F_NW ARE_THE_SAME;
125 z_F_LL: F['L']['L'] = 0;
126 z_F_RR: F['R']['R'] = 0;
127
128 METHODS
129 METHOD on_load;
130 RUN default_self;
131 RUN reset;
132 RUN values;
133 RUN bound_self;
134 END on_load;
135
136 METHOD default_self;
137 psi := 120 {deg};
138 END default_self;
139
140 METHOD bound_self;
141 phi.lower_bound := 0 {deg};
142 phi.upper_bound := 90 {deg};
143 psi.lower_bound := 90 {deg};
144 psi.upper_bound := 180 {deg};
145 END bound_self;
146
147 METHOD specify;
148 FIX T['W', 'B'];
149 FIX q['L','R'];
150 FIX W,D,theta;
151 FIX eps[n];
152 END specify;
153
154 METHOD values;
155 T['W'] := 550 {K};
156 T['B'] := 373.15 {K};
157 q['L','R'] := 0 {W/m};
158
159 W := 575 {mm};
160 D := 200 {mm};
161 theta := 32 {deg};
162
163 eps['W'] := 0.49;
164 eps['B'] := 0.9;
165 eps['L','R'] := 0.1;
166 END values;
167
168 END cavity;
169
170 (*
171 The following model adds external convection coefficients to
172 the model, and an ambient temperature.
173
174 We also calculate the 'F_rad' correlation parameter (see
175 http://jpye.dyndns.org for more information).
176 *)
177 MODEL cavity_losses REFINES cavity;
178 h_B, h_N IS_A heat_transfer_coefficient;
179 T_amb IS_A temperature;
180
181 (* external heat loss *)
182
183 q_ext_rad IS_A energy_rate_per_length;
184 q_ext_conv IS_A energy_rate_per_length;
185 q_ext_conv = h_B * B * (T['B'] - T_amb);
186 q_ext_rad = B * eps['B'] * 1{SIGMA_C} * (T['B']^4 - T_amb^4);
187 z_q_B: - q['B'] = q_ext_conv + q_ext_rad;
188 z_q_L: - q['L'] = h_N * N * (T['L'] - T_amb);
189 z_q_R:- q['R'] = h_N * N * (T['L'] - T_amb);
190
191 (* Determine 'F_rad' from overall heatloss... *)
192
193 F_rad IS_A factor;
194 F_rad_1 IS_A factor;
195
196 z_F_rad: q['W'] = F_rad * W * eps['W'] * 1{SIGMA_C} * (T['W']^4 - T['B']^4);
197
198 z_F_rad_1: q['W'] = F_rad_1 * W * 1{SIGMA_C} * (T['W']^4 - T['B']^4) /
199 (1/eps['B'] + 1/eps['W'] - 1);
200
201 METHODS
202 METHOD specify;
203 FIX T['W'], T_amb;
204 FIX h_B, h_N;
205 FIX W,D,theta;
206 FIX eps[n];
207 END specify;
208 METHOD values;
209 T['W'] := 550 {K};
210 T_amb := 290 {K};
211 W := 575 {mm};
212 D := 200 {mm};
213 theta := 32 {deg};
214 eps['W'] := 0.49;
215 eps['B'] := 0.9;
216 eps['L','R'] := 0.1;
217 h_B := 10 {W/m^2/K};
218 h_N := 0.5 {W/m^2/K};
219 (* free values *)
220 T['L','R'] := 500 {K};
221 T['B'] := 400 {K};
222 END values;
223 END cavity_losses;
224
225 (*
226 This final model will examine the possible convection
227 behaviour inside the stratified cavity
228 *)
229 MODEL cavity_convection;
230 W, D_strat IS_A distance;
231 k IS_A thermal_conductivity;
232 Q IS_A energy_rate_per_length;
233 T[1,2] IS_A temperature;
234
235 Q * D_strat = W * k * (T[1] - T[2]); (* conduction through stratified zone*)
236
237 (* rho IS_A mass_density;
238 cp IS_A specific_heat_capacity;
239
240 Pr IS_A factor;
241 Pr = mu / rho / alpha;
242
243 mu IS_A viscosity;
244 alpha IS_A diffusivity;
245 alpha = k / rho / cp;
246 *)
247
248 METHODS
249 METHOD specify;
250 FIX k, mu, cp, rho;
251 FIX T[1,2];
252 FIX W, D_strat;
253 END specify;
254 METHOD default_self;
255 RUN reset; RUN values;
256 END default_self;
257 METHOD values;
258 D_strat := 0.15 {m};
259 W := 575 {mm};
260 k := 0.039 {W/m/K};
261 T[1] := 550 {K};
262 T[2] := 332 {K};
263 END values;
264 END cavity_convection;
265
266

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