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

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