This merge skips some of the source tree rearrangement from the autotools branch, so the autotools build system is not presently working. Conflicts: Cantera/cxx/include/kinetics.h Cantera/cxx/include/zerodim.h Cantera/cxx/src/Cantera.h Cantera/cxx/src/importPhase.cpp Cantera/cxx/src/importPhase.h Cantera/cxx/src/thermo.h Cantera/cxx/src/transport.h Cantera/ext/f2c_libs/arith.hwin32 Cantera/ext/f2c_libs/arithchk.c Cantera/ext/f2c_libs/ftell64_.c Cantera/ext/f2c_libs/pow_qq.c Cantera/ext/f2c_libs/qbitbits.c Cantera/ext/f2c_libs/qbitshft.c Cantera/ext/f2c_math/mkl_cblas.h Cantera/ext/f2c_recipes/Makefile.in Cantera/ext/f2c_recipes/simp1.c Cantera/ext/f2c_recipes/simp2.c Cantera/ext/f2c_recipes/simp3.c Cantera/ext/f2c_recipes/simplx.c Cantera/ext/f2c_recipes/splie2.c Cantera/ext/f2c_recipes/splin2.c Cantera/ext/f2c_recipes/spline.c Cantera/ext/f2c_recipes/splint.c Cantera/ext/recipes/Makefile.in Cantera/ext/recipes/simp1.f Cantera/ext/recipes/simp2.f Cantera/ext/recipes/simp3.f Cantera/ext/recipes/simplx.f Cantera/ext/recipes/splie2.f Cantera/ext/recipes/splin2.f Cantera/ext/recipes/spline.f Cantera/ext/recipes/splint.f Cantera/ext/tpx/CMakeLists.txt Cantera/ext/tpx/ideal.cpp Cantera/ext/tpx/lkw.cpp Cantera/ext/tpx/lkw.h Cantera/src/base/config.h.in Cantera/src/converters/ck2ctml.cpp Cantera/src/converters/ck2ctml.h Cantera/src/numerics/NonlinearSolver.cpp Cantera/src/numerics/ctlapack.h Cantera/src/numerics/sort.cpp ChangeLog License.rtf docs/install_examples/cygwin_gcc344_f2c_numeric.sh docs/install_examples/linux.64_sierra_gcc444_python264_numpy docs/install_examples/linux_rhel5_64_gcc424_dbg_python264_numpy docs/install_examples/sol10_64bit_CC57_py24_numarray examples/cxx/flame1.cpp ext/f2c_libs/arithchk.c ext/f2c_libs/arithchk/arithchk.c ext/math/gmres.h test_problems/ChemEquil_gri_pairs/runtest test_problems/ChemEquil_ionizedGas/runtest test_problems/ChemEquil_red1/basopt_red1.cpp test_problems/VCSnonideal/NaCl_equil/Makefile.in test_problems/VPsilane_test/runtest test_problems/cathermo/DH_graph_1/runtest test_problems/cathermo/DH_graph_NM/runtest test_problems/cathermo/DH_graph_Pitzer/runtest test_problems/cathermo/DH_graph_acommon/runtest test_problems/cathermo/DH_graph_bdotak/runtest test_problems/cathermo/HMW_dupl_test/runtest test_problems/cathermo/HMW_graph_GvI/HMW_graph_GvI.cpp test_problems/cathermo/HMW_graph_GvT/HMW_graph_GvT.cpp test_problems/cathermo/VPissp/runtest test_problems/cathermo/ims/runtest test_problems/cathermo/issp/runtest test_problems/cathermo/stoichSubSSTP/runtest test_problems/cathermo/testIAPWS/runtest test_problems/cathermo/testIAPWSPres/runtest test_problems/cathermo/testIAPWSTripP/runtest test_problems/cathermo/testWaterPDSS/runtest test_problems/cathermo/testWaterTP/runtest test_problems/cathermo/wtWater/runtest test_problems/cxx_ex/equil_example1.cpp test_problems/cxx_ex/examples.cpp test_problems/cxx_ex/kinetics_example1.cpp test_problems/cxx_ex/kinetics_example2.cpp test_problems/cxx_ex/kinetics_example3.cpp test_problems/cxx_ex/rxnpath_example1.cpp test_problems/cxx_ex/transport_example1.cpp test_problems/cxx_ex/transport_example2.cpp test_problems/mixGasTransport/runtest test_problems/nasa9_reader/runtest test_problems/negATest/runtest test_problems/printUtilUnitTest/runtest test_problems/pureFluidTest/runtest test_problems/rankine_democxx/runtest test_problems/silane_equil/runtest test_problems/surfSolverTest/runtest test_problems/surfSolverTest/runtest2 test_problems/surfkin/runtest tools/testtools/Makefile.in
77 lines
2.1 KiB
C++
Executable file
77 lines
2.1 KiB
C++
Executable file
#include <cantera/Cantera.h>
|
|
using namespace Cantera;
|
|
using namespace std;
|
|
|
|
#define NUM_EXAMPLES 6
|
|
|
|
int kinetics_example1(int job);
|
|
int kinetics_example2(int job);
|
|
int kinetics_example3(int job);
|
|
int transport_example1(int job);
|
|
int transport_example2(int job);
|
|
int equil_example1(int job);
|
|
int rxnpath_example1(int job);
|
|
|
|
typedef int (*exfun)(int n);
|
|
|
|
int run_example(int n, exfun f, int job = 2) {
|
|
cout << "\n\n\n\n>>>>> example " << n+1 << "\n\nDescription: " << endl;
|
|
int i = f(job);
|
|
return i;
|
|
}
|
|
|
|
// array of example functions
|
|
exfun fex[] = {kinetics_example1, kinetics_example2, kinetics_example3,
|
|
equil_example1,
|
|
transport_example1, transport_example2}; //, rxnpath_example1};
|
|
|
|
|
|
// main program
|
|
int main(int argc, char** argv) {
|
|
#ifdef _MSC_VER
|
|
_set_output_format(_TWO_DIGIT_EXPONENT);
|
|
#endif
|
|
int example_num = 0;
|
|
cout << endl
|
|
<< "-----------------------------------" << endl
|
|
<< " Cantera C++ examples " << endl
|
|
<< "-----------------------------------" << endl;
|
|
|
|
if (argc > 1) {
|
|
string v1 = string(argv[1]);
|
|
if (v1 == "-h") {
|
|
cout << "\nusage: examples <n> \n\nwhere <n> "
|
|
"is the example number to run." << endl;
|
|
cout << "if <n> is omitted, all examples are run."
|
|
<< endl << endl;
|
|
cout << "Examples: " << endl;
|
|
for (int i = 0; i < NUM_EXAMPLES; i++) {
|
|
cout << "(" << i+1 << ") ";
|
|
fex[i](0);
|
|
cout << endl;
|
|
}
|
|
exit(0);
|
|
}
|
|
else
|
|
example_num = atoi(argv[1]);
|
|
}
|
|
try {
|
|
|
|
int i = 0;
|
|
if (example_num == 0) {
|
|
int j;
|
|
for (j = 0; j < NUM_EXAMPLES; j++) {
|
|
i = run_example(j, fex[j], 2);
|
|
}
|
|
}
|
|
else if (example_num > 0 && example_num <= NUM_EXAMPLES)
|
|
i = run_example(example_num-1, fex[example_num-1], 2);
|
|
|
|
return 0;
|
|
}
|
|
catch (CanteraError) {
|
|
showErrors(cerr);
|
|
cerr << "program terminating." << endl;
|
|
return -1;
|
|
}
|
|
}
|