From 21e2abb705d13936bfecb4cbded2d49047d7cf95 Mon Sep 17 00:00:00 2001 From: Harry Moffat Date: Fri, 4 Jan 2008 21:58:02 +0000 Subject: [PATCH] Added the tut4 test problem. --- test_problems/python/Makefile.in | 4 + test_problems/python/tut4/.cvsignore | 5 + test_problems/python/tut4/cleanup | 2 + test_problems/python/tut4/output_blessed.txt | 528 +++++++++++++++++++ test_problems/python/tut4/runtest | 76 +++ test_problems/python/tut4/tut4.py | 78 +++ 6 files changed, 693 insertions(+) create mode 100644 test_problems/python/tut4/.cvsignore create mode 100755 test_problems/python/tut4/cleanup create mode 100644 test_problems/python/tut4/output_blessed.txt create mode 100755 test_problems/python/tut4/runtest create mode 100755 test_problems/python/tut4/tut4.py diff --git a/test_problems/python/Makefile.in b/test_problems/python/Makefile.in index 7fa186a37..7689c8e8e 100644 --- a/test_problems/python/Makefile.in +++ b/test_problems/python/Makefile.in @@ -5,6 +5,8 @@ test: ./runtest @PYTHON_CMD@ @cd tut1; ./runtest @PYTHON_CMD@ @cd tut2; ./runtest @PYTHON_CMD@ + @cd tut3; ./runtest @PYTHON_CMD@ + @cd tut4; ./runtest @PYTHON_CMD@ @cd flame1; ./runtest @PYTHON_CMD@ # clean target -> clean up @@ -12,6 +14,8 @@ clean: ../../bin/rm_cvsignore cd tut1; ./cleanup cd tut2; ./cleanup + cd tut3; ./cleanup + cd tut4; ./cleanup cd flame1; ./cleanup depends: diff --git a/test_problems/python/tut4/.cvsignore b/test_problems/python/tut4/.cvsignore new file mode 100644 index 000000000..d164d2938 --- /dev/null +++ b/test_problems/python/tut4/.cvsignore @@ -0,0 +1,5 @@ +csvCode.txt +ct2ctml.log +diff_test.out +gri30.xml +output.txt diff --git a/test_problems/python/tut4/cleanup b/test_problems/python/tut4/cleanup new file mode 100755 index 000000000..a964a60bd --- /dev/null +++ b/test_problems/python/tut4/cleanup @@ -0,0 +1,2 @@ +#!/bin/sh +/bin/rm -f csvCode.txt ct2ctml.log diff_test.out output.txt gri30.xml diff --git a/test_problems/python/tut4/output_blessed.txt b/test_problems/python/tut4/output_blessed.txt new file mode 100644 index 000000000..00dd307d0 --- /dev/null +++ b/test_problems/python/tut4/output_blessed.txt @@ -0,0 +1,528 @@ + + + Tutorial 4: Chemical Equilibrium + + + + gri30: + + temperature 2553.99 K + pressure 871585 Pa + density 1.12476 kg/m^3 + mean mol. weight 27.4035 amu + + 1 kg 1 kmol + ----------- ------------ + enthalpy 442380 1.212e+07 J + internal energy -332524 -9.112e+06 J + entropy 9442.41 2.588e+05 J/K + Gibbs function -2.36735e+07 -6.487e+08 J + heat capacity c_p 1525.44 4.18e+04 J/K + heat capacity c_v 1222.03 3.349e+04 J/K + + X Y Chem. Pot. / RT + ------------- ------------ ------------ + H2 0.00402506 0.000296094 -23.6485 + H 0.000686819 2.52622e-05 -11.8243 + O 0.000717033 0.000418636 -15.946 + O2 0.0125283 0.0146292 -31.8921 + OH 0.00645067 0.00400346 -27.7703 + H2O 0.172006 0.113078 -39.5946 + HO2 4.45917e-06 5.37094e-06 -43.7164 + H2O2 4.48786e-07 5.57057e-07 -55.5406 + C 1.99153e-15 8.72891e-16 -20.1289 + CH 3.95063e-16 1.87688e-16 -31.9532 + CH2 8.18284e-16 4.1885e-16 -43.7774 + CH2(S) 6.40708e-17 3.27956e-17 -43.7774 + CH3 2.91227e-15 1.5978e-15 -55.6017 + CH4 9.67268e-16 5.66265e-16 -67.426 + CO 0.0116016 0.0118585 -36.075 + CO2 0.0781996 0.125588 -52.021 + HCO 9.11292e-09 9.64993e-09 -47.8992 + CH2O 1.63044e-10 1.78649e-10 -59.7235 + CH2OH 3.04813e-15 3.45198e-15 -71.5477 + CH3O 6.06821e-17 6.8722e-17 -71.5477 + CH3OH 2.12474e-16 2.4844e-16 -83.372 + C2H 1.8502e-21 1.68995e-21 -52.0821 + C2H2 1.3533e-19 1.28586e-19 -63.9064 + C2H3 4.93909e-24 4.87462e-24 -75.7306 + C2H4 2.85012e-24 2.91775e-24 -87.5549 + C2H5 1.49568e-28 1.58618e-28 -99.3791 + C2H6 8.26066e-30 9.06435e-30 -111.203 + HCCO 8.47241e-18 1.26851e-17 -68.0282 + CH2CO 7.31707e-18 1.12245e-17 -79.8524 + HCCOH 1.81733e-20 2.7878e-20 -79.8524 + N 1.37429e-07 7.02442e-08 -12.9886 + NH 2.98445e-08 1.63521e-08 -24.8129 + NH2 1.13822e-08 6.65507e-09 -36.6371 + NH3 1.8813e-08 1.16918e-08 -48.4614 + NNH 1.31918e-08 1.39706e-08 -37.8015 + NO 0.0058614 0.00641808 -28.9347 + NO2 3.54907e-06 5.95825e-06 -44.8807 + N2O 9.11472e-07 1.46392e-06 -41.9233 + HNO 3.64973e-07 4.1306e-07 -40.7589 + CN 2.47152e-12 2.34654e-12 -33.1176 + HCN 2.62815e-10 2.59191e-10 -44.9418 + H2CN 5.07125e-16 5.18786e-16 -56.7661 + HCNN 5.50768e-19 8.24689e-19 -57.9305 + HCNO 9.17241e-15 1.44012e-14 -60.8879 + HOCN 2.67831e-11 4.2051e-11 -60.8879 + HNCO 4.55228e-09 7.14734e-09 -60.8879 + NCO 3.40139e-10 5.21526e-10 -49.0636 + N2 0.707914 0.723671 -25.9773 + AR 0 0 + C3H7 3.06134e-42 4.81357e-42 -143.157 + C3H8 1.58019e-43 2.54277e-43 -154.981 + CH2CHO 1.51542e-22 2.38041e-22 -91.6767 + CH3CHO 2.467e-23 3.96589e-23 -103.501 + + gri30: + + temperature 302.065 K + pressure 102023 Pa + density 1.12476 kg/m^3 + mean mol. weight 27.6886 amu + + 1 kg 1 kmol + ----------- ------------ + enthalpy -2.87007e+06 -7.947e+07 J + internal energy -2.96078e+06 -8.198e+07 J + entropy 7232.24 2.003e+05 J/K + Gibbs function -5.05468e+06 -1.4e+08 J + heat capacity c_p 1107.01 3.065e+04 J/K + heat capacity c_v 806.725 2.234e+04 J/K + + X Y Chem. Pot. / RT + ------------- ------------ ------------ + H2 5.90483e-40 4.29903e-41 -106.038 + H 1.84877e-55 6.73003e-57 -53.0191 + O 9.0363e-42 5.22148e-42 -14.6591 + O2 0.0095511 0.0110379 -29.3182 + OH 2.50192e-27 1.53677e-27 -67.6782 + H2O 0.181471 0.118072 -120.697 + HO2 1.08385e-26 1.29203e-26 -82.3374 + H2O2 9.10306e-24 1.11829e-23 -135.356 + C 6.41426e-184 2.78243e-184 -155.469 + CH 5.25322e-185 2.47002e-185 -208.488 + CH2 5.47296e-172 2.77257e-172 -261.508 + CH2(S) 9.38167e-179 4.7527e-179 -261.508 + CH3 1.35417e-152 7.35309e-153 -314.527 + CH4 1.02022e-137 5.91116e-138 -367.546 + CO 3.53618e-45 3.57728e-45 -170.128 + CO2 0.0907354 0.14422 -184.788 + HCO 3.47186e-93 3.63859e-93 -223.148 + CH2O 1.8281e-90 1.98244e-90 -276.167 + CH2OH 2.01279e-128 2.256e-128 -329.186 + CH3O 1.4089e-134 1.57913e-134 -329.186 + CH3OH 1.90738e-119 2.20728e-119 -382.205 + C2H 1.46931e-245 1.32823e-245 -363.958 + C2H2 8.7204e-211 8.20052e-211 -416.977 + C2H3 1.84636e-244 1.8035e-244 -469.996 + C2H4 1.707e-225 1.72951e-225 -523.015 + C2H5 1.65232e-258 1.73426e-258 -576.034 + C2H6 1.88561e-247 2.04776e-247 -629.053 + HCCO 5.94429e-183 8.80832e-183 -378.617 + CH2CO 2.64899e-167 4.02174e-167 -431.636 + HCCOH 2.00585e-189 3.04531e-189 -431.636 + N 1.57223e-79 7.95338e-80 -11.6787 + NH 4.43286e-81 2.4038e-81 -64.6979 + NH2 7.06614e-75 4.08898e-75 -117.717 + NH3 7.13572e-57 4.389e-57 -170.736 + NNH 2.55443e-65 2.67739e-65 -76.3766 + NO 6.09712e-17 6.60745e-17 -26.3378 + NO2 6.67842e-12 1.10964e-11 -40.9969 + N2O 7.38477e-20 1.17386e-19 -38.0165 + HNO 4.98645e-42 5.58533e-42 -79.357 + CN 1.35859e-138 1.27661e-138 -167.148 + HCN 1.99985e-108 1.95197e-108 -220.167 + H2CN 1.98671e-150 2.01146e-150 -273.186 + HCNN 2.89515e-168 4.2904e-168 -231.846 + HCNO 1.30238e-119 2.02376e-119 -234.826 + HOCN 5.01923e-88 7.79933e-88 -234.826 + HNCO 1.0136e-69 1.57503e-69 -234.826 + NCO 2.43922e-90 3.70149e-90 -181.807 + N2 0.718243 0.72667 -23.3574 + AR 0 0 + C3H7 0 0 + C3H8 0 0 + CH2CHO 1.45246e-201 2.25803e-201 -484.655 + CH3CHO 1.03051e-191 1.63957e-191 -537.674 + + gri30: + + temperature 301.504 K + pressure 101325 Pa + density 1.11915 kg/m^3 + mean mol. weight 27.6886 amu + + 1 kg 1 kmol + ----------- ------------ + enthalpy -2.8707e+06 -7.949e+07 J + internal energy -2.96123e+06 -8.199e+07 J + entropy 7232.24 2.003e+05 J/K + Gibbs function -5.05124e+06 -1.399e+08 J + heat capacity c_p 1106.87 3.065e+04 J/K + heat capacity c_v 806.589 2.233e+04 J/K + + X Y Chem. Pot. / RT + ------------- ------------ ------------ + H2 4.95198e-40 3.60531e-41 -106.221 + H 1.44518e-55 5.26084e-57 -53.1105 + O 7.53699e-42 4.35513e-42 -14.6625 + O2 0.0095511 0.0110379 -29.325 + OH 2.22527e-27 1.36684e-27 -67.773 + H2O 0.181471 0.118072 -120.884 + HO2 9.80017e-27 1.16825e-26 -82.4355 + H2O2 8.38635e-24 1.03024e-23 -135.546 + C 2.83435e-184 1.22951e-184 -155.761 + CH 2.31463e-185 1.08832e-185 -208.872 + CH2 2.56229e-172 1.29804e-172 -261.982 + CH2(S) 4.27158e-179 2.16396e-179 -261.982 + CH3 6.94155e-153 3.76924e-153 -315.093 + CH4 5.6254e-138 3.25935e-138 -368.203 + CO 2.87641e-45 2.90985e-45 -170.424 + CO2 0.0907354 0.14422 -185.086 + HCO 2.30169e-93 2.41223e-93 -223.534 + CH2O 1.23682e-90 1.34124e-90 -276.645 + CH2OH 1.15914e-128 1.2992e-128 -329.755 + CH3O 7.92983e-135 8.88799e-135 -329.755 + CH3OH 1.1511e-119 1.3321e-119 -382.866 + C2H 4.94791e-246 4.47281e-246 -364.633 + C2H2 3.44386e-211 3.23855e-211 -417.743 + C2H3 6.31093e-245 6.16442e-245 -470.854 + C2H4 6.39694e-226 6.4813e-226 -523.964 + C2H5 5.38052e-259 5.64735e-259 -577.075 + C2H6 6.51226e-248 7.07227e-248 -630.186 + HCCO 2.66183e-183 3.94433e-183 -379.295 + CH2CO 1.27936e-167 1.94234e-167 -432.406 + HCCOH 8.82312e-190 1.33954e-189 -432.406 + N 1.11102e-79 5.62026e-80 -11.6821 + NH 3.11519e-81 1.68927e-81 -64.7926 + NH2 5.12159e-75 2.96372e-75 -117.903 + NH3 5.63155e-57 3.46383e-57 -171.014 + NNH 1.93738e-65 2.03064e-65 -76.4748 + NO 5.69799e-17 6.17492e-17 -26.3446 + NO2 6.48898e-12 1.07817e-11 -41.0071 + N2O 6.92732e-20 1.10114e-19 -38.0267 + HNO 4.20597e-42 4.71112e-42 -79.4551 + CN 7.35311e-139 6.90939e-139 -167.443 + HCN 1.24128e-108 1.21156e-108 -220.554 + H2CN 1.03223e-150 1.04509e-150 -273.664 + HCNN 1.40062e-168 2.07561e-168 -232.236 + HCNO 7.81927e-120 1.21503e-119 -235.216 + HOCN 3.45118e-88 5.36277e-88 -235.216 + HNCO 7.54112e-70 1.17181e-69 -235.216 + NCO 1.65202e-90 2.50692e-90 -182.106 + N2 0.718243 0.72667 -23.3642 + AR 0 0 + C3H7 0 0 + C3H8 0 0 + CH2CHO 6.06557e-202 9.42964e-202 -485.516 + CH3CHO 4.52646e-192 7.2017e-192 -538.627 + 0 2.4e-06 2.4e-06 + 1 4.58e-06 4.58e-06 + 2 0.141 0.141 + 3 0.00013 0.00013 + 4 8.95e-06 8.95e-06 + 5 1.97e-16 1.97e-16 + 6 6.97e-16 6.97e-16 + 7 7.66e-18 7.66e-18 + 8 7.66e-18 7.66e-18 + 9 2.49e-15 2.49e-15 + 10 3.01e-16 3.01e-16 + 11 0.0001 0.0001 + 12 6.15e-08 6.15e-08 + 13 6.15e-08 6.15e-08 + 14 4.82e-10 4.82e-10 + 15 5.69e-16 5.69e-16 + 16 8.84e-18 8.84e-18 + 17 1.75e-16 1.75e-16 + 18 3.78e-17 3.78e-17 + 19 5.93e-23 5.93e-23 + 20 1.2e-20 1.2e-20 + 21 3.31e-22 3.31e-22 + 22 6.15e-21 6.15e-21 + 23 4.38e-26 4.38e-26 + 24 2.09e-26 2.09e-26 + 25 2.22e-31 2.22e-31 + 26 3.88e-32 3.88e-32 + 27 3.75e-18 3.75e-18 + 28 6.89e-20 6.89e-20 + 29 5.56e-20 5.56e-20 + 30 6.44e-05 6.44e-05 + 31 1.16e-11 1.16e-11 + 32 0.000218 0.000218 + 33 6.59e-06 6.59e-06 + 34 0.00239 0.00239 + 35 0.000555 0.000555 + 37 0.226 0.226 + 38 2.98e-06 2.98e-06 + 39 1.45e-08 1.45e-08 + 40 6.29e-06 6.29e-06 + 41 8.72e-08 8.72e-08 + 42 0.000792 0.000792 + 43 1.93e-05 1.93e-05 + 44 0.000199 0.000199 + 45 0.000413 0.000413 + 46 7.46e-06 7.46e-06 + 47 1.86e-06 1.86e-06 + 48 4.98e-16 4.98e-16 + 49 2.99e-18 2.99e-18 + 50 1.34e-17 1.34e-17 + 51 6.52e-17 6.52e-17 + 52 2.56e-16 2.56e-16 + 53 9.26e-11 9.26e-11 + 54 1.32e-07 1.32e-07 + 55 3.92e-13 3.92e-13 + 56 1.26e-14 1.26e-14 + 57 1.65e-09 1.65e-09 + 58 1.99e-18 1.99e-18 + 59 9.94e-16 9.94e-16 + 60 1.3e-15 1.3e-15 + 61 7.09e-16 7.09e-16 + 62 2.09e-20 2.09e-20 + 63 5.73e-18 5.73e-18 + 64 1.54e-17 1.54e-17 + 65 5.56e-17 5.56e-17 + 66 2.7e-17 2.7e-17 + 67 2.05e-16 2.05e-16 + 68 5.07e-17 5.07e-17 + 69 7.99e-25 7.99e-25 + 70 5.93e-24 5.93e-24 + 71 7.98e-28 7.98e-28 + 72 3.82e-26 3.82e-26 + 73 3.23e-29 3.23e-29 + 74 2.67e-26 2.67e-26 + 75 6.47e-33 6.47e-33 + 76 1.74e-32 1.74e-32 + 77 2.44e-32 2.44e-32 + 78 3.27e-18 3.27e-18 + 79 3.01e-19 3.01e-19 + 80 1.95e-19 1.95e-19 + 81 3.29e-22 3.29e-22 + 82 9.89e-11 9.89e-11 + 83 1.85 1.85 + 84 0.00642 0.00642 + 85 1.68 1.68 + 86 0.00123 0.00123 + 87 1.02e-05 1.02e-05 + 88 0.0111 0.0111 + 89 1.65e-14 1.65e-14 + 90 1.2e-15 1.2e-15 + 91 2.02e-15 2.02e-15 + 92 2.74e-15 2.74e-15 + 93 1.77e-16 1.77e-16 + 94 1.33e-16 1.33e-16 + 95 2.03e-15 2.03e-15 + 96 8.84e-15 8.84e-15 + 97 2.6e-15 2.6e-15 + 98 0.256 0.256 + 99 1.19e-06 1.19e-06 + 100 1.07e-08 1.07e-08 + 101 3.29e-15 3.29e-15 + 102 5.12e-17 5.12e-17 + 103 3.97e-16 3.97e-16 + 104 1.01e-15 1.01e-15 + 105 2.75e-22 2.75e-22 + 106 9.78e-22 9.78e-22 + 107 3.61e-21 3.61e-21 + 108 2.14e-20 2.14e-20 + 109 5.83e-23 5.83e-23 + 110 8.45e-26 8.45e-26 + 111 1.53e-25 1.53e-25 + 112 2.5e-31 2.5e-31 + 113 2.38e-18 2.38e-18 + 114 3.84e-09 3.84e-09 + 115 5.4e-07 5.4e-07 + 116 5.44e-19 5.44e-19 + 117 1.53e-19 1.53e-19 + 118 5.8e-18 5.8e-18 + 119 7.69e-05 7.69e-05 + 120 1.48e-13 1.48e-13 + 121 5.93e-14 5.93e-14 + 122 5.97e-30 5.97e-30 + 123 3.37e-29 3.37e-29 + 124 9.47e-15 9.47e-15 + 125 1.29e-15 1.29e-15 + 126 1.6e-14 1.6e-14 + 127 5.77e-31 5.77e-31 + 128 2.44e-30 2.44e-30 + 129 2.07e-30 2.07e-30 + 130 2.48e-18 2.48e-18 + 131 5.75e-15 5.75e-15 + 132 4.92e-24 4.92e-24 + 133 3.1e-33 3.1e-33 + 135 2.8e-17 2.8e-17 + 136 3.74e-30 3.74e-30 + 137 8.22e-30 8.22e-30 + 138 1.53e-31 1.53e-31 + 139 3.87e-18 3.87e-18 + 140 4.7e-33 4.7e-33 + 141 1.84e-14 1.84e-14 + 143 5.85e-16 5.85e-16 + 144 2.51e-16 2.51e-16 + 145 2.53e-16 2.53e-16 + 146 8.92e-17 8.92e-17 + 147 1.05e-14 1.05e-14 + 148 1.65e-31 1.65e-31 + 149 9.31e-32 9.31e-32 + 150 8.23e-17 8.23e-17 + 151 1.18e-15 1.18e-15 + 152 2.36e-15 2.36e-15 + 153 6.87e-48 6.87e-48 + 154 6.48e-17 6.48e-17 + 155 4.35e-17 4.35e-17 + 156 1.52e-20 1.52e-20 + 157 4.24e-31 4.24e-31 + 158 1.5e-30 1.5e-30 + 159 1.28e-21 1.28e-21 + 160 1.38e-24 1.38e-24 + 161 3.02e-32 3.02e-32 + 162 1.01e-32 1.01e-32 + 163 4.21e-42 4.21e-42 + 164 5.25e-48 5.25e-48 + 165 1.93e-05 1.93e-05 + 166 1.24e-05 1.24e-05 + 167 1.03e-06 1.03e-06 + 168 3.4e-14 3.4e-14 + 169 8.46e-16 8.46e-16 + 170 5.77e-22 5.77e-22 + 171 3.06e-22 3.06e-22 + 172 4.92e-26 4.92e-26 + 173 2.85e-26 2.85e-26 + 174 1.4e-31 1.4e-31 + 175 4.03e-18 4.03e-18 + 176 6.74e-36 6.74e-36 + 177 1.89e-05 1.89e-05 + 178 1.35e-05 1.35e-05 + 179 2.65e-05 2.65e-05 + 180 1.32e-07 1.32e-07 + 181 1.6e-07 1.6e-07 + 182 4.99e-06 4.99e-06 + 183 2.07e-07 2.07e-07 + 184 1.13e-05 1.13e-05 + 185 0.000156 0.000156 + 186 0.000483 0.000483 + 187 2.55e-05 2.55e-05 + 188 0.000658 0.000658 + 189 3.93e-07 3.93e-07 + 190 2.55e-07 2.55e-07 + 191 2.28e-06 2.28e-06 + 192 2.32e-06 2.32e-06 + 193 1.99e-07 1.99e-07 + 194 5.15e-08 5.15e-08 + 195 5.27e-12 5.27e-12 + 196 5.57e-06 5.57e-06 + 197 3.69e-07 3.69e-07 + 198 1.15e-06 1.15e-06 + 199 9.77e-09 9.77e-09 + 200 1.27e-07 1.27e-07 + 201 4.92e-08 4.92e-08 + 202 3.86e-07 3.86e-07 + 203 0.000797 0.000797 + 204 0.000471 0.000471 + 205 7.12e-07 7.12e-07 + 206 8.71e-08 8.71e-08 + 207 2.44e-07 2.44e-07 + 208 1.52e-07 1.52e-07 + 209 8.07e-07 8.07e-07 + 210 2.05e-21 2.05e-21 + 211 0.000301 0.000301 + 212 6.65e-06 6.65e-06 + 213 4.57e-05 4.57e-05 + 214 0.000111 0.000111 + 215 5.48e-06 5.48e-06 + 216 8.71e-12 8.71e-12 + 217 5.24e-11 5.24e-11 + 218 1.11e-10 1.11e-10 + 219 3.14e-11 3.14e-11 + 220 2.15e-11 2.15e-11 + 221 1.2e-09 1.2e-09 + 222 2.42e-09 2.42e-09 + 223 1.48e-09 1.48e-09 + 224 3.66e-14 3.66e-14 + 225 4.22e-11 4.22e-11 + 226 4.86e-10 4.86e-10 + 227 7e-10 7e-10 + 228 3.44e-10 3.44e-10 + 229 5.22e-14 5.22e-14 + 230 1.29e-10 1.29e-10 + 231 3.22e-11 3.22e-11 + 232 4.96e-11 4.96e-11 + 233 1.08e-10 1.08e-10 + 234 1.25e-11 1.25e-11 + 235 2.52e-12 2.52e-12 + 236 1.16e-13 1.16e-13 + 237 1.08e-20 1.08e-20 + 238 1.26e-16 1.26e-16 + 239 2.52e-16 2.52e-16 + 240 2.6e-17 2.6e-17 + 241 9.81e-21 9.81e-21 + 242 4.55e-23 4.55e-23 + 243 5.53e-15 5.53e-15 + 244 8.44e-15 8.44e-15 + 245 1.44e-15 1.44e-15 + 246 5.7e-16 5.7e-16 + 247 8.66e-16 8.66e-16 + 248 5.05e-16 5.05e-16 + 249 1.07e-16 1.07e-16 + 250 1.85e-16 1.85e-16 + 251 2.96e-17 2.96e-17 + 252 6.28e-18 6.28e-18 + 253 1.09e-17 1.09e-17 + 254 6.41e-17 6.41e-17 + 255 3.37e-18 3.37e-18 + 256 3.36e-20 3.36e-20 + 257 3.06e-21 3.06e-21 + 258 7.5e-19 7.5e-19 + 259 2.12e-19 2.12e-19 + 260 1.34e-19 1.34e-19 + 261 8.17e-10 8.17e-10 + 262 1.22e-12 1.22e-12 + 263 2.05e-09 2.05e-09 + 264 4.49e-09 4.49e-09 + 265 1.11e-09 1.11e-09 + 266 1.96e-08 1.96e-08 + 267 1.96e-09 1.96e-09 + 268 3.59e-10 3.59e-10 + 269 1.1e-15 1.1e-15 + 270 1.35e-16 1.35e-16 + 271 5.56e-17 5.56e-17 + 272 1.62e-10 1.62e-10 + 273 3.44e-18 3.44e-18 + 274 9.23e-20 9.23e-20 + 275 2.1e-20 2.1e-20 + 276 4.14e-08 4.14e-08 + 277 8.47e-07 8.47e-07 + 278 5.3e-08 5.3e-08 + 279 1.2e-06 1.2e-06 + 280 5.9e-15 5.9e-15 + 281 5.82e-13 5.82e-13 + 282 5.5e-06 5.5e-06 + 284 1.12e-26 1.12e-26 + 285 1.09e-30 1.09e-30 + 286 0.00701 0.00701 + 288 3.07e-18 3.07e-18 + 290 6.05e-16 6.05e-16 + 293 1.68e-25 1.68e-25 + 294 2.08e-26 2.08e-26 + 295 7.82e-26 7.82e-26 + 298 1.57e-25 1.57e-25 + 303 2.86e-21 2.86e-21 + 307 2.32e-24 2.32e-24 + 308 1.16e-24 1.16e-24 + 309 1.68e-23 1.68e-23 + 310 4.21e-23 4.21e-23 + 311 2.56e-47 2.56e-47 + 312 3.07e-48 3.07e-48 + 313 3.1e-48 3.1e-48 + 314 1.27e-47 1.27e-47 + 315 5.4e-53 5.4e-53 + 316 2.67e-64 2.67e-64 + 317 1.59e-45 1.59e-45 + 318 6.84e-47 6.84e-47 + 319 8.02e-51 8.02e-51 + 320 4.24e-47 4.24e-47 + 321 1.98e-46 1.98e-46 + 322 4.98e-52 4.98e-52 + 324 2.75e-62 2.75e-62 diff --git a/test_problems/python/tut4/runtest b/test_problems/python/tut4/runtest new file mode 100755 index 000000000..81cf1477f --- /dev/null +++ b/test_problems/python/tut4/runtest @@ -0,0 +1,76 @@ +#!/bin/sh +# +# +if test "$#" -ge "2" ; then + echo "runtest ERROR: program requires one argument." + echo " runtest PYTHON_CMD" + exit 0 +fi + +temp_success="1" +/bin/rm -f output.txt diff_test.out csvCode.txt ct2ctml.log \ + gri30.xml + +testName=tut4 +################################################################# +# +################################################################# +# +# Try to create a default python executable location if no +# argument to runtest is supplied. +# +if test -z "$PYTHON_CMD" ; then + if test -z "$PYTHONHOME" ; then + PYTHON_CMDA=python + else + PYTHON_CMDA=$PYTHONHOME/bin/python + fi +else + PYTHON_CMDA=$PYTHON_CMD +fi +FIRSTARG=$1 +PYTHON_CMDB=${FIRSTARG:=$PYTHON_CMDA} + +# +# Check to see whether the python executable exists in the +# current user path +# +locThere=`which $PYTHON_CMDB 2>&1` +isThere=$? +if test "$isThere" != "0" ; then + echo 'Can not find the python executable: ' $PYTHON_CMDB + echo ' ' + echo $locThere + exit 1 +fi +#pVersion=`$PYTHON_CMDB -V 2>&1` + +################################################################# +# +################################################################# + +echo -n "Testing \"$PYTHON_CMDB tut4\" ... " +$PYTHON_CMDB tut4.py > output.txt +retnStat=$? +if [ $retnStat != "0" ] +then + temp_success="0" + echo "ERROR: tut4.py returned with bad status, $retnStat, check output" +fi + +diff -w output.txt output_blessed.txt > diff_test.out +retnStat=$? +if [ $retnStat = "0" ] +then + echo "successful diff comparison on $testName test" + if [ $temp_success = "1" ] + then + echo "PASSED" > csvCode.txt + fi +else + echo "unsuccessful diff comparison on $testName test" + echo "FAILED" > csvCode.txt + temp_success="0" +fi +echo + diff --git a/test_problems/python/tut4/tut4.py b/test_problems/python/tut4/tut4.py new file mode 100755 index 000000000..fdaf662dc --- /dev/null +++ b/test_problems/python/tut4/tut4.py @@ -0,0 +1,78 @@ +################################################################# +print """ + + Tutorial 4: Chemical Equilibrium + +""" +################################################################# + +# To set a gas mixture to a state of chemical equilibrium, use the +# equilibrate method. +# +from Cantera import * +g = GRI30() +g.set(T = 300.0, P = OneAtm, X = 'CH4:0.95,O2:2,N2:7.52') +g.equilibrate('TP') + +# The above statement sets the state of object 'g' to the state of +# chemical equilibrium holding temperature and pressure +# fixed. Alternatively, the specific enthalpy and pressure can be held +# fixed: + +g.set(T = 300.0, P = OneAtm, X = 'CH4:0.95,O2:2,N2:7.52') +g.equilibrate('HP') + +# Other options are +# 'UV' fixed specific internal energy and specific volume +# 'SV' fixed specific entropy and specific volume +# 'SP' fixed specific entropy and pressure + +g.set(T = 300.0, P = OneAtm, X = 'CH4:0.95,O2:2,N2:7.52') +g.equilibrate('UV') +print g + +g.set(T = 300.0, P = OneAtm, X = 'CH4:0.95,O2:2,N2:7.52') +g.equilibrate('SV') +print g + +g.set(T = 300.0, P = OneAtm, X = 'CH4:0.95,O2:2,N2:7.52') +g.equilibrate('SP') +print g + +# How can you tell if 'equilibrate' has correctly found the +# chemical equilibrium state? One way is verify that the net rates of +# progress of all reversible reactions are zero. + +# Here is the code to do this: +g.set(T = 300.0, P = OneAtm, X = 'CH4:0.95,O2:2,N2:7.52') +g.equilibrate('HP') + +rf = g.fwdRatesOfProgress() +rr = g.revRatesOfProgress() +for i in range(g.nReactions()): + if g.isReversible(i) and rf[i] <> 0.0: + print ' %4i %10.3g %10.3g ' % (i, rf[i] , rr[i]) +# print ' %4i %10.4g ' % (i, (rf[i] - rr[i])/rf[i]) +# (modification for test suite -> shouldn't print nearly zero numbers) +# If the magnitudes of the numbers in this list are all very small, +# then each reversible reaction is very nearly equilibrated, which +# only occurs if the gas is in chemical equilibrium. + +# You might be wondering how 'equilibrate' works. (Then again, you might +# not, in which case you can go on to the next tutorial now.) Method +# 'equilibrate' invokes Cantera's chemical equilibrium solver, which +# uses an element potential method. The element potential method is +# one of a class of equivalent 'nonstoichiometric' methods that all +# have the characteristic that the problem reduces to solving a set of +# M nonlinear algebraic equations, where M is the number of elements +# (not species). The so-called 'stoichiometric' methods, on the other +# hand, (including Gibbs minimization), require solving K nonlinear +# equations, where K is the number of species (usually K >> M). See +# Smith and Missen, "Chemical Reaction Equilibrium Analysis" for more +# information on the various algorithms and their characteristics. +# +# Cantera uses a damped Newton method to solve these equations, and +# does a few other things to generate a good starting guess and to +# produce a reasonably robust algorithm. If you want to know more +# about the details, look at the on-line documented source code of +# Cantera C++ class 'ChemEquil.h' at http://www.cantera.org.