cantera/test_problems/cxx_ex/examples.cpp
Ray Speth 75db210a43 Merge branch 'pecos_autotools' into 'trunk'
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
2012-02-10 16:22:02 +00:00

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;
}
}