Added a Python reactor network test

This commit is contained in:
Ray Speth 2012-03-30 23:46:19 +00:00
parent 7f46371653
commit 9be5c325f1
6 changed files with 931 additions and 2 deletions

View file

@ -119,7 +119,8 @@ addTestProgram('thermo', 'nasapoly')
if localenv['python_package'] == 'full':
addTestScript('python', 'runTests.py',
interpreter=sys.executable,
dependencies=['testSolution.py', localenv['python_module']])
dependencies=['testSolution.py', 'testReactors.py',
localenv['python_module']])
if localenv['matlab_toolbox'] == 'y':
addMatlabTest('runCanteraTests.m',

View file

@ -0,0 +1,100 @@
2.500000e-03, 3.000239e+02, 6.059886e-03, 8.824431e-10, 8.079887e-12, 6.059766e-03, 1.963675e-10, 2.001948e-10, 1.195364e-07, 8.341401e-10, 9.878802e-01
5.000000e-03, 3.000250e+02, 1.193618e-02, 7.604985e-10, 2.207130e-11, 1.193586e-02, 2.359906e-10, 1.114248e-09, 3.070840e-07, 1.002044e-08, 9.761276e-01
7.500000e-03, 3.000278e+02, 1.763446e-02, 8.635001e-10, 3.905857e-11, 1.763384e-02, 3.246143e-10, 3.086084e-09, 5.738788e-07, 4.865817e-08, 9.647311e-01
1.000000e-02, 3.000334e+02, 2.316017e-02, 1.088059e-09, 5.784065e-11, 2.315909e-02, 4.819667e-10, 7.184873e-09, 9.218762e-07, 1.594431e-07, 9.536796e-01
1.250000e-02, 3.000436e+02, 2.851859e-02, 1.442291e-09, 8.143767e-11, 2.851683e-02, 7.281175e-10, 1.532534e-08, 1.347057e-06, 4.127781e-07, 9.429628e-01
1.500000e-02, 3.000613e+02, 3.371487e-02, 1.964114e-09, 1.145486e-10, 3.371211e-02, 1.104382e-09, 3.084504e-08, 1.852321e-06, 9.127330e-07, 9.325702e-01
1.750000e-02, 3.000908e+02, 3.875408e-02, 2.713356e-09, 1.618349e-10, 3.874982e-02, 1.676244e-09, 5.958958e-08, 2.453313e-06, 1.811614e-06, 9.224918e-01
2.000000e-02, 3.001384e+02, 4.364118e-02, 3.774159e-09, 2.289035e-10, 4.363467e-02, 2.539171e-09, 1.117811e-07, 3.173021e-06, 3.336810e-06, 9.127175e-01
2.250000e-02, 3.002136e+02, 4.838108e-02, 5.260522e-09, 3.231754e-10, 4.837121e-02, 3.825424e-09, 2.050658e-07, 4.035655e-06, 5.826490e-06, 9.032376e-01
2.500000e-02, 3.003301e+02, 5.297869e-02, 7.324050e-09, 4.544962e-10, 5.296383e-02, 5.712831e-09, 3.693731e-07, 5.065473e-06, 9.773240e-06, 8.940423e-01
2.750000e-02, 3.005075e+02, 5.743896e-02, 1.016371e-08, 6.358324e-10, 5.741673e-02, 8.434440e-09, 6.545868e-07, 6.287811e-06, 1.587887e-05, 8.851215e-01
3.000000e-02, 3.007733e+02, 6.176695e-02, 1.403819e-08, 8.841521e-10, 6.173395e-02, 1.228763e-08, 1.142498e-06, 7.729962e-06, 2.512306e-05, 8.764651e-01
3.250000e-02, 3.011657e+02, 6.596792e-02, 1.928178e-08, 1.221611e-09, 6.591933e-02, 1.764262e-08, 1.965198e-06, 9.421905e-06, 3.884664e-05, 8.680625e-01
3.500000e-02, 3.017366e+02, 7.004741e-02, 2.632592e-08, 1.677219e-09, 6.997652e-02, 2.495180e-08, 3.333163e-06, 1.139735e-05, 5.884895e-05, 8.599024e-01
3.750000e-02, 3.025557e+02, 7.401141e-02, 3.572978e-08, 2.289321e-09, 7.390897e-02, 3.476426e-08, 5.578106e-06, 1.369541e-05, 8.749687e-05, 8.519728e-01
4.000000e-02, 3.037152e+02, 7.786647e-02, 4.822575e-08, 3.109438e-09, 7.771993e-02, 4.775340e-08, 9.218790e-06, 1.636312e-05, 1.278403e-04, 8.442601e-01
4.250000e-02, 3.053355e+02, 8.161988e-02, 6.478990e-08, 4.208407e-09, 8.141244e-02, 6.477128e-08, 1.506365e-05, 1.945921e-05, 1.837239e-04, 8.367493e-01
4.500000e-02, 3.075719e+02, 8.527984e-02, 8.675330e-08, 5.686374e-09, 8.498937e-02, 8.695039e-08, 2.437426e-05, 2.305926e-05, 2.598782e-04, 8.294233e-01
4.750000e-02, 3.106230e+02, 8.885571e-02, 1.159807e-07, 7.689291e-09, 8.845345e-02, 1.158830e-07, 3.913286e-05, 2.726264e-05, 3.619573e-04, 8.222622e-01
5.000000e-02, 3.147414e+02, 9.235815e-02, 1.551607e-07, 1.043649e-08, 9.180736e-02, 1.539253e-07, 6.249274e-05, 3.220133e-05, 4.964676e-04, 8.152430e-01
5.250000e-02, 3.202468e+02, 9.579936e-02, 2.082814e-07, 1.426745e-08, 9.505385e-02, 2.047012e-07, 9.955869e-05, 3.805043e-05, 6.704823e-04, 8.083383e-01
5.500000e-02, 3.275461e+02, 9.919318e-02, 2.814265e-07, 1.972263e-08, 9.819605e-02, 2.739369e-07, 1.587763e-04, 4.503935e-05, 8.909529e-04, 8.015154e-01
5.750000e-02, 3.371625e+02, 1.025550e-01, 3.841430e-07, 2.768710e-08, 1.012380e-01, 3.708553e-07, 2.544684e-04, 5.346069e-05, 1.163272e-03, 7.947351e-01
6.000000e-02, 3.497830e+02, 1.059010e-01, 5.319095e-07, 3.965573e-08, 1.041854e-01, 5.105505e-07, 4.115815e-04, 6.366992e-05, 1.488492e-03, 7.879488e-01
6.250000e-02, 3.663440e+02, 1.092463e-01, 7.509652e-07, 5.825411e-08, 1.070469e-01, 7.181193e-07, 6.748024e-04, 7.606007e-05, 1.858218e-03, 7.810962e-01
6.500000e-02, 3.881970e+02, 1.125985e-01, 1.089103e-06, 8.837170e-08, 1.098352e-01, 1.036120e-06, 1.126711e-03, 9.097454e-05, 2.245810e-03, 7.741006e-01
6.750000e-02, 4.174734e+02, 1.159393e-01, 1.644860e-06, 1.400541e-07, 1.125649e-01, 1.538967e-06, 1.926271e-03, 1.084570e-04, 2.592402e-03, 7.668654e-01
7.000000e-02, 4.580074e+02, 1.191668e-01, 2.667449e-06, 2.376582e-07, 1.152359e-01, 2.363495e-06, 3.400840e-03, 1.274822e-04, 2.786977e-03, 7.592767e-01
7.250000e-02, 5.181427e+02, 1.218964e-01, 5.007182e-06, 4.566780e-07, 1.177551e-01, 3.767927e-06, 6.312825e-03, 1.432019e-04, 2.641550e-03, 7.512417e-01
7.500000e-02, 6.204753e+02, 1.227113e-01, 1.277621e-05, 1.112691e-06, 1.196008e-01, 5.984195e-06, 1.276238e-02, 1.389242e-04, 1.884082e-03, 7.428826e-01
7.750000e-02, 8.434530e+02, 1.155667e-01, 7.745047e-05, 1.102140e-05, 1.180431e-01, 1.268444e-05, 3.010736e-02, 9.570296e-05, 3.883501e-04, 7.356976e-01
8.000000e-02, 2.197742e+03, 2.567608e-03, 9.466580e-04, 2.257526e-03, 6.387346e-02, 8.663829e-03, 1.675799e-01, 4.144136e-06, 1.588994e-07, 7.541067e-01
8.250000e-02, 2.428391e+03, 4.639008e-03, 1.883731e-03, 3.855268e-03, 6.369824e-02, 1.420073e-02, 1.835091e-01, 6.600087e-06, 2.534663e-07, 7.282071e-01
8.500000e-02, 2.589056e+03, 8.412096e-03, 4.037099e-03, 6.622664e-03, 6.254994e-02, 2.127162e-02, 1.939997e-01, 9.940492e-06, 3.860943e-07, 7.030965e-01
8.750000e-02, 2.699491e+03, 1.312782e-02, 7.219037e-03, 9.867616e-03, 6.102578e-02, 2.815316e-02, 2.003563e-01, 1.283302e-05, 4.980843e-07, 6.802370e-01
9.000000e-02, 2.778488e+03, 1.804601e-02, 1.096054e-02, 1.305294e-02, 5.940715e-02, 3.410831e-02, 2.040287e-01, 1.509149e-05, 5.835245e-07, 6.603807e-01
9.250000e-02, 2.836859e+03, 2.273551e-02, 1.485051e-02, 1.592762e-02, 5.782680e-02, 3.901201e-02, 2.059782e-01, 1.678698e-05, 6.465320e-07, 6.436519e-01
9.500000e-02, 2.880723e+03, 2.695503e-02, 1.858083e-02, 1.839119e-02, 5.637593e-02, 4.293184e-02, 2.068528e-01, 1.803044e-05, 6.920590e-07, 6.298937e-01
9.750000e-02, 2.913684e+03, 3.056427e-02, 2.192680e-02, 2.041417e-02, 5.512725e-02, 4.598290e-02, 2.071110e-01, 1.892649e-05, 7.244446e-07, 6.188540e-01
1.000000e-01, 2.937964e+03, 3.347973e-02, 2.472689e-02, 2.199991e-02, 5.413814e-02, 4.828135e-02, 2.070860e-01, 1.956315e-05, 7.472127e-07, 6.102677e-01
1.025000e-01, 2.954986e+03, 3.565473e-02, 2.687064e-02, 2.316652e-02, 5.345178e-02, 4.992951e-02, 2.070191e-01, 2.001019e-05, 7.631042e-07, 6.038870e-01
1.050000e-01, 2.965701e+03, 3.707065e-02, 2.829258e-02, 2.393795e-02, 5.309900e-02, 5.101169e-02, 2.070795e-01, 2.032025e-05, 7.741569e-07, 5.994876e-01
1.075000e-01, 2.970763e+03, 3.773306e-02, 2.896876e-02, 2.433976e-02, 5.310056e-02, 5.159411e-02, 2.073776e-01, 2.053056e-05, 7.817954e-07, 5.968648e-01
1.100000e-01, 2.970638e+03, 3.766968e-02, 2.891385e-02, 2.439731e-02, 5.346934e-02, 5.172651e-02, 2.079749e-01, 2.066500e-05, 7.869183e-07, 5.958269e-01
1.125000e-01, 2.965675e+03, 3.692886e-02, 2.817756e-02, 2.413546e-02, 5.421200e-02, 5.144480e-02, 2.088916e-01, 2.073610e-05, 7.899814e-07, 5.961882e-01
1.150000e-01, 2.956141e+03, 3.557788e-02, 2.683984e-02, 2.357901e-02, 5.532982e-02, 5.077429e-02, 2.101137e-01, 2.074699e-05, 7.910747e-07, 5.977639e-01
1.175000e-01, 2.942256e+03, 3.370083e-02, 2.500473e-02, 2.275378e-02, 5.681878e-02, 4.973342e-02, 2.115997e-01, 2.069319e-05, 7.899971e-07, 6.003672e-01
1.200000e-01, 2.924213e+03, 3.139566e-02, 2.279301e-02, 2.168792e-02, 5.866888e-02, 4.833777e-02, 2.132868e-01, 2.056459e-05, 7.863319e-07, 6.038086e-01
1.225000e-01, 2.902197e+03, 2.877044e-02, 2.033410e-02, 2.041319e-02, 6.086289e-02, 4.660418e-02, 2.150969e-01, 2.034748e-05, 7.795272e-07, 6.078972e-01
1.250000e-01, 2.876400e+03, 2.593860e-02, 1.775741e-02, 1.896605e-02, 6.337478e-02, 4.455483e-02, 2.169434e-01, 2.002683e-05, 7.689844e-07, 6.124442e-01
1.275000e-01, 2.847041e+03, 2.301349e-02, 1.518402e-02, 1.738821e-02, 6.616821e-02, 4.222074e-02, 2.187378e-01, 1.958892e-05, 7.541546e-07, 6.172672e-01
1.300000e-01, 2.814385e+03, 2.010243e-02, 1.271919e-02, 1.572632e-02, 6.919562e-02, 3.964438e-02, 2.203964e-01, 1.902404e-05, 7.346386e-07, 6.221959e-01
1.325000e-01, 2.778757e+03, 1.730095e-02, 1.044650e-02, 1.403066e-02, 7.239837e-02, 3.688078e-02, 2.218466e-01, 1.832919e-05, 7.102814e-07, 6.270771e-01
1.350000e-01, 2.740563e+03, 1.468765e-02, 8.424160e-03, 1.235260e-02, 7.570831e-02, 3.399673e-02, 2.230319e-01, 1.751021e-05, 6.812466e-07, 6.317805e-01
1.375000e-01, 2.700300e+03, 1.232066e-02, 6.684090e-03, 1.074120e-02, 7.905116e-02, 3.106776e-02, 2.239160e-01, 1.658284e-05, 6.480539e-07, 6.362019e-01
1.400000e-01, 2.658561e+03, 1.023585e-02, 5.233648e-03, 9.239278e-03, 8.235121e-02, 2.817307e-02, 2.244848e-01, 1.557234e-05, 6.115670e-07, 6.402660e-01
1.425000e-01, 2.616023e+03, 8.447373e-03, 4.059796e-03, 7.879873e-03, 8.553694e-02, 2.538891e-02, 2.247457e-01, 1.451136e-05, 5.729257e-07, 6.439263e-01
1.450000e-01, 2.573428e+03, 6.950176e-03, 3.134838e-03, 6.683789e-03, 8.854652e-02, 2.278184e-02, 2.247256e-01, 1.343648e-05, 5.334300e-07, 6.471633e-01
1.475000e-01, 2.531537e+03, 5.724195e-03, 2.422713e-03, 5.658953e-03, 9.133202e-02, 2.040292e-02, 2.244660e-01, 1.238389e-05, 4.943977e-07, 6.499803e-01
1.500000e-01, 2.491082e+03, 4.739388e-03, 1.884743e-03, 4.801639e-03, 9.386179e-02, 1.828430e-02, 2.240179e-01, 1.138537e-05, 4.570234e-07, 6.523984e-01
1.525000e-01, 2.452712e+03, 3.960756e-03, 1.484065e-03, 4.099153e-03, 9.612047e-02, 1.643880e-02, 2.234352e-01, 1.046534e-05, 4.222697e-07, 6.544506e-01
1.550000e-01, 2.416950e+03, 3.352628e-03, 1.188385e-03, 3.533201e-03, 9.810718e-02, 1.486210e-02, 2.227699e-01, 9.639476e-06, 3.908048e-07, 6.561766e-01
1.575000e-01, 2.384170e+03, 2.881725e-03, 9.711551e-04, 3.083126e-03, 9.983238e-02, 1.353691e-02, 2.220675e-01, 8.914910e-06, 3.629921e-07, 6.576180e-01
1.600000e-01, 2.354582e+03, 2.518938e-03, 8.115890e-04, 2.728452e-03, 1.013144e-01, 1.243769e-02, 2.213650e-01, 8.291562e-06, 3.389207e-07, 6.588153e-01
1.625000e-01, 2.328250e+03, 2.240011e-03, 6.939910e-04, 2.450517e-03, 1.025760e-01, 1.153507e-02, 2.206903e-01, 7.764014e-06, 3.184618e-07, 6.598060e-01
1.650000e-01, 2.305114e+03, 2.025447e-03, 6.068083e-04, 2.233286e-03, 1.036421e-01, 1.079928e-02, 2.200621e-01, 7.323468e-06, 3.013348e-07, 6.606234e-01
1.675000e-01, 2.285014e+03, 1.859984e-03, 5.416782e-04, 2.063538e-03, 1.045375e-01, 1.020242e-02, 2.194914e-01, 6.959442e-06, 2.871717e-07, 6.612962e-01
1.700000e-01, 2.267725e+03, 1.731897e-03, 4.926025e-04, 1.930692e-03, 1.052855e-01, 9.719718e-03, 2.189834e-01, 6.661059e-06, 2.755702e-07, 6.618492e-01
1.725000e-01, 2.252984e+03, 1.632280e-03, 4.552934e-04, 1.826443e-03, 1.059079e-01, 9.329936e-03, 2.185384e-01, 6.417916e-06, 2.661331e-07, 6.623030e-01
1.750000e-01, 2.240509e+03, 1.554415e-03, 4.266809e-04, 1.744357e-03, 1.064238e-01, 9.015357e-03, 2.181538e-01, 6.220588e-06, 2.584937e-07, 6.626751e-01
1.775000e-01, 2.230020e+03, 1.493245e-03, 4.045564e-04, 1.679482e-03, 1.068502e-01, 8.761435e-03, 2.178250e-01, 6.060855e-06, 2.523283e-07, 6.629798e-01
1.800000e-01, 2.221249e+03, 1.444957e-03, 3.873192e-04, 1.628019e-03, 1.072017e-01, 8.556362e-03, 2.175464e-01, 5.931739e-06, 2.473605e-07, 6.632291e-01
1.825000e-01, 2.213949e+03, 1.406667e-03, 3.737985e-04, 1.587047e-03, 1.074909e-01, 8.390610e-03, 2.173120e-01, 5.827432e-06, 2.433601e-07, 6.634329e-01
1.850000e-01, 2.207896e+03, 1.376180e-03, 3.631293e-04, 1.554319e-03, 1.077283e-01, 8.256520e-03, 2.171161e-01, 5.743165e-06, 2.401381e-07, 6.635995e-01
1.875000e-01, 2.202894e+03, 1.351819e-03, 3.546662e-04, 1.528098e-03, 1.079231e-01, 8.147945e-03, 2.169530e-01, 5.675057e-06, 2.375413e-07, 6.637355e-01
1.900000e-01, 2.198770e+03, 1.332290e-03, 3.479227e-04, 1.507032e-03, 1.080825e-01, 8.059948e-03, 2.168179e-01, 5.619971e-06, 2.354464e-07, 6.638465e-01
1.925000e-01, 2.195377e+03, 1.316592e-03, 3.425285e-04, 1.490068e-03, 1.082130e-01, 7.988568e-03, 2.167063e-01, 5.575379e-06, 2.337544e-07, 6.639371e-01
1.950000e-01, 2.192591e+03, 1.303941e-03, 3.381993e-04, 1.476378e-03, 1.083197e-01, 7.930618e-03, 2.166143e-01, 5.539249e-06, 2.323862e-07, 6.640111e-01
1.975000e-01, 2.190305e+03, 1.293725e-03, 3.347148e-04, 1.465310e-03, 1.084070e-01, 7.883536e-03, 2.165386e-01, 5.509948e-06, 2.312785e-07, 6.640714e-01
2.000000e-01, 2.188433e+03, 1.285461e-03, 3.319036e-04, 1.456348e-03, 1.084782e-01, 7.845255e-03, 2.164764e-01, 5.486164e-06, 2.303806e-07, 6.641207e-01
2.025000e-01, 2.186899e+03, 1.278764e-03, 3.296307e-04, 1.449081e-03, 1.085364e-01, 7.814111e-03, 2.164254e-01, 5.466841e-06, 2.296521e-07, 6.641608e-01
2.050000e-01, 2.185644e+03, 1.273331e-03, 3.277900e-04, 1.443180e-03, 1.085840e-01, 7.788757e-03, 2.163837e-01, 5.451131e-06, 2.290604e-07, 6.641936e-01
2.075000e-01, 2.184618e+03, 1.268918e-03, 3.262969e-04, 1.438385e-03, 1.086228e-01, 7.768107e-03, 2.163494e-01, 5.438349e-06, 2.285794e-07, 6.642204e-01
2.100000e-01, 2.183779e+03, 1.265330e-03, 3.250845e-04, 1.434485e-03, 1.086545e-01, 7.751279e-03, 2.163214e-01, 5.427942e-06, 2.281881e-07, 6.642422e-01
2.125000e-01, 2.183093e+03, 1.262410e-03, 3.240988e-04, 1.431310e-03, 1.086804e-01, 7.737561e-03, 2.162985e-01, 5.419465e-06, 2.278695e-07, 6.642600e-01
2.150000e-01, 2.182532e+03, 1.260032e-03, 3.232968e-04, 1.428724e-03, 1.087016e-01, 7.726373e-03, 2.162798e-01, 5.412556e-06, 2.276100e-07, 6.642746e-01
2.175000e-01, 2.182073e+03, 1.258095e-03, 3.226437e-04, 1.426616e-03, 1.087189e-01, 7.717246e-03, 2.162645e-01, 5.406922e-06, 2.273985e-07, 6.642864e-01
2.200000e-01, 2.181699e+03, 1.256516e-03, 3.221116e-04, 1.424897e-03, 1.087330e-01, 7.709798e-03, 2.162519e-01, 5.402328e-06, 2.272261e-07, 6.642961e-01
2.225000e-01, 2.181392e+03, 1.255228e-03, 3.216778e-04, 1.423496e-03, 1.087445e-01, 7.703719e-03, 2.162417e-01, 5.398579e-06, 2.270854e-07, 6.643041e-01
2.250000e-01, 2.181142e+03, 1.254177e-03, 3.213241e-04, 1.422352e-03, 1.087539e-01, 7.698757e-03, 2.162333e-01, 5.395519e-06, 2.269706e-07, 6.643105e-01
2.275000e-01, 2.180938e+03, 1.253319e-03, 3.210355e-04, 1.421418e-03, 1.087616e-01, 7.694705e-03, 2.162265e-01, 5.393022e-06, 2.268769e-07, 6.643158e-01
2.300000e-01, 2.180771e+03, 1.252619e-03, 3.207999e-04, 1.420656e-03, 1.087679e-01, 7.691396e-03, 2.162209e-01, 5.390982e-06, 2.268005e-07, 6.643201e-01
2.325000e-01, 2.180634e+03, 1.252048e-03, 3.206077e-04, 1.420034e-03, 1.087730e-01, 7.688693e-03, 2.162163e-01, 5.389317e-06, 2.267380e-07, 6.643237e-01
2.350000e-01, 2.180523e+03, 1.251581e-03, 3.204507e-04, 1.419526e-03, 1.087772e-01, 7.686486e-03, 2.162126e-01, 5.387957e-06, 2.266871e-07, 6.643265e-01
2.375000e-01, 2.180431e+03, 1.251200e-03, 3.203226e-04, 1.419111e-03, 1.087807e-01, 7.684683e-03, 2.162095e-01, 5.386847e-06, 2.266454e-07, 6.643289e-01
2.400000e-01, 2.180357e+03, 1.250889e-03, 3.202179e-04, 1.418772e-03, 1.087835e-01, 7.683210e-03, 2.162070e-01, 5.385940e-06, 2.266114e-07, 6.643308e-01
2.425000e-01, 2.180296e+03, 1.250635e-03, 3.201324e-04, 1.418495e-03, 1.087858e-01, 7.682006e-03, 2.162050e-01, 5.385198e-06, 2.265836e-07, 6.643324e-01
2.450000e-01, 2.180246e+03, 1.250427e-03, 3.200626e-04, 1.418269e-03, 1.087876e-01, 7.681023e-03, 2.162033e-01, 5.384593e-06, 2.265609e-07, 6.643337e-01
2.475000e-01, 2.180206e+03, 1.250257e-03, 3.200055e-04, 1.418084e-03, 1.087892e-01, 7.680220e-03, 2.162019e-01, 5.384098e-06, 2.265424e-07, 6.643347e-01
2.500000e-01, 2.180172e+03, 1.250119e-03, 3.199589e-04, 1.417933e-03, 1.087904e-01, 7.679564e-03, 2.162008e-01, 5.383694e-06, 2.265272e-07, 6.643356e-01
1 2.500000e-03 3.000239e+02 6.059886e-03 8.824431e-10 8.079887e-12 6.059766e-03 1.963675e-10 2.001948e-10 1.195364e-07 8.341401e-10 9.878802e-01
2 5.000000e-03 3.000250e+02 1.193618e-02 7.604985e-10 2.207130e-11 1.193586e-02 2.359906e-10 1.114248e-09 3.070840e-07 1.002044e-08 9.761276e-01
3 7.500000e-03 3.000278e+02 1.763446e-02 8.635001e-10 3.905857e-11 1.763384e-02 3.246143e-10 3.086084e-09 5.738788e-07 4.865817e-08 9.647311e-01
4 1.000000e-02 3.000334e+02 2.316017e-02 1.088059e-09 5.784065e-11 2.315909e-02 4.819667e-10 7.184873e-09 9.218762e-07 1.594431e-07 9.536796e-01
5 1.250000e-02 3.000436e+02 2.851859e-02 1.442291e-09 8.143767e-11 2.851683e-02 7.281175e-10 1.532534e-08 1.347057e-06 4.127781e-07 9.429628e-01
6 1.500000e-02 3.000613e+02 3.371487e-02 1.964114e-09 1.145486e-10 3.371211e-02 1.104382e-09 3.084504e-08 1.852321e-06 9.127330e-07 9.325702e-01
7 1.750000e-02 3.000908e+02 3.875408e-02 2.713356e-09 1.618349e-10 3.874982e-02 1.676244e-09 5.958958e-08 2.453313e-06 1.811614e-06 9.224918e-01
8 2.000000e-02 3.001384e+02 4.364118e-02 3.774159e-09 2.289035e-10 4.363467e-02 2.539171e-09 1.117811e-07 3.173021e-06 3.336810e-06 9.127175e-01
9 2.250000e-02 3.002136e+02 4.838108e-02 5.260522e-09 3.231754e-10 4.837121e-02 3.825424e-09 2.050658e-07 4.035655e-06 5.826490e-06 9.032376e-01
10 2.500000e-02 3.003301e+02 5.297869e-02 7.324050e-09 4.544962e-10 5.296383e-02 5.712831e-09 3.693731e-07 5.065473e-06 9.773240e-06 8.940423e-01
11 2.750000e-02 3.005075e+02 5.743896e-02 1.016371e-08 6.358324e-10 5.741673e-02 8.434440e-09 6.545868e-07 6.287811e-06 1.587887e-05 8.851215e-01
12 3.000000e-02 3.007733e+02 6.176695e-02 1.403819e-08 8.841521e-10 6.173395e-02 1.228763e-08 1.142498e-06 7.729962e-06 2.512306e-05 8.764651e-01
13 3.250000e-02 3.011657e+02 6.596792e-02 1.928178e-08 1.221611e-09 6.591933e-02 1.764262e-08 1.965198e-06 9.421905e-06 3.884664e-05 8.680625e-01
14 3.500000e-02 3.017366e+02 7.004741e-02 2.632592e-08 1.677219e-09 6.997652e-02 2.495180e-08 3.333163e-06 1.139735e-05 5.884895e-05 8.599024e-01
15 3.750000e-02 3.025557e+02 7.401141e-02 3.572978e-08 2.289321e-09 7.390897e-02 3.476426e-08 5.578106e-06 1.369541e-05 8.749687e-05 8.519728e-01
16 4.000000e-02 3.037152e+02 7.786647e-02 4.822575e-08 3.109438e-09 7.771993e-02 4.775340e-08 9.218790e-06 1.636312e-05 1.278403e-04 8.442601e-01
17 4.250000e-02 3.053355e+02 8.161988e-02 6.478990e-08 4.208407e-09 8.141244e-02 6.477128e-08 1.506365e-05 1.945921e-05 1.837239e-04 8.367493e-01
18 4.500000e-02 3.075719e+02 8.527984e-02 8.675330e-08 5.686374e-09 8.498937e-02 8.695039e-08 2.437426e-05 2.305926e-05 2.598782e-04 8.294233e-01
19 4.750000e-02 3.106230e+02 8.885571e-02 1.159807e-07 7.689291e-09 8.845345e-02 1.158830e-07 3.913286e-05 2.726264e-05 3.619573e-04 8.222622e-01
20 5.000000e-02 3.147414e+02 9.235815e-02 1.551607e-07 1.043649e-08 9.180736e-02 1.539253e-07 6.249274e-05 3.220133e-05 4.964676e-04 8.152430e-01
21 5.250000e-02 3.202468e+02 9.579936e-02 2.082814e-07 1.426745e-08 9.505385e-02 2.047012e-07 9.955869e-05 3.805043e-05 6.704823e-04 8.083383e-01
22 5.500000e-02 3.275461e+02 9.919318e-02 2.814265e-07 1.972263e-08 9.819605e-02 2.739369e-07 1.587763e-04 4.503935e-05 8.909529e-04 8.015154e-01
23 5.750000e-02 3.371625e+02 1.025550e-01 3.841430e-07 2.768710e-08 1.012380e-01 3.708553e-07 2.544684e-04 5.346069e-05 1.163272e-03 7.947351e-01
24 6.000000e-02 3.497830e+02 1.059010e-01 5.319095e-07 3.965573e-08 1.041854e-01 5.105505e-07 4.115815e-04 6.366992e-05 1.488492e-03 7.879488e-01
25 6.250000e-02 3.663440e+02 1.092463e-01 7.509652e-07 5.825411e-08 1.070469e-01 7.181193e-07 6.748024e-04 7.606007e-05 1.858218e-03 7.810962e-01
26 6.500000e-02 3.881970e+02 1.125985e-01 1.089103e-06 8.837170e-08 1.098352e-01 1.036120e-06 1.126711e-03 9.097454e-05 2.245810e-03 7.741006e-01
27 6.750000e-02 4.174734e+02 1.159393e-01 1.644860e-06 1.400541e-07 1.125649e-01 1.538967e-06 1.926271e-03 1.084570e-04 2.592402e-03 7.668654e-01
28 7.000000e-02 4.580074e+02 1.191668e-01 2.667449e-06 2.376582e-07 1.152359e-01 2.363495e-06 3.400840e-03 1.274822e-04 2.786977e-03 7.592767e-01
29 7.250000e-02 5.181427e+02 1.218964e-01 5.007182e-06 4.566780e-07 1.177551e-01 3.767927e-06 6.312825e-03 1.432019e-04 2.641550e-03 7.512417e-01
30 7.500000e-02 6.204753e+02 1.227113e-01 1.277621e-05 1.112691e-06 1.196008e-01 5.984195e-06 1.276238e-02 1.389242e-04 1.884082e-03 7.428826e-01
31 7.750000e-02 8.434530e+02 1.155667e-01 7.745047e-05 1.102140e-05 1.180431e-01 1.268444e-05 3.010736e-02 9.570296e-05 3.883501e-04 7.356976e-01
32 8.000000e-02 2.197742e+03 2.567608e-03 9.466580e-04 2.257526e-03 6.387346e-02 8.663829e-03 1.675799e-01 4.144136e-06 1.588994e-07 7.541067e-01
33 8.250000e-02 2.428391e+03 4.639008e-03 1.883731e-03 3.855268e-03 6.369824e-02 1.420073e-02 1.835091e-01 6.600087e-06 2.534663e-07 7.282071e-01
34 8.500000e-02 2.589056e+03 8.412096e-03 4.037099e-03 6.622664e-03 6.254994e-02 2.127162e-02 1.939997e-01 9.940492e-06 3.860943e-07 7.030965e-01
35 8.750000e-02 2.699491e+03 1.312782e-02 7.219037e-03 9.867616e-03 6.102578e-02 2.815316e-02 2.003563e-01 1.283302e-05 4.980843e-07 6.802370e-01
36 9.000000e-02 2.778488e+03 1.804601e-02 1.096054e-02 1.305294e-02 5.940715e-02 3.410831e-02 2.040287e-01 1.509149e-05 5.835245e-07 6.603807e-01
37 9.250000e-02 2.836859e+03 2.273551e-02 1.485051e-02 1.592762e-02 5.782680e-02 3.901201e-02 2.059782e-01 1.678698e-05 6.465320e-07 6.436519e-01
38 9.500000e-02 2.880723e+03 2.695503e-02 1.858083e-02 1.839119e-02 5.637593e-02 4.293184e-02 2.068528e-01 1.803044e-05 6.920590e-07 6.298937e-01
39 9.750000e-02 2.913684e+03 3.056427e-02 2.192680e-02 2.041417e-02 5.512725e-02 4.598290e-02 2.071110e-01 1.892649e-05 7.244446e-07 6.188540e-01
40 1.000000e-01 2.937964e+03 3.347973e-02 2.472689e-02 2.199991e-02 5.413814e-02 4.828135e-02 2.070860e-01 1.956315e-05 7.472127e-07 6.102677e-01
41 1.025000e-01 2.954986e+03 3.565473e-02 2.687064e-02 2.316652e-02 5.345178e-02 4.992951e-02 2.070191e-01 2.001019e-05 7.631042e-07 6.038870e-01
42 1.050000e-01 2.965701e+03 3.707065e-02 2.829258e-02 2.393795e-02 5.309900e-02 5.101169e-02 2.070795e-01 2.032025e-05 7.741569e-07 5.994876e-01
43 1.075000e-01 2.970763e+03 3.773306e-02 2.896876e-02 2.433976e-02 5.310056e-02 5.159411e-02 2.073776e-01 2.053056e-05 7.817954e-07 5.968648e-01
44 1.100000e-01 2.970638e+03 3.766968e-02 2.891385e-02 2.439731e-02 5.346934e-02 5.172651e-02 2.079749e-01 2.066500e-05 7.869183e-07 5.958269e-01
45 1.125000e-01 2.965675e+03 3.692886e-02 2.817756e-02 2.413546e-02 5.421200e-02 5.144480e-02 2.088916e-01 2.073610e-05 7.899814e-07 5.961882e-01
46 1.150000e-01 2.956141e+03 3.557788e-02 2.683984e-02 2.357901e-02 5.532982e-02 5.077429e-02 2.101137e-01 2.074699e-05 7.910747e-07 5.977639e-01
47 1.175000e-01 2.942256e+03 3.370083e-02 2.500473e-02 2.275378e-02 5.681878e-02 4.973342e-02 2.115997e-01 2.069319e-05 7.899971e-07 6.003672e-01
48 1.200000e-01 2.924213e+03 3.139566e-02 2.279301e-02 2.168792e-02 5.866888e-02 4.833777e-02 2.132868e-01 2.056459e-05 7.863319e-07 6.038086e-01
49 1.225000e-01 2.902197e+03 2.877044e-02 2.033410e-02 2.041319e-02 6.086289e-02 4.660418e-02 2.150969e-01 2.034748e-05 7.795272e-07 6.078972e-01
50 1.250000e-01 2.876400e+03 2.593860e-02 1.775741e-02 1.896605e-02 6.337478e-02 4.455483e-02 2.169434e-01 2.002683e-05 7.689844e-07 6.124442e-01
51 1.275000e-01 2.847041e+03 2.301349e-02 1.518402e-02 1.738821e-02 6.616821e-02 4.222074e-02 2.187378e-01 1.958892e-05 7.541546e-07 6.172672e-01
52 1.300000e-01 2.814385e+03 2.010243e-02 1.271919e-02 1.572632e-02 6.919562e-02 3.964438e-02 2.203964e-01 1.902404e-05 7.346386e-07 6.221959e-01
53 1.325000e-01 2.778757e+03 1.730095e-02 1.044650e-02 1.403066e-02 7.239837e-02 3.688078e-02 2.218466e-01 1.832919e-05 7.102814e-07 6.270771e-01
54 1.350000e-01 2.740563e+03 1.468765e-02 8.424160e-03 1.235260e-02 7.570831e-02 3.399673e-02 2.230319e-01 1.751021e-05 6.812466e-07 6.317805e-01
55 1.375000e-01 2.700300e+03 1.232066e-02 6.684090e-03 1.074120e-02 7.905116e-02 3.106776e-02 2.239160e-01 1.658284e-05 6.480539e-07 6.362019e-01
56 1.400000e-01 2.658561e+03 1.023585e-02 5.233648e-03 9.239278e-03 8.235121e-02 2.817307e-02 2.244848e-01 1.557234e-05 6.115670e-07 6.402660e-01
57 1.425000e-01 2.616023e+03 8.447373e-03 4.059796e-03 7.879873e-03 8.553694e-02 2.538891e-02 2.247457e-01 1.451136e-05 5.729257e-07 6.439263e-01
58 1.450000e-01 2.573428e+03 6.950176e-03 3.134838e-03 6.683789e-03 8.854652e-02 2.278184e-02 2.247256e-01 1.343648e-05 5.334300e-07 6.471633e-01
59 1.475000e-01 2.531537e+03 5.724195e-03 2.422713e-03 5.658953e-03 9.133202e-02 2.040292e-02 2.244660e-01 1.238389e-05 4.943977e-07 6.499803e-01
60 1.500000e-01 2.491082e+03 4.739388e-03 1.884743e-03 4.801639e-03 9.386179e-02 1.828430e-02 2.240179e-01 1.138537e-05 4.570234e-07 6.523984e-01
61 1.525000e-01 2.452712e+03 3.960756e-03 1.484065e-03 4.099153e-03 9.612047e-02 1.643880e-02 2.234352e-01 1.046534e-05 4.222697e-07 6.544506e-01
62 1.550000e-01 2.416950e+03 3.352628e-03 1.188385e-03 3.533201e-03 9.810718e-02 1.486210e-02 2.227699e-01 9.639476e-06 3.908048e-07 6.561766e-01
63 1.575000e-01 2.384170e+03 2.881725e-03 9.711551e-04 3.083126e-03 9.983238e-02 1.353691e-02 2.220675e-01 8.914910e-06 3.629921e-07 6.576180e-01
64 1.600000e-01 2.354582e+03 2.518938e-03 8.115890e-04 2.728452e-03 1.013144e-01 1.243769e-02 2.213650e-01 8.291562e-06 3.389207e-07 6.588153e-01
65 1.625000e-01 2.328250e+03 2.240011e-03 6.939910e-04 2.450517e-03 1.025760e-01 1.153507e-02 2.206903e-01 7.764014e-06 3.184618e-07 6.598060e-01
66 1.650000e-01 2.305114e+03 2.025447e-03 6.068083e-04 2.233286e-03 1.036421e-01 1.079928e-02 2.200621e-01 7.323468e-06 3.013348e-07 6.606234e-01
67 1.675000e-01 2.285014e+03 1.859984e-03 5.416782e-04 2.063538e-03 1.045375e-01 1.020242e-02 2.194914e-01 6.959442e-06 2.871717e-07 6.612962e-01
68 1.700000e-01 2.267725e+03 1.731897e-03 4.926025e-04 1.930692e-03 1.052855e-01 9.719718e-03 2.189834e-01 6.661059e-06 2.755702e-07 6.618492e-01
69 1.725000e-01 2.252984e+03 1.632280e-03 4.552934e-04 1.826443e-03 1.059079e-01 9.329936e-03 2.185384e-01 6.417916e-06 2.661331e-07 6.623030e-01
70 1.750000e-01 2.240509e+03 1.554415e-03 4.266809e-04 1.744357e-03 1.064238e-01 9.015357e-03 2.181538e-01 6.220588e-06 2.584937e-07 6.626751e-01
71 1.775000e-01 2.230020e+03 1.493245e-03 4.045564e-04 1.679482e-03 1.068502e-01 8.761435e-03 2.178250e-01 6.060855e-06 2.523283e-07 6.629798e-01
72 1.800000e-01 2.221249e+03 1.444957e-03 3.873192e-04 1.628019e-03 1.072017e-01 8.556362e-03 2.175464e-01 5.931739e-06 2.473605e-07 6.632291e-01
73 1.825000e-01 2.213949e+03 1.406667e-03 3.737985e-04 1.587047e-03 1.074909e-01 8.390610e-03 2.173120e-01 5.827432e-06 2.433601e-07 6.634329e-01
74 1.850000e-01 2.207896e+03 1.376180e-03 3.631293e-04 1.554319e-03 1.077283e-01 8.256520e-03 2.171161e-01 5.743165e-06 2.401381e-07 6.635995e-01
75 1.875000e-01 2.202894e+03 1.351819e-03 3.546662e-04 1.528098e-03 1.079231e-01 8.147945e-03 2.169530e-01 5.675057e-06 2.375413e-07 6.637355e-01
76 1.900000e-01 2.198770e+03 1.332290e-03 3.479227e-04 1.507032e-03 1.080825e-01 8.059948e-03 2.168179e-01 5.619971e-06 2.354464e-07 6.638465e-01
77 1.925000e-01 2.195377e+03 1.316592e-03 3.425285e-04 1.490068e-03 1.082130e-01 7.988568e-03 2.167063e-01 5.575379e-06 2.337544e-07 6.639371e-01
78 1.950000e-01 2.192591e+03 1.303941e-03 3.381993e-04 1.476378e-03 1.083197e-01 7.930618e-03 2.166143e-01 5.539249e-06 2.323862e-07 6.640111e-01
79 1.975000e-01 2.190305e+03 1.293725e-03 3.347148e-04 1.465310e-03 1.084070e-01 7.883536e-03 2.165386e-01 5.509948e-06 2.312785e-07 6.640714e-01
80 2.000000e-01 2.188433e+03 1.285461e-03 3.319036e-04 1.456348e-03 1.084782e-01 7.845255e-03 2.164764e-01 5.486164e-06 2.303806e-07 6.641207e-01
81 2.025000e-01 2.186899e+03 1.278764e-03 3.296307e-04 1.449081e-03 1.085364e-01 7.814111e-03 2.164254e-01 5.466841e-06 2.296521e-07 6.641608e-01
82 2.050000e-01 2.185644e+03 1.273331e-03 3.277900e-04 1.443180e-03 1.085840e-01 7.788757e-03 2.163837e-01 5.451131e-06 2.290604e-07 6.641936e-01
83 2.075000e-01 2.184618e+03 1.268918e-03 3.262969e-04 1.438385e-03 1.086228e-01 7.768107e-03 2.163494e-01 5.438349e-06 2.285794e-07 6.642204e-01
84 2.100000e-01 2.183779e+03 1.265330e-03 3.250845e-04 1.434485e-03 1.086545e-01 7.751279e-03 2.163214e-01 5.427942e-06 2.281881e-07 6.642422e-01
85 2.125000e-01 2.183093e+03 1.262410e-03 3.240988e-04 1.431310e-03 1.086804e-01 7.737561e-03 2.162985e-01 5.419465e-06 2.278695e-07 6.642600e-01
86 2.150000e-01 2.182532e+03 1.260032e-03 3.232968e-04 1.428724e-03 1.087016e-01 7.726373e-03 2.162798e-01 5.412556e-06 2.276100e-07 6.642746e-01
87 2.175000e-01 2.182073e+03 1.258095e-03 3.226437e-04 1.426616e-03 1.087189e-01 7.717246e-03 2.162645e-01 5.406922e-06 2.273985e-07 6.642864e-01
88 2.200000e-01 2.181699e+03 1.256516e-03 3.221116e-04 1.424897e-03 1.087330e-01 7.709798e-03 2.162519e-01 5.402328e-06 2.272261e-07 6.642961e-01
89 2.225000e-01 2.181392e+03 1.255228e-03 3.216778e-04 1.423496e-03 1.087445e-01 7.703719e-03 2.162417e-01 5.398579e-06 2.270854e-07 6.643041e-01
90 2.250000e-01 2.181142e+03 1.254177e-03 3.213241e-04 1.422352e-03 1.087539e-01 7.698757e-03 2.162333e-01 5.395519e-06 2.269706e-07 6.643105e-01
91 2.275000e-01 2.180938e+03 1.253319e-03 3.210355e-04 1.421418e-03 1.087616e-01 7.694705e-03 2.162265e-01 5.393022e-06 2.268769e-07 6.643158e-01
92 2.300000e-01 2.180771e+03 1.252619e-03 3.207999e-04 1.420656e-03 1.087679e-01 7.691396e-03 2.162209e-01 5.390982e-06 2.268005e-07 6.643201e-01
93 2.325000e-01 2.180634e+03 1.252048e-03 3.206077e-04 1.420034e-03 1.087730e-01 7.688693e-03 2.162163e-01 5.389317e-06 2.267380e-07 6.643237e-01
94 2.350000e-01 2.180523e+03 1.251581e-03 3.204507e-04 1.419526e-03 1.087772e-01 7.686486e-03 2.162126e-01 5.387957e-06 2.266871e-07 6.643265e-01
95 2.375000e-01 2.180431e+03 1.251200e-03 3.203226e-04 1.419111e-03 1.087807e-01 7.684683e-03 2.162095e-01 5.386847e-06 2.266454e-07 6.643289e-01
96 2.400000e-01 2.180357e+03 1.250889e-03 3.202179e-04 1.418772e-03 1.087835e-01 7.683210e-03 2.162070e-01 5.385940e-06 2.266114e-07 6.643308e-01
97 2.425000e-01 2.180296e+03 1.250635e-03 3.201324e-04 1.418495e-03 1.087858e-01 7.682006e-03 2.162050e-01 5.385198e-06 2.265836e-07 6.643324e-01
98 2.450000e-01 2.180246e+03 1.250427e-03 3.200626e-04 1.418269e-03 1.087876e-01 7.681023e-03 2.162033e-01 5.384593e-06 2.265609e-07 6.643337e-01
99 2.475000e-01 2.180206e+03 1.250257e-03 3.200055e-04 1.418084e-03 1.087892e-01 7.680220e-03 2.162019e-01 5.384098e-06 2.265424e-07 6.643347e-01
100 2.500000e-01 2.180172e+03 1.250119e-03 3.199589e-04 1.417933e-03 1.087904e-01 7.679564e-03 2.162008e-01 5.383694e-06 2.265272e-07 6.643356e-01

661
test/data/h2o2.xml Normal file
View file

@ -0,0 +1,661 @@
<?xml version="1.0"?>
<ctml>
<validate reactions="yes" species="yes"/>
<!-- phase ohmech -->
<phase dim="3" id="ohmech">
<elementArray datasrc="elements.xml">O H Ar </elementArray>
<speciesArray datasrc="#species_data">H2 H O O2 OH H2O HO2 H2O2 AR </speciesArray>
<reactionArray datasrc="#reaction_data"/>
<state>
<temperature units="K">300.0</temperature>
<pressure units="Pa">101325.0</pressure>
</state>
<thermo model="IdealGas"/>
<kinetics model="GasKinetics"/>
<transport model="Mix"/>
</phase>
<!-- phase ohmech-multi -->
<phase dim="3" id="ohmech-multi">
<elementArray datasrc="elements.xml">O H Ar </elementArray>
<speciesArray datasrc="#species_data">H2 H O O2 OH H2O HO2 H2O2 AR </speciesArray>
<reactionArray datasrc="#reaction_data"/>
<state>
<temperature units="K">300.0</temperature>
<pressure units="Pa">101325.0</pressure>
</state>
<thermo model="IdealGas"/>
<kinetics model="GasKinetics"/>
<transport model="Multi"/>
</phase>
<!-- species definitions -->
<speciesData id="species_data">
<!-- species H2 -->
<species name="H2">
<atomArray>H:2 </atomArray>
<note>TPIS78</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.344331120E+00, 7.980520750E-03, -1.947815100E-05, 2.015720940E-08,
-7.376117610E-12, -9.179351730E+02, 6.830102380E-01</floatArray>
</NASA>
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.337279200E+00, -4.940247310E-05, 4.994567780E-07, -1.795663940E-10,
2.002553760E-14, -9.501589220E+02, -3.205023310E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K">38.000</LJ_welldepth>
<LJ_diameter units="A">2.920</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.790</polarizability>
<rotRelax>280.000</rotRelax>
</transport>
</species>
<!-- species H -->
<species name="H">
<atomArray>H:1 </atomArray>
<note>L 7/88</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 7.053328190E-13, -1.995919640E-15, 2.300816320E-18,
-9.277323320E-22, 2.547365990E+04, -4.466828530E-01</floatArray>
</NASA>
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.500000010E+00, -2.308429730E-11, 1.615619480E-14, -4.735152350E-18,
4.981973570E-22, 2.547365990E+04, -4.466829140E-01</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K">145.000</LJ_welldepth>
<LJ_diameter units="A">2.050</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>0.000</rotRelax>
</transport>
</species>
<!-- species O -->
<species name="O">
<atomArray>O:1 </atomArray>
<note>L 1/90</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.168267100E+00, -3.279318840E-03, 6.643063960E-06, -6.128066240E-09,
2.112659710E-12, 2.912225920E+04, 2.051933460E+00</floatArray>
</NASA>
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.569420780E+00, -8.597411370E-05, 4.194845890E-08, -1.001777990E-11,
1.228336910E-15, 2.921757910E+04, 4.784338640E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K">80.000</LJ_welldepth>
<LJ_diameter units="A">2.750</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>0.000</rotRelax>
</transport>
</species>
<!-- species O2 -->
<species name="O2">
<atomArray>O:2 </atomArray>
<note>TPIS89</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.782456360E+00, -2.996734160E-03, 9.847302010E-06, -9.681295090E-09,
3.243728370E-12, -1.063943560E+03, 3.657675730E+00</floatArray>
</NASA>
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.282537840E+00, 1.483087540E-03, -7.579666690E-07, 2.094705550E-10,
-2.167177940E-14, -1.088457720E+03, 5.453231290E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K">107.400</LJ_welldepth>
<LJ_diameter units="A">3.460</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">1.600</polarizability>
<rotRelax>3.800</rotRelax>
</transport>
</species>
<!-- species OH -->
<species name="OH">
<atomArray>H:1 O:1 </atomArray>
<note>RUS 78</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.992015430E+00, -2.401317520E-03, 4.617938410E-06, -3.881133330E-09,
1.364114700E-12, 3.615080560E+03, -1.039254580E-01</floatArray>
</NASA>
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.092887670E+00, 5.484297160E-04, 1.265052280E-07, -8.794615560E-11,
1.174123760E-14, 3.858657000E+03, 4.476696100E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K">80.000</LJ_welldepth>
<LJ_diameter units="A">2.750</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>0.000</rotRelax>
</transport>
</species>
<!-- species H2O -->
<species name="H2O">
<atomArray>H:2 O:1 </atomArray>
<note>L 8/89</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
4.198640560E+00, -2.036434100E-03, 6.520402110E-06, -5.487970620E-09,
1.771978170E-12, -3.029372670E+04, -8.490322080E-01</floatArray>
</NASA>
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.033992490E+00, 2.176918040E-03, -1.640725180E-07, -9.704198700E-11,
1.682009920E-14, -3.000429710E+04, 4.966770100E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">nonlinear</string>
<LJ_welldepth units="K">572.400</LJ_welldepth>
<LJ_diameter units="A">2.600</LJ_diameter>
<dipoleMoment units="Debye">1.840</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>4.000</rotRelax>
</transport>
</species>
<!-- species HO2 -->
<species name="HO2">
<atomArray>H:1 O:2 </atomArray>
<note>L 5/89</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
4.301798010E+00, -4.749120510E-03, 2.115828910E-05, -2.427638940E-08,
9.292251240E-12, 2.948080400E+02, 3.716662450E+00</floatArray>
</NASA>
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
4.017210900E+00, 2.239820130E-03, -6.336581500E-07, 1.142463700E-10,
-1.079085350E-14, 1.118567130E+02, 3.785102150E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">nonlinear</string>
<LJ_welldepth units="K">107.400</LJ_welldepth>
<LJ_diameter units="A">3.460</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>1.000</rotRelax>
</transport>
</species>
<!-- species H2O2 -->
<species name="H2O2">
<atomArray>H:2 O:2 </atomArray>
<note>L 7/88</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
4.276112690E+00, -5.428224170E-04, 1.673357010E-05, -2.157708130E-08,
8.624543630E-12, -1.770258210E+04, 3.435050740E+00</floatArray>
</NASA>
<NASA Tmax="3500.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
4.165002850E+00, 4.908316940E-03, -1.901392250E-06, 3.711859860E-10,
-2.879083050E-14, -1.786178770E+04, 2.916156620E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">nonlinear</string>
<LJ_welldepth units="K">107.400</LJ_welldepth>
<LJ_diameter units="A">3.460</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>3.800</rotRelax>
</transport>
</species>
<!-- species AR -->
<species name="AR">
<atomArray>Ar:1 </atomArray>
<note>120186</note>
<thermo>
<NASA Tmax="1000.0" Tmin="300.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 4.366000000E+00</floatArray>
</NASA>
<NASA Tmax="5000.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 4.366000000E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K">136.500</LJ_welldepth>
<LJ_diameter units="A">3.330</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>0.000</rotRelax>
</transport>
</species>
</speciesData>
<reactionData id="reaction_data">
<!-- reaction 0001 -->
<reaction reversible="yes" type="threeBody" id="0001">
<equation>2 O + M [=] O2 + M</equation>
<rateCoeff>
<Arrhenius>
<A>1.200000E+11</A>
<b>-1</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0">AR:0.83 H2:2.4 H2O:15.4 </efficiencies>
</rateCoeff>
<reactants>O:2.0</reactants>
<products>O2:1.0</products>
</reaction>
<!-- reaction 0002 -->
<reaction reversible="yes" type="threeBody" id="0002">
<equation>O + H + M [=] OH + M</equation>
<rateCoeff>
<Arrhenius>
<A>5.000000E+11</A>
<b>-1</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0">AR:0.7 H2:2 H2O:6 </efficiencies>
</rateCoeff>
<reactants>H:1 O:1.0</reactants>
<products>OH:1.0</products>
</reaction>
<!-- reaction 0003 -->
<reaction reversible="yes" id="0003">
<equation>O + H2 [=] H + OH</equation>
<rateCoeff>
<Arrhenius>
<A>3.870000E+01</A>
<b>2.7000000000000002</b>
<E units="cal/mol">6260.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2:1 O:1.0</reactants>
<products>H:1.0 OH:1</products>
</reaction>
<!-- reaction 0004 -->
<reaction reversible="yes" id="0004">
<equation>O + HO2 [=] OH + O2</equation>
<rateCoeff>
<Arrhenius>
<A>2.000000E+10</A>
<b>0</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>HO2:1 O:1.0</reactants>
<products>O2:1 OH:1.0</products>
</reaction>
<!-- reaction 0005 -->
<reaction reversible="yes" id="0005">
<equation>O + H2O2 [=] OH + HO2</equation>
<rateCoeff>
<Arrhenius>
<A>9.630000E+03</A>
<b>2</b>
<E units="cal/mol">4000.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2O2:1 O:1.0</reactants>
<products>HO2:1 OH:1.0</products>
</reaction>
<!-- reaction 0006 -->
<reaction reversible="yes" id="0006">
<equation>H + 2 O2 [=] HO2 + O2</equation>
<rateCoeff>
<Arrhenius>
<A>2.080000E+13</A>
<b>-1.24</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1.0 O2:2.0</reactants>
<products>HO2:1.0 O2:1</products>
</reaction>
<!-- reaction 0007 -->
<reaction reversible="yes" id="0007">
<equation>H + O2 + H2O [=] HO2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>1.126000E+13</A>
<b>-0.76000000000000001</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1.0 H2O:1 O2:1</reactants>
<products>H2O:1 HO2:1.0</products>
</reaction>
<!-- reaction 0008 -->
<reaction reversible="yes" id="0008">
<equation>H + O2 + AR [=] HO2 + AR</equation>
<rateCoeff>
<Arrhenius>
<A>7.000000E+11</A>
<b>-0.80000000000000004</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1.0 AR:1 O2:1</reactants>
<products>AR:1 HO2:1.0</products>
</reaction>
<!-- reaction 0009 -->
<reaction reversible="yes" id="0009">
<equation>H + O2 [=] O + OH</equation>
<rateCoeff>
<Arrhenius>
<A>2.650000E+13</A>
<b>-0.67069999999999996</b>
<E units="cal/mol">17041.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1.0 O2:1</reactants>
<products>O:1.0 OH:1</products>
</reaction>
<!-- reaction 0010 -->
<reaction reversible="yes" type="threeBody" id="0010">
<equation>2 H + M [=] H2 + M</equation>
<rateCoeff>
<Arrhenius>
<A>1.000000E+12</A>
<b>-1</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0">AR:0.63 H2:0 H2O:0 </efficiencies>
</rateCoeff>
<reactants>H:2.0</reactants>
<products>H2:1.0</products>
</reaction>
<!-- reaction 0011 -->
<reaction reversible="yes" id="0011">
<equation>2 H + H2 [=] 2 H2</equation>
<rateCoeff>
<Arrhenius>
<A>9.000000E+10</A>
<b>-0.59999999999999998</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2:1 H:2.0</reactants>
<products>H2:2.0</products>
</reaction>
<!-- reaction 0012 -->
<reaction reversible="yes" id="0012">
<equation>2 H + H2O [=] H2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>6.000000E+13</A>
<b>-1.25</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:2.0 H2O:1</reactants>
<products>H2:1.0 H2O:1</products>
</reaction>
<!-- reaction 0013 -->
<reaction reversible="yes" type="threeBody" id="0013">
<equation>H + OH + M [=] H2O + M</equation>
<rateCoeff>
<Arrhenius>
<A>2.200000E+16</A>
<b>-2</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0">AR:0.38 H2:0.73 H2O:3.65 </efficiencies>
</rateCoeff>
<reactants>H:1.0 OH:1</reactants>
<products>H2O:1.0</products>
</reaction>
<!-- reaction 0014 -->
<reaction reversible="yes" id="0014">
<equation>H + HO2 [=] O + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>3.970000E+09</A>
<b>0</b>
<E units="cal/mol">671.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1.0 HO2:1</reactants>
<products>H2O:1 O:1.0</products>
</reaction>
<!-- reaction 0015 -->
<reaction reversible="yes" id="0015">
<equation>H + HO2 [=] O2 + H2</equation>
<rateCoeff>
<Arrhenius>
<A>4.480000E+10</A>
<b>0</b>
<E units="cal/mol">1068.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1.0 HO2:1</reactants>
<products>H2:1 O2:1.0</products>
</reaction>
<!-- reaction 0016 -->
<reaction reversible="yes" id="0016">
<equation>H + HO2 [=] 2 OH</equation>
<rateCoeff>
<Arrhenius>
<A>8.400000E+10</A>
<b>0</b>
<E units="cal/mol">635.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1.0 HO2:1</reactants>
<products>OH:2.0</products>
</reaction>
<!-- reaction 0017 -->
<reaction reversible="yes" id="0017">
<equation>H + H2O2 [=] HO2 + H2</equation>
<rateCoeff>
<Arrhenius>
<A>1.210000E+04</A>
<b>2</b>
<E units="cal/mol">5200.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1.0 H2O2:1</reactants>
<products>H2:1 HO2:1.0</products>
</reaction>
<!-- reaction 0018 -->
<reaction reversible="yes" id="0018">
<equation>H + H2O2 [=] OH + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>1.000000E+10</A>
<b>0</b>
<E units="cal/mol">3600.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1.0 H2O2:1</reactants>
<products>H2O:1 OH:1.0</products>
</reaction>
<!-- reaction 0019 -->
<reaction reversible="yes" id="0019">
<equation>OH + H2 [=] H + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>2.160000E+05</A>
<b>1.51</b>
<E units="cal/mol">3430.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2:1 OH:1.0</reactants>
<products>H:1.0 H2O:1</products>
</reaction>
<!-- reaction 0020 -->
<reaction reversible="yes" type="falloff" id="0020">
<equation>2 OH (+ M) [=] H2O2 (+ M)</equation>
<rateCoeff>
<Arrhenius>
<A>7.400000E+10</A>
<b>-0.37</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<Arrhenius name="k0">
<A>2.300000E+12</A>
<b>-0.90000000000000002</b>
<E units="cal/mol">-1700.000000</E>
</Arrhenius>
<efficiencies default="1.0">AR:0.7 H2:2 H2O:6 </efficiencies>
<falloff type="Troe">0.7346 94 1756 5182 </falloff>
</rateCoeff>
<reactants>OH:2.0</reactants>
<products>H2O2:1.0</products>
</reaction>
<!-- reaction 0021 -->
<reaction reversible="yes" id="0021">
<equation>2 OH [=] O + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>3.570000E+01</A>
<b>2.3999999999999999</b>
<E units="cal/mol">-2110.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>OH:2.0</reactants>
<products>H2O:1 O:1.0</products>
</reaction>
<!-- reaction 0022 -->
<reaction duplicate="yes" reversible="yes" id="0022">
<equation>OH + HO2 [=] O2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>1.450000E+10</A>
<b>0</b>
<E units="cal/mol">-500.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>HO2:1 OH:1.0</reactants>
<products>H2O:1 O2:1.0</products>
</reaction>
<!-- reaction 0023 -->
<reaction duplicate="yes" reversible="yes" id="0023">
<equation>OH + H2O2 [=] HO2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>2.000000E+09</A>
<b>0</b>
<E units="cal/mol">427.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2O2:1 OH:1.0</reactants>
<products>H2O:1 HO2:1.0</products>
</reaction>
<!-- reaction 0024 -->
<reaction duplicate="yes" reversible="yes" id="0024">
<equation>OH + H2O2 [=] HO2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>1.700000E+15</A>
<b>0</b>
<E units="cal/mol">29410.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2O2:1 OH:1.0</reactants>
<products>H2O:1 HO2:1.0</products>
</reaction>
<!-- reaction 0025 -->
<reaction duplicate="yes" reversible="yes" id="0025">
<equation>2 HO2 [=] O2 + H2O2</equation>
<rateCoeff>
<Arrhenius>
<A>1.300000E+08</A>
<b>0</b>
<E units="cal/mol">-1630.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>HO2:2.0</reactants>
<products>O2:1.0 H2O2:1</products>
</reaction>
<!-- reaction 0026 -->
<reaction duplicate="yes" reversible="yes" id="0026">
<equation>2 HO2 [=] O2 + H2O2</equation>
<rateCoeff>
<Arrhenius>
<A>4.200000E+11</A>
<b>0</b>
<E units="cal/mol">12000.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>HO2:2.0</reactants>
<products>O2:1.0 H2O2:1</products>
</reaction>
<!-- reaction 0027 -->
<reaction duplicate="yes" reversible="yes" id="0027">
<equation>OH + HO2 [=] O2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>5.000000E+12</A>
<b>0</b>
<E units="cal/mol">17330.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>HO2:1 OH:1.0</reactants>
<products>H2O:1 O2:1.0</products>
</reaction>
</reactionData>
</ctml>

View file

@ -17,4 +17,7 @@ if __name__ == '__main__':
loader = unittest.TestLoader()
runner = unittest.TextTestRunner(verbosity=2)
suite = loader.loadTestsFromName('testSolution')
runner.run(suite)
suite.addTests(loader.loadTestsFromName('testReactors'))
results = runner.run(suite)
sys.exit(len(results.errors) + len(results.failures))

113
test/python/testReactors.py Normal file
View file

@ -0,0 +1,113 @@
import unittest
import pprint
import numpy as np
import Cantera as ct
from Cantera import Reactor as reactors
from Cantera.Func import Gaussian
import utilities
class CombustorTestImplementation(object):
"""
These tests are based on the sample:
python/reactors/combustor_sim/combustor.py
with some simplifications so that they run faster and produce more
consistent output.
"""
referenceFile = '../data/CombustorTest-integrateWithAdvance.csv'
def setUp(self):
self.gas = ct.importPhase('../../data/inputs/h2o2.cti')
# create a reservoir for the fuel inlet, and set to pure methane.
self.gas.set(T=300.0, P=ct.OneAtm, X='H2:1.0')
fuel_in = reactors.Reservoir(self.gas)
fuel_mw = self.gas.meanMolarMass()
# Oxidizer inlet
self.gas.set(T=300.0, P=ct.OneAtm, X='O2:1.0, AR:3.0')
oxidizer_in = reactors.Reservoir(self.gas)
oxidizer_mw = self.gas.meanMolarMass()
# to ignite the fuel/air mixture, we'll introduce a pulse of radicals.
# The steady-state behavior is independent of how we do this, so we'll
# just use a stream of pure atomic hydrogen.
self.gas.set(T=300.0, P=ct.OneAtm, X='H:1.0')
self.igniter = reactors.Reservoir(self.gas)
# create the combustor, and fill it in initially with a diluent
self.gas.set(T=300.0, P=ct.OneAtm, X='AR:1.0')
self.combustor = reactors.Reactor(contents=self.gas, volume=1.0)
# create a reservoir for the exhaust
self.exhaust = reactors.Reservoir(self.gas)
# compute fuel and air mass flow rates
factor = 0.1
oxidizer_mdot = 4 * factor*oxidizer_mw
fuel_mdot = factor*fuel_mw
# create and install the mass flow controllers. Controllers
# m1 and m2 provide constant mass flow rates, and m3 provides
# a short Gaussian pulse only to ignite the mixture
m1 = reactors.MassFlowController(upstream=fuel_in,
downstream=self.combustor,
mdot=fuel_mdot)
m2 = reactors.MassFlowController(upstream=oxidizer_in,
downstream=self.combustor,
mdot=oxidizer_mdot)
# The igniter will use a Gaussian 'functor' object to specify the
# time-dependent igniter mass flow rate.
igniter_mdot = Gaussian(t0=0.1, FWHM=0.05, A=0.1)
m3 = reactors.MassFlowController(upstream=self.igniter,
downstream=self.combustor,
mdot=igniter_mdot)
# put a valve on the exhaust line to regulate the pressure
self.v = reactors.Valve(upstream=self.combustor,
downstream=self.exhaust, Kv=1.0)
# the simulation only contains one reactor
self.sim = reactors.ReactorNet([self.combustor])
#self.sim.setTolerances(1e-8, 1e-12)
def test_integrateWithStep(self):
tnow = 0.0
tfinal = 0.25
self.data = []
while tnow < tfinal:
tnow = self.sim.step(tfinal)
self.data.append([tnow, self.combustor.temperature()] +
list(self.combustor.moleFractions()))
self.assertTrue(tnow >= tfinal)
bad = utilities.compareTimeSeries(self.referenceFile, self.data,
rtol=1e-3, atol=1e-9)
self.assertFalse(bad, bad)
def test_integrateWithAdvance(self, saveReference=False):
times = np.linspace(0, 0.25, 101)
self.data = []
for t in times[1:]:
self.sim.advance(t)
self.data.append([t, self.combustor.temperature()] +
list(self.combustor.moleFractions()))
if saveReference:
np.savetxt(self.referenceFile, np.array(self.data), '%11.6e', ', ')
else:
bad = utilities.compareTimeSeries(self.referenceFile, self.data,
rtol=1e-6, atol=1e-12)
self.assertFalse(bad, bad)
# Keep the implementation separate from the unittest-derived class
# so that it can be run independently to generate the reference data file.
class CombustorTest(CombustorTestImplementation, unittest.TestCase):
pass

51
test/python/utilities.py Normal file
View file

@ -0,0 +1,51 @@
import numpy as np
def compareTimeSeries(reference, sample, rtol=1e-5, atol=1e-12):
"""
Compare two 2D arrays of time series data. Each data set should contain
the time in the first column and data series to be compared in successive
columns.
The times in each data set do not need to be the same: The data from the
second data set will be interpolated onto the times in the first data set
before being compared. This means that the time range of the "sample" data
set should be at least as long as the "reference" data set.
After interpolation, each data point must satisfy either the relative
error tolerance specified by `rtol` or the absolute error tolerance
specified by `atol`.
If the comparison succeeds, this function returns `None`. If the comparison
fails, a formatted report of the differing elements is returned.
"""
if isinstance(reference, str):
reference = np.genfromtxt(reference, delimiter=',').T
else:
reference = np.asarray(reference).T
sample = np.asarray(sample).T
assert reference.shape[0] == sample.shape[0]
nVars = reference.shape[0]
nTimes = reference.shape[1]
bad = []
template = '{0:9.4e} {1: 3d} {2:14.8e} {3:14.8e} {4:9.3e} {5:9.3e}'
for i in range(1, nVars):
comp = np.interp(reference[0], sample[0], sample[i])
for j in range(nTimes):
a = comp[j]
b = reference[i,j]
abserr = abs(a-b)
relerr = 2 * abs(a-b) / (abs(a) + abs(b) + atol)
if abserr > atol and relerr > rtol:
bad.append(template.format(reference[0][j], i, a, b, abserr, relerr))
if bad:
header = ['Failed time series comparisons:',
' time component reference test value abs. err. rel. err',
'---------- --- -------------- -------------- --------- ---------']
return '\n'.join(header + bad)
else:
return None