Cantera  2.0
GRI_30_Kinetics.cpp
Go to the documentation of this file.
1 /**
2  * @file GRI_30_Kinetics.cpp
3  *
4  * @ingroup chemkinetics
5  */
6 
7 // Copyright 2001 California Institute of Technology
8 
10 
16 
17 #include <iostream>
18 using namespace std;
19 
20 
21 namespace Cantera
22 {
23 
24 /**
25  * Construct an empty reaction mechanism.
26  */
27 GRI_30_Kinetics::
28 GRI_30_Kinetics(thermo_t* th) : GasKinetics(th) {}
29 
30 void GRI_30_Kinetics::
31 gri30_update_rates_T()
32 {
33  doublereal T = thermo().temperature();
34  doublereal logT = log(T);
35  m_logc_ref = m_logp_ref - logT;
36  update_rates(T, logT, &m_rfn[0]);
37  m_falloff_low_rates.update(T, logT, &m_rfn_low[0]);
38  m_falloff_high_rates.update(T, logT, &m_rfn_high[0]);
39  m_falloffn.updateTemp(T, &falloff_work[0]);
40  m_temp = T;
42  m_ROP_ok = false;
43  //}
44 };
45 
46 
47 /**
48  * Update the equilibrium constants in molar units.
49  * @todo This formulation assumes an ideal gas.
50  */
52 {
53  const doublereal* a =
54  &((IdealGasPhase*)m_thermo[0])->expGibbs_RT_ref()[0];
55  doublereal exp_c_ref = exp(m_logc_ref);
56  update_kc(a, exp_c_ref, &m_rkcn[0]);
57 }
58 
59 
60 void GRI_30_Kinetics::gri30_updateROP()
61 {
62 
63  gri30_update_rates_T();
65 
66  if (m_ROP_ok) {
67  return;
68  }
69 
70  const vector_fp& rf = m_rfn;
71  const vector_fp& rkc = m_rkcn;
72  vector_fp& ropf = m_ropf;
73  vector_fp& ropnet = m_ropnet;
74 
75  copy(rf.begin(), rf.end(), ropf.begin());
76  m_3b_concm.multiply(&ropf[0], &concm_3b_values[0]);
77  processFalloffReactions();
78  multiply_each(ropf.begin(), ropf.end(), m_perturb.begin());
79  eval_ropnet(&m_conc[0], &ropf[0], &rkc[0], &ropnet[0]);
80  m_ROP_ok = true;
81 }
82 
83 
84 void GRI_30_Kinetics::update_rates(doublereal t, doublereal tlog, doublereal* rf)
85 {
86  doublereal rt = 1.0/t;
87  rf[0] = exp(25.5108 + -1 * tlog);
88  rf[1] = exp(26.9379 + -1 * tlog);
89  rf[2] = exp(3.65584 + 2.7 * tlog - 3150.48 * rt);
90  rf[4] = exp(9.17264 + 2 * tlog - 2013.09 * rt);
91  rf[10] = exp(13.8353 + 1.5 * tlog - 4328.13 * rt);
92  rf[14] = exp(24.3868 - 1781.58 * rt);
93  rf[17] = exp(5.96101 + 2.5 * tlog - 1560.14 * rt);
94  rf[18] = exp(4.86753 + 2.5 * tlog - 2516.36 * rt);
95  rf[20] = exp(9.51044 + 2 * tlog - 956.215 * rt);
96  rf[21] = exp(38.3674 + -1.41 * tlog - 14569.7 * rt);
97  rf[22] = exp(8.84506 + 2 * tlog - 956.215 * rt);
98  rf[24] = exp(9.43348 + 1.83 * tlog - 110.72 * rt);
99  rf[26] = exp(11.4053 + 1.92 * tlog - 2863.61 * rt);
100  rf[28] = exp(23.0259 - 4026.17 * rt);
101  rf[29] = exp(21.2829 - 679.416 * rt);
102  rf[30] = exp(21.6396 - 24056.4 * rt);
103  rf[31] = exp(25.3284 - 20130.9 * rt);
104  rf[32] = exp(28.6606 + -0.86 * tlog);
105  rf[33] = exp(30.666 + -1.24 * tlog);
106  rf[34] = exp(30.0523 + -0.76 * tlog);
107  rf[35] = exp(30.8891 + -1.24 * tlog);
108  rf[36] = exp(27.2743 + -0.8 * tlog);
109  rf[37] = exp(30.9082 + -0.6707 * tlog - 8576.25 * rt);
110  rf[38] = exp(27.631 + -1 * tlog);
111  rf[39] = exp(25.2231 + -0.6 * tlog);
112  rf[40] = exp(31.7254 + -1.25 * tlog);
113  rf[41] = exp(33.9409 + -2 * tlog);
114  rf[42] = exp(37.6298 + -2 * tlog);
115  rf[43] = exp(22.102 - 337.695 * rt);
116  rf[44] = exp(24.5255 - 537.494 * rt);
117  rf[45] = exp(25.1541 - 319.577 * rt);
118  rf[46] = exp(9.40096 + 2 * tlog - 2617.01 * rt);
119  rf[47] = exp(23.0259 - 1811.78 * rt);
120  rf[52] = exp(13.4 + 1.62 * tlog - 5455.46 * rt);
121  rf[57] = exp(10.9578 + 1.9 * tlog - 1379.97 * rt);
122  rf[60] = exp(18.9215 + 0.65 * tlog - -142.929 * rt);
123  rf[61] = exp(24.2137 + -0.09 * tlog - 306.995 * rt);
124  rf[63] = exp(10.6334 + 1.63 * tlog - 968.294 * rt);
125  rf[65] = exp(21.1287 + 0.5 * tlog - -55.3598 * rt);
126  rf[66] = exp(26.2916 + -0.23 * tlog - 538.5 * rt);
127  rf[67] = exp(9.74097 + 2.1 * tlog - 2450.93 * rt);
128  rf[68] = exp(8.34284 + 2.1 * tlog - 2450.93 * rt);
129  rf[74] = exp(7.18917 + 2.53 * tlog - 6160.04 * rt);
130  rf[77] = exp(11.6527 + 1.9 * tlog - 3789.63 * rt);
131  rf[79] = exp(24.6353 - 4026.17 * rt);
132  rf[80] = exp(23.1481 - 1725.21 * rt);
133  rf[83] = exp(12.283 + 1.51 * tlog - 1726.22 * rt);
134  rf[85] = exp(3.57515 + 2.4 * tlog - -1061.9 * rt);
135  rf[86] = exp(23.3974 - -251.636 * rt);
136  rf[87] = exp(21.4164 - 214.897 * rt);
137  rf[88] = exp(35.0694 - 14801.2 * rt);
138  rf[92] = exp(9.33256 + 2 * tlog - 1509.81 * rt);
139  rf[95] = exp(10.9331 + 1.6 * tlog - 2727.73 * rt);
140  rf[96] = exp(34.0987 + -1.34 * tlog - 713.135 * rt);
141  rf[97] = exp(11.5129 + 1.6 * tlog - 1570.21 * rt);
142  rf[98] = exp(10.7706 + 1.228 * tlog - 35.229 * rt);
143  rf[100] = exp(15.0481 + 1.18 * tlog - -224.962 * rt);
144  rf[103] = exp(7.2724 + 2 * tlog - -422.748 * rt);
145  rf[104] = exp(8.7483 + 2 * tlog - 754.907 * rt);
146  rf[106] = exp(-15.3388 + 4.5 * tlog - -503.271 * rt);
147  rf[107] = exp(6.22258 + 2.3 * tlog - 6794.16 * rt);
148  rf[108] = exp(10.4253 + 2 * tlog - 7045.8 * rt);
149  rf[109] = exp(-14.5432 + 4 * tlog - -1006.54 * rt);
150  rf[111] = exp(8.18869 + 2 * tlog - 1258.18 * rt);
151  rf[112] = exp(8.17188 + 2.12 * tlog - 437.846 * rt);
152  rf[113] = exp(22.7382 - 1006.54 * rt);
153  rf[114] = exp(18.683 - -820.332 * rt);
154  rf[115] = exp(26.7635 - 6039.26 * rt);
155  rf[119] = exp(25.7339 - 11877.2 * rt);
156  rf[120] = exp(8.63052 + 2 * tlog - 6039.26 * rt);
157  rf[121] = exp(24.7837 - 289.884 * rt);
158  rf[125] = exp(25.4054 - 1565.17 * rt);
159  rf[126] = exp(22.4655 - -379.97 * rt);
160  rf[131] = exp(25.9703 - 7947.66 * rt);
161  rf[132] = exp(25.2729 - -259.185 * rt);
162  rf[134] = exp(22.3327 - 754.907 * rt);
163  rf[135] = exp(6.21461 + 2 * tlog - 3638.65 * rt);
164  rf[136] = exp(28.101 - 6011.07 * rt);
165  rf[138] = exp(7.80792 + 2 * tlog - 4162.05 * rt);
166  rf[141] = exp(23.4313 - 301.963 * rt);
167  rf[142] = exp(22.9205 - 301.963 * rt);
168  rf[148] = exp(23.2082 - -286.865 * rt);
169  rf[149] = exp(23.4959 - -286.865 * rt);
170  rf[153] = exp(24.4121 - -276.799 * rt);
171  rf[154] = exp(24.2956 - 15339.7 * rt);
172  rf[155] = exp(21.5605 - 10224 * rt);
173  rf[156] = exp(3.19867 + 2.47 * tlog - 2606.95 * rt);
174  rf[158] = exp(22.6461 + 0.1 * tlog - 5334.68 * rt);
175  rf[160] = exp(1.19996 + 2.81 * tlog - 2949.17 * rt);
176  rf[161] = exp(10.309 + 1.5 * tlog - 5002.52 * rt);
177  rf[162] = exp(9.21034 + 1.5 * tlog - 5002.52 * rt);
178  rf[163] = exp(5.42495 + 2 * tlog - 4630.1 * rt);
179  rf[164] = exp(8.72258 + 1.74 * tlog - 5259.18 * rt);
180  rf[165] = exp(34.9442 + -1 * tlog - 8555.61 * rt);
181  rf[166] = exp(32.8621 + -1 * tlog - 8555.61 * rt);
182  rf[167] = exp(23.3222 - 201.309 * rt);
183  rf[168] = exp(23.6136 - 452.944 * rt);
184  rf[169] = exp(-35.3874 + 7.6 * tlog - -1776.55 * rt);
185  rf[170] = exp(23.0259 - -379.97 * rt);
186  rf[171] = exp(17.855 + 0.9 * tlog - 1003.02 * rt);
187  rf[172] = exp(31.4553 + -1.39 * tlog - 510.82 * rt);
188  rf[174] = exp(20.5489 - 1950.18 * rt);
189  rf[175] = exp(21.8864 - 429.794 * rt);
190  rf[177] = exp(24.0191 - 178.661 * rt);
191  rf[178] = exp(16.0127 + 1 * tlog - 3271.26 * rt);
192  rf[179] = exp(24.2378 - 193.759 * rt);
193  rf[180] = exp(21.0597 - 5440.36 * rt);
194  rf[181] = exp(24.0906 - 11650.7 * rt);
195  rf[182] = exp(26.6817 - 9501.76 * rt);
196  rf[183] = exp(21.4164 - 10598.9 * rt);
197  rf[185] = exp(21.47 - -241.57 * rt);
198  rf[186] = exp(32.2945 + -1.41 * tlog);
199  rf[187] = exp(22.0842 - -120.785 * rt);
200  rf[188] = exp(25.6061 - 181.178 * rt);
201  rf[190] = exp(24.189 - 166.08 * rt);
202  rf[192] = exp(14.5087 + 1.2 * tlog);
203  rf[193] = exp(6.1334 + 2 * tlog - 3271.26 * rt);
204  rf[194] = exp(7.15462 + 1.5 * tlog - 50.3271 * rt);
205  rf[196] = exp(23.719 - 6970.31 * rt);
206  rf[197] = exp(23.796 + -0.23 * tlog);
207  rf[198] = exp(26.6232 + -0.45 * tlog);
208  rf[201] = exp(24.4121 - 1836.94 * rt);
209  rf[202] = exp(11.4076 + 1.5 * tlog - -231.505 * rt);
210  rf[204] = exp(25.5908 + -0.11 * tlog - 2506.29 * rt);
211  rf[211] = exp(31.4332 + -1.32 * tlog - 372.421 * rt);
212  rf[213] = exp(20.6179 + 0.72 * tlog - 332.159 * rt);
213  rf[214] = exp(9.4727 + 1.9 * tlog - -478.108 * rt);
214  rf[215] = exp(23.0259 - 6542.53 * rt);
215  rf[218] = exp(22.8027 - 3754.4 * rt);
216  rf[219] = exp(22.5381 - -221.439 * rt);
217  rf[220] = exp(5.68698 + 2.45 * tlog - 1127.33 * rt);
218  rf[225] = exp(21.4164 - 10065.4 * rt);
219  rf[226] = exp(26.4598 - 27201.8 * rt);
220  rf[227] = exp(32.878 + -1.52 * tlog - 372.421 * rt);
221  rf[228] = exp(35.8738 + -2 * tlog - 402.617 * rt);
222  rf[229] = exp(59.9064 + -3.3 * tlog - 63714.1 * rt);
223  rf[230] = exp(3.01062 + 2.64 * tlog - 2506.29 * rt);
224  rf[231] = exp(1.62334 + 2.64 * tlog - 2506.29 * rt);
225  rf[232] = exp(15.179 + 1.58 * tlog - 13387 * rt);
226  rf[233] = exp(7.00307 + 2.03 * tlog - 6728.74 * rt);
227  rf[234] = exp(1.4816 + 2.26 * tlog - 3220.94 * rt);
228  rf[235] = exp(-1.83258 + 2.56 * tlog - 4529.44 * rt);
229  rf[237] = exp(24.8176 - 201.309 * rt);
230  rf[238] = exp(24.8664 - 23160.5 * rt);
231  rf[239] = exp(14.9533 + 0.88 * tlog - 10130.9 * rt);
232  rf[241] = exp(23.0259 - 37242.1 * rt);
233  rf[242] = exp(18.4207 - 32712.6 * rt);
234  rf[248] = exp(33.3676 + -1.38 * tlog - 639.155 * rt);
235  rf[249] = exp(26.3931 + -0.69 * tlog - 382.486 * rt);
236  rf[250] = exp(24.3609 + -0.36 * tlog - 291.897 * rt);
237  rf[251] = exp(33.3676 + -1.38 * tlog - 639.155 * rt);
238  rf[252] = exp(26.3931 + -0.69 * tlog - 382.486 * rt);
239  rf[253] = exp(24.3609 + -0.36 * tlog - 291.897 * rt);
240  rf[254] = exp(25.2876 - 14494.2 * rt);
241  rf[255] = exp(20.7233 - 10946.1 * rt);
242  rf[261] = exp(11.4927 + 1.41 * tlog - 4277.81 * rt);
243  rf[262] = exp(11.9184 + 1.57 * tlog - 22143.9 * rt);
244  rf[263] = exp(7.69621 + 2.11 * tlog - 5737.29 * rt);
245  rf[264] = exp(10.0213 + 1.7 * tlog - 1912.43 * rt);
246  rf[265] = exp(4.65396 + 2.5 * tlog - 6693.51 * rt);
247  rf[266] = exp(10.4043 + 1.5 * tlog - 1811.78 * rt);
248  rf[267] = exp(8.10168 + 1.5 * tlog - 1811.78 * rt);
249  rf[268] = exp(30.0991 - 42637.1 * rt);
250  rf[269] = exp(28.373 + -0.69 * tlog - 1434.32 * rt);
251  rf[270] = exp(19.4139 + 0.18 * tlog - 1066.94 * rt);
252  rf[271] = exp(25.8591 + -0.75 * tlog - 1454.45 * rt);
253  rf[272] = exp(9.90349 + 2 * tlog - 1006.54 * rt);
254  rf[274] = exp(27.1367 + -0.31 * tlog - 145.949 * rt);
255  rf[275] = exp(22.0316 + 0.15 * tlog - -45.2944 * rt);
256  rf[276] = exp(6.29157 + 2.4 * tlog - 4989.93 * rt);
257  rf[277] = exp(10.8198 + 1.6 * tlog - 480.624 * rt);
258  rf[278] = exp(9.14846 + 1.94 * tlog - 3251.13 * rt);
259  rf[279] = exp(23.0259 - 7221.94 * rt);
260  rf[280] = exp(29.4491 + -0.752 * tlog - 173.629 * rt);
261  rf[281] = exp(21.9019 - -354.806 * rt);
262  rf[282] = exp(21.8219 - 5686.97 * rt);
263  rf[284] = exp(8.80986 + 1.83 * tlog - 110.72 * rt);
264  rf[286] = exp(29.2405 - 8721.69 * rt);
265  rf[287] = exp(15.895 + 0.5 * tlog - -883.241 * rt);
266  rf[289] = exp(22.4811 - 754.907 * rt);
267  rf[290] = exp(21.5987 - 754.907 * rt);
268  rf[291] = exp(26.0216 - 5530.45 * rt);
269  rf[292] = exp(18.038 + 0.25 * tlog - -470.559 * rt);
270  rf[293] = exp(19.5292 + 0.29 * tlog - 5.53598 * rt);
271  rf[294] = exp(7.19818 + 1.61 * tlog - -193.256 * rt);
272  rf[295] = exp(22.488 - 909.914 * rt);
273  rf[296] = exp(22.488 - 909.914 * rt);
274  rf[297] = exp(24.1278 - 19703.1 * rt);
275  rf[298] = exp(14.5334 + 1.16 * tlog - 1210.37 * rt);
276  rf[299] = exp(14.5334 + 1.16 * tlog - 1210.37 * rt);
277  rf[300] = exp(16.9695 + 0.73 * tlog - -560.141 * rt);
278  rf[301] = exp(21.8252 - 6000.5 * rt);
279  rf[302] = exp(7.90839 + 1.77 * tlog - 2979.37 * rt);
280  rf[312] = exp(5.26269 + 2.68 * tlog - 1870.16 * rt);
281  rf[313] = exp(7.18539 + 2.54 * tlog - 3400.1 * rt);
282  rf[314] = exp(10.3609 + 1.8 * tlog - 470.055 * rt);
283  rf[315] = exp(-0.972861 + 2.72 * tlog - 754.907 * rt);
284  rf[316] = exp(-7.00979 + 3.65 * tlog - 3600.4 * rt);
285  rf[320] = exp(8.30894 + 2.19 * tlog - 447.911 * rt);
286  rf[322] = exp(17.0542 + 0.255 * tlog - -474.585 * rt);
287  rf[324] = exp(23.6818 + -0.32 * tlog);
288 }
289 
290 
291 void GRI_30_Kinetics::update_kc(const doublereal* a, doublereal exp_c0, doublereal* rkc)
292 {
293  rkc[0] = a[3]*exp_c0/(a[2]*a[2]);
294  rkc[1] = a[4]*exp_c0/(a[1]*a[2]);
295  rkc[2] = a[1]*a[4]/(a[0]*a[2]);
296  rkc[3] = a[3]*a[4]/(a[2]*a[6]);
297  rkc[4] = a[4]*a[6]/(a[2]*a[7]);
298  rkc[5] = a[1]*a[14]/(a[2]*a[9]);
299  rkc[6] = a[1]*a[16]/(a[2]*a[10]);
300  rkc[7] = a[0]*a[14]/(a[2]*a[11]);
301  rkc[8] = a[1]*a[16]/(a[2]*a[11]);
302  rkc[9] = a[1]*a[17]/(a[2]*a[12]);
303  rkc[10] = a[4]*a[12]/(a[2]*a[13]);
304  rkc[11] = a[15]*exp_c0/(a[2]*a[14]);
305  rkc[12] = a[4]*a[14]/(a[2]*a[16]);
306  rkc[13] = a[1]*a[15]/(a[2]*a[16]);
307  rkc[14] = a[4]*a[16]/(a[2]*a[17]);
308  rkc[15] = a[4]*a[17]/(a[2]*a[18]);
309  rkc[16] = a[4]*a[17]/(a[2]*a[19]);
310  rkc[17] = a[4]*a[18]/(a[2]*a[20]);
311  rkc[18] = a[4]*a[19]/(a[2]*a[20]);
312  rkc[19] = a[9]*a[14]/(a[2]*a[21]);
313  rkc[20] = a[1]*a[27]/(a[2]*a[22]);
314  rkc[21] = a[4]*a[21]/(a[2]*a[22]);
315  rkc[22] = a[10]*a[14]/(a[2]*a[22]);
316  rkc[23] = a[1]*a[28]/(a[2]*a[23]);
317  rkc[24] = a[12]*a[16]/(a[2]*a[24]);
318  rkc[25] = a[12]*a[17]/(a[2]*a[25]);
319  rkc[26] = a[4]*a[25]/(a[2]*a[26]);
320  rkc[27] = a[1]*a[14]*a[14]/(a[2]*a[27]*exp_c0);
321  rkc[28] = a[4]*a[27]/(a[2]*a[28]);
322  rkc[29] = a[10]*a[15]/(a[2]*a[28]);
323  rkc[30] = a[2]*a[15]/(a[3]*a[14]);
324  rkc[31] = a[6]*a[16]/(a[3]*a[17]);
325  rkc[32] = a[6]*exp_c0/(a[1]*a[3]);
326  rkc[33] = a[3]*a[6]*exp_c0/(a[1]*a[3]*a[3]);
327  rkc[34] = a[5]*a[6]*exp_c0/(a[1]*a[3]*a[5]);
328  rkc[35] = a[6]*a[47]*exp_c0/(a[1]*a[3]*a[47]);
329  rkc[36] = a[6]*a[48]*exp_c0/(a[1]*a[3]*a[48]);
330  rkc[37] = a[2]*a[4]/(a[1]*a[3]);
331  rkc[38] = a[0]*exp_c0/(a[1]*a[1]);
332  rkc[39] = a[0]*a[0]*exp_c0/(a[0]*a[1]*a[1]);
333  rkc[40] = a[0]*a[5]*exp_c0/(a[1]*a[1]*a[5]);
334  rkc[41] = a[0]*a[15]*exp_c0/(a[1]*a[1]*a[15]);
335  rkc[42] = a[5]*exp_c0/(a[1]*a[4]);
336  rkc[43] = a[2]*a[5]/(a[1]*a[6]);
337  rkc[44] = a[0]*a[3]/(a[1]*a[6]);
338  rkc[45] = a[4]*a[4]/(a[1]*a[6]);
339  rkc[46] = a[0]*a[6]/(a[1]*a[7]);
340  rkc[47] = a[4]*a[5]/(a[1]*a[7]);
341  rkc[48] = a[0]*a[8]/(a[1]*a[9]);
342  rkc[49] = a[12]*exp_c0/(a[1]*a[10]);
343  rkc[50] = a[0]*a[9]/(a[1]*a[11]);
344  rkc[51] = a[13]*exp_c0/(a[1]*a[12]);
345  rkc[52] = a[0]*a[12]/(a[1]*a[13]);
346  rkc[53] = a[17]*exp_c0/(a[1]*a[16]);
347  rkc[54] = a[0]*a[14]/(a[1]*a[16]);
348  rkc[55] = a[18]*exp_c0/(a[1]*a[17]);
349  rkc[56] = a[19]*exp_c0/(a[1]*a[17]);
350  rkc[57] = a[0]*a[16]/(a[1]*a[17]);
351  rkc[58] = a[20]*exp_c0/(a[1]*a[18]);
352  rkc[59] = a[0]*a[17]/(a[1]*a[18]);
353  rkc[60] = a[4]*a[12]/(a[1]*a[18]);
354  rkc[61] = a[5]*a[11]/(a[1]*a[18]);
355  rkc[62] = a[20]*exp_c0/(a[1]*a[19]);
356  rkc[63] = a[1]*a[18]/(a[1]*a[19]);
357  rkc[64] = a[0]*a[17]/(a[1]*a[19]);
358  rkc[65] = a[4]*a[12]/(a[1]*a[19]);
359  rkc[66] = a[5]*a[11]/(a[1]*a[19]);
360  rkc[67] = a[0]*a[18]/(a[1]*a[20]);
361  rkc[68] = a[0]*a[19]/(a[1]*a[20]);
362  rkc[69] = a[22]*exp_c0/(a[1]*a[21]);
363  rkc[70] = a[23]*exp_c0/(a[1]*a[22]);
364  rkc[71] = a[24]*exp_c0/(a[1]*a[23]);
365  rkc[72] = a[0]*a[22]/(a[1]*a[23]);
366  rkc[73] = a[25]*exp_c0/(a[1]*a[24]);
367  rkc[74] = a[0]*a[23]/(a[1]*a[24]);
368  rkc[75] = a[26]*exp_c0/(a[1]*a[25]);
369  rkc[76] = a[0]*a[24]/(a[1]*a[25]);
370  rkc[77] = a[0]*a[25]/(a[1]*a[26]);
371  rkc[78] = a[11]*a[14]/(a[1]*a[27]);
372  rkc[79] = a[0]*a[27]/(a[1]*a[28]);
373  rkc[80] = a[12]*a[14]/(a[1]*a[28]);
374  rkc[81] = a[1]*a[28]/(a[1]*a[29]);
375  rkc[82] = a[17]*exp_c0/(a[0]*a[14]);
376  rkc[83] = a[1]*a[5]/(a[0]*a[4]);
377  rkc[84] = a[7]*exp_c0/(a[4]*a[4]);
378  rkc[85] = a[2]*a[5]/(a[4]*a[4]);
379  rkc[86] = a[3]*a[5]/(a[4]*a[6]);
380  rkc[87] = a[5]*a[6]/(a[4]*a[7]);
381  rkc[88] = a[5]*a[6]/(a[4]*a[7]);
382  rkc[89] = a[1]*a[14]/(a[4]*a[8]);
383  rkc[90] = a[1]*a[16]/(a[4]*a[9]);
384  rkc[91] = a[1]*a[17]/(a[4]*a[10]);
385  rkc[92] = a[5]*a[9]/(a[4]*a[10]);
386  rkc[93] = a[1]*a[17]/(a[4]*a[11]);
387  rkc[94] = a[20]*exp_c0/(a[4]*a[12]);
388  rkc[95] = a[5]*a[10]/(a[4]*a[12]);
389  rkc[96] = a[5]*a[11]/(a[4]*a[12]);
390  rkc[97] = a[5]*a[12]/(a[4]*a[13]);
391  rkc[98] = a[1]*a[15]/(a[4]*a[14]);
392  rkc[99] = a[5]*a[14]/(a[4]*a[16]);
393  rkc[100] = a[5]*a[16]/(a[4]*a[17]);
394  rkc[101] = a[5]*a[17]/(a[4]*a[18]);
395  rkc[102] = a[5]*a[17]/(a[4]*a[19]);
396  rkc[103] = a[5]*a[18]/(a[4]*a[20]);
397  rkc[104] = a[5]*a[19]/(a[4]*a[20]);
398  rkc[105] = a[1]*a[27]/(a[4]*a[21]);
399  rkc[106] = a[1]*a[28]/(a[4]*a[22]);
400  rkc[107] = a[1]*a[29]/(a[4]*a[22]);
401  rkc[108] = a[5]*a[21]/(a[4]*a[22]);
402  rkc[109] = a[12]*a[14]/(a[4]*a[22]);
403  rkc[110] = a[5]*a[22]/(a[4]*a[23]);
404  rkc[111] = a[5]*a[23]/(a[4]*a[24]);
405  rkc[112] = a[5]*a[25]/(a[4]*a[26]);
406  rkc[113] = a[5]*a[27]/(a[4]*a[28]);
407  rkc[114] = a[3]*a[7]/(a[6]*a[6]);
408  rkc[115] = a[3]*a[7]/(a[6]*a[6]);
409  rkc[116] = a[4]*a[17]/(a[6]*a[10]);
410  rkc[117] = a[3]*a[13]/(a[6]*a[12]);
411  rkc[118] = a[4]*a[19]/(a[6]*a[12]);
412  rkc[119] = a[4]*a[15]/(a[6]*a[14]);
413  rkc[120] = a[7]*a[16]/(a[6]*a[17]);
414  rkc[121] = a[2]*a[14]/(a[3]*a[8]);
415  rkc[122] = a[1]*a[21]/(a[8]*a[10]);
416  rkc[123] = a[1]*a[22]/(a[8]*a[12]);
417  rkc[124] = a[2]*a[16]/(a[3]*a[9]);
418  rkc[125] = a[1]*a[10]/(a[0]*a[9]);
419  rkc[126] = a[1]*a[17]/(a[5]*a[9]);
420  rkc[127] = a[1]*a[22]/(a[9]*a[10]);
421  rkc[128] = a[1]*a[23]/(a[9]*a[12]);
422  rkc[129] = a[1]*a[24]/(a[9]*a[13]);
423  rkc[130] = a[27]*exp_c0/(a[9]*a[14]);
424  rkc[131] = a[14]*a[16]/(a[9]*a[15]);
425  rkc[132] = a[1]*a[28]/(a[9]*a[17]);
426  rkc[133] = a[14]*a[22]/(a[9]*a[27]);
427  rkc[135] = a[1]*a[12]/(a[0]*a[10]);
428  rkc[136] = a[0]*a[22]/(a[10]*a[10]);
429  rkc[137] = a[1]*a[24]/(a[10]*a[12]);
430  rkc[138] = a[12]*a[12]/(a[10]*a[13]);
431  rkc[139] = a[28]*exp_c0/(a[10]*a[14]);
432  rkc[140] = a[14]*a[23]/(a[10]*a[27]);
433  rkc[141] = a[10]*a[47]/(a[11]*a[47]);
434  rkc[142] = a[10]*a[48]/(a[11]*a[48]);
435  rkc[143] = a[1]*a[4]*a[14]/(a[3]*a[11]*exp_c0);
436  rkc[144] = a[5]*a[14]/(a[3]*a[11]);
437  rkc[145] = a[1]*a[12]/(a[0]*a[11]);
438  rkc[146] = a[20]*exp_c0/(a[5]*a[11]);
439  rkc[147] = a[5]*a[10]/(a[5]*a[11]);
440  rkc[148] = a[1]*a[24]/(a[11]*a[12]);
441  rkc[149] = a[12]*a[12]/(a[11]*a[13]);
442  rkc[150] = a[10]*a[14]/(a[11]*a[14]);
443  rkc[151] = a[10]*a[15]/(a[11]*a[15]);
444  rkc[152] = a[14]*a[17]/(a[11]*a[15]);
445  rkc[153] = a[12]*a[25]/(a[11]*a[26]);
446  rkc[154] = a[2]*a[19]/(a[3]*a[12]);
447  rkc[155] = a[4]*a[17]/(a[3]*a[12]);
448  rkc[156] = a[6]*a[13]/(a[7]*a[12]);
449  rkc[157] = a[26]*exp_c0/(a[12]*a[12]);
450  rkc[158] = a[1]*a[25]/(a[12]*a[12]);
451  rkc[159] = a[13]*a[14]/(a[12]*a[16]);
452  rkc[160] = a[13]*a[16]/(a[12]*a[17]);
453  rkc[161] = a[13]*a[18]/(a[12]*a[20]);
454  rkc[162] = a[13]*a[19]/(a[12]*a[20]);
455  rkc[163] = a[13]*a[23]/(a[12]*a[24]);
456  rkc[164] = a[13]*a[25]/(a[12]*a[26]);
457  rkc[165] = a[1]*a[5]*a[14]/(a[5]*a[16]*exp_c0);
458  rkc[166] = a[1]*a[14]/(a[16]*exp_c0);
459  rkc[167] = a[6]*a[14]/(a[3]*a[16]);
460  rkc[168] = a[6]*a[17]/(a[3]*a[18]);
461  rkc[169] = a[6]*a[17]/(a[3]*a[19]);
462  rkc[170] = a[14]*a[16]/(a[3]*a[21]);
463  rkc[171] = a[1]*a[22]/(a[0]*a[21]);
464  rkc[172] = a[16]*a[17]/(a[3]*a[23]);
465  rkc[173] = a[0]*a[22]/(a[24]*exp_c0);
466  rkc[174] = a[6]*a[24]/(a[3]*a[25]);
467  rkc[175] = a[4]*a[14]*a[14]/(a[3]*a[27]*exp_c0);
468  rkc[176] = a[14]*a[14]*a[22]/(a[27]*a[27]*exp_c0);
469  rkc[177] = a[2]*a[47]/(a[30]*a[35]);
470  rkc[178] = a[2]*a[35]/(a[3]*a[30]);
471  rkc[179] = a[1]*a[35]/(a[4]*a[30]);
472  rkc[180] = a[3]*a[47]/(a[2]*a[37]);
473  rkc[181] = a[35]*a[35]/(a[2]*a[37]);
474  rkc[182] = a[4]*a[47]/(a[1]*a[37]);
475  rkc[183] = a[6]*a[47]/(a[4]*a[37]);
476  rkc[184] = a[2]*a[47]/(a[37]*exp_c0);
477  rkc[185] = a[4]*a[36]/(a[6]*a[35]);
478  rkc[186] = a[36]*exp_c0/(a[2]*a[35]);
479  rkc[187] = a[3]*a[35]/(a[2]*a[36]);
480  rkc[188] = a[4]*a[35]/(a[1]*a[36]);
481  rkc[189] = a[1]*a[35]/(a[2]*a[31]);
482  rkc[190] = a[0]*a[30]/(a[1]*a[31]);
483  rkc[191] = a[1]*a[38]/(a[4]*a[31]);
484  rkc[192] = a[5]*a[30]/(a[4]*a[31]);
485  rkc[193] = a[2]*a[38]/(a[3]*a[31]);
486  rkc[194] = a[4]*a[35]/(a[3]*a[31]);
487  rkc[195] = a[1]*a[47]/(a[30]*a[31]);
488  rkc[196] = a[0]*a[38]/(a[5]*a[31]);
489  rkc[197] = a[4]*a[47]/(a[31]*a[35]);
490  rkc[198] = a[1]*a[37]/(a[31]*a[35]);
491  rkc[199] = a[4]*a[31]/(a[2]*a[32]);
492  rkc[200] = a[1]*a[38]/(a[2]*a[32]);
493  rkc[201] = a[0]*a[31]/(a[1]*a[32]);
494  rkc[202] = a[5]*a[31]/(a[4]*a[32]);
495  rkc[203] = a[1]*a[47]/(a[34]*exp_c0);
496  rkc[204] = a[1]*a[47]/(a[34]*exp_c0);
497  rkc[205] = a[6]*a[47]/(a[3]*a[34]);
498  rkc[206] = a[4]*a[47]/(a[2]*a[34]);
499  rkc[207] = a[31]*a[35]/(a[2]*a[34]);
500  rkc[208] = a[0]*a[47]/(a[1]*a[34]);
501  rkc[209] = a[5]*a[47]/(a[4]*a[34]);
502  rkc[210] = a[13]*a[47]/(a[12]*a[34]);
503  rkc[211] = a[38]*exp_c0/(a[1]*a[35]);
504  rkc[212] = a[4]*a[35]/(a[2]*a[38]);
505  rkc[213] = a[0]*a[35]/(a[1]*a[38]);
506  rkc[214] = a[5]*a[35]/(a[4]*a[38]);
507  rkc[215] = a[6]*a[35]/(a[3]*a[38]);
508  rkc[216] = a[14]*a[30]/(a[2]*a[39]);
509  rkc[217] = a[1]*a[46]/(a[4]*a[39]);
510  rkc[218] = a[4]*a[40]/(a[5]*a[39]);
511  rkc[219] = a[2]*a[46]/(a[3]*a[39]);
512  rkc[220] = a[1]*a[40]/(a[0]*a[39]);
513  rkc[221] = a[14]*a[35]/(a[2]*a[46]);
514  rkc[222] = a[14]*a[31]/(a[1]*a[46]);
515  rkc[223] = a[1]*a[14]*a[35]/(a[4]*a[46]*exp_c0);
516  rkc[224] = a[14]*a[47]/(a[30]*a[46]);
517  rkc[225] = a[15]*a[35]/(a[3]*a[46]);
518  rkc[226] = a[14]*a[30]/(a[46]*exp_c0);
519  rkc[227] = a[14]*a[37]/(a[35]*a[46]);
520  rkc[228] = a[15]*a[47]/(a[35]*a[46]);
521  rkc[229] = a[1]*a[39]/(a[40]*exp_c0);
522  rkc[230] = a[1]*a[46]/(a[2]*a[40]);
523  rkc[231] = a[14]*a[31]/(a[2]*a[40]);
524  rkc[232] = a[4]*a[39]/(a[2]*a[40]);
525  rkc[233] = a[1]*a[44]/(a[4]*a[40]);
526  rkc[234] = a[1]*a[45]/(a[4]*a[40]);
527  rkc[235] = a[14]*a[32]/(a[4]*a[40]);
528  rkc[236] = a[41]*exp_c0/(a[1]*a[40]);
529  rkc[237] = a[10]*a[47]/(a[30]*a[41]);
530  rkc[238] = a[30]*a[39]/(a[8]*a[47]);
531  rkc[239] = a[30]*a[40]/(a[9]*a[47]);
532  rkc[240] = a[42]*exp_c0/(a[9]*a[47]);
533  rkc[241] = a[31]*a[40]/(a[10]*a[47]);
534  rkc[242] = a[31]*a[40]/(a[11]*a[47]);
535  rkc[243] = a[2]*a[39]/(a[8]*a[35]);
536  rkc[244] = a[14]*a[30]/(a[8]*a[35]);
537  rkc[245] = a[2]*a[40]/(a[9]*a[35]);
538  rkc[246] = a[1]*a[46]/(a[9]*a[35]);
539  rkc[247] = a[16]*a[30]/(a[9]*a[35]);
540  rkc[248] = a[1]*a[45]/(a[10]*a[35]);
541  rkc[249] = a[4]*a[40]/(a[10]*a[35]);
542  rkc[250] = a[1]*a[43]/(a[10]*a[35]);
543  rkc[251] = a[1]*a[45]/(a[11]*a[35]);
544  rkc[252] = a[4]*a[40]/(a[11]*a[35]);
545  rkc[253] = a[1]*a[43]/(a[11]*a[35]);
546  rkc[254] = a[5]*a[40]/(a[12]*a[35]);
547  rkc[255] = a[4]*a[41]/(a[12]*a[35]);
548  rkc[256] = a[1]*a[14]*a[47]/(a[2]*a[42]*exp_c0);
549  rkc[257] = a[35]*a[40]/(a[2]*a[42]);
550  rkc[258] = a[2]*a[16]*a[47]/(a[3]*a[42]*exp_c0);
551  rkc[259] = a[1]*a[16]*a[47]/(a[4]*a[42]*exp_c0);
552  rkc[260] = a[10]*a[47]/(a[1]*a[42]);
553  rkc[261] = a[15]*a[31]/(a[2]*a[45]);
554  rkc[262] = a[14]*a[38]/(a[2]*a[45]);
555  rkc[263] = a[4]*a[46]/(a[2]*a[45]);
556  rkc[264] = a[14]*a[32]/(a[1]*a[45]);
557  rkc[265] = a[0]*a[46]/(a[1]*a[45]);
558  rkc[266] = a[5]*a[46]/(a[4]*a[45]);
559  rkc[267] = a[15]*a[32]/(a[4]*a[45]);
560  rkc[268] = a[14]*a[31]/(a[45]*exp_c0);
561  rkc[269] = a[1]*a[45]/(a[1]*a[43]);
562  rkc[270] = a[4]*a[40]/(a[1]*a[43]);
563  rkc[271] = a[14]*a[32]/(a[1]*a[43]);
564  rkc[272] = a[1]*a[45]/(a[1]*a[44]);
565  rkc[273] = a[14]*a[43]/(a[27]*a[35]);
566  rkc[274] = a[1]*a[41]/(a[12]*a[30]);
567  rkc[275] = a[0]*a[40]/(a[12]*a[30]);
568  rkc[276] = a[0]*a[32]/(a[1]*a[33]);
569  rkc[277] = a[5]*a[32]/(a[4]*a[33]);
570  rkc[278] = a[4]*a[32]/(a[2]*a[33]);
571  rkc[279] = a[14]*a[38]/(a[15]*a[31]);
572  rkc[280] = a[35]*a[46]/(a[36]*a[39]);
573  rkc[281] = a[15]*a[37]/(a[36]*a[46]);
574  rkc[282] = a[14]*a[35]/(a[15]*a[30]);
575  rkc[284] = a[1]*a[51]/(a[2]*a[24]);
576  rkc[285] = a[1]*a[52]/(a[2]*a[25]);
577  rkc[286] = a[3]*a[5]/(a[4]*a[6]);
578  rkc[288] = a[12]*exp_c0/(a[0]*a[9]);
579  rkc[290] = a[2]*a[17]/(a[3]*a[10]);
580  rkc[293] = a[2]*a[51]/(a[3]*a[23]);
581  rkc[294] = a[6]*a[22]/(a[3]*a[23]);
582  rkc[295] = a[4]*a[51]/(a[2]*a[52]);
583  rkc[298] = a[0]*a[51]/(a[1]*a[52]);
584  rkc[303] = a[51]*exp_c0/(a[1]*a[28]);
585  rkc[307] = a[12]*a[16]/(a[1]*a[51]);
586  rkc[308] = a[0]*a[28]/(a[1]*a[51]);
587  rkc[309] = a[5]*a[28]/(a[4]*a[51]);
588  rkc[310] = a[16]*a[18]/(a[4]*a[51]);
589  rkc[311] = a[50]*exp_c0/(a[12]*a[25]);
590  rkc[312] = a[4]*a[49]/(a[2]*a[50]);
591  rkc[313] = a[0]*a[49]/(a[1]*a[50]);
592  rkc[314] = a[5]*a[49]/(a[4]*a[50]);
593  rkc[315] = a[6]*a[50]/(a[7]*a[49]);
594  rkc[316] = a[13]*a[49]/(a[12]*a[50]);
595  rkc[317] = a[49]*exp_c0/(a[12]*a[24]);
596  rkc[318] = a[17]*a[25]/(a[2]*a[49]);
597  rkc[319] = a[50]*exp_c0/(a[1]*a[49]);
598  rkc[320] = a[12]*a[25]/(a[1]*a[49]);
599  rkc[321] = a[18]*a[25]/(a[4]*a[49]);
600  rkc[322] = a[3]*a[50]/(a[6]*a[49]);
601  rkc[324] = a[25]*a[25]/(a[12]*a[49]);
602 }
603 
604 
605 void GRI_30_Kinetics::get_wdot(const doublereal* rop, doublereal* wdot)
606 {
607  wdot[0] = - rop[2] + rop[7] + rop[38] + rop[39] + rop[40] + rop[41] + rop[44] + rop[46] + rop[48] + rop[50] + rop[52] + rop[54] + rop[57] + rop[59] + rop[64] + rop[67] + rop[68] + rop[72] + rop[74] + rop[76] + rop[77] + rop[79] - rop[82] - rop[83] - rop[125] - rop[135] + rop[136] - rop[145] - rop[171] + rop[173] + rop[190] + rop[196] + rop[201] + rop[208] + rop[213] - rop[220] + rop[265] + rop[275] + rop[276] + rop[283] + rop[287] - rop[288] + rop[292] + rop[298] + rop[299] + rop[308] + rop[313];
608  wdot[1] = - rop[1] + rop[2] + rop[5] + rop[6] + rop[8] + rop[9] + rop[13] + rop[20] + rop[23] + rop[27] - rop[32] - rop[33] - rop[34] - rop[35] - rop[36] - rop[37] - 2*rop[38] - 2*rop[39] - 2*rop[40] - 2*rop[41] - rop[42] - rop[43] - rop[44] - rop[45] - rop[46] - rop[47] - rop[48] - rop[49] - rop[50] - rop[51] - rop[52] - rop[53] - rop[54] - rop[55] - rop[56] - rop[57] - rop[58] - rop[59] - rop[60] - rop[61] - rop[62] - rop[64] - rop[65] - rop[66] - rop[67] - rop[68] - rop[69] - rop[70] - rop[71] - rop[72] - rop[73] - rop[74] - rop[75] - rop[76] - rop[77] - rop[78] - rop[79] - rop[80] + rop[83] + rop[89] + rop[90] + rop[91] + rop[93] + rop[98] + rop[105] + rop[106] + rop[107] + rop[122] + rop[123] + rop[125] + rop[126] + rop[127] + rop[128] + rop[129] + rop[132] + rop[134] + rop[135] + rop[137] + rop[143] + rop[145] + rop[148] + rop[158] + rop[165] + rop[166] + rop[171] + rop[179] - rop[182] - rop[188] + rop[189] - rop[190] + rop[191] + rop[195] + rop[198] + rop[200] - rop[201] + rop[203] + rop[204] - rop[208] - rop[211] - rop[213] + rop[217] + rop[220] - rop[222] + rop[223] + rop[229] + rop[230] + rop[233] + rop[234] - rop[236] + rop[246] + rop[248] + rop[250] + rop[251] + rop[253] + rop[256] + rop[259] - rop[260] - rop[264] - rop[265] - rop[270] - rop[271] + rop[274] - rop[276] + rop[283] + rop[284] + rop[285] + 2*rop[289] + 2*rop[291] - rop[298] - rop[299] - rop[303] + rop[304] - rop[307] - rop[308] - rop[313] - rop[319] - rop[320];
609  wdot[2] = - 2*rop[0] - rop[1] - rop[2] - rop[3] - rop[4] - rop[5] - rop[6] - rop[7] - rop[8] - rop[9] - rop[10] - rop[11] - rop[12] - rop[13] - rop[14] - rop[15] - rop[16] - rop[17] - rop[18] - rop[19] - rop[20] - rop[21] - rop[22] - rop[23] - rop[24] - rop[25] - rop[26] - rop[27] - rop[28] - rop[29] + rop[30] + rop[37] + rop[43] + rop[85] + rop[121] + rop[124] + rop[154] + rop[177] + rop[178] - rop[180] - rop[181] + rop[184] - rop[186] - rop[187] - rop[189] + rop[193] - rop[199] - rop[200] - rop[206] - rop[207] - rop[212] - rop[216] + rop[219] - rop[221] - rop[230] - rop[231] - rop[232] + rop[243] + rop[245] - rop[256] - rop[257] + rop[258] - rop[261] - rop[262] - rop[263] - rop[278] - rop[283] - rop[284] - rop[285] + rop[290] + rop[293] - rop[295] - rop[296] - rop[304] - rop[312] - rop[318];
610  wdot[3] = + rop[0] + rop[3] - rop[30] - rop[31] - rop[32] - rop[33] - rop[34] - rop[35] - rop[36] - rop[37] + rop[44] + rop[86] + rop[114] + rop[115] + rop[117] - rop[121] - rop[124] - rop[134] - rop[143] - rop[144] - rop[154] - rop[155] - rop[167] - rop[168] - rop[169] - rop[170] - rop[172] - rop[174] - rop[175] - rop[178] + rop[180] + rop[187] - rop[193] - rop[194] - rop[205] - rop[215] - rop[219] - rop[225] - rop[258] + rop[286] - rop[289] - rop[290] - rop[293] - rop[294] - rop[297] - rop[305] - rop[306] + rop[322];
611  wdot[4] = + rop[1] + rop[2] + rop[3] + rop[4] + rop[10] + rop[12] + rop[14] + rop[15] + rop[16] + rop[17] + rop[18] + rop[21] + rop[26] + rop[28] + rop[37] - rop[42] + 2*rop[45] + rop[47] + rop[60] + rop[65] - rop[83] - 2*rop[84] - 2*rop[85] - rop[86] - rop[87] - rop[88] - rop[89] - rop[90] - rop[91] - rop[92] - rop[93] - rop[94] - rop[95] - rop[96] - rop[97] - rop[98] - rop[99] - rop[100] - rop[101] - rop[102] - rop[103] - rop[104] - rop[105] - rop[106] - rop[107] - rop[108] - rop[109] - rop[110] - rop[111] - rop[112] - rop[113] + rop[116] + rop[118] + rop[119] + rop[134] + rop[143] + rop[155] + rop[175] - rop[179] + rop[182] - rop[183] + rop[185] + rop[188] - rop[191] - rop[192] + rop[194] + rop[197] + rop[199] - rop[202] + rop[206] - rop[209] + rop[212] - rop[214] - rop[217] + rop[218] - rop[223] + rop[232] - rop[233] - rop[234] - rop[235] + rop[249] + rop[252] + rop[255] - rop[259] + rop[263] - rop[266] - rop[267] + rop[270] - rop[277] + rop[278] - rop[286] - rop[287] + rop[295] + rop[296] - rop[300] + rop[305] + rop[306] - rop[309] - rop[310] + rop[312] - rop[314] - rop[321] + rop[323];
612  wdot[5] = + rop[42] + rop[43] + rop[47] + rop[61] + rop[66] + rop[83] + rop[85] + rop[86] + rop[87] + rop[88] + rop[92] + rop[95] + rop[96] + rop[97] + rop[99] + rop[100] + rop[101] + rop[102] + rop[103] + rop[104] + rop[108] + rop[110] + rop[111] + rop[112] + rop[113] - rop[126] + rop[144] - rop[146] + rop[192] - rop[196] + rop[202] + rop[209] + rop[214] - rop[218] + rop[254] + rop[266] + rop[277] + rop[286] - rop[292] + rop[300] + rop[309] + rop[314];
613  wdot[6] = - rop[3] + rop[4] + rop[31] + rop[32] + rop[33] + rop[34] + rop[35] + rop[36] - rop[43] - rop[44] - rop[45] + rop[46] - rop[86] + rop[87] + rop[88] - 2*rop[114] - 2*rop[115] - rop[116] - rop[117] - rop[118] - rop[119] - rop[120] + rop[156] + rop[167] + rop[168] + rop[169] + rop[174] + rop[183] - rop[185] + rop[205] + rop[215] - rop[286] + rop[294] + rop[297] - rop[301] + rop[315] - rop[322] - rop[323];
614  wdot[7] = - rop[4] - rop[46] - rop[47] + rop[84] - rop[87] - rop[88] + rop[114] + rop[115] + rop[120] - rop[156] + rop[301] - rop[315];
615  wdot[8] = + rop[48] - rop[89] - rop[121] - rop[122] - rop[123] - rop[238] - rop[243] - rop[244];
616  wdot[9] = - rop[5] + rop[19] - rop[48] + rop[50] - rop[90] + rop[92] - rop[124] - rop[125] - rop[126] - rop[127] - rop[128] - rop[129] - rop[130] - rop[131] - rop[132] - rop[133] - rop[239] - rop[240] - rop[245] - rop[246] - rop[247] - rop[288];
617  wdot[10] = - rop[6] + rop[22] + rop[29] - rop[49] - rop[91] - rop[92] + rop[95] - rop[116] - rop[122] + rop[125] - rop[127] - rop[134] - rop[135] - 2*rop[136] - rop[137] - rop[138] - rop[139] - rop[140] + rop[141] + rop[142] + rop[147] + rop[150] + rop[151] + rop[237] - rop[241] - rop[248] - rop[249] - rop[250] + rop[260] - rop[289] - rop[290] - 2*rop[291] + rop[304];
618  wdot[11] = - rop[7] - rop[8] - rop[50] + rop[61] + rop[66] + rop[78] - rop[93] + rop[96] - rop[141] - rop[142] - rop[143] - rop[144] - rop[145] - rop[146] - rop[147] - rop[148] - rop[149] - rop[150] - rop[151] - rop[152] - rop[153] - rop[242] - rop[251] - rop[252] - rop[253] - rop[292];
619  wdot[12] = - rop[9] + rop[10] + rop[24] + rop[25] + rop[49] - rop[51] + rop[52] + rop[60] + rop[65] + rop[80] - rop[94] - rop[95] - rop[96] + rop[97] + rop[109] - rop[117] - rop[118] - rop[123] - rop[128] + rop[135] - rop[137] + 2*rop[138] + rop[145] - rop[148] + 2*rop[149] + rop[153] - rop[154] - rop[155] - rop[156] - 2*rop[157] - 2*rop[158] - rop[159] - rop[160] - rop[161] - rop[162] - rop[163] - rop[164] - rop[210] - rop[254] - rop[255] - rop[274] - rop[275] - rop[283] - rop[287] + rop[288] + rop[296] + rop[297] + rop[299] + rop[300] + rop[301] + rop[307] - rop[311] - rop[316] - rop[317] + rop[320] - rop[324];
620  wdot[13] = - rop[10] + rop[51] - rop[52] - rop[97] + rop[117] - rop[129] - rop[138] - rop[149] + rop[156] + rop[159] + rop[160] + rop[161] + rop[162] + rop[163] + rop[164] + rop[210] + rop[302] + rop[316];
621  wdot[14] = + rop[5] + rop[7] - rop[11] + rop[12] + rop[19] + rop[22] + 2*rop[27] - rop[30] + rop[54] + rop[78] + rop[80] - rop[82] + rop[89] - rop[98] + rop[99] + rop[109] - rop[119] + rop[121] - rop[130] + rop[131] + rop[133] + rop[134] - rop[139] + rop[140] + rop[143] + rop[144] + rop[152] + rop[159] + rop[165] + rop[166] + rop[167] + rop[170] + 2*rop[175] + 2*rop[176] + rop[216] + rop[221] + rop[222] + rop[223] + rop[224] + rop[226] + rop[227] + rop[231] + rop[235] + rop[244] + rop[256] + rop[262] + rop[264] + rop[268] + rop[271] + rop[273] + rop[279] + rop[282] + rop[283] + rop[296] + rop[297] + rop[299] + rop[300] + rop[301] + rop[302] + rop[305];
622  wdot[15] = + rop[11] + rop[13] + rop[29] + rop[30] + rop[98] + rop[119] - rop[131] - rop[152] + rop[225] + rop[228] + rop[261] + rop[267] - rop[279] + rop[281] - rop[282] + rop[289] + rop[304];
623  wdot[16] = + rop[6] + rop[8] - rop[12] - rop[13] + rop[14] + rop[24] + rop[31] - rop[53] - rop[54] + rop[57] + rop[90] - rop[99] + rop[100] + rop[120] + rop[124] + rop[131] - rop[159] + rop[160] - rop[165] - rop[166] - rop[167] + rop[170] + rop[172] + rop[247] + rop[258] + rop[259] + 2*rop[306] + rop[307] + rop[310];
624  wdot[17] = + rop[9] - rop[14] + rop[15] + rop[16] + rop[25] - rop[31] + rop[53] - rop[55] - rop[56] - rop[57] + rop[59] + rop[64] + rop[82] + rop[91] + rop[93] - rop[100] + rop[101] + rop[102] + rop[116] - rop[120] + rop[126] - rop[132] + rop[152] + rop[155] - rop[160] + rop[168] + rop[169] + rop[172] + rop[287] + rop[290] + rop[292] + rop[305] + rop[318] + rop[323];
625  wdot[18] = - rop[15] + rop[17] + rop[55] - rop[58] - rop[59] - rop[60] - rop[61] + rop[63] + rop[67] - rop[101] + rop[103] + rop[161] - rop[168] + rop[310] + rop[321];
626  wdot[19] = - rop[16] + rop[18] + rop[56] - rop[62] - rop[63] - rop[64] - rop[65] - rop[66] + rop[68] - rop[102] + rop[104] + rop[118] + rop[154] + rop[162] - rop[169];
627  wdot[20] = - rop[17] - rop[18] + rop[58] + rop[62] - rop[67] - rop[68] + rop[94] - rop[103] - rop[104] + rop[146] - rop[161] - rop[162];
628  wdot[21] = - rop[19] + rop[21] - rop[69] - rop[105] + rop[108] + rop[122] - rop[170] - rop[171];
629  wdot[22] = - rop[20] - rop[21] - rop[22] + rop[69] - rop[70] + rop[72] - rop[106] - rop[107] - rop[108] - rop[109] + rop[110] + rop[123] + rop[127] + rop[133] + rop[136] + rop[171] + rop[173] + rop[176] + rop[291] + rop[294];
630  wdot[23] = - rop[23] + rop[70] - rop[71] - rop[72] + rop[74] - rop[110] + rop[111] + rop[128] + rop[140] + rop[163] - rop[172] - rop[293] - rop[294];
631  wdot[24] = - rop[24] + rop[71] - rop[73] - rop[74] + rop[76] - rop[111] + rop[129] + rop[137] + rop[148] - rop[163] - rop[173] + rop[174] - rop[284] - rop[317];
632  wdot[25] = - rop[25] + rop[26] + rop[73] - rop[75] - rop[76] + rop[77] + rop[112] + rop[153] + rop[158] + rop[164] - rop[174] - rop[285] - rop[311] + rop[318] + rop[320] + rop[321] + rop[323] + 2*rop[324];
633  wdot[26] = - rop[26] + rop[75] - rop[77] - rop[112] - rop[153] + rop[157] - rop[164];
634  wdot[27] = + rop[20] - rop[27] + rop[28] - rop[78] + rop[79] + rop[105] + rop[113] + rop[130] - rop[133] - rop[140] - rop[175] - 2*rop[176] - rop[273];
635  wdot[28] = + rop[23] - rop[28] - rop[29] - rop[79] - rop[80] + rop[81] + rop[106] - rop[113] + rop[132] + rop[139] - rop[303] + rop[308] + rop[309];
636  wdot[29] = - rop[81] + rop[107];
637  wdot[30] = - rop[177] - rop[178] - rop[179] + rop[190] + rop[192] - rop[195] + rop[216] - rop[224] + rop[226] - rop[237] + rop[238] + rop[239] + rop[244] + rop[247] - rop[274] - rop[275] - rop[282];
638  wdot[31] = - rop[189] - rop[190] - rop[191] - rop[192] - rop[193] - rop[194] - rop[195] - rop[196] - rop[197] - rop[198] + rop[199] + rop[201] + rop[202] + rop[207] + rop[222] + rop[231] + rop[241] + rop[242] + rop[261] + rop[268] - rop[279];
639  wdot[32] = - rop[199] - rop[200] - rop[201] - rop[202] + rop[235] + rop[264] + rop[267] + rop[271] + rop[276] + rop[277] + rop[278];
640  wdot[33] = - rop[276] - rop[277] - rop[278];
641  wdot[34] = - rop[203] - rop[204] - rop[205] - rop[206] - rop[207] - rop[208] - rop[209] - rop[210];
642  wdot[35] = - rop[177] + rop[178] + rop[179] + 2*rop[181] - rop[185] - rop[186] + rop[187] + rop[188] + rop[189] + rop[194] - rop[197] - rop[198] + rop[207] - rop[211] + rop[212] + rop[213] + rop[214] + rop[215] + rop[221] + rop[223] + rop[225] - rop[227] - rop[228] - rop[243] - rop[244] - rop[245] - rop[246] - rop[247] - rop[248] - rop[249] - rop[250] - rop[251] - rop[252] - rop[253] - rop[254] - rop[255] + rop[257] - rop[273] + rop[280] + rop[282];
643  wdot[36] = + rop[185] + rop[186] - rop[187] - rop[188] - rop[280] - rop[281];
644  wdot[37] = - rop[180] - rop[181] - rop[182] - rop[183] - rop[184] + rop[198] + rop[227] + rop[281];
645  wdot[38] = + rop[191] + rop[193] + rop[196] + rop[200] + rop[211] - rop[212] - rop[213] - rop[214] - rop[215] + rop[262] + rop[279];
646  wdot[39] = - rop[216] - rop[217] - rop[218] - rop[219] - rop[220] + rop[229] + rop[232] + rop[238] + rop[243] - rop[280];
647  wdot[40] = + rop[218] + rop[220] - rop[229] - rop[230] - rop[231] - rop[232] - rop[233] - rop[234] - rop[235] - rop[236] + rop[239] + rop[241] + rop[242] + rop[245] + rop[249] + rop[252] + rop[254] + rop[257] + rop[270] + rop[275];
648  wdot[41] = + rop[236] - rop[237] + rop[255] + rop[274];
649  wdot[42] = + rop[240] - rop[256] - rop[257] - rop[258] - rop[259] - rop[260];
650  wdot[43] = + rop[250] + rop[253] - rop[269] - rop[270] - rop[271] + rop[273];
651  wdot[44] = + rop[233] - rop[272];
652  wdot[45] = + rop[234] + rop[248] + rop[251] - rop[261] - rop[262] - rop[263] - rop[264] - rop[265] - rop[266] - rop[267] - rop[268] + rop[269] + rop[272];
653  wdot[46] = + rop[217] + rop[219] - rop[221] - rop[222] - rop[223] - rop[224] - rop[225] - rop[226] - rop[227] - rop[228] + rop[230] + rop[246] + rop[263] + rop[265] + rop[266] + rop[280] - rop[281];
654  wdot[47] = + rop[177] + rop[180] + rop[182] + rop[183] + rop[184] + rop[195] + rop[197] + rop[203] + rop[204] + rop[205] + rop[206] + rop[208] + rop[209] + rop[210] + rop[224] + rop[228] + rop[237] - rop[238] - rop[239] - rop[240] - rop[241] - rop[242] + rop[256] + rop[258] + rop[259] + rop[260];
655  wdot[48] = 0.0;
656  wdot[49] = + rop[312] + rop[313] + rop[314] - rop[315] + rop[316] + rop[317] - rop[318] - rop[319] - rop[320] - rop[321] - rop[322] - rop[323] - rop[324];
657  wdot[50] = + rop[311] - rop[312] - rop[313] - rop[314] + rop[315] - rop[316] + rop[319] + rop[322];
658  wdot[51] = + rop[284] + rop[293] + rop[295] + rop[298] + rop[303] - rop[304] - rop[305] - rop[306] - rop[307] - rop[308] - rop[309] - rop[310];
659  wdot[52] = + rop[285] - rop[295] - rop[296] - rop[297] - rop[298] - rop[299] - rop[300] - rop[301] - rop[302];
660 }
661 
662 
663 void GRI_30_Kinetics::eval_ropnet(const doublereal* c, const doublereal* rf, const doublereal* rkc, doublereal* r)
664 {
665  r[0] = rf[0] * (c[2] * c[2] - rkc[0] * c[3]);
666  r[1] = rf[1] * (c[2] * c[1] - rkc[1] * c[4]);
667  r[2] = rf[2] * (c[2] * c[0] - rkc[2] * c[1] * c[4]);
668  r[3] = rf[3] * (c[2] * c[6] - rkc[3] * c[4] * c[3]);
669  r[4] = rf[4] * (c[2] * c[7] - rkc[4] * c[4] * c[6]);
670  r[5] = rf[5] * (c[2] * c[9] - rkc[5] * c[1] * c[14]);
671  r[6] = rf[6] * (c[2] * c[10] - rkc[6] * c[1] * c[16]);
672  r[7] = rf[7] * (c[2] * c[11] - rkc[7] * c[0] * c[14]);
673  r[8] = rf[8] * (c[2] * c[11] - rkc[8] * c[1] * c[16]);
674  r[9] = rf[9] * (c[2] * c[12] - rkc[9] * c[1] * c[17]);
675  r[10] = rf[10] * (c[2] * c[13] - rkc[10] * c[4] * c[12]);
676  r[11] = rf[11] * (c[2] * c[14] - rkc[11] * c[15]);
677  r[12] = rf[12] * (c[2] * c[16] - rkc[12] * c[4] * c[14]);
678  r[13] = rf[13] * (c[2] * c[16] - rkc[13] * c[1] * c[15]);
679  r[14] = rf[14] * (c[2] * c[17] - rkc[14] * c[4] * c[16]);
680  r[15] = rf[15] * (c[2] * c[18] - rkc[15] * c[4] * c[17]);
681  r[16] = rf[16] * (c[2] * c[19] - rkc[16] * c[4] * c[17]);
682  r[17] = rf[17] * (c[2] * c[20] - rkc[17] * c[4] * c[18]);
683  r[18] = rf[18] * (c[2] * c[20] - rkc[18] * c[4] * c[19]);
684  r[19] = rf[19] * (c[2] * c[21] - rkc[19] * c[9] * c[14]);
685  r[20] = rf[20] * (c[2] * c[22] - rkc[20] * c[1] * c[27]);
686  r[21] = rf[21] * (c[2] * c[22] - rkc[21] * c[4] * c[21]);
687  r[22] = rf[22] * (c[2] * c[22] - rkc[22] * c[14] * c[10]);
688  r[23] = rf[23] * (c[2] * c[23] - rkc[23] * c[1] * c[28]);
689  r[24] = rf[24] * (c[2] * c[24] - rkc[24] * c[12] * c[16]);
690  r[25] = rf[25] * (c[2] * c[25] - rkc[25] * c[12] * c[17]);
691  r[26] = rf[26] * (c[2] * c[26] - rkc[26] * c[4] * c[25]);
692  r[27] = rf[27] * (c[2] * c[27] - rkc[27] * c[1] * c[14] * c[14]);
693  r[28] = rf[28] * (c[2] * c[28] - rkc[28] * c[4] * c[27]);
694  r[29] = rf[29] * (c[2] * c[28] - rkc[29] * c[10] * c[15]);
695  r[30] = rf[30] * (c[3] * c[14] - rkc[30] * c[2] * c[15]);
696  r[31] = rf[31] * (c[3] * c[17] - rkc[31] * c[6] * c[16]);
697  r[32] = rf[32] * (c[1] * c[3] - rkc[32] * c[6]);
698  r[33] = rf[33] * (c[1] * c[3] * c[3] - rkc[33] * c[6] * c[3]);
699  r[34] = rf[34] * (c[1] * c[3] * c[5] - rkc[34] * c[6] * c[5]);
700  r[35] = rf[35] * (c[1] * c[3] * c[47] - rkc[35] * c[6] * c[47]);
701  r[36] = rf[36] * (c[1] * c[3] * c[48] - rkc[36] * c[6] * c[48]);
702  r[37] = rf[37] * (c[1] * c[3] - rkc[37] * c[2] * c[4]);
703  r[38] = rf[38] * (c[1] * c[1] - rkc[38] * c[0]);
704  r[39] = rf[39] * (c[1] * c[1] * c[0] - rkc[39] * c[0] * c[0]);
705  r[40] = rf[40] * (c[1] * c[1] * c[5] - rkc[40] * c[0] * c[5]);
706  r[41] = rf[41] * (c[1] * c[1] * c[15] - rkc[41] * c[0] * c[15]);
707  r[42] = rf[42] * (c[1] * c[4] - rkc[42] * c[5]);
708  r[43] = rf[43] * (c[1] * c[6] - rkc[43] * c[2] * c[5]);
709  r[44] = rf[44] * (c[1] * c[6] - rkc[44] * c[3] * c[0]);
710  r[45] = rf[45] * (c[1] * c[6] - rkc[45] * c[4] * c[4]);
711  r[46] = rf[46] * (c[1] * c[7] - rkc[46] * c[6] * c[0]);
712  r[47] = rf[47] * (c[1] * c[7] - rkc[47] * c[4] * c[5]);
713  r[48] = rf[48] * (c[1] * c[9] - rkc[48] * c[8] * c[0]);
714  r[49] = rf[49] * (c[1] * c[10] - rkc[49] * c[12]);
715  r[50] = rf[50] * (c[1] * c[11] - rkc[50] * c[9] * c[0]);
716  r[51] = rf[51] * (c[1] * c[12] - rkc[51] * c[13]);
717  r[52] = rf[52] * (c[1] * c[13] - rkc[52] * c[12] * c[0]);
718  r[53] = rf[53] * (c[1] * c[16] - rkc[53] * c[17]);
719  r[54] = rf[54] * (c[1] * c[16] - rkc[54] * c[0] * c[14]);
720  r[55] = rf[55] * (c[1] * c[17] - rkc[55] * c[18]);
721  r[56] = rf[56] * (c[1] * c[17] - rkc[56] * c[19]);
722  r[57] = rf[57] * (c[1] * c[17] - rkc[57] * c[16] * c[0]);
723  r[58] = rf[58] * (c[1] * c[18] - rkc[58] * c[20]);
724  r[59] = rf[59] * (c[1] * c[18] - rkc[59] * c[0] * c[17]);
725  r[60] = rf[60] * (c[1] * c[18] - rkc[60] * c[4] * c[12]);
726  r[61] = rf[61] * (c[1] * c[18] - rkc[61] * c[11] * c[5]);
727  r[62] = rf[62] * (c[1] * c[19] - rkc[62] * c[20]);
728  r[63] = rf[63] * (c[1] * c[19] - rkc[63] * c[1] * c[18]);
729  r[64] = rf[64] * (c[1] * c[19] - rkc[64] * c[0] * c[17]);
730  r[65] = rf[65] * (c[1] * c[19] - rkc[65] * c[4] * c[12]);
731  r[66] = rf[66] * (c[1] * c[19] - rkc[66] * c[11] * c[5]);
732  r[67] = rf[67] * (c[1] * c[20] - rkc[67] * c[18] * c[0]);
733  r[68] = rf[68] * (c[1] * c[20] - rkc[68] * c[19] * c[0]);
734  r[69] = rf[69] * (c[1] * c[21] - rkc[69] * c[22]);
735  r[70] = rf[70] * (c[1] * c[22] - rkc[70] * c[23]);
736  r[71] = rf[71] * (c[1] * c[23] - rkc[71] * c[24]);
737  r[72] = rf[72] * (c[1] * c[23] - rkc[72] * c[0] * c[22]);
738  r[73] = rf[73] * (c[1] * c[24] - rkc[73] * c[25]);
739  r[74] = rf[74] * (c[1] * c[24] - rkc[74] * c[23] * c[0]);
740  r[75] = rf[75] * (c[1] * c[25] - rkc[75] * c[26]);
741  r[76] = rf[76] * (c[1] * c[25] - rkc[76] * c[0] * c[24]);
742  r[77] = rf[77] * (c[1] * c[26] - rkc[77] * c[25] * c[0]);
743  r[78] = rf[78] * (c[1] * c[27] - rkc[78] * c[11] * c[14]);
744  r[79] = rf[79] * (c[1] * c[28] - rkc[79] * c[27] * c[0]);
745  r[80] = rf[80] * (c[1] * c[28] - rkc[80] * c[12] * c[14]);
746  r[81] = rf[81] * (c[1] * c[29] - rkc[81] * c[1] * c[28]);
747  r[82] = rf[82] * (c[0] * c[14] - rkc[82] * c[17]);
748  r[83] = rf[83] * (c[4] * c[0] - rkc[83] * c[1] * c[5]);
749  r[84] = rf[84] * (c[4] * c[4] - rkc[84] * c[7]);
750  r[85] = rf[85] * (c[4] * c[4] - rkc[85] * c[2] * c[5]);
751  r[86] = rf[86] * (c[4] * c[6] - rkc[86] * c[3] * c[5]);
752  r[87] = rf[87] * (c[4] * c[7] - rkc[87] * c[6] * c[5]);
753  r[88] = rf[88] * (c[4] * c[7] - rkc[88] * c[6] * c[5]);
754  r[89] = rf[89] * (c[4] * c[8] - rkc[89] * c[1] * c[14]);
755  r[90] = rf[90] * (c[4] * c[9] - rkc[90] * c[1] * c[16]);
756  r[91] = rf[91] * (c[4] * c[10] - rkc[91] * c[1] * c[17]);
757  r[92] = rf[92] * (c[4] * c[10] - rkc[92] * c[9] * c[5]);
758  r[93] = rf[93] * (c[4] * c[11] - rkc[93] * c[1] * c[17]);
759  r[94] = rf[94] * (c[4] * c[12] - rkc[94] * c[20]);
760  r[95] = rf[95] * (c[4] * c[12] - rkc[95] * c[10] * c[5]);
761  r[96] = rf[96] * (c[4] * c[12] - rkc[96] * c[11] * c[5]);
762  r[97] = rf[97] * (c[4] * c[13] - rkc[97] * c[12] * c[5]);
763  r[98] = rf[98] * (c[4] * c[14] - rkc[98] * c[1] * c[15]);
764  r[99] = rf[99] * (c[4] * c[16] - rkc[99] * c[5] * c[14]);
765  r[100] = rf[100] * (c[4] * c[17] - rkc[100] * c[16] * c[5]);
766  r[101] = rf[101] * (c[4] * c[18] - rkc[101] * c[5] * c[17]);
767  r[102] = rf[102] * (c[4] * c[19] - rkc[102] * c[5] * c[17]);
768  r[103] = rf[103] * (c[4] * c[20] - rkc[103] * c[18] * c[5]);
769  r[104] = rf[104] * (c[4] * c[20] - rkc[104] * c[19] * c[5]);
770  r[105] = rf[105] * (c[4] * c[21] - rkc[105] * c[1] * c[27]);
771  r[106] = rf[106] * (c[4] * c[22] - rkc[106] * c[1] * c[28]);
772  r[107] = rf[107] * (c[4] * c[22] - rkc[107] * c[1] * c[29]);
773  r[108] = rf[108] * (c[4] * c[22] - rkc[108] * c[21] * c[5]);
774  r[109] = rf[109] * (c[4] * c[22] - rkc[109] * c[12] * c[14]);
775  r[110] = rf[110] * (c[4] * c[23] - rkc[110] * c[5] * c[22]);
776  r[111] = rf[111] * (c[4] * c[24] - rkc[111] * c[23] * c[5]);
777  r[112] = rf[112] * (c[4] * c[26] - rkc[112] * c[25] * c[5]);
778  r[113] = rf[113] * (c[4] * c[28] - rkc[113] * c[27] * c[5]);
779  r[114] = rf[114] * (c[6] * c[6] - rkc[114] * c[3] * c[7]);
780  r[115] = rf[115] * (c[6] * c[6] - rkc[115] * c[3] * c[7]);
781  r[116] = rf[116] * (c[6] * c[10] - rkc[116] * c[4] * c[17]);
782  r[117] = rf[117] * (c[6] * c[12] - rkc[117] * c[3] * c[13]);
783  r[118] = rf[118] * (c[6] * c[12] - rkc[118] * c[4] * c[19]);
784  r[119] = rf[119] * (c[6] * c[14] - rkc[119] * c[4] * c[15]);
785  r[120] = rf[120] * (c[6] * c[17] - rkc[120] * c[16] * c[7]);
786  r[121] = rf[121] * (c[8] * c[3] - rkc[121] * c[2] * c[14]);
787  r[122] = rf[122] * (c[8] * c[10] - rkc[122] * c[1] * c[21]);
788  r[123] = rf[123] * (c[8] * c[12] - rkc[123] * c[1] * c[22]);
789  r[124] = rf[124] * (c[9] * c[3] - rkc[124] * c[2] * c[16]);
790  r[125] = rf[125] * (c[9] * c[0] - rkc[125] * c[1] * c[10]);
791  r[126] = rf[126] * (c[9] * c[5] - rkc[126] * c[1] * c[17]);
792  r[127] = rf[127] * (c[9] * c[10] - rkc[127] * c[1] * c[22]);
793  r[128] = rf[128] * (c[9] * c[12] - rkc[128] * c[1] * c[23]);
794  r[129] = rf[129] * (c[9] * c[13] - rkc[129] * c[1] * c[24]);
795  r[130] = rf[130] * (c[9] * c[14] - rkc[130] * c[27]);
796  r[131] = rf[131] * (c[9] * c[15] - rkc[131] * c[16] * c[14]);
797  r[132] = rf[132] * (c[9] * c[17] - rkc[132] * c[1] * c[28]);
798  r[133] = rf[133] * (c[9] * c[27] - rkc[133] * c[14] * c[22]);
799  r[134] = rf[134] * (c[10] * c[3]);
800  r[135] = rf[135] * (c[10] * c[0] - rkc[135] * c[1] * c[12]);
801  r[136] = rf[136] * (c[10] * c[10] - rkc[136] * c[0] * c[22]);
802  r[137] = rf[137] * (c[10] * c[12] - rkc[137] * c[1] * c[24]);
803  r[138] = rf[138] * (c[10] * c[13] - rkc[138] * c[12] * c[12]);
804  r[139] = rf[139] * (c[10] * c[14] - rkc[139] * c[28]);
805  r[140] = rf[140] * (c[10] * c[27] - rkc[140] * c[23] * c[14]);
806  r[141] = rf[141] * (c[11] * c[47] - rkc[141] * c[10] * c[47]);
807  r[142] = rf[142] * (c[11] * c[48] - rkc[142] * c[10] * c[48]);
808  r[143] = rf[143] * (c[11] * c[3] - rkc[143] * c[1] * c[4] * c[14]);
809  r[144] = rf[144] * (c[11] * c[3] - rkc[144] * c[14] * c[5]);
810  r[145] = rf[145] * (c[11] * c[0] - rkc[145] * c[12] * c[1]);
811  r[146] = rf[146] * (c[11] * c[5] - rkc[146] * c[20]);
812  r[147] = rf[147] * (c[11] * c[5] - rkc[147] * c[10] * c[5]);
813  r[148] = rf[148] * (c[11] * c[12] - rkc[148] * c[1] * c[24]);
814  r[149] = rf[149] * (c[11] * c[13] - rkc[149] * c[12] * c[12]);
815  r[150] = rf[150] * (c[11] * c[14] - rkc[150] * c[10] * c[14]);
816  r[151] = rf[151] * (c[11] * c[15] - rkc[151] * c[10] * c[15]);
817  r[152] = rf[152] * (c[11] * c[15] - rkc[152] * c[14] * c[17]);
818  r[153] = rf[153] * (c[11] * c[26] - rkc[153] * c[12] * c[25]);
819  r[154] = rf[154] * (c[12] * c[3] - rkc[154] * c[2] * c[19]);
820  r[155] = rf[155] * (c[12] * c[3] - rkc[155] * c[4] * c[17]);
821  r[156] = rf[156] * (c[12] * c[7] - rkc[156] * c[6] * c[13]);
822  r[157] = rf[157] * (c[12] * c[12] - rkc[157] * c[26]);
823  r[158] = rf[158] * (c[12] * c[12] - rkc[158] * c[1] * c[25]);
824  r[159] = rf[159] * (c[12] * c[16] - rkc[159] * c[13] * c[14]);
825  r[160] = rf[160] * (c[12] * c[17] - rkc[160] * c[16] * c[13]);
826  r[161] = rf[161] * (c[12] * c[20] - rkc[161] * c[18] * c[13]);
827  r[162] = rf[162] * (c[12] * c[20] - rkc[162] * c[19] * c[13]);
828  r[163] = rf[163] * (c[12] * c[24] - rkc[163] * c[23] * c[13]);
829  r[164] = rf[164] * (c[12] * c[26] - rkc[164] * c[25] * c[13]);
830  r[165] = rf[165] * (c[16] * c[5] - rkc[165] * c[1] * c[14] * c[5]);
831  r[166] = rf[166] * (c[16] - rkc[166] * c[1] * c[14]);
832  r[167] = rf[167] * (c[16] * c[3] - rkc[167] * c[6] * c[14]);
833  r[168] = rf[168] * (c[18] * c[3] - rkc[168] * c[6] * c[17]);
834  r[169] = rf[169] * (c[19] * c[3] - rkc[169] * c[6] * c[17]);
835  r[170] = rf[170] * (c[21] * c[3] - rkc[170] * c[16] * c[14]);
836  r[171] = rf[171] * (c[21] * c[0] - rkc[171] * c[1] * c[22]);
837  r[172] = rf[172] * (c[23] * c[3] - rkc[172] * c[16] * c[17]);
838  r[173] = rf[173] * (c[24] - rkc[173] * c[0] * c[22]);
839  r[174] = rf[174] * (c[25] * c[3] - rkc[174] * c[6] * c[24]);
840  r[175] = rf[175] * (c[27] * c[3] - rkc[175] * c[4] * c[14] * c[14]);
841  r[176] = rf[176] * (c[27] * c[27] - rkc[176] * c[14] * c[14] * c[22]);
842  r[177] = rf[177] * (c[30] * c[35] - rkc[177] * c[47] * c[2]);
843  r[178] = rf[178] * (c[30] * c[3] - rkc[178] * c[35] * c[2]);
844  r[179] = rf[179] * (c[30] * c[4] - rkc[179] * c[35] * c[1]);
845  r[180] = rf[180] * (c[37] * c[2] - rkc[180] * c[47] * c[3]);
846  r[181] = rf[181] * (c[37] * c[2] - rkc[181] * c[35] * c[35]);
847  r[182] = rf[182] * (c[37] * c[1] - rkc[182] * c[47] * c[4]);
848  r[183] = rf[183] * (c[37] * c[4] - rkc[183] * c[47] * c[6]);
849  r[184] = rf[184] * (c[37] - rkc[184] * c[47] * c[2]);
850  r[185] = rf[185] * (c[6] * c[35] - rkc[185] * c[36] * c[4]);
851  r[186] = rf[186] * (c[35] * c[2] - rkc[186] * c[36]);
852  r[187] = rf[187] * (c[36] * c[2] - rkc[187] * c[35] * c[3]);
853  r[188] = rf[188] * (c[36] * c[1] - rkc[188] * c[35] * c[4]);
854  r[189] = rf[189] * (c[31] * c[2] - rkc[189] * c[35] * c[1]);
855  r[190] = rf[190] * (c[31] * c[1] - rkc[190] * c[30] * c[0]);
856  r[191] = rf[191] * (c[31] * c[4] - rkc[191] * c[38] * c[1]);
857  r[192] = rf[192] * (c[31] * c[4] - rkc[192] * c[30] * c[5]);
858  r[193] = rf[193] * (c[31] * c[3] - rkc[193] * c[38] * c[2]);
859  r[194] = rf[194] * (c[31] * c[3] - rkc[194] * c[35] * c[4]);
860  r[195] = rf[195] * (c[31] * c[30] - rkc[195] * c[47] * c[1]);
861  r[196] = rf[196] * (c[31] * c[5] - rkc[196] * c[38] * c[0]);
862  r[197] = rf[197] * (c[31] * c[35] - rkc[197] * c[47] * c[4]);
863  r[198] = rf[198] * (c[31] * c[35] - rkc[198] * c[37] * c[1]);
864  r[199] = rf[199] * (c[32] * c[2] - rkc[199] * c[4] * c[31]);
865  r[200] = rf[200] * (c[32] * c[2] - rkc[200] * c[1] * c[38]);
866  r[201] = rf[201] * (c[32] * c[1] - rkc[201] * c[31] * c[0]);
867  r[202] = rf[202] * (c[32] * c[4] - rkc[202] * c[31] * c[5]);
868  r[203] = rf[203] * (c[34] - rkc[203] * c[47] * c[1]);
869  r[204] = rf[204] * (c[34] - rkc[204] * c[47] * c[1]);
870  r[205] = rf[205] * (c[34] * c[3] - rkc[205] * c[6] * c[47]);
871  r[206] = rf[206] * (c[34] * c[2] - rkc[206] * c[4] * c[47]);
872  r[207] = rf[207] * (c[34] * c[2] - rkc[207] * c[31] * c[35]);
873  r[208] = rf[208] * (c[34] * c[1] - rkc[208] * c[0] * c[47]);
874  r[209] = rf[209] * (c[34] * c[4] - rkc[209] * c[5] * c[47]);
875  r[210] = rf[210] * (c[34] * c[12] - rkc[210] * c[13] * c[47]);
876  r[211] = rf[211] * (c[1] * c[35] - rkc[211] * c[38]);
877  r[212] = rf[212] * (c[38] * c[2] - rkc[212] * c[35] * c[4]);
878  r[213] = rf[213] * (c[38] * c[1] - rkc[213] * c[0] * c[35]);
879  r[214] = rf[214] * (c[38] * c[4] - rkc[214] * c[35] * c[5]);
880  r[215] = rf[215] * (c[38] * c[3] - rkc[215] * c[6] * c[35]);
881  r[216] = rf[216] * (c[39] * c[2] - rkc[216] * c[14] * c[30]);
882  r[217] = rf[217] * (c[39] * c[4] - rkc[217] * c[46] * c[1]);
883  r[218] = rf[218] * (c[39] * c[5] - rkc[218] * c[40] * c[4]);
884  r[219] = rf[219] * (c[39] * c[3] - rkc[219] * c[46] * c[2]);
885  r[220] = rf[220] * (c[39] * c[0] - rkc[220] * c[40] * c[1]);
886  r[221] = rf[221] * (c[46] * c[2] - rkc[221] * c[35] * c[14]);
887  r[222] = rf[222] * (c[46] * c[1] - rkc[222] * c[31] * c[14]);
888  r[223] = rf[223] * (c[46] * c[4] - rkc[223] * c[35] * c[1] * c[14]);
889  r[224] = rf[224] * (c[46] * c[30] - rkc[224] * c[47] * c[14]);
890  r[225] = rf[225] * (c[46] * c[3] - rkc[225] * c[35] * c[15]);
891  r[226] = rf[226] * (c[46] - rkc[226] * c[30] * c[14]);
892  r[227] = rf[227] * (c[46] * c[35] - rkc[227] * c[37] * c[14]);
893  r[228] = rf[228] * (c[46] * c[35] - rkc[228] * c[47] * c[15]);
894  r[229] = rf[229] * (c[40] - rkc[229] * c[1] * c[39]);
895  r[230] = rf[230] * (c[40] * c[2] - rkc[230] * c[46] * c[1]);
896  r[231] = rf[231] * (c[40] * c[2] - rkc[231] * c[31] * c[14]);
897  r[232] = rf[232] * (c[40] * c[2] - rkc[232] * c[39] * c[4]);
898  r[233] = rf[233] * (c[40] * c[4] - rkc[233] * c[44] * c[1]);
899  r[234] = rf[234] * (c[40] * c[4] - rkc[234] * c[45] * c[1]);
900  r[235] = rf[235] * (c[40] * c[4] - rkc[235] * c[32] * c[14]);
901  r[236] = rf[236] * (c[1] * c[40] - rkc[236] * c[41]);
902  r[237] = rf[237] * (c[41] * c[30] - rkc[237] * c[47] * c[10]);
903  r[238] = rf[238] * (c[8] * c[47] - rkc[238] * c[39] * c[30]);
904  r[239] = rf[239] * (c[9] * c[47] - rkc[239] * c[40] * c[30]);
905  r[240] = rf[240] * (c[9] * c[47] - rkc[240] * c[42]);
906  r[241] = rf[241] * (c[10] * c[47] - rkc[241] * c[40] * c[31]);
907  r[242] = rf[242] * (c[11] * c[47] - rkc[242] * c[31] * c[40]);
908  r[243] = rf[243] * (c[8] * c[35] - rkc[243] * c[39] * c[2]);
909  r[244] = rf[244] * (c[8] * c[35] - rkc[244] * c[14] * c[30]);
910  r[245] = rf[245] * (c[9] * c[35] - rkc[245] * c[40] * c[2]);
911  r[246] = rf[246] * (c[9] * c[35] - rkc[246] * c[1] * c[46]);
912  r[247] = rf[247] * (c[9] * c[35] - rkc[247] * c[30] * c[16]);
913  r[248] = rf[248] * (c[10] * c[35] - rkc[248] * c[1] * c[45]);
914  r[249] = rf[249] * (c[10] * c[35] - rkc[249] * c[4] * c[40]);
915  r[250] = rf[250] * (c[10] * c[35] - rkc[250] * c[1] * c[43]);
916  r[251] = rf[251] * (c[11] * c[35] - rkc[251] * c[1] * c[45]);
917  r[252] = rf[252] * (c[11] * c[35] - rkc[252] * c[4] * c[40]);
918  r[253] = rf[253] * (c[11] * c[35] - rkc[253] * c[1] * c[43]);
919  r[254] = rf[254] * (c[12] * c[35] - rkc[254] * c[40] * c[5]);
920  r[255] = rf[255] * (c[12] * c[35] - rkc[255] * c[41] * c[4]);
921  r[256] = rf[256] * (c[42] * c[2] - rkc[256] * c[14] * c[1] * c[47]);
922  r[257] = rf[257] * (c[42] * c[2] - rkc[257] * c[40] * c[35]);
923  r[258] = rf[258] * (c[42] * c[3] - rkc[258] * c[2] * c[16] * c[47]);
924  r[259] = rf[259] * (c[42] * c[4] - rkc[259] * c[1] * c[16] * c[47]);
925  r[260] = rf[260] * (c[42] * c[1] - rkc[260] * c[10] * c[47]);
926  r[261] = rf[261] * (c[45] * c[2] - rkc[261] * c[31] * c[15]);
927  r[262] = rf[262] * (c[45] * c[2] - rkc[262] * c[38] * c[14]);
928  r[263] = rf[263] * (c[45] * c[2] - rkc[263] * c[46] * c[4]);
929  r[264] = rf[264] * (c[45] * c[1] - rkc[264] * c[32] * c[14]);
930  r[265] = rf[265] * (c[45] * c[1] - rkc[265] * c[0] * c[46]);
931  r[266] = rf[266] * (c[45] * c[4] - rkc[266] * c[46] * c[5]);
932  r[267] = rf[267] * (c[45] * c[4] - rkc[267] * c[32] * c[15]);
933  r[268] = rf[268] * (c[45] - rkc[268] * c[31] * c[14]);
934  r[269] = rf[269] * (c[43] * c[1] - rkc[269] * c[1] * c[45]);
935  r[270] = rf[270] * (c[43] * c[1] - rkc[270] * c[4] * c[40]);
936  r[271] = rf[271] * (c[43] * c[1] - rkc[271] * c[32] * c[14]);
937  r[272] = rf[272] * (c[44] * c[1] - rkc[272] * c[1] * c[45]);
938  r[273] = rf[273] * (c[27] * c[35] - rkc[273] * c[43] * c[14]);
939  r[274] = rf[274] * (c[12] * c[30] - rkc[274] * c[41] * c[1]);
940  r[275] = rf[275] * (c[12] * c[30] - rkc[275] * c[40] * c[0]);
941  r[276] = rf[276] * (c[33] * c[1] - rkc[276] * c[32] * c[0]);
942  r[277] = rf[277] * (c[33] * c[4] - rkc[277] * c[32] * c[5]);
943  r[278] = rf[278] * (c[33] * c[2] - rkc[278] * c[32] * c[4]);
944  r[279] = rf[279] * (c[31] * c[15] - rkc[279] * c[38] * c[14]);
945  r[280] = rf[280] * (c[39] * c[36] - rkc[280] * c[46] * c[35]);
946  r[281] = rf[281] * (c[46] * c[36] - rkc[281] * c[37] * c[15]);
947  r[282] = rf[282] * (c[30] * c[15] - rkc[282] * c[35] * c[14]);
948  r[283] = rf[283] * (c[2] * c[12]);
949  r[284] = rf[284] * (c[2] * c[24] - rkc[284] * c[1] * c[51]);
950  r[285] = rf[285] * (c[2] * c[25] - rkc[285] * c[1] * c[52]);
951  r[286] = rf[286] * (c[4] * c[6] - rkc[286] * c[3] * c[5]);
952  r[287] = rf[287] * (c[4] * c[12]);
953  r[288] = rf[288] * (c[9] * c[0] - rkc[288] * c[12]);
954  r[289] = rf[289] * (c[10] * c[3]);
955  r[290] = rf[290] * (c[10] * c[3] - rkc[290] * c[2] * c[17]);
956  r[291] = rf[291] * (c[10] * c[10]);
957  r[292] = rf[292] * (c[11] * c[5]);
958  r[293] = rf[293] * (c[23] * c[3] - rkc[293] * c[2] * c[51]);
959  r[294] = rf[294] * (c[23] * c[3] - rkc[294] * c[6] * c[22]);
960  r[295] = rf[295] * (c[2] * c[52] - rkc[295] * c[4] * c[51]);
961  r[296] = rf[296] * (c[2] * c[52]);
962  r[297] = rf[297] * (c[3] * c[52]);
963  r[298] = rf[298] * (c[1] * c[52] - rkc[298] * c[51] * c[0]);
964  r[299] = rf[299] * (c[1] * c[52]);
965  r[300] = rf[300] * (c[4] * c[52]);
966  r[301] = rf[301] * (c[6] * c[52]);
967  r[302] = rf[302] * (c[12] * c[52]);
968  r[303] = rf[303] * (c[1] * c[28] - rkc[303] * c[51]);
969  r[304] = rf[304] * (c[2] * c[51]);
970  r[305] = rf[305] * (c[3] * c[51]);
971  r[306] = rf[306] * (c[3] * c[51]);
972  r[307] = rf[307] * (c[1] * c[51] - rkc[307] * c[12] * c[16]);
973  r[308] = rf[308] * (c[1] * c[51] - rkc[308] * c[28] * c[0]);
974  r[309] = rf[309] * (c[4] * c[51] - rkc[309] * c[5] * c[28]);
975  r[310] = rf[310] * (c[4] * c[51] - rkc[310] * c[16] * c[18]);
976  r[311] = rf[311] * (c[12] * c[25] - rkc[311] * c[50]);
977  r[312] = rf[312] * (c[2] * c[50] - rkc[312] * c[4] * c[49]);
978  r[313] = rf[313] * (c[1] * c[50] - rkc[313] * c[49] * c[0]);
979  r[314] = rf[314] * (c[4] * c[50] - rkc[314] * c[49] * c[5]);
980  r[315] = rf[315] * (c[49] * c[7] - rkc[315] * c[6] * c[50]);
981  r[316] = rf[316] * (c[12] * c[50] - rkc[316] * c[49] * c[13]);
982  r[317] = rf[317] * (c[12] * c[24] - rkc[317] * c[49]);
983  r[318] = rf[318] * (c[2] * c[49] - rkc[318] * c[25] * c[17]);
984  r[319] = rf[319] * (c[1] * c[49] - rkc[319] * c[50]);
985  r[320] = rf[320] * (c[1] * c[49] - rkc[320] * c[12] * c[25]);
986  r[321] = rf[321] * (c[4] * c[49] - rkc[321] * c[25] * c[18]);
987  r[322] = rf[322] * (c[6] * c[49] - rkc[322] * c[3] * c[50]);
988  r[323] = rf[323] * (c[6] * c[49]);
989  r[324] = rf[324] * (c[12] * c[49] - rkc[324] * c[25] * c[25]);
990 }
991 
992 }
993 
994 
995 
996 
997 
998 
999 
1000