cantera/src/kinetics/GRI_30_Kinetics.cpp

981 lines
58 KiB
C++

/**
* @file GRI_30_Kinetics.cpp
*
* @ingroup chemkinetics
*/
// Copyright 2001 California Institute of Technology
#include "cantera/kinetics/GRI_30_Kinetics.h"
#include "cantera/kinetics/ReactionData.h"
#include "cantera/kinetics/Enhanced3BConc.h"
#include "cantera/kinetics/ThirdBodyMgr.h"
#include "cantera/kinetics/RateCoeffMgr.h"
#include "cantera/thermo/IdealGasPhase.h"
#include <iostream>
using namespace std;
namespace Cantera
{
GRI_30_Kinetics::
GRI_30_Kinetics(thermo_t* th) : GasKinetics(th) {}
void GRI_30_Kinetics::
gri30_update_rates_T()
{
doublereal T = thermo().temperature();
doublereal logT = log(T);
m_logc_ref = m_logp_ref - logT;
update_rates(T, logT, &m_rfn[0]);
m_falloff_low_rates.update(T, logT, &m_rfn_low[0]);
m_falloff_high_rates.update(T, logT, &m_rfn_high[0]);
m_falloffn.updateTemp(T, &falloff_work[0]);
m_temp = T;
gri30_updateKc();
m_ROP_ok = false;
}
void GRI_30_Kinetics::gri30_updateKc()
{
vector_fp a(m_kk);
m_thermo[0]->getGibbs_RT_ref(&a[0]);
for (size_t k = 0; k < m_kk; k++) {
a[k] = exp(a[k]);
}
doublereal exp_c_ref = exp(m_logc_ref);
update_kc(&a[0], exp_c_ref, &m_rkcn[0]);
}
void GRI_30_Kinetics::gri30_updateROP()
{
gri30_update_rates_T();
update_rates_C();
if (m_ROP_ok) {
return;
}
const vector_fp& rf = m_rfn;
const vector_fp& rkc = m_rkcn;
vector_fp& ropf = m_ropf;
vector_fp& ropnet = m_ropnet;
copy(rf.begin(), rf.end(), ropf.begin());
m_3b_concm.multiply(&ropf[0], &concm_3b_values[0]);
processFalloffReactions();
multiply_each(ropf.begin(), ropf.end(), m_perturb.begin());
eval_ropnet(&m_conc[0], &ropf[0], &rkc[0], &ropnet[0]);
m_ROP_ok = true;
}
void GRI_30_Kinetics::update_rates(doublereal t, doublereal tlog, doublereal* rf)
{
doublereal rt = 1.0/t;
rf[0] = exp(25.5108 + -1 * tlog);
rf[1] = exp(26.9379 + -1 * tlog);
rf[2] = exp(3.65584 + 2.7 * tlog - 3150.48 * rt);
rf[4] = exp(9.17264 + 2 * tlog - 2013.09 * rt);
rf[10] = exp(13.8353 + 1.5 * tlog - 4328.13 * rt);
rf[14] = exp(24.3868 - 1781.58 * rt);
rf[17] = exp(5.96101 + 2.5 * tlog - 1560.14 * rt);
rf[18] = exp(4.86753 + 2.5 * tlog - 2516.36 * rt);
rf[20] = exp(9.51044 + 2 * tlog - 956.215 * rt);
rf[21] = exp(38.3674 + -1.41 * tlog - 14569.7 * rt);
rf[22] = exp(8.84506 + 2 * tlog - 956.215 * rt);
rf[24] = exp(9.43348 + 1.83 * tlog - 110.72 * rt);
rf[26] = exp(11.4053 + 1.92 * tlog - 2863.61 * rt);
rf[28] = exp(23.0259 - 4026.17 * rt);
rf[29] = exp(21.2829 - 679.416 * rt);
rf[30] = exp(21.6396 - 24056.4 * rt);
rf[31] = exp(25.3284 - 20130.9 * rt);
rf[32] = exp(28.6606 + -0.86 * tlog);
rf[33] = exp(30.666 + -1.24 * tlog);
rf[34] = exp(30.0523 + -0.76 * tlog);
rf[35] = exp(30.8891 + -1.24 * tlog);
rf[36] = exp(27.2743 + -0.8 * tlog);
rf[37] = exp(30.9082 + -0.6707 * tlog - 8576.25 * rt);
rf[38] = exp(27.631 + -1 * tlog);
rf[39] = exp(25.2231 + -0.6 * tlog);
rf[40] = exp(31.7254 + -1.25 * tlog);
rf[41] = exp(33.9409 + -2 * tlog);
rf[42] = exp(37.6298 + -2 * tlog);
rf[43] = exp(22.102 - 337.695 * rt);
rf[44] = exp(24.5255 - 537.494 * rt);
rf[45] = exp(25.1541 - 319.577 * rt);
rf[46] = exp(9.40096 + 2 * tlog - 2617.01 * rt);
rf[47] = exp(23.0259 - 1811.78 * rt);
rf[52] = exp(13.4 + 1.62 * tlog - 5455.46 * rt);
rf[57] = exp(10.9578 + 1.9 * tlog - 1379.97 * rt);
rf[60] = exp(18.9215 + 0.65 * tlog - -142.929 * rt);
rf[61] = exp(24.2137 + -0.09 * tlog - 306.995 * rt);
rf[63] = exp(10.6334 + 1.63 * tlog - 968.294 * rt);
rf[65] = exp(21.1287 + 0.5 * tlog - -55.3598 * rt);
rf[66] = exp(26.2916 + -0.23 * tlog - 538.5 * rt);
rf[67] = exp(9.74097 + 2.1 * tlog - 2450.93 * rt);
rf[68] = exp(8.34284 + 2.1 * tlog - 2450.93 * rt);
rf[74] = exp(7.18917 + 2.53 * tlog - 6160.04 * rt);
rf[77] = exp(11.6527 + 1.9 * tlog - 3789.63 * rt);
rf[79] = exp(24.6353 - 4026.17 * rt);
rf[80] = exp(23.1481 - 1725.21 * rt);
rf[83] = exp(12.283 + 1.51 * tlog - 1726.22 * rt);
rf[85] = exp(3.57515 + 2.4 * tlog - -1061.9 * rt);
rf[86] = exp(23.3974 - -251.636 * rt);
rf[87] = exp(21.4164 - 214.897 * rt);
rf[88] = exp(35.0694 - 14801.2 * rt);
rf[92] = exp(9.33256 + 2 * tlog - 1509.81 * rt);
rf[95] = exp(10.9331 + 1.6 * tlog - 2727.73 * rt);
rf[96] = exp(34.0987 + -1.34 * tlog - 713.135 * rt);
rf[97] = exp(11.5129 + 1.6 * tlog - 1570.21 * rt);
rf[98] = exp(10.7706 + 1.228 * tlog - 35.229 * rt);
rf[100] = exp(15.0481 + 1.18 * tlog - -224.962 * rt);
rf[103] = exp(7.2724 + 2 * tlog - -422.748 * rt);
rf[104] = exp(8.7483 + 2 * tlog - 754.907 * rt);
rf[106] = exp(-15.3388 + 4.5 * tlog - -503.271 * rt);
rf[107] = exp(6.22258 + 2.3 * tlog - 6794.16 * rt);
rf[108] = exp(10.4253 + 2 * tlog - 7045.8 * rt);
rf[109] = exp(-14.5432 + 4 * tlog - -1006.54 * rt);
rf[111] = exp(8.18869 + 2 * tlog - 1258.18 * rt);
rf[112] = exp(8.17188 + 2.12 * tlog - 437.846 * rt);
rf[113] = exp(22.7382 - 1006.54 * rt);
rf[114] = exp(18.683 - -820.332 * rt);
rf[115] = exp(26.7635 - 6039.26 * rt);
rf[119] = exp(25.7339 - 11877.2 * rt);
rf[120] = exp(8.63052 + 2 * tlog - 6039.26 * rt);
rf[121] = exp(24.7837 - 289.884 * rt);
rf[125] = exp(25.4054 - 1565.17 * rt);
rf[126] = exp(22.4655 - -379.97 * rt);
rf[131] = exp(25.9703 - 7947.66 * rt);
rf[132] = exp(25.2729 - -259.185 * rt);
rf[134] = exp(22.3327 - 754.907 * rt);
rf[135] = exp(6.21461 + 2 * tlog - 3638.65 * rt);
rf[136] = exp(28.101 - 6011.07 * rt);
rf[138] = exp(7.80792 + 2 * tlog - 4162.05 * rt);
rf[141] = exp(23.4313 - 301.963 * rt);
rf[142] = exp(22.9205 - 301.963 * rt);
rf[148] = exp(23.2082 - -286.865 * rt);
rf[149] = exp(23.4959 - -286.865 * rt);
rf[153] = exp(24.4121 - -276.799 * rt);
rf[154] = exp(24.2956 - 15339.7 * rt);
rf[155] = exp(21.5605 - 10224 * rt);
rf[156] = exp(3.19867 + 2.47 * tlog - 2606.95 * rt);
rf[158] = exp(22.6461 + 0.1 * tlog - 5334.68 * rt);
rf[160] = exp(1.19996 + 2.81 * tlog - 2949.17 * rt);
rf[161] = exp(10.309 + 1.5 * tlog - 5002.52 * rt);
rf[162] = exp(9.21034 + 1.5 * tlog - 5002.52 * rt);
rf[163] = exp(5.42495 + 2 * tlog - 4630.1 * rt);
rf[164] = exp(8.72258 + 1.74 * tlog - 5259.18 * rt);
rf[165] = exp(34.9442 + -1 * tlog - 8555.61 * rt);
rf[166] = exp(32.8621 + -1 * tlog - 8555.61 * rt);
rf[167] = exp(23.3222 - 201.309 * rt);
rf[168] = exp(23.6136 - 452.944 * rt);
rf[169] = exp(-35.3874 + 7.6 * tlog - -1776.55 * rt);
rf[170] = exp(23.0259 - -379.97 * rt);
rf[171] = exp(17.855 + 0.9 * tlog - 1003.02 * rt);
rf[172] = exp(31.4553 + -1.39 * tlog - 510.82 * rt);
rf[174] = exp(20.5489 - 1950.18 * rt);
rf[175] = exp(21.8864 - 429.794 * rt);
rf[177] = exp(24.0191 - 178.661 * rt);
rf[178] = exp(16.0127 + 1 * tlog - 3271.26 * rt);
rf[179] = exp(24.2378 - 193.759 * rt);
rf[180] = exp(21.0597 - 5440.36 * rt);
rf[181] = exp(24.0906 - 11650.7 * rt);
rf[182] = exp(26.6817 - 9501.76 * rt);
rf[183] = exp(21.4164 - 10598.9 * rt);
rf[185] = exp(21.47 - -241.57 * rt);
rf[186] = exp(32.2945 + -1.41 * tlog);
rf[187] = exp(22.0842 - -120.785 * rt);
rf[188] = exp(25.6061 - 181.178 * rt);
rf[190] = exp(24.189 - 166.08 * rt);
rf[192] = exp(14.5087 + 1.2 * tlog);
rf[193] = exp(6.1334 + 2 * tlog - 3271.26 * rt);
rf[194] = exp(7.15462 + 1.5 * tlog - 50.3271 * rt);
rf[196] = exp(23.719 - 6970.31 * rt);
rf[197] = exp(23.796 + -0.23 * tlog);
rf[198] = exp(26.6232 + -0.45 * tlog);
rf[201] = exp(24.4121 - 1836.94 * rt);
rf[202] = exp(11.4076 + 1.5 * tlog - -231.505 * rt);
rf[204] = exp(25.5908 + -0.11 * tlog - 2506.29 * rt);
rf[211] = exp(31.4332 + -1.32 * tlog - 372.421 * rt);
rf[213] = exp(20.6179 + 0.72 * tlog - 332.159 * rt);
rf[214] = exp(9.4727 + 1.9 * tlog - -478.108 * rt);
rf[215] = exp(23.0259 - 6542.53 * rt);
rf[218] = exp(22.8027 - 3754.4 * rt);
rf[219] = exp(22.5381 - -221.439 * rt);
rf[220] = exp(5.68698 + 2.45 * tlog - 1127.33 * rt);
rf[225] = exp(21.4164 - 10065.4 * rt);
rf[226] = exp(26.4598 - 27201.8 * rt);
rf[227] = exp(32.878 + -1.52 * tlog - 372.421 * rt);
rf[228] = exp(35.8738 + -2 * tlog - 402.617 * rt);
rf[229] = exp(59.9064 + -3.3 * tlog - 63714.1 * rt);
rf[230] = exp(3.01062 + 2.64 * tlog - 2506.29 * rt);
rf[231] = exp(1.62334 + 2.64 * tlog - 2506.29 * rt);
rf[232] = exp(15.179 + 1.58 * tlog - 13387 * rt);
rf[233] = exp(7.00307 + 2.03 * tlog - 6728.74 * rt);
rf[234] = exp(1.4816 + 2.26 * tlog - 3220.94 * rt);
rf[235] = exp(-1.83258 + 2.56 * tlog - 4529.44 * rt);
rf[237] = exp(24.8176 - 201.309 * rt);
rf[238] = exp(24.8664 - 23160.5 * rt);
rf[239] = exp(14.9533 + 0.88 * tlog - 10130.9 * rt);
rf[241] = exp(23.0259 - 37242.1 * rt);
rf[242] = exp(18.4207 - 32712.6 * rt);
rf[248] = exp(33.3676 + -1.38 * tlog - 639.155 * rt);
rf[249] = exp(26.3931 + -0.69 * tlog - 382.486 * rt);
rf[250] = exp(24.3609 + -0.36 * tlog - 291.897 * rt);
rf[251] = exp(33.3676 + -1.38 * tlog - 639.155 * rt);
rf[252] = exp(26.3931 + -0.69 * tlog - 382.486 * rt);
rf[253] = exp(24.3609 + -0.36 * tlog - 291.897 * rt);
rf[254] = exp(25.2876 - 14494.2 * rt);
rf[255] = exp(20.7233 - 10946.1 * rt);
rf[261] = exp(11.4927 + 1.41 * tlog - 4277.81 * rt);
rf[262] = exp(11.9184 + 1.57 * tlog - 22143.9 * rt);
rf[263] = exp(7.69621 + 2.11 * tlog - 5737.29 * rt);
rf[264] = exp(10.0213 + 1.7 * tlog - 1912.43 * rt);
rf[265] = exp(4.65396 + 2.5 * tlog - 6693.51 * rt);
rf[266] = exp(10.4043 + 1.5 * tlog - 1811.78 * rt);
rf[267] = exp(8.10168 + 1.5 * tlog - 1811.78 * rt);
rf[268] = exp(30.0991 - 42637.1 * rt);
rf[269] = exp(28.373 + -0.69 * tlog - 1434.32 * rt);
rf[270] = exp(19.4139 + 0.18 * tlog - 1066.94 * rt);
rf[271] = exp(25.8591 + -0.75 * tlog - 1454.45 * rt);
rf[272] = exp(9.90349 + 2 * tlog - 1006.54 * rt);
rf[274] = exp(27.1367 + -0.31 * tlog - 145.949 * rt);
rf[275] = exp(22.0316 + 0.15 * tlog - -45.2944 * rt);
rf[276] = exp(6.29157 + 2.4 * tlog - 4989.93 * rt);
rf[277] = exp(10.8198 + 1.6 * tlog - 480.624 * rt);
rf[278] = exp(9.14846 + 1.94 * tlog - 3251.13 * rt);
rf[279] = exp(23.0259 - 7221.94 * rt);
rf[280] = exp(29.4491 + -0.752 * tlog - 173.629 * rt);
rf[281] = exp(21.9019 - -354.806 * rt);
rf[282] = exp(21.8219 - 5686.97 * rt);
rf[284] = exp(8.80986 + 1.83 * tlog - 110.72 * rt);
rf[286] = exp(29.2405 - 8721.69 * rt);
rf[287] = exp(15.895 + 0.5 * tlog - -883.241 * rt);
rf[289] = exp(22.4811 - 754.907 * rt);
rf[290] = exp(21.5987 - 754.907 * rt);
rf[291] = exp(26.0216 - 5530.45 * rt);
rf[292] = exp(18.038 + 0.25 * tlog - -470.559 * rt);
rf[293] = exp(19.5292 + 0.29 * tlog - 5.53598 * rt);
rf[294] = exp(7.19818 + 1.61 * tlog - -193.256 * rt);
rf[295] = exp(22.488 - 909.914 * rt);
rf[296] = exp(22.488 - 909.914 * rt);
rf[297] = exp(24.1278 - 19703.1 * rt);
rf[298] = exp(14.5334 + 1.16 * tlog - 1210.37 * rt);
rf[299] = exp(14.5334 + 1.16 * tlog - 1210.37 * rt);
rf[300] = exp(16.9695 + 0.73 * tlog - -560.141 * rt);
rf[301] = exp(21.8252 - 6000.5 * rt);
rf[302] = exp(7.90839 + 1.77 * tlog - 2979.37 * rt);
rf[312] = exp(5.26269 + 2.68 * tlog - 1870.16 * rt);
rf[313] = exp(7.18539 + 2.54 * tlog - 3400.1 * rt);
rf[314] = exp(10.3609 + 1.8 * tlog - 470.055 * rt);
rf[315] = exp(-0.972861 + 2.72 * tlog - 754.907 * rt);
rf[316] = exp(-7.00979 + 3.65 * tlog - 3600.4 * rt);
rf[320] = exp(8.30894 + 2.19 * tlog - 447.911 * rt);
rf[322] = exp(17.0542 + 0.255 * tlog - -474.585 * rt);
rf[324] = exp(23.6818 + -0.32 * tlog);
}
void GRI_30_Kinetics::update_kc(const doublereal* a, doublereal exp_c0, doublereal* rkc)
{
rkc[0] = a[3]*exp_c0/(a[2]*a[2]);
rkc[1] = a[4]*exp_c0/(a[1]*a[2]);
rkc[2] = a[1]*a[4]/(a[0]*a[2]);
rkc[3] = a[3]*a[4]/(a[2]*a[6]);
rkc[4] = a[4]*a[6]/(a[2]*a[7]);
rkc[5] = a[1]*a[14]/(a[2]*a[9]);
rkc[6] = a[1]*a[16]/(a[2]*a[10]);
rkc[7] = a[0]*a[14]/(a[2]*a[11]);
rkc[8] = a[1]*a[16]/(a[2]*a[11]);
rkc[9] = a[1]*a[17]/(a[2]*a[12]);
rkc[10] = a[4]*a[12]/(a[2]*a[13]);
rkc[11] = a[15]*exp_c0/(a[2]*a[14]);
rkc[12] = a[4]*a[14]/(a[2]*a[16]);
rkc[13] = a[1]*a[15]/(a[2]*a[16]);
rkc[14] = a[4]*a[16]/(a[2]*a[17]);
rkc[15] = a[4]*a[17]/(a[2]*a[18]);
rkc[16] = a[4]*a[17]/(a[2]*a[19]);
rkc[17] = a[4]*a[18]/(a[2]*a[20]);
rkc[18] = a[4]*a[19]/(a[2]*a[20]);
rkc[19] = a[9]*a[14]/(a[2]*a[21]);
rkc[20] = a[1]*a[27]/(a[2]*a[22]);
rkc[21] = a[4]*a[21]/(a[2]*a[22]);
rkc[22] = a[10]*a[14]/(a[2]*a[22]);
rkc[23] = a[1]*a[28]/(a[2]*a[23]);
rkc[24] = a[12]*a[16]/(a[2]*a[24]);
rkc[25] = a[12]*a[17]/(a[2]*a[25]);
rkc[26] = a[4]*a[25]/(a[2]*a[26]);
rkc[27] = a[1]*a[14]*a[14]/(a[2]*a[27]*exp_c0);
rkc[28] = a[4]*a[27]/(a[2]*a[28]);
rkc[29] = a[10]*a[15]/(a[2]*a[28]);
rkc[30] = a[2]*a[15]/(a[3]*a[14]);
rkc[31] = a[6]*a[16]/(a[3]*a[17]);
rkc[32] = a[6]*exp_c0/(a[1]*a[3]);
rkc[33] = a[3]*a[6]*exp_c0/(a[1]*a[3]*a[3]);
rkc[34] = a[5]*a[6]*exp_c0/(a[1]*a[3]*a[5]);
rkc[35] = a[6]*a[47]*exp_c0/(a[1]*a[3]*a[47]);
rkc[36] = a[6]*a[48]*exp_c0/(a[1]*a[3]*a[48]);
rkc[37] = a[2]*a[4]/(a[1]*a[3]);
rkc[38] = a[0]*exp_c0/(a[1]*a[1]);
rkc[39] = a[0]*a[0]*exp_c0/(a[0]*a[1]*a[1]);
rkc[40] = a[0]*a[5]*exp_c0/(a[1]*a[1]*a[5]);
rkc[41] = a[0]*a[15]*exp_c0/(a[1]*a[1]*a[15]);
rkc[42] = a[5]*exp_c0/(a[1]*a[4]);
rkc[43] = a[2]*a[5]/(a[1]*a[6]);
rkc[44] = a[0]*a[3]/(a[1]*a[6]);
rkc[45] = a[4]*a[4]/(a[1]*a[6]);
rkc[46] = a[0]*a[6]/(a[1]*a[7]);
rkc[47] = a[4]*a[5]/(a[1]*a[7]);
rkc[48] = a[0]*a[8]/(a[1]*a[9]);
rkc[49] = a[12]*exp_c0/(a[1]*a[10]);
rkc[50] = a[0]*a[9]/(a[1]*a[11]);
rkc[51] = a[13]*exp_c0/(a[1]*a[12]);
rkc[52] = a[0]*a[12]/(a[1]*a[13]);
rkc[53] = a[17]*exp_c0/(a[1]*a[16]);
rkc[54] = a[0]*a[14]/(a[1]*a[16]);
rkc[55] = a[18]*exp_c0/(a[1]*a[17]);
rkc[56] = a[19]*exp_c0/(a[1]*a[17]);
rkc[57] = a[0]*a[16]/(a[1]*a[17]);
rkc[58] = a[20]*exp_c0/(a[1]*a[18]);
rkc[59] = a[0]*a[17]/(a[1]*a[18]);
rkc[60] = a[4]*a[12]/(a[1]*a[18]);
rkc[61] = a[5]*a[11]/(a[1]*a[18]);
rkc[62] = a[20]*exp_c0/(a[1]*a[19]);
rkc[63] = a[1]*a[18]/(a[1]*a[19]);
rkc[64] = a[0]*a[17]/(a[1]*a[19]);
rkc[65] = a[4]*a[12]/(a[1]*a[19]);
rkc[66] = a[5]*a[11]/(a[1]*a[19]);
rkc[67] = a[0]*a[18]/(a[1]*a[20]);
rkc[68] = a[0]*a[19]/(a[1]*a[20]);
rkc[69] = a[22]*exp_c0/(a[1]*a[21]);
rkc[70] = a[23]*exp_c0/(a[1]*a[22]);
rkc[71] = a[24]*exp_c0/(a[1]*a[23]);
rkc[72] = a[0]*a[22]/(a[1]*a[23]);
rkc[73] = a[25]*exp_c0/(a[1]*a[24]);
rkc[74] = a[0]*a[23]/(a[1]*a[24]);
rkc[75] = a[26]*exp_c0/(a[1]*a[25]);
rkc[76] = a[0]*a[24]/(a[1]*a[25]);
rkc[77] = a[0]*a[25]/(a[1]*a[26]);
rkc[78] = a[11]*a[14]/(a[1]*a[27]);
rkc[79] = a[0]*a[27]/(a[1]*a[28]);
rkc[80] = a[12]*a[14]/(a[1]*a[28]);
rkc[81] = a[1]*a[28]/(a[1]*a[29]);
rkc[82] = a[17]*exp_c0/(a[0]*a[14]);
rkc[83] = a[1]*a[5]/(a[0]*a[4]);
rkc[84] = a[7]*exp_c0/(a[4]*a[4]);
rkc[85] = a[2]*a[5]/(a[4]*a[4]);
rkc[86] = a[3]*a[5]/(a[4]*a[6]);
rkc[87] = a[5]*a[6]/(a[4]*a[7]);
rkc[88] = a[5]*a[6]/(a[4]*a[7]);
rkc[89] = a[1]*a[14]/(a[4]*a[8]);
rkc[90] = a[1]*a[16]/(a[4]*a[9]);
rkc[91] = a[1]*a[17]/(a[4]*a[10]);
rkc[92] = a[5]*a[9]/(a[4]*a[10]);
rkc[93] = a[1]*a[17]/(a[4]*a[11]);
rkc[94] = a[20]*exp_c0/(a[4]*a[12]);
rkc[95] = a[5]*a[10]/(a[4]*a[12]);
rkc[96] = a[5]*a[11]/(a[4]*a[12]);
rkc[97] = a[5]*a[12]/(a[4]*a[13]);
rkc[98] = a[1]*a[15]/(a[4]*a[14]);
rkc[99] = a[5]*a[14]/(a[4]*a[16]);
rkc[100] = a[5]*a[16]/(a[4]*a[17]);
rkc[101] = a[5]*a[17]/(a[4]*a[18]);
rkc[102] = a[5]*a[17]/(a[4]*a[19]);
rkc[103] = a[5]*a[18]/(a[4]*a[20]);
rkc[104] = a[5]*a[19]/(a[4]*a[20]);
rkc[105] = a[1]*a[27]/(a[4]*a[21]);
rkc[106] = a[1]*a[28]/(a[4]*a[22]);
rkc[107] = a[1]*a[29]/(a[4]*a[22]);
rkc[108] = a[5]*a[21]/(a[4]*a[22]);
rkc[109] = a[12]*a[14]/(a[4]*a[22]);
rkc[110] = a[5]*a[22]/(a[4]*a[23]);
rkc[111] = a[5]*a[23]/(a[4]*a[24]);
rkc[112] = a[5]*a[25]/(a[4]*a[26]);
rkc[113] = a[5]*a[27]/(a[4]*a[28]);
rkc[114] = a[3]*a[7]/(a[6]*a[6]);
rkc[115] = a[3]*a[7]/(a[6]*a[6]);
rkc[116] = a[4]*a[17]/(a[6]*a[10]);
rkc[117] = a[3]*a[13]/(a[6]*a[12]);
rkc[118] = a[4]*a[19]/(a[6]*a[12]);
rkc[119] = a[4]*a[15]/(a[6]*a[14]);
rkc[120] = a[7]*a[16]/(a[6]*a[17]);
rkc[121] = a[2]*a[14]/(a[3]*a[8]);
rkc[122] = a[1]*a[21]/(a[8]*a[10]);
rkc[123] = a[1]*a[22]/(a[8]*a[12]);
rkc[124] = a[2]*a[16]/(a[3]*a[9]);
rkc[125] = a[1]*a[10]/(a[0]*a[9]);
rkc[126] = a[1]*a[17]/(a[5]*a[9]);
rkc[127] = a[1]*a[22]/(a[9]*a[10]);
rkc[128] = a[1]*a[23]/(a[9]*a[12]);
rkc[129] = a[1]*a[24]/(a[9]*a[13]);
rkc[130] = a[27]*exp_c0/(a[9]*a[14]);
rkc[131] = a[14]*a[16]/(a[9]*a[15]);
rkc[132] = a[1]*a[28]/(a[9]*a[17]);
rkc[133] = a[14]*a[22]/(a[9]*a[27]);
rkc[135] = a[1]*a[12]/(a[0]*a[10]);
rkc[136] = a[0]*a[22]/(a[10]*a[10]);
rkc[137] = a[1]*a[24]/(a[10]*a[12]);
rkc[138] = a[12]*a[12]/(a[10]*a[13]);
rkc[139] = a[28]*exp_c0/(a[10]*a[14]);
rkc[140] = a[14]*a[23]/(a[10]*a[27]);
rkc[141] = a[10]*a[47]/(a[11]*a[47]);
rkc[142] = a[10]*a[48]/(a[11]*a[48]);
rkc[143] = a[1]*a[4]*a[14]/(a[3]*a[11]*exp_c0);
rkc[144] = a[5]*a[14]/(a[3]*a[11]);
rkc[145] = a[1]*a[12]/(a[0]*a[11]);
rkc[146] = a[20]*exp_c0/(a[5]*a[11]);
rkc[147] = a[5]*a[10]/(a[5]*a[11]);
rkc[148] = a[1]*a[24]/(a[11]*a[12]);
rkc[149] = a[12]*a[12]/(a[11]*a[13]);
rkc[150] = a[10]*a[14]/(a[11]*a[14]);
rkc[151] = a[10]*a[15]/(a[11]*a[15]);
rkc[152] = a[14]*a[17]/(a[11]*a[15]);
rkc[153] = a[12]*a[25]/(a[11]*a[26]);
rkc[154] = a[2]*a[19]/(a[3]*a[12]);
rkc[155] = a[4]*a[17]/(a[3]*a[12]);
rkc[156] = a[6]*a[13]/(a[7]*a[12]);
rkc[157] = a[26]*exp_c0/(a[12]*a[12]);
rkc[158] = a[1]*a[25]/(a[12]*a[12]);
rkc[159] = a[13]*a[14]/(a[12]*a[16]);
rkc[160] = a[13]*a[16]/(a[12]*a[17]);
rkc[161] = a[13]*a[18]/(a[12]*a[20]);
rkc[162] = a[13]*a[19]/(a[12]*a[20]);
rkc[163] = a[13]*a[23]/(a[12]*a[24]);
rkc[164] = a[13]*a[25]/(a[12]*a[26]);
rkc[165] = a[1]*a[5]*a[14]/(a[5]*a[16]*exp_c0);
rkc[166] = a[1]*a[14]/(a[16]*exp_c0);
rkc[167] = a[6]*a[14]/(a[3]*a[16]);
rkc[168] = a[6]*a[17]/(a[3]*a[18]);
rkc[169] = a[6]*a[17]/(a[3]*a[19]);
rkc[170] = a[14]*a[16]/(a[3]*a[21]);
rkc[171] = a[1]*a[22]/(a[0]*a[21]);
rkc[172] = a[16]*a[17]/(a[3]*a[23]);
rkc[173] = a[0]*a[22]/(a[24]*exp_c0);
rkc[174] = a[6]*a[24]/(a[3]*a[25]);
rkc[175] = a[4]*a[14]*a[14]/(a[3]*a[27]*exp_c0);
rkc[176] = a[14]*a[14]*a[22]/(a[27]*a[27]*exp_c0);
rkc[177] = a[2]*a[47]/(a[30]*a[35]);
rkc[178] = a[2]*a[35]/(a[3]*a[30]);
rkc[179] = a[1]*a[35]/(a[4]*a[30]);
rkc[180] = a[3]*a[47]/(a[2]*a[37]);
rkc[181] = a[35]*a[35]/(a[2]*a[37]);
rkc[182] = a[4]*a[47]/(a[1]*a[37]);
rkc[183] = a[6]*a[47]/(a[4]*a[37]);
rkc[184] = a[2]*a[47]/(a[37]*exp_c0);
rkc[185] = a[4]*a[36]/(a[6]*a[35]);
rkc[186] = a[36]*exp_c0/(a[2]*a[35]);
rkc[187] = a[3]*a[35]/(a[2]*a[36]);
rkc[188] = a[4]*a[35]/(a[1]*a[36]);
rkc[189] = a[1]*a[35]/(a[2]*a[31]);
rkc[190] = a[0]*a[30]/(a[1]*a[31]);
rkc[191] = a[1]*a[38]/(a[4]*a[31]);
rkc[192] = a[5]*a[30]/(a[4]*a[31]);
rkc[193] = a[2]*a[38]/(a[3]*a[31]);
rkc[194] = a[4]*a[35]/(a[3]*a[31]);
rkc[195] = a[1]*a[47]/(a[30]*a[31]);
rkc[196] = a[0]*a[38]/(a[5]*a[31]);
rkc[197] = a[4]*a[47]/(a[31]*a[35]);
rkc[198] = a[1]*a[37]/(a[31]*a[35]);
rkc[199] = a[4]*a[31]/(a[2]*a[32]);
rkc[200] = a[1]*a[38]/(a[2]*a[32]);
rkc[201] = a[0]*a[31]/(a[1]*a[32]);
rkc[202] = a[5]*a[31]/(a[4]*a[32]);
rkc[203] = a[1]*a[47]/(a[34]*exp_c0);
rkc[204] = a[1]*a[47]/(a[34]*exp_c0);
rkc[205] = a[6]*a[47]/(a[3]*a[34]);
rkc[206] = a[4]*a[47]/(a[2]*a[34]);
rkc[207] = a[31]*a[35]/(a[2]*a[34]);
rkc[208] = a[0]*a[47]/(a[1]*a[34]);
rkc[209] = a[5]*a[47]/(a[4]*a[34]);
rkc[210] = a[13]*a[47]/(a[12]*a[34]);
rkc[211] = a[38]*exp_c0/(a[1]*a[35]);
rkc[212] = a[4]*a[35]/(a[2]*a[38]);
rkc[213] = a[0]*a[35]/(a[1]*a[38]);
rkc[214] = a[5]*a[35]/(a[4]*a[38]);
rkc[215] = a[6]*a[35]/(a[3]*a[38]);
rkc[216] = a[14]*a[30]/(a[2]*a[39]);
rkc[217] = a[1]*a[46]/(a[4]*a[39]);
rkc[218] = a[4]*a[40]/(a[5]*a[39]);
rkc[219] = a[2]*a[46]/(a[3]*a[39]);
rkc[220] = a[1]*a[40]/(a[0]*a[39]);
rkc[221] = a[14]*a[35]/(a[2]*a[46]);
rkc[222] = a[14]*a[31]/(a[1]*a[46]);
rkc[223] = a[1]*a[14]*a[35]/(a[4]*a[46]*exp_c0);
rkc[224] = a[14]*a[47]/(a[30]*a[46]);
rkc[225] = a[15]*a[35]/(a[3]*a[46]);
rkc[226] = a[14]*a[30]/(a[46]*exp_c0);
rkc[227] = a[14]*a[37]/(a[35]*a[46]);
rkc[228] = a[15]*a[47]/(a[35]*a[46]);
rkc[229] = a[1]*a[39]/(a[40]*exp_c0);
rkc[230] = a[1]*a[46]/(a[2]*a[40]);
rkc[231] = a[14]*a[31]/(a[2]*a[40]);
rkc[232] = a[4]*a[39]/(a[2]*a[40]);
rkc[233] = a[1]*a[44]/(a[4]*a[40]);
rkc[234] = a[1]*a[45]/(a[4]*a[40]);
rkc[235] = a[14]*a[32]/(a[4]*a[40]);
rkc[236] = a[41]*exp_c0/(a[1]*a[40]);
rkc[237] = a[10]*a[47]/(a[30]*a[41]);
rkc[238] = a[30]*a[39]/(a[8]*a[47]);
rkc[239] = a[30]*a[40]/(a[9]*a[47]);
rkc[240] = a[42]*exp_c0/(a[9]*a[47]);
rkc[241] = a[31]*a[40]/(a[10]*a[47]);
rkc[242] = a[31]*a[40]/(a[11]*a[47]);
rkc[243] = a[2]*a[39]/(a[8]*a[35]);
rkc[244] = a[14]*a[30]/(a[8]*a[35]);
rkc[245] = a[2]*a[40]/(a[9]*a[35]);
rkc[246] = a[1]*a[46]/(a[9]*a[35]);
rkc[247] = a[16]*a[30]/(a[9]*a[35]);
rkc[248] = a[1]*a[45]/(a[10]*a[35]);
rkc[249] = a[4]*a[40]/(a[10]*a[35]);
rkc[250] = a[1]*a[43]/(a[10]*a[35]);
rkc[251] = a[1]*a[45]/(a[11]*a[35]);
rkc[252] = a[4]*a[40]/(a[11]*a[35]);
rkc[253] = a[1]*a[43]/(a[11]*a[35]);
rkc[254] = a[5]*a[40]/(a[12]*a[35]);
rkc[255] = a[4]*a[41]/(a[12]*a[35]);
rkc[256] = a[1]*a[14]*a[47]/(a[2]*a[42]*exp_c0);
rkc[257] = a[35]*a[40]/(a[2]*a[42]);
rkc[258] = a[2]*a[16]*a[47]/(a[3]*a[42]*exp_c0);
rkc[259] = a[1]*a[16]*a[47]/(a[4]*a[42]*exp_c0);
rkc[260] = a[10]*a[47]/(a[1]*a[42]);
rkc[261] = a[15]*a[31]/(a[2]*a[45]);
rkc[262] = a[14]*a[38]/(a[2]*a[45]);
rkc[263] = a[4]*a[46]/(a[2]*a[45]);
rkc[264] = a[14]*a[32]/(a[1]*a[45]);
rkc[265] = a[0]*a[46]/(a[1]*a[45]);
rkc[266] = a[5]*a[46]/(a[4]*a[45]);
rkc[267] = a[15]*a[32]/(a[4]*a[45]);
rkc[268] = a[14]*a[31]/(a[45]*exp_c0);
rkc[269] = a[1]*a[45]/(a[1]*a[43]);
rkc[270] = a[4]*a[40]/(a[1]*a[43]);
rkc[271] = a[14]*a[32]/(a[1]*a[43]);
rkc[272] = a[1]*a[45]/(a[1]*a[44]);
rkc[273] = a[14]*a[43]/(a[27]*a[35]);
rkc[274] = a[1]*a[41]/(a[12]*a[30]);
rkc[275] = a[0]*a[40]/(a[12]*a[30]);
rkc[276] = a[0]*a[32]/(a[1]*a[33]);
rkc[277] = a[5]*a[32]/(a[4]*a[33]);
rkc[278] = a[4]*a[32]/(a[2]*a[33]);
rkc[279] = a[14]*a[38]/(a[15]*a[31]);
rkc[280] = a[35]*a[46]/(a[36]*a[39]);
rkc[281] = a[15]*a[37]/(a[36]*a[46]);
rkc[282] = a[14]*a[35]/(a[15]*a[30]);
rkc[284] = a[1]*a[51]/(a[2]*a[24]);
rkc[285] = a[1]*a[52]/(a[2]*a[25]);
rkc[286] = a[3]*a[5]/(a[4]*a[6]);
rkc[288] = a[12]*exp_c0/(a[0]*a[9]);
rkc[290] = a[2]*a[17]/(a[3]*a[10]);
rkc[293] = a[2]*a[51]/(a[3]*a[23]);
rkc[294] = a[6]*a[22]/(a[3]*a[23]);
rkc[295] = a[4]*a[51]/(a[2]*a[52]);
rkc[298] = a[0]*a[51]/(a[1]*a[52]);
rkc[303] = a[51]*exp_c0/(a[1]*a[28]);
rkc[307] = a[12]*a[16]/(a[1]*a[51]);
rkc[308] = a[0]*a[28]/(a[1]*a[51]);
rkc[309] = a[5]*a[28]/(a[4]*a[51]);
rkc[310] = a[16]*a[18]/(a[4]*a[51]);
rkc[311] = a[50]*exp_c0/(a[12]*a[25]);
rkc[312] = a[4]*a[49]/(a[2]*a[50]);
rkc[313] = a[0]*a[49]/(a[1]*a[50]);
rkc[314] = a[5]*a[49]/(a[4]*a[50]);
rkc[315] = a[6]*a[50]/(a[7]*a[49]);
rkc[316] = a[13]*a[49]/(a[12]*a[50]);
rkc[317] = a[49]*exp_c0/(a[12]*a[24]);
rkc[318] = a[17]*a[25]/(a[2]*a[49]);
rkc[319] = a[50]*exp_c0/(a[1]*a[49]);
rkc[320] = a[12]*a[25]/(a[1]*a[49]);
rkc[321] = a[18]*a[25]/(a[4]*a[49]);
rkc[322] = a[3]*a[50]/(a[6]*a[49]);
rkc[324] = a[25]*a[25]/(a[12]*a[49]);
}
void GRI_30_Kinetics::get_wdot(const doublereal* rop, doublereal* wdot)
{
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];
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];
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];
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];
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];
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];
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];
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];
wdot[8] = + rop[48] - rop[89] - rop[121] - rop[122] - rop[123] - rop[238] - rop[243] - rop[244];
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];
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];
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];
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];
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];
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];
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];
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];
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];
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];
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];
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];
wdot[21] = - rop[19] + rop[21] - rop[69] - rop[105] + rop[108] + rop[122] - rop[170] - rop[171];
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];
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];
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];
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];
wdot[26] = - rop[26] + rop[75] - rop[77] - rop[112] - rop[153] + rop[157] - rop[164];
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];
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];
wdot[29] = - rop[81] + rop[107];
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];
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];
wdot[32] = - rop[199] - rop[200] - rop[201] - rop[202] + rop[235] + rop[264] + rop[267] + rop[271] + rop[276] + rop[277] + rop[278];
wdot[33] = - rop[276] - rop[277] - rop[278];
wdot[34] = - rop[203] - rop[204] - rop[205] - rop[206] - rop[207] - rop[208] - rop[209] - rop[210];
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];
wdot[36] = + rop[185] + rop[186] - rop[187] - rop[188] - rop[280] - rop[281];
wdot[37] = - rop[180] - rop[181] - rop[182] - rop[183] - rop[184] + rop[198] + rop[227] + rop[281];
wdot[38] = + rop[191] + rop[193] + rop[196] + rop[200] + rop[211] - rop[212] - rop[213] - rop[214] - rop[215] + rop[262] + rop[279];
wdot[39] = - rop[216] - rop[217] - rop[218] - rop[219] - rop[220] + rop[229] + rop[232] + rop[238] + rop[243] - rop[280];
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];
wdot[41] = + rop[236] - rop[237] + rop[255] + rop[274];
wdot[42] = + rop[240] - rop[256] - rop[257] - rop[258] - rop[259] - rop[260];
wdot[43] = + rop[250] + rop[253] - rop[269] - rop[270] - rop[271] + rop[273];
wdot[44] = + rop[233] - rop[272];
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];
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];
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];
wdot[48] = 0.0;
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];
wdot[50] = + rop[311] - rop[312] - rop[313] - rop[314] + rop[315] - rop[316] + rop[319] + rop[322];
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];
wdot[52] = + rop[285] - rop[295] - rop[296] - rop[297] - rop[298] - rop[299] - rop[300] - rop[301] - rop[302];
}
void GRI_30_Kinetics::eval_ropnet(const doublereal* c, const doublereal* rf, const doublereal* rkc, doublereal* r)
{
r[0] = rf[0] * (c[2] * c[2] - rkc[0] * c[3]);
r[1] = rf[1] * (c[2] * c[1] - rkc[1] * c[4]);
r[2] = rf[2] * (c[2] * c[0] - rkc[2] * c[1] * c[4]);
r[3] = rf[3] * (c[2] * c[6] - rkc[3] * c[4] * c[3]);
r[4] = rf[4] * (c[2] * c[7] - rkc[4] * c[4] * c[6]);
r[5] = rf[5] * (c[2] * c[9] - rkc[5] * c[1] * c[14]);
r[6] = rf[6] * (c[2] * c[10] - rkc[6] * c[1] * c[16]);
r[7] = rf[7] * (c[2] * c[11] - rkc[7] * c[0] * c[14]);
r[8] = rf[8] * (c[2] * c[11] - rkc[8] * c[1] * c[16]);
r[9] = rf[9] * (c[2] * c[12] - rkc[9] * c[1] * c[17]);
r[10] = rf[10] * (c[2] * c[13] - rkc[10] * c[4] * c[12]);
r[11] = rf[11] * (c[2] * c[14] - rkc[11] * c[15]);
r[12] = rf[12] * (c[2] * c[16] - rkc[12] * c[4] * c[14]);
r[13] = rf[13] * (c[2] * c[16] - rkc[13] * c[1] * c[15]);
r[14] = rf[14] * (c[2] * c[17] - rkc[14] * c[4] * c[16]);
r[15] = rf[15] * (c[2] * c[18] - rkc[15] * c[4] * c[17]);
r[16] = rf[16] * (c[2] * c[19] - rkc[16] * c[4] * c[17]);
r[17] = rf[17] * (c[2] * c[20] - rkc[17] * c[4] * c[18]);
r[18] = rf[18] * (c[2] * c[20] - rkc[18] * c[4] * c[19]);
r[19] = rf[19] * (c[2] * c[21] - rkc[19] * c[9] * c[14]);
r[20] = rf[20] * (c[2] * c[22] - rkc[20] * c[1] * c[27]);
r[21] = rf[21] * (c[2] * c[22] - rkc[21] * c[4] * c[21]);
r[22] = rf[22] * (c[2] * c[22] - rkc[22] * c[14] * c[10]);
r[23] = rf[23] * (c[2] * c[23] - rkc[23] * c[1] * c[28]);
r[24] = rf[24] * (c[2] * c[24] - rkc[24] * c[12] * c[16]);
r[25] = rf[25] * (c[2] * c[25] - rkc[25] * c[12] * c[17]);
r[26] = rf[26] * (c[2] * c[26] - rkc[26] * c[4] * c[25]);
r[27] = rf[27] * (c[2] * c[27] - rkc[27] * c[1] * c[14] * c[14]);
r[28] = rf[28] * (c[2] * c[28] - rkc[28] * c[4] * c[27]);
r[29] = rf[29] * (c[2] * c[28] - rkc[29] * c[10] * c[15]);
r[30] = rf[30] * (c[3] * c[14] - rkc[30] * c[2] * c[15]);
r[31] = rf[31] * (c[3] * c[17] - rkc[31] * c[6] * c[16]);
r[32] = rf[32] * (c[1] * c[3] - rkc[32] * c[6]);
r[33] = rf[33] * (c[1] * c[3] * c[3] - rkc[33] * c[6] * c[3]);
r[34] = rf[34] * (c[1] * c[3] * c[5] - rkc[34] * c[6] * c[5]);
r[35] = rf[35] * (c[1] * c[3] * c[47] - rkc[35] * c[6] * c[47]);
r[36] = rf[36] * (c[1] * c[3] * c[48] - rkc[36] * c[6] * c[48]);
r[37] = rf[37] * (c[1] * c[3] - rkc[37] * c[2] * c[4]);
r[38] = rf[38] * (c[1] * c[1] - rkc[38] * c[0]);
r[39] = rf[39] * (c[1] * c[1] * c[0] - rkc[39] * c[0] * c[0]);
r[40] = rf[40] * (c[1] * c[1] * c[5] - rkc[40] * c[0] * c[5]);
r[41] = rf[41] * (c[1] * c[1] * c[15] - rkc[41] * c[0] * c[15]);
r[42] = rf[42] * (c[1] * c[4] - rkc[42] * c[5]);
r[43] = rf[43] * (c[1] * c[6] - rkc[43] * c[2] * c[5]);
r[44] = rf[44] * (c[1] * c[6] - rkc[44] * c[3] * c[0]);
r[45] = rf[45] * (c[1] * c[6] - rkc[45] * c[4] * c[4]);
r[46] = rf[46] * (c[1] * c[7] - rkc[46] * c[6] * c[0]);
r[47] = rf[47] * (c[1] * c[7] - rkc[47] * c[4] * c[5]);
r[48] = rf[48] * (c[1] * c[9] - rkc[48] * c[8] * c[0]);
r[49] = rf[49] * (c[1] * c[10] - rkc[49] * c[12]);
r[50] = rf[50] * (c[1] * c[11] - rkc[50] * c[9] * c[0]);
r[51] = rf[51] * (c[1] * c[12] - rkc[51] * c[13]);
r[52] = rf[52] * (c[1] * c[13] - rkc[52] * c[12] * c[0]);
r[53] = rf[53] * (c[1] * c[16] - rkc[53] * c[17]);
r[54] = rf[54] * (c[1] * c[16] - rkc[54] * c[0] * c[14]);
r[55] = rf[55] * (c[1] * c[17] - rkc[55] * c[18]);
r[56] = rf[56] * (c[1] * c[17] - rkc[56] * c[19]);
r[57] = rf[57] * (c[1] * c[17] - rkc[57] * c[16] * c[0]);
r[58] = rf[58] * (c[1] * c[18] - rkc[58] * c[20]);
r[59] = rf[59] * (c[1] * c[18] - rkc[59] * c[0] * c[17]);
r[60] = rf[60] * (c[1] * c[18] - rkc[60] * c[4] * c[12]);
r[61] = rf[61] * (c[1] * c[18] - rkc[61] * c[11] * c[5]);
r[62] = rf[62] * (c[1] * c[19] - rkc[62] * c[20]);
r[63] = rf[63] * (c[1] * c[19] - rkc[63] * c[1] * c[18]);
r[64] = rf[64] * (c[1] * c[19] - rkc[64] * c[0] * c[17]);
r[65] = rf[65] * (c[1] * c[19] - rkc[65] * c[4] * c[12]);
r[66] = rf[66] * (c[1] * c[19] - rkc[66] * c[11] * c[5]);
r[67] = rf[67] * (c[1] * c[20] - rkc[67] * c[18] * c[0]);
r[68] = rf[68] * (c[1] * c[20] - rkc[68] * c[19] * c[0]);
r[69] = rf[69] * (c[1] * c[21] - rkc[69] * c[22]);
r[70] = rf[70] * (c[1] * c[22] - rkc[70] * c[23]);
r[71] = rf[71] * (c[1] * c[23] - rkc[71] * c[24]);
r[72] = rf[72] * (c[1] * c[23] - rkc[72] * c[0] * c[22]);
r[73] = rf[73] * (c[1] * c[24] - rkc[73] * c[25]);
r[74] = rf[74] * (c[1] * c[24] - rkc[74] * c[23] * c[0]);
r[75] = rf[75] * (c[1] * c[25] - rkc[75] * c[26]);
r[76] = rf[76] * (c[1] * c[25] - rkc[76] * c[0] * c[24]);
r[77] = rf[77] * (c[1] * c[26] - rkc[77] * c[25] * c[0]);
r[78] = rf[78] * (c[1] * c[27] - rkc[78] * c[11] * c[14]);
r[79] = rf[79] * (c[1] * c[28] - rkc[79] * c[27] * c[0]);
r[80] = rf[80] * (c[1] * c[28] - rkc[80] * c[12] * c[14]);
r[81] = rf[81] * (c[1] * c[29] - rkc[81] * c[1] * c[28]);
r[82] = rf[82] * (c[0] * c[14] - rkc[82] * c[17]);
r[83] = rf[83] * (c[4] * c[0] - rkc[83] * c[1] * c[5]);
r[84] = rf[84] * (c[4] * c[4] - rkc[84] * c[7]);
r[85] = rf[85] * (c[4] * c[4] - rkc[85] * c[2] * c[5]);
r[86] = rf[86] * (c[4] * c[6] - rkc[86] * c[3] * c[5]);
r[87] = rf[87] * (c[4] * c[7] - rkc[87] * c[6] * c[5]);
r[88] = rf[88] * (c[4] * c[7] - rkc[88] * c[6] * c[5]);
r[89] = rf[89] * (c[4] * c[8] - rkc[89] * c[1] * c[14]);
r[90] = rf[90] * (c[4] * c[9] - rkc[90] * c[1] * c[16]);
r[91] = rf[91] * (c[4] * c[10] - rkc[91] * c[1] * c[17]);
r[92] = rf[92] * (c[4] * c[10] - rkc[92] * c[9] * c[5]);
r[93] = rf[93] * (c[4] * c[11] - rkc[93] * c[1] * c[17]);
r[94] = rf[94] * (c[4] * c[12] - rkc[94] * c[20]);
r[95] = rf[95] * (c[4] * c[12] - rkc[95] * c[10] * c[5]);
r[96] = rf[96] * (c[4] * c[12] - rkc[96] * c[11] * c[5]);
r[97] = rf[97] * (c[4] * c[13] - rkc[97] * c[12] * c[5]);
r[98] = rf[98] * (c[4] * c[14] - rkc[98] * c[1] * c[15]);
r[99] = rf[99] * (c[4] * c[16] - rkc[99] * c[5] * c[14]);
r[100] = rf[100] * (c[4] * c[17] - rkc[100] * c[16] * c[5]);
r[101] = rf[101] * (c[4] * c[18] - rkc[101] * c[5] * c[17]);
r[102] = rf[102] * (c[4] * c[19] - rkc[102] * c[5] * c[17]);
r[103] = rf[103] * (c[4] * c[20] - rkc[103] * c[18] * c[5]);
r[104] = rf[104] * (c[4] * c[20] - rkc[104] * c[19] * c[5]);
r[105] = rf[105] * (c[4] * c[21] - rkc[105] * c[1] * c[27]);
r[106] = rf[106] * (c[4] * c[22] - rkc[106] * c[1] * c[28]);
r[107] = rf[107] * (c[4] * c[22] - rkc[107] * c[1] * c[29]);
r[108] = rf[108] * (c[4] * c[22] - rkc[108] * c[21] * c[5]);
r[109] = rf[109] * (c[4] * c[22] - rkc[109] * c[12] * c[14]);
r[110] = rf[110] * (c[4] * c[23] - rkc[110] * c[5] * c[22]);
r[111] = rf[111] * (c[4] * c[24] - rkc[111] * c[23] * c[5]);
r[112] = rf[112] * (c[4] * c[26] - rkc[112] * c[25] * c[5]);
r[113] = rf[113] * (c[4] * c[28] - rkc[113] * c[27] * c[5]);
r[114] = rf[114] * (c[6] * c[6] - rkc[114] * c[3] * c[7]);
r[115] = rf[115] * (c[6] * c[6] - rkc[115] * c[3] * c[7]);
r[116] = rf[116] * (c[6] * c[10] - rkc[116] * c[4] * c[17]);
r[117] = rf[117] * (c[6] * c[12] - rkc[117] * c[3] * c[13]);
r[118] = rf[118] * (c[6] * c[12] - rkc[118] * c[4] * c[19]);
r[119] = rf[119] * (c[6] * c[14] - rkc[119] * c[4] * c[15]);
r[120] = rf[120] * (c[6] * c[17] - rkc[120] * c[16] * c[7]);
r[121] = rf[121] * (c[8] * c[3] - rkc[121] * c[2] * c[14]);
r[122] = rf[122] * (c[8] * c[10] - rkc[122] * c[1] * c[21]);
r[123] = rf[123] * (c[8] * c[12] - rkc[123] * c[1] * c[22]);
r[124] = rf[124] * (c[9] * c[3] - rkc[124] * c[2] * c[16]);
r[125] = rf[125] * (c[9] * c[0] - rkc[125] * c[1] * c[10]);
r[126] = rf[126] * (c[9] * c[5] - rkc[126] * c[1] * c[17]);
r[127] = rf[127] * (c[9] * c[10] - rkc[127] * c[1] * c[22]);
r[128] = rf[128] * (c[9] * c[12] - rkc[128] * c[1] * c[23]);
r[129] = rf[129] * (c[9] * c[13] - rkc[129] * c[1] * c[24]);
r[130] = rf[130] * (c[9] * c[14] - rkc[130] * c[27]);
r[131] = rf[131] * (c[9] * c[15] - rkc[131] * c[16] * c[14]);
r[132] = rf[132] * (c[9] * c[17] - rkc[132] * c[1] * c[28]);
r[133] = rf[133] * (c[9] * c[27] - rkc[133] * c[14] * c[22]);
r[134] = rf[134] * (c[10] * c[3]);
r[135] = rf[135] * (c[10] * c[0] - rkc[135] * c[1] * c[12]);
r[136] = rf[136] * (c[10] * c[10] - rkc[136] * c[0] * c[22]);
r[137] = rf[137] * (c[10] * c[12] - rkc[137] * c[1] * c[24]);
r[138] = rf[138] * (c[10] * c[13] - rkc[138] * c[12] * c[12]);
r[139] = rf[139] * (c[10] * c[14] - rkc[139] * c[28]);
r[140] = rf[140] * (c[10] * c[27] - rkc[140] * c[23] * c[14]);
r[141] = rf[141] * (c[11] * c[47] - rkc[141] * c[10] * c[47]);
r[142] = rf[142] * (c[11] * c[48] - rkc[142] * c[10] * c[48]);
r[143] = rf[143] * (c[11] * c[3] - rkc[143] * c[1] * c[4] * c[14]);
r[144] = rf[144] * (c[11] * c[3] - rkc[144] * c[14] * c[5]);
r[145] = rf[145] * (c[11] * c[0] - rkc[145] * c[12] * c[1]);
r[146] = rf[146] * (c[11] * c[5] - rkc[146] * c[20]);
r[147] = rf[147] * (c[11] * c[5] - rkc[147] * c[10] * c[5]);
r[148] = rf[148] * (c[11] * c[12] - rkc[148] * c[1] * c[24]);
r[149] = rf[149] * (c[11] * c[13] - rkc[149] * c[12] * c[12]);
r[150] = rf[150] * (c[11] * c[14] - rkc[150] * c[10] * c[14]);
r[151] = rf[151] * (c[11] * c[15] - rkc[151] * c[10] * c[15]);
r[152] = rf[152] * (c[11] * c[15] - rkc[152] * c[14] * c[17]);
r[153] = rf[153] * (c[11] * c[26] - rkc[153] * c[12] * c[25]);
r[154] = rf[154] * (c[12] * c[3] - rkc[154] * c[2] * c[19]);
r[155] = rf[155] * (c[12] * c[3] - rkc[155] * c[4] * c[17]);
r[156] = rf[156] * (c[12] * c[7] - rkc[156] * c[6] * c[13]);
r[157] = rf[157] * (c[12] * c[12] - rkc[157] * c[26]);
r[158] = rf[158] * (c[12] * c[12] - rkc[158] * c[1] * c[25]);
r[159] = rf[159] * (c[12] * c[16] - rkc[159] * c[13] * c[14]);
r[160] = rf[160] * (c[12] * c[17] - rkc[160] * c[16] * c[13]);
r[161] = rf[161] * (c[12] * c[20] - rkc[161] * c[18] * c[13]);
r[162] = rf[162] * (c[12] * c[20] - rkc[162] * c[19] * c[13]);
r[163] = rf[163] * (c[12] * c[24] - rkc[163] * c[23] * c[13]);
r[164] = rf[164] * (c[12] * c[26] - rkc[164] * c[25] * c[13]);
r[165] = rf[165] * (c[16] * c[5] - rkc[165] * c[1] * c[14] * c[5]);
r[166] = rf[166] * (c[16] - rkc[166] * c[1] * c[14]);
r[167] = rf[167] * (c[16] * c[3] - rkc[167] * c[6] * c[14]);
r[168] = rf[168] * (c[18] * c[3] - rkc[168] * c[6] * c[17]);
r[169] = rf[169] * (c[19] * c[3] - rkc[169] * c[6] * c[17]);
r[170] = rf[170] * (c[21] * c[3] - rkc[170] * c[16] * c[14]);
r[171] = rf[171] * (c[21] * c[0] - rkc[171] * c[1] * c[22]);
r[172] = rf[172] * (c[23] * c[3] - rkc[172] * c[16] * c[17]);
r[173] = rf[173] * (c[24] - rkc[173] * c[0] * c[22]);
r[174] = rf[174] * (c[25] * c[3] - rkc[174] * c[6] * c[24]);
r[175] = rf[175] * (c[27] * c[3] - rkc[175] * c[4] * c[14] * c[14]);
r[176] = rf[176] * (c[27] * c[27] - rkc[176] * c[14] * c[14] * c[22]);
r[177] = rf[177] * (c[30] * c[35] - rkc[177] * c[47] * c[2]);
r[178] = rf[178] * (c[30] * c[3] - rkc[178] * c[35] * c[2]);
r[179] = rf[179] * (c[30] * c[4] - rkc[179] * c[35] * c[1]);
r[180] = rf[180] * (c[37] * c[2] - rkc[180] * c[47] * c[3]);
r[181] = rf[181] * (c[37] * c[2] - rkc[181] * c[35] * c[35]);
r[182] = rf[182] * (c[37] * c[1] - rkc[182] * c[47] * c[4]);
r[183] = rf[183] * (c[37] * c[4] - rkc[183] * c[47] * c[6]);
r[184] = rf[184] * (c[37] - rkc[184] * c[47] * c[2]);
r[185] = rf[185] * (c[6] * c[35] - rkc[185] * c[36] * c[4]);
r[186] = rf[186] * (c[35] * c[2] - rkc[186] * c[36]);
r[187] = rf[187] * (c[36] * c[2] - rkc[187] * c[35] * c[3]);
r[188] = rf[188] * (c[36] * c[1] - rkc[188] * c[35] * c[4]);
r[189] = rf[189] * (c[31] * c[2] - rkc[189] * c[35] * c[1]);
r[190] = rf[190] * (c[31] * c[1] - rkc[190] * c[30] * c[0]);
r[191] = rf[191] * (c[31] * c[4] - rkc[191] * c[38] * c[1]);
r[192] = rf[192] * (c[31] * c[4] - rkc[192] * c[30] * c[5]);
r[193] = rf[193] * (c[31] * c[3] - rkc[193] * c[38] * c[2]);
r[194] = rf[194] * (c[31] * c[3] - rkc[194] * c[35] * c[4]);
r[195] = rf[195] * (c[31] * c[30] - rkc[195] * c[47] * c[1]);
r[196] = rf[196] * (c[31] * c[5] - rkc[196] * c[38] * c[0]);
r[197] = rf[197] * (c[31] * c[35] - rkc[197] * c[47] * c[4]);
r[198] = rf[198] * (c[31] * c[35] - rkc[198] * c[37] * c[1]);
r[199] = rf[199] * (c[32] * c[2] - rkc[199] * c[4] * c[31]);
r[200] = rf[200] * (c[32] * c[2] - rkc[200] * c[1] * c[38]);
r[201] = rf[201] * (c[32] * c[1] - rkc[201] * c[31] * c[0]);
r[202] = rf[202] * (c[32] * c[4] - rkc[202] * c[31] * c[5]);
r[203] = rf[203] * (c[34] - rkc[203] * c[47] * c[1]);
r[204] = rf[204] * (c[34] - rkc[204] * c[47] * c[1]);
r[205] = rf[205] * (c[34] * c[3] - rkc[205] * c[6] * c[47]);
r[206] = rf[206] * (c[34] * c[2] - rkc[206] * c[4] * c[47]);
r[207] = rf[207] * (c[34] * c[2] - rkc[207] * c[31] * c[35]);
r[208] = rf[208] * (c[34] * c[1] - rkc[208] * c[0] * c[47]);
r[209] = rf[209] * (c[34] * c[4] - rkc[209] * c[5] * c[47]);
r[210] = rf[210] * (c[34] * c[12] - rkc[210] * c[13] * c[47]);
r[211] = rf[211] * (c[1] * c[35] - rkc[211] * c[38]);
r[212] = rf[212] * (c[38] * c[2] - rkc[212] * c[35] * c[4]);
r[213] = rf[213] * (c[38] * c[1] - rkc[213] * c[0] * c[35]);
r[214] = rf[214] * (c[38] * c[4] - rkc[214] * c[35] * c[5]);
r[215] = rf[215] * (c[38] * c[3] - rkc[215] * c[6] * c[35]);
r[216] = rf[216] * (c[39] * c[2] - rkc[216] * c[14] * c[30]);
r[217] = rf[217] * (c[39] * c[4] - rkc[217] * c[46] * c[1]);
r[218] = rf[218] * (c[39] * c[5] - rkc[218] * c[40] * c[4]);
r[219] = rf[219] * (c[39] * c[3] - rkc[219] * c[46] * c[2]);
r[220] = rf[220] * (c[39] * c[0] - rkc[220] * c[40] * c[1]);
r[221] = rf[221] * (c[46] * c[2] - rkc[221] * c[35] * c[14]);
r[222] = rf[222] * (c[46] * c[1] - rkc[222] * c[31] * c[14]);
r[223] = rf[223] * (c[46] * c[4] - rkc[223] * c[35] * c[1] * c[14]);
r[224] = rf[224] * (c[46] * c[30] - rkc[224] * c[47] * c[14]);
r[225] = rf[225] * (c[46] * c[3] - rkc[225] * c[35] * c[15]);
r[226] = rf[226] * (c[46] - rkc[226] * c[30] * c[14]);
r[227] = rf[227] * (c[46] * c[35] - rkc[227] * c[37] * c[14]);
r[228] = rf[228] * (c[46] * c[35] - rkc[228] * c[47] * c[15]);
r[229] = rf[229] * (c[40] - rkc[229] * c[1] * c[39]);
r[230] = rf[230] * (c[40] * c[2] - rkc[230] * c[46] * c[1]);
r[231] = rf[231] * (c[40] * c[2] - rkc[231] * c[31] * c[14]);
r[232] = rf[232] * (c[40] * c[2] - rkc[232] * c[39] * c[4]);
r[233] = rf[233] * (c[40] * c[4] - rkc[233] * c[44] * c[1]);
r[234] = rf[234] * (c[40] * c[4] - rkc[234] * c[45] * c[1]);
r[235] = rf[235] * (c[40] * c[4] - rkc[235] * c[32] * c[14]);
r[236] = rf[236] * (c[1] * c[40] - rkc[236] * c[41]);
r[237] = rf[237] * (c[41] * c[30] - rkc[237] * c[47] * c[10]);
r[238] = rf[238] * (c[8] * c[47] - rkc[238] * c[39] * c[30]);
r[239] = rf[239] * (c[9] * c[47] - rkc[239] * c[40] * c[30]);
r[240] = rf[240] * (c[9] * c[47] - rkc[240] * c[42]);
r[241] = rf[241] * (c[10] * c[47] - rkc[241] * c[40] * c[31]);
r[242] = rf[242] * (c[11] * c[47] - rkc[242] * c[31] * c[40]);
r[243] = rf[243] * (c[8] * c[35] - rkc[243] * c[39] * c[2]);
r[244] = rf[244] * (c[8] * c[35] - rkc[244] * c[14] * c[30]);
r[245] = rf[245] * (c[9] * c[35] - rkc[245] * c[40] * c[2]);
r[246] = rf[246] * (c[9] * c[35] - rkc[246] * c[1] * c[46]);
r[247] = rf[247] * (c[9] * c[35] - rkc[247] * c[30] * c[16]);
r[248] = rf[248] * (c[10] * c[35] - rkc[248] * c[1] * c[45]);
r[249] = rf[249] * (c[10] * c[35] - rkc[249] * c[4] * c[40]);
r[250] = rf[250] * (c[10] * c[35] - rkc[250] * c[1] * c[43]);
r[251] = rf[251] * (c[11] * c[35] - rkc[251] * c[1] * c[45]);
r[252] = rf[252] * (c[11] * c[35] - rkc[252] * c[4] * c[40]);
r[253] = rf[253] * (c[11] * c[35] - rkc[253] * c[1] * c[43]);
r[254] = rf[254] * (c[12] * c[35] - rkc[254] * c[40] * c[5]);
r[255] = rf[255] * (c[12] * c[35] - rkc[255] * c[41] * c[4]);
r[256] = rf[256] * (c[42] * c[2] - rkc[256] * c[14] * c[1] * c[47]);
r[257] = rf[257] * (c[42] * c[2] - rkc[257] * c[40] * c[35]);
r[258] = rf[258] * (c[42] * c[3] - rkc[258] * c[2] * c[16] * c[47]);
r[259] = rf[259] * (c[42] * c[4] - rkc[259] * c[1] * c[16] * c[47]);
r[260] = rf[260] * (c[42] * c[1] - rkc[260] * c[10] * c[47]);
r[261] = rf[261] * (c[45] * c[2] - rkc[261] * c[31] * c[15]);
r[262] = rf[262] * (c[45] * c[2] - rkc[262] * c[38] * c[14]);
r[263] = rf[263] * (c[45] * c[2] - rkc[263] * c[46] * c[4]);
r[264] = rf[264] * (c[45] * c[1] - rkc[264] * c[32] * c[14]);
r[265] = rf[265] * (c[45] * c[1] - rkc[265] * c[0] * c[46]);
r[266] = rf[266] * (c[45] * c[4] - rkc[266] * c[46] * c[5]);
r[267] = rf[267] * (c[45] * c[4] - rkc[267] * c[32] * c[15]);
r[268] = rf[268] * (c[45] - rkc[268] * c[31] * c[14]);
r[269] = rf[269] * (c[43] * c[1] - rkc[269] * c[1] * c[45]);
r[270] = rf[270] * (c[43] * c[1] - rkc[270] * c[4] * c[40]);
r[271] = rf[271] * (c[43] * c[1] - rkc[271] * c[32] * c[14]);
r[272] = rf[272] * (c[44] * c[1] - rkc[272] * c[1] * c[45]);
r[273] = rf[273] * (c[27] * c[35] - rkc[273] * c[43] * c[14]);
r[274] = rf[274] * (c[12] * c[30] - rkc[274] * c[41] * c[1]);
r[275] = rf[275] * (c[12] * c[30] - rkc[275] * c[40] * c[0]);
r[276] = rf[276] * (c[33] * c[1] - rkc[276] * c[32] * c[0]);
r[277] = rf[277] * (c[33] * c[4] - rkc[277] * c[32] * c[5]);
r[278] = rf[278] * (c[33] * c[2] - rkc[278] * c[32] * c[4]);
r[279] = rf[279] * (c[31] * c[15] - rkc[279] * c[38] * c[14]);
r[280] = rf[280] * (c[39] * c[36] - rkc[280] * c[46] * c[35]);
r[281] = rf[281] * (c[46] * c[36] - rkc[281] * c[37] * c[15]);
r[282] = rf[282] * (c[30] * c[15] - rkc[282] * c[35] * c[14]);
r[283] = rf[283] * (c[2] * c[12]);
r[284] = rf[284] * (c[2] * c[24] - rkc[284] * c[1] * c[51]);
r[285] = rf[285] * (c[2] * c[25] - rkc[285] * c[1] * c[52]);
r[286] = rf[286] * (c[4] * c[6] - rkc[286] * c[3] * c[5]);
r[287] = rf[287] * (c[4] * c[12]);
r[288] = rf[288] * (c[9] * c[0] - rkc[288] * c[12]);
r[289] = rf[289] * (c[10] * c[3]);
r[290] = rf[290] * (c[10] * c[3] - rkc[290] * c[2] * c[17]);
r[291] = rf[291] * (c[10] * c[10]);
r[292] = rf[292] * (c[11] * c[5]);
r[293] = rf[293] * (c[23] * c[3] - rkc[293] * c[2] * c[51]);
r[294] = rf[294] * (c[23] * c[3] - rkc[294] * c[6] * c[22]);
r[295] = rf[295] * (c[2] * c[52] - rkc[295] * c[4] * c[51]);
r[296] = rf[296] * (c[2] * c[52]);
r[297] = rf[297] * (c[3] * c[52]);
r[298] = rf[298] * (c[1] * c[52] - rkc[298] * c[51] * c[0]);
r[299] = rf[299] * (c[1] * c[52]);
r[300] = rf[300] * (c[4] * c[52]);
r[301] = rf[301] * (c[6] * c[52]);
r[302] = rf[302] * (c[12] * c[52]);
r[303] = rf[303] * (c[1] * c[28] - rkc[303] * c[51]);
r[304] = rf[304] * (c[2] * c[51]);
r[305] = rf[305] * (c[3] * c[51]);
r[306] = rf[306] * (c[3] * c[51]);
r[307] = rf[307] * (c[1] * c[51] - rkc[307] * c[12] * c[16]);
r[308] = rf[308] * (c[1] * c[51] - rkc[308] * c[28] * c[0]);
r[309] = rf[309] * (c[4] * c[51] - rkc[309] * c[5] * c[28]);
r[310] = rf[310] * (c[4] * c[51] - rkc[310] * c[16] * c[18]);
r[311] = rf[311] * (c[12] * c[25] - rkc[311] * c[50]);
r[312] = rf[312] * (c[2] * c[50] - rkc[312] * c[4] * c[49]);
r[313] = rf[313] * (c[1] * c[50] - rkc[313] * c[49] * c[0]);
r[314] = rf[314] * (c[4] * c[50] - rkc[314] * c[49] * c[5]);
r[315] = rf[315] * (c[49] * c[7] - rkc[315] * c[6] * c[50]);
r[316] = rf[316] * (c[12] * c[50] - rkc[316] * c[49] * c[13]);
r[317] = rf[317] * (c[12] * c[24] - rkc[317] * c[49]);
r[318] = rf[318] * (c[2] * c[49] - rkc[318] * c[25] * c[17]);
r[319] = rf[319] * (c[1] * c[49] - rkc[319] * c[50]);
r[320] = rf[320] * (c[1] * c[49] - rkc[320] * c[12] * c[25]);
r[321] = rf[321] * (c[4] * c[49] - rkc[321] * c[25] * c[18]);
r[322] = rf[322] * (c[6] * c[49] - rkc[322] * c[3] * c[50]);
r[323] = rf[323] * (c[6] * c[49]);
r[324] = rf[324] * (c[12] * c[49] - rkc[324] * c[25] * c[25]);
}
}