/[ascend]/trunk/models/johnpye/fprops/carbondioxide.c
ViewVC logotype

Contents of /trunk/models/johnpye/fprops/carbondioxide.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2110 - (show annotations) (download) (as text)
Mon Dec 7 04:13:05 2009 UTC (10 years, 4 months ago) by jpye
File MIME type: text/x-csrc
File size: 16779 byte(s)
Still working on CO2 bugs.
1 /* ASCEND modelling environment
2 Copyright (C) 2008 Carnegie Mellon University
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2, or (at your option)
7 any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place - Suite 330,
17 Boston, MA 02111-1307, USA.
18 */
19
20 #include "carbondioxide.h"
21
22 #define CARBONDIOXIDE_R 188.9241
23 #define CARBONDIOXIDE_TSTAR 304.1282
24 #define CARBONDIOXIDE_M 44.0098
25 #define CARBONDIOXIDE_PC 73773e6
26 #define CARBONDIOXIDE_RHOC 467.6
27
28 #define CARBONDIOXIDE_TREF 298.15
29 #define CARBONDIOXIDE_PREF 103.325e3
30
31 /**
32 Ideal gas data for CO2
33 */
34 const IdealData ideal_data_carbondioxide = {
35 1.5759375242e+03/CARBONDIOXIDE_R /* constant, adjust to solve s */
36 , (-2.1189540883e+05 + 2.6222371192e+05)/CARBONDIOXIDE_TSTAR/CARBONDIOXIDE_R /* linear, adjust to solver h */
37 , CARBONDIOXIDE_TSTAR /* Tstar / [K] */
38 , CARBONDIOXIDE_R /* cpstar / [J/kgK] */
39 , 1 /* power terms */
40 , (const IdealPowTerm[]){
41 {3.5, 0.}
42 }
43 , 5
44 , (const IdealExpTerm[]){
45 {1.99427042 , 3.15163 * CARBONDIOXIDE_TSTAR}
46 ,{0.62105248, 6.11190 * CARBONDIOXIDE_TSTAR}
47 ,{0.41195293, 6.77708 * CARBONDIOXIDE_TSTAR}
48 ,{1.04028922, 11.32384 * CARBONDIOXIDE_TSTAR}
49 ,{0.08327678, 27.08792 * CARBONDIOXIDE_TSTAR}
50 }
51 };
52
53 /**
54 Residual (non-ideal) property data for ,....
55 */
56 const HelmholtzData helmholtz_data_carbondioxide = {
57 /* R */ CARBONDIOXIDE_R /* 1000 * kJ/kmolK / kg/kmol = J/kgK */
58 , /* M */ CARBONDIOXIDE_M /* kg/kmol */
59 , /* rho_star */ CARBONDIOXIDE_RHOC /* kg/m�� (= rho_c for this model) */
60 , /* T_star */ CARBONDIOXIDE_TSTAR /* K (= T_c for this model) */
61 , 0.239 /* acentric factor, from Reid, Prausnitz & Polling */
62 , &ideal_data_carbondioxide
63 , 34 /* power terms */
64 , (const HelmholtzPowTerm[]){
65 /* a_i, t_i, d_i, l_i */
66 { 0.38856823203161e00, 0.000, 1.00, 0}
67 ,{ 0.29385475942740e01, 0.750, 1.00, 0}
68 ,{-0.55867188534934e01, 1.000, 1.00, 0}
69 ,{-0.76753199592477e00, 2.000, 1.00, 0}
70 ,{ 0.31729005580416e00, 0.750, 2.00, 0}
71 ,{ 0.54803315897767e00, 2.000, 2.00, 0}
72 ,{ 0.12279411220335e00, 0.750, 3.00, 0}
73 ,{ 0.21658961543220e01, 1.500, 1.00, 1}
74 ,{ 0.15841735109724e01, 1.500, 2.00, 1}
75 ,{-0.23132705405503e00, 2.500, 4.00, 1}
76 ,{ 0.58116916431436e-01, 0.000, 5.00, 1}
77 ,{-0.55369137205382e00, 1.500, 5.00, 1}
78 ,{ 0.48946615909422e00, 2.000, 5.00, 1}
79 ,{-0.24275739843501e-01, 0.000, 6.00, 1}
80 ,{ 0.62494790501678e-01, 1.000, 6.00, 1}
81 ,{-0.12175860225246e00, 2.000, 6.00, 1}
82 ,{-0.37055685270086e00, 3.000, 1.00, 2}
83 ,{-0.16775879700426e-01, 6.000, 1.00, 2}
84 ,{-0.11960736637987e00, 3.000, 4.00, 2}
85 ,{-0.45619362508778e-01, 6.000, 4.00, 2}
86 ,{ 0.35612789270346e-01, 8.000, 4.00, 2}
87 ,{-0.74427727132052e-02, 6.000, 7.00, 2}
88 ,{-0.17395704902432e-02, 0.000, 8.00, 2}
89 ,{-0.21810121289527e-01, 7.000, 2.00, 3}
90 ,{ 0.24332166559236e-01, 12.000, 3.00, 3}
91 ,{-0.37440133423463e-01, 16.000, 3.00, 3}
92 ,{ 0.14338715756878e00, 22.000, 5.00, 4}
93 ,{-0.13491969083286e00, 24.000, 5.00, 4}
94 ,{-0.23151225053480e-01, 16.000, 6.00, 4}
95 ,{ 0.12363125492901e-01, 24.000, 7.00, 4}
96 ,{ 0.21058321972940e-02, 8.000, 8.00, 4}
97 ,{-0.33958519026368e-03, 2.000, 10.00, 4}
98 ,{ 0.55993651771592e-02, 28.000, 4.00, 5}
99 ,{-0.30335118055646e-03, 14.000, 8.00, 6}
100 }
101 , 5 /* critical (gaussian) terms */
102 , (const HelmholtzGausTerm[]){
103 /* a, t, d, alpha, beta, gamma, epsilon */
104 { -0.21365488688320e03, 1.000, 2, 25., 325., 1.16, 1.00}
105 ,{ 0.26641569149272e05, 0.000, 2, 25., 300., 1.19, 1.00}
106 ,{-0.24027212204557e05, 1.000, 2, 25., 300., 1.19, 1.00}
107 ,{-0.28341603423999e03, 3.000, 3, 15., 275., 1.25, 1.00}
108 ,{ 0.21247284400179e03, 3.000, 3, 20., 275., 1.22, 1.00}
109 }
110 , 3 /* critical terms */
111 , (const HelmholtzCritTerm[]){
112 /* n, a, b, beta, A, B, C, D */
113 { -0.66642276540751e00, 3.5, 0.875, 0.300, 0.70, 0.3, 10.0, 275.}
114 ,{ 0.72608632349897e00, 3.5, 0.925, 0.300, 0.70, 0.3, 10.0, 275.}
115 ,{0.55068668612842e-01, 3.0, 0.875, 0.300, 0.70, 1.0, 12.5, 275.}
116 }
117 };
118
119 /*
120 Test suite. These tests attempt to validate the current code using
121 a few sample figures output by REFPROP 7.0.
122
123 To run the test, compile and run as follows:
124
125 gcc ideal.c helmholtz.c carbondioxide.c -DTEST -o carbondioxide -lm && ./carbondioxide
126
127 These tests all currently pass with a maximum error of 0.09%.
128 */
129 #ifdef TEST
130
131 #include <assert.h>
132 #include <stdlib.h>
133 #include <stdio.h>
134 #include <math.h>
135
136 typedef struct{double T,p,rho,h,s,cp,cp0,w;} TestData;
137 const TestData td[]; const unsigned ntd;
138
139 int main(void){
140 unsigned n, i;
141 double rho, T, cp0, p, u, h, s;
142 const HelmholtzData *d;
143
144 d = &helmholtz_data_carbondioxide;
145 double maxerr = 0;
146
147 n = ntd;
148 fprintf(stderr,"Running through %d test points...\n",n);
149
150 /* a simple macro to actually do the testing */
151 #define ASSERT_TOL(FN,PARAM1,PARAM2,PARAM3,VAL,TOL) {\
152 double cval; cval = FN(PARAM1,PARAM2,PARAM3);\
153 double err; err = cval - (double)(VAL);\
154 double relerrpc = (cval-(VAL))/(VAL)*100;\
155 if(fabs(relerrpc)>maxerr)maxerr=fabs(relerrpc);\
156 if(fabs(err)>fabs(TOL)){\
157 fprintf(stderr,"ERROR in line %d: value of '%s(%f,%f,%s)' = %0.8f,"\
158 " should be %f, error is %.10e (%.2f%%)!\n"\
159 , __LINE__, #FN,PARAM1,PARAM2,#PARAM3, cval, VAL,cval-(VAL)\
160 ,relerrpc\
161 );\
162 exit(1);\
163 }else{\
164 fprintf(stderr," OK, %s(%f,%f,%s) = %8.2e with %.6f%% err.\n"\
165 ,#FN,PARAM1,PARAM2,#PARAM3,VAL,relerrpc\
166 );\
167 }\
168 }
169
170 #define CP0(T,RHO,DATA) helmholtz_cp0(T,DATA)
171 fprintf(stderr,"CP0 TESTS\n");
172 for(i=0; i<n;++i){
173 cp0 = td[i].cp0*1e3;
174 //fprintf(stderr,"T = %f --> cp0 = %f\n", td[i].T, cp0);
175 ASSERT_TOL(CP0, td[i].T, 0., d, cp0, cp0*1e-1);
176 }
177 #undef CP0
178
179 fprintf(stderr,"PRESSURE TESTS\n");
180 for(i=0; i<n;++i){
181 p = td[i].p*1e6;
182 //fprintf(stderr,"T = %f, rho = %f --> h = %f\n", td[i].T, td[i].rho, p);
183 ASSERT_TOL(helmholtz_p, td[i].T, td[i].rho, d, p, p*2e-4);
184 }
185
186 #if 0
187 fprintf(stderr,"REFERENCE POINT CHECK\n");
188 /* solve rho to give p = PREF */
189 T = CARBONDIOXIDE_TREF;
190 rho = 100;
191 p = CARBONDIOXIDE_PREF;
192 double err;
193 for(i=0; i<100; ++i){
194 fprintf(stderr,"rho = %f\n", rho);
195 double dpdrho = helmholtz_dpdrho_T(T, rho, d);
196 err = helmholtz_p(T,rho,d) - CARBONDIOXIDE_PREF;
197 if(fabs(err) < 1e-6)break;
198 rho -= err/dpdrho;
199 }
200 if(fabs(err) < 1e-6){
201 fprintf(stderr,"err = %f -> T = %f, rho = %f --> p = %f\n", err, T, rho, helmholtz_p(T,rho,d));
202 fprintf(stderr,"h(Tref, pref) = %.10e\n", helmholtz_h(T,rho,d));
203 fprintf(stderr,"s(Tref, pref) = %.10e\n", helmholtz_s(T,rho,d));
204 }
205 exit(1);
206 #endif
207
208 fprintf(stderr,"ENTHALPY TESTS\n");
209 for(i=0; i<n;++i){
210 T = td[i].T+273.15;
211 rho = td[i].rho;
212 h = td[i].h*1e3;
213 //fprintf(stderr,"%.20e\n",(h - helmholtz_h(T,rho,d)) );
214 ASSERT_TOL(helmholtz_h, td[i].T+273.15, td[i].rho, d, h, 1E3);
215 }
216
217 /* entropy offset required to attain agreement with REFPROP */
218 fprintf(stderr,"ENTROPY TESTS\n");
219 for(i=0; i<n;++i){
220 T = td[i].T+273.15;
221 rho = td[i].rho;
222 s = td[i].s*1e3;
223 //double err = s - helmholtz_s(T,rho,d);
224 //se += err; ss += err*err;
225 ASSERT_TOL(helmholtz_s, td[i].T+273.15, td[i].rho, d, s, 1e-1*s);
226 //fprintf(stderr,"%.20e\t%.20e\t%.20e\n",T,rho,err);
227 }
228
229 fprintf(stderr,"Tests completed OK (maximum error = %0.2f%% (%5.2e))\n",maxerr,maxerr);
230 exit(0);
231 }
232
233 /*
234 Some test data generated by REFPROP 7.0 for p=0.1, 1, 10, 20, 100 MPa.
235 */
236 const TestData td[] = {
237 /*, {Temperature, Pressure, Density, Enthalpy, Entropy, Cp, Cp0, Sound Speed}*/
238 /*, {(K), (MPa), (kg/m��), (kJ/kg), (kJ/kg-K), (kJ/kg-K), (kJ/kg-K), (m/s)}*/
239 {2.16E+2, 1.E-2, 2.454062144E-1, 4.409287843E+2, 2.91905617E+0, 7.555917727E-1, 7.53186339E-1, 2.331957752E+2}
240 , {2.66E+2, 1.E-2, 1.991337854E-1, 4.80078336E+2, 3.081890365E+0, 8.104414236E-1, 8.094088439E-1, 2.559309622E+2}
241 , {3.16E+2, 1.E-2, 1.675727826E-1, 5.219266469E+2, 3.225924974E+0, 8.62745442E-1, 8.621948769E-1, 2.764359366E+2}
242 , {3.66E+2, 1.E-2, 1.446570587E-1, 5.662693649E+2, 3.356110837E+0, 9.10105514E-1, 9.097699996E-1, 2.953724734E+2}
243 , {4.16E+2, 1.E-2, 1.272587039E-1, 6.128544267E+2, 3.475359028E+0, 9.525151636E-1, 9.522915251E-1, 3.130934511E+2}
244 , {4.66E+2, 1.E-2, 1.135979244E-1, 6.614481847E+2, 3.58562638E+0, 9.905630878E-1, 9.904041983E-1, 3.298200692E+2}
245 , {5.16E+2, 1.E-2, 1.02586621E-1, 7.118486226E+2, 3.688334069E+0, 1.024880263E+0, 1.024761888E+0, 3.457079762E+2}
246 , {5.66E+2, 1.E-2, 9.352189158E-2, 7.638828536E+2, 3.784562017E+0, 1.055991905E+0, 1.055900437E+0, 3.608749549E+2}
247 , {6.16E+2, 1.E-2, 8.592935538E-2, 8.17401209E+2, 3.875154775E+0, 1.084304186E+0, 1.084231447E+0, 3.754140217E+2}
248 , {6.66E+2, 1.E-2, 7.947723266E-2, 8.722718632E+2, 3.960786755E+0, 1.110129832E+0, 1.110070631E+0, 3.894004519E+2}
249 , {7.16E+2, 1.E-2, 7.392649286E-2, 9.283769181E+2, 4.04200591E+0, 1.133717699E+0, 1.133668593E+0, 4.028960679E+2}
250 , {7.66E+2, 1.E-2, 6.910055494E-2, 9.856098142E+2, 4.119264426E+0, 1.155275584E+0, 1.155234203E+0, 4.159521691E+2}
251 , {8.16E+2, 1.E-2, 6.486613978E-2, 1.043873678E+3, 4.192940888E+0, 1.174984966E+0, 1.174949628E+0, 4.286116931E+2}
252 , {8.66E+2, 1.E-2, 6.112076176E-2, 1.103080237E+3, 4.263356512E+0, 1.193009454E+0, 1.192978932E+0, 4.40910879E+2}
253 , {9.16E+2, 1.E-2, 5.778432004E-2, 1.16314905E+3, 4.330787182E+0, 1.209499163E+0, 1.209472541E+0, 4.528805691E+2}
254 , {9.66E+2, 1.E-2, 5.479330284E-2, 1.22400689E+3, 4.395472433E+0, 1.22459275E+0, 1.224569332E+0, 4.645472351E+2}
255 , {1.016E+3, 1.E-2, 5.209670393E-2, 1.285587197E+3, 4.457622249E+0, 1.238418302E+0, 1.238397548E+0, 4.759337887E+2}
256 , {1.066E+3, 1.E-2, 4.965308888E-2, 1.347829557E+3, 4.517422242E+0, 1.251093748E+0, 1.251075233E+0, 4.87060222E+2}
257 , {2.16E+2, 1.E-1, 2.486826186E+0, 4.391151258E+2, 2.478112397E+0, 7.781063746E-1, 7.53186339E-1, 2.314231315E+2}
258 , {2.66E+2, 1.E-1, 2.004455136E+0, 4.789986937E+2, 2.644049351E+0, 8.199018006E-1, 8.094088439E-1, 2.549699686E+2}
259 , {3.16E+2, 1.E-1, 1.68194314E+0, 5.211919289E+2, 2.789283073E+0, 8.677495114E-1, 8.621948769E-1, 2.758590947E+2}
260 , {3.66E+2, 1.E-1, 1.449818149E+0, 5.657298133E+2, 2.920045807E+0, 9.131429027E-1, 9.097699996E-1, 2.950131586E+2}
261 , {4.16E+2, 1.E-1, 1.274385234E+0, 6.124388048E+2, 3.03961277E+0, 9.545352243E-1, 9.522915251E-1, 3.128704572E+2}
262 , {4.66E+2, 1.E-1, 1.137005248E+0, 6.611176673E+2, 3.150073938E+0, 9.919963349E-1, 9.904041983E-1, 3.296882772E+2}
263 , {5.16E+2, 1.E-1, 1.026454403E+0, 7.115799429E+2, 3.252907994E+0, 1.025947113E+0, 1.024761888E+0, 3.456400516E+2}
264 , {5.66E+2, 1.E-1, 9.355473622E-1, 7.636610538E+2, 3.349222831E+0, 1.056815769E+0, 1.055900437E+0, 3.608532909E+2}
265 , {6.16E+2, 1.E-1, 8.594627307E-1, 8.17216138E+2, 3.439877873E+0, 1.084959095E+0, 1.084231447E+0, 3.754267419E+2}
266 , {6.66E+2, 1.E-1, 7.948415686E-1, 8.721163302E+2, 3.525556019E+0, 1.110662697E+0, 1.110070631E+0, 3.894392505E+2}
267 , {7.16E+2, 1.E-1, 7.392705665E-1, 9.282456486E+2, 3.606810343E+0, 1.134159609E+0, 1.133668593E+0, 4.029549639E+2}
268 , {7.66E+2, 1.E-1, 6.909704835E-1, 9.854988267E+2, 3.684096267E+0, 1.155647918E+0, 1.155234203E+0, 4.160267505E+2}
269 , {8.16E+2, 1.E-1, 6.486004016E-1, 1.043779893E+3, 3.757794502E+0, 1.175302894E+0, 1.174949628E+0, 4.286986388E+2}
270 , {8.66E+2, 1.E-1, 6.111303977E-1, 1.103001225E+3, 3.828227711E+0, 1.193284034E+0, 1.192978932E+0, 4.410076452E+2}
271 , {9.16E+2, 1.E-1, 5.777562235E-1, 1.16308286E+3, 3.895672784E+0, 1.209738641E+0, 1.209472541E+0, 4.529851787E+2}
272 , {9.66E+2, 1.E-1, 5.478406447E-1, 1.223951931E+3, 3.960369979E+0, 1.2248034E+0, 1.224569332E+0, 4.646581315E+2}
273 , {1.016E+3, 1.E-1, 5.208721919E-1, 1.285542153E+3, 4.022529808E+0, 1.238604985E+0, 1.238397548E+0, 4.760497327E+2}
274 , {1.066E+3, 1.E-1, 4.964355705E-1, 1.34779333E+3, 4.082338276E+0, 1.251260285E+0, 1.251075233E+0, 4.871802172E+2}
275 , {2.20E+2, 1.E+0, 1.16703286E+3, 8.683239354E+1, 5.505734566E-1, 1.95885155E+0, 7.576942616E-1, 9.535503477E+2}
276 , {2.330282499E+2, 1.E+0, 1.116903622E+3, 1.126571928E+2, 6.646002577E-1, 2.011052229E+0, 7.724408378E-1, 8.571842464E+2}
277 , {2.330282499E+2, 1.E+0, 2.60056432E+1, 4.352962968E+2, 2.049149574E+0, 1.032158413E+0, 7.724408378E-1, 2.235011365E+2}
278 , {2.70E+2, 1.E+0, 2.114700655E+1, 4.711107444E+2, 2.191977498E+0, 9.323476551E-1, 8.138035995E-1, 2.46913928E+2}
279 , {3.20E+2, 1.E+0, 1.723430305E+1, 5.17280852E+2, 2.348878807E+0, 9.243272791E-1, 8.661970555E-1, 2.718047464E+2}
280 , {3.70E+2, 1.E+0, 1.465943954E+1, 5.640248879E+2, 2.484565304E+0, 9.476337552E-1, 9.133502547E-1, 2.930513634E+2}
281 , {4.20E+2, 1.E+0, 1.279586846E+1, 6.121542004E+2, 2.606534037E+0, 9.779757625E-1, 9.554935853E-1, 3.121629304E+2}
282 , {4.70E+2, 1.E+0, 1.137110751E+1, 6.618337726E+2, 2.718258346E+0, 1.009113763E+0, 9.932830471E-1, 3.297928738E+2}
283 , {5.20E+2, 1.E+0, 1.024105219E+1, 7.130457217E+2, 2.821779384E+0, 1.039098422E+0, 1.027365251E+0, 3.462974606E+2}
284 , {5.70E+2, 1.E+0, 9.32034508E+0, 7.657137375E+2, 2.918465999E+0, 1.067303834E+0, 1.058265531E+0, 3.61900332E+2}
285 , {6.20E+2, 1.E+0, 8.554490597E+0, 8.197435523E+2, 3.009310433E+0, 1.093561114E+0, 1.08638662E+0, 3.767553743E+2}
286 , {6.70E+2, 1.E+0, 7.906773232E+0, 8.750373567E+2, 3.095068043E+0, 1.117870908E+0, 1.112037962E+0, 3.909751084E+2}
287 , {7.20E+2, 1.E+0, 7.351424646E+0, 9.31499309E+2, 3.176333646E+0, 1.140301565E+0, 1.135466079E+0, 4.046452569E+2}
288 , {7.70E+2, 1.E+0, 6.86976529E+0, 9.890378182E+2, 3.253587797E+0, 1.160950947E+0, 1.156877252E+0, 4.178330492E+2}
289 , {8.20E+2, 1.E+0, 6.447892424E+0, 1.047566572E+3, 3.327226892E+0, 1.179930587E+0, 1.176451949E+0, 4.305923792E+2}
290 , {8.70E+2, 1.E+0, 6.075228187E+0, 1.107005004E+3, 3.397583678E+0, 1.197357862E+0, 1.194353025E+0, 4.429672231E+2}
291 , {9.20E+2, 1.E+0, 5.743572329E+0, 1.167278461E+3, 3.464941685E+0, 1.213351251E+0, 1.210729923E+0, 4.549940129E+2}
292 , {9.70E+2, 1.E+0, 5.446464232E+0, 1.228318172E+3, 3.529545622E+0, 1.22802709E+0, 1.225720645E+0, 4.667033381E+2}
293 , {1.020E+3, 1.E+0, 5.178741503E+0, 1.290061079E+3, 3.591609022E+0, 1.24149727E+0, 1.239452608E+0, 4.781211965E+2}
294 , {1.070E+3, 1.E+0, 4.936227415E+0, 1.352449573E+3, 3.651319963E+0, 1.253867674E+0, 1.252043051E+0, 4.892699275E+2}
295 , {2.20E+2, 1.E+1, 1.185633186E+3, 8.944320189E+1, 5.276696788E-1, 1.903856175E+0, 7.576942616E-1, 1.003148747E+3}
296 , {2.70E+2, 1.0E+1, 9.894607858E+2, 1.887248227E+2, 9.335353209E-1, 2.142451131E+0, 8.138035995E-1, 6.641525173E+2}
297 , {3.20E+2, 1.0E+1, 4.482772002E+2, 3.629005817E+2, 1.513661952E+0, 7.617495479E+0, 8.661970555E-1, 2.191440164E+2}
298 , {3.70E+2, 1.E+1, 1.927369325E+2, 4.99290267E+2, 1.917146569E+0, 1.557419115E+0, 9.133502547E-1, 2.659746253E+2}
299 , {4.20E+2, 1.E+1, 1.474750648E+2, 5.679882127E+2, 2.091678028E+0, 1.261643459E+0, 9.554935853E-1, 2.987681682E+2}
300 , {4.70E+2, 1.0E+1, 1.233191172E+2, 6.286736778E+2, 2.228277185E+0, 1.180883351E+0, 9.932830471E-1, 3.241813901E+2}
301 , {5.20E+2, 1.0E+1, 1.073305338E+2, 6.869694278E+2, 2.346167334E+0, 1.15623326E+0, 1.027365251E+0, 3.457082453E+2}
302 , {5.70E+2, 1.0E+1, 9.563339786E+1, 7.446444524E+2, 2.452069543E+0, 1.153027376E+0, 1.058265531E+0, 3.647789332E+2}
303 , {6.20E+2, 1.0E+1, 8.656077872E+1, 8.024278418E+2, 2.549237927E+0, 1.159358586E+0, 1.08638662E+0, 3.82133223E+2}
304 , {6.70E+2, 1.0E+1, 7.924771529E+1, 8.606533504E+2, 2.639549855E+0, 1.170151035E+0, 1.112037962E+0, 3.982078546E+2}
305 , {7.20E+2, 1.0E+1, 7.318938174E+1, 9.194757706E+2, 2.724217432E+0, 1.182949222E+0, 1.135466079E+0, 4.132839338E+2}
306 , {7.70E+2, 1.0E+1, 6.80662969E+1, 9.789600008E+2, 2.804086944E+0, 1.196469438E+0, 1.156877252E+0, 4.275537729E+2}
307 , {8.20E+2, 1.0E+1, 6.366395382E+1, 1.039122905E+3, 2.879784045E+0, 1.210011066E+0, 1.176451949E+0, 4.411550682E+2}
308 , {8.70E+2, 1.0E+1, 5.98316849E+1, 1.099954916E+3, 2.951791759E+0, 1.223186904E+0, 1.194353025E+0, 4.54189981E+2}
309 , {9.20E+2, 1.0E+1, 5.645984003E+1, 1.161431955E+3, 3.020495782E+0, 1.235787709E+0, 1.210729923E+0, 4.667365265E+2}
310 , {9.70E+2, 1.0E+1, 5.346630143E+1, 1.223522328E+3, 3.086212432E+0, 1.247709024E+0, 1.225720645E+0, 4.788557353E+2}
311 , {1.020E+3, 1.0E+1, 5.078810138E+1, 1.286190821E+3, 3.149206742E+0, 1.258909342E+0, 1.239452608E+0, 4.905963451E+2}
312 , {1.070E+3, 1.0E+1, 4.837599107E+1, 1.349401174E+3, 3.209704663E+0, 1.269385128E+0, 1.252043051E+0, 5.019979809E+2}
313 };
314
315 const unsigned ntd = sizeof(td)/sizeof(TestData);
316
317 #endif

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