From f7a4e3de6486a9f54823d88791372a5da4708c70 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Thu, 23 Feb 2012 21:25:27 +0000 Subject: [PATCH] diamondSurf and min_python/diamond tests now use the same code --- test_problems/SConscript | 15 +- .../minDiamond => diamondSurf}/diamond.cti | 0 test_problems/diamondSurf/diamond.xml | 449 ------------------ test_problems/diamondSurf/runDiamond.cpp | 8 +- .../min_python/minDiamond/diamond_blessed.xml | 449 ------------------ .../min_python/minDiamond/runDiamond.cpp | 147 ------ .../minDiamond/runDiamond_blessed.out | 28 -- .../min_python/minDiamond/run_diamond.py | 25 - test_problems/min_python/minDiamond/tdia_a.py | 31 -- 9 files changed, 17 insertions(+), 1135 deletions(-) rename test_problems/{min_python/minDiamond => diamondSurf}/diamond.cti (100%) delete mode 100644 test_problems/diamondSurf/diamond.xml delete mode 100644 test_problems/min_python/minDiamond/diamond_blessed.xml delete mode 100644 test_problems/min_python/minDiamond/runDiamond.cpp delete mode 100644 test_problems/min_python/minDiamond/runDiamond_blessed.out delete mode 100644 test_problems/min_python/minDiamond/run_diamond.py delete mode 100755 test_problems/min_python/minDiamond/tdia_a.py diff --git a/test_problems/SConscript b/test_problems/SConscript index e48cf59cc..0a4e6df5d 100644 --- a/test_problems/SConscript +++ b/test_problems/SConscript @@ -239,11 +239,18 @@ CompileAndTest('cxx_ex', 'cxx_ex', 'cxx_examples', 'output_blessed.txt', threshold=1e-7, artifacts=['eq1.dat', 'kin1.dat', 'kin2.dat', 'kin3.csv', 'kin3.dat', 'tr1.dat', 'tr2.dat']) -CompileAndTest('diamondSurf', 'diamondSurf', 'runDiamond', 'runDiamond_blessed.out') + +diamond = localenv.Program('diamondSurf/runDiamond', + 'diamondSurf/runDiamond.cpp', + LIBS=env['cantera_libs']) +diamond_name = diamond[0].name +Test('diamondSurf-xml', 'diamondSurf', diamond, 'runDiamond_blessed.out', + options='diamond_blessed.xml', artifacts=diamond_name) +Test('diamondSurf-cti', 'diamondSurf', diamond, 'runDiamond_blessed.out', + options='diamond.cti', artifacts=diamond_name, + comparisons=[('diamond_blessed.xml', 'diamond.xml')]) + CompileAndTest('fracCoeff', 'fracCoeff', 'fracCoeff', 'frac_blessed.out') -CompileAndTest('minDiamond', pjoin('min_python', 'minDiamond'), - 'runDiamond', 'runDiamond_blessed.out', - comparisons=[('diamond_blessed.xml', 'diamond.xml')]) CompileAndTest('mixGasTransport', 'mixGasTransport', 'mixGasTransport', 'output_blessed.txt') CompileAndTest('multiGasTransport', diff --git a/test_problems/min_python/minDiamond/diamond.cti b/test_problems/diamondSurf/diamond.cti similarity index 100% rename from test_problems/min_python/minDiamond/diamond.cti rename to test_problems/diamondSurf/diamond.cti diff --git a/test_problems/diamondSurf/diamond.xml b/test_problems/diamondSurf/diamond.xml deleted file mode 100644 index 812d61a8a..000000000 --- a/test_problems/diamondSurf/diamond.xml +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - - H C - H H2 CH3 CH4 - - 1200.0 - 2666.4473684210525 - H:0.002, H2:0.988, CH3:0.0002, CH4:0.01 - - - - - - - - - H C - C(d) - - 3.52 - - - - - - - - H C - c6HH c6H* c6*H c6** c6HM c6HM* c6*M c6B - - - 1200.0 - c6H*:0.1, c6HH:0.9 - - - 3e-09 - - - - gas diamond - - - - - - - - C:1 - - - 298.14999999999998 - 0.0 - 0.0 - 0.0 - - - - - - - H:1 - - - 298.14999999999998 - 51.700000000000003 - 19.5 - 0.0 - - - - - - - H:1 - - - 298.14999999999998 - 46.100000000000001 - 19.899999999999999 - 0.0 - - - - - - - H:2 - - - 298.14999999999998 - 11.4 - 21.0 - 0.0 - - - - - - - H:4 C:1 - - - 298.14999999999998 - 26.899999999999999 - 40.299999999999997 - 0.0 - - - - - - - H:3 C:1 - - - 298.14999999999998 - 65.799999999999997 - 40.100000000000001 - 0.0 - - - - - - - H:3 C:1 - - - 298.14999999999998 - 53.299999999999997 - 38.899999999999999 - 0.0 - - - - - - - C:0 - - - 298.14999999999998 - 90.0 - 18.399999999999999 - 0.0 - - - - - - - H:2 C:1 - - - 298.14999999999998 - 40.899999999999999 - 26.899999999999999 - 0.0 - - - - - - - - - c6HH + H [=] c6H* + H2 - - - 1.300000E+11 - 0.0 - 7.300000 - - - H:1 c6HH:1.0 - H2:1 c6H*:1.0 - - - - - c6H* + H [=] c6HH - - - 1.000000E+10 - 0.0 - 0.000000 - - - c6H*:1.0 H:1 - c6HH:1.0 - - - - - c6H* + CH3 [=] c6HM - - - 5.000000E+09 - 0.0 - 0.000000 - - - c6H*:1.0 CH3:1 - c6HM:1.0 - - - - - c6HM + H [=] c6*M + H2 - - - 1.300000E+11 - 0.0 - 7.300000 - - - H:1 c6HM:1.0 - H2:1 c6*M:1.0 - - - - - c6*M + H [=] c6HM - - - 1.000000E+10 - 0.0 - 0.000000 - - - H:1 c6*M:1.0 - c6HM:1.0 - - - - - c6HM + H [=] c6HM* + H2 - - - 2.800000E+04 - 0.0 - 7.700000 - - - H:1 c6HM:1.0 - H2:1 c6HM*:1.0 - - - - - c6HM* + H [=] c6HM - - - 1.000000E+10 - 0.0 - 0.000000 - - - c6HM*:1.0 H:1 - c6HM:1.0 - - - - - c6HM* [=] c6*M - - - 1.000000E+08 - 0.0 - 0.000000 - - - c6HM*:1.0 - c6*M:1.0 - - - - - c6HM* + H [=] c6H* + CH3 - - - 3.000000E+10 - 0.0 - 0.000000 - - - c6HM*:1.0 H:1 - c6H*:1.0 CH3:1 - - - - - c6HM* + H [=] c6B + H2 - - - 1.300000E+11 - 0.0 - 7.300000 - - - c6HM*:1.0 H:1 - H2:1 c6B:1.0 - - - - - c6*M + H [=] c6B + H2 - - - 2.800000E+04 - 2.0 - 7.700000 - - - H:1 c6*M:1.0 - H2:1 c6B:1.0 - - - - - c6HH + H [=] c6*H + H2 - - - 1.300000E+11 - 0.0 - 7.300000 - - - H:1 c6HH:1.0 - H2:1 c6*H:1.0 - - - - - c6*H + H [=] c6HH - - - 1.000000E+10 - 0.0 - 0.000000 - - - c6*H:1.0 H:1 - c6HH:1.0 - - - - - c6H* + H [=] c6** + H2 - - - 1.300000E+11 - 0.0 - 7.300000 - - - c6H*:1.0 H:1 - H2:1 c6**:1.0 - - - - - c6** + H [=] c6H* - - - 1.000000E+10 - 0.0 - 0.000000 - - - H:1 c6**:1.0 - c6H*:1.0 - - - - - c6*H + H [=] c6** + H2 - - - 4.500000E+03 - 2.0 - 5.000000 - - - c6*H:1.0 H:1 - H2:1 c6**:1.0 - - - - - c6** + H [=] c6*H - - - 1.000000E+10 - 0.0 - 0.000000 - - - H:1 c6**:1.0 - c6*H:1.0 - - - - - c6** + CH3 [=] c6*M - - - 5.000000E+09 - 0.0 - 0.000000 - - - CH3:1 c6**:1.0 - c6*M:1.0 - - - - - c6H* [=] c6*H - - - 1.000000E+08 - 0.0 - 0.000000 - - - c6H*:1.0 - c6*H:1.0 - - - - - c6B [=] c6HH + C(d) - - - 1.000000E+09 - 0.0 - 0.000000 - - - c6B:1.0 - C(d):1 c6HH:1.0 - - - diff --git a/test_problems/diamondSurf/runDiamond.cpp b/test_problems/diamondSurf/runDiamond.cpp index bc57e180a..d323f42cc 100644 --- a/test_problems/diamondSurf/runDiamond.cpp +++ b/test_problems/diamondSurf/runDiamond.cpp @@ -35,8 +35,13 @@ int main(int argc, char** argv) #ifdef _MSC_VER _set_output_format(_TWO_DIGIT_EXPONENT); #endif + if (argc != 2) { + cout << "Error: no input file specified.\n" + "Choose either 'diamond.cti' or 'diamond_blessed.xml" << endl; + exit(-1); + } + std::string infile(argv[1]); int i, k; - string infile = "diamond.xml"; try { XML_Node* xc = new XML_Node(); @@ -56,7 +61,6 @@ int main(int argc, char** argv) XML_Node* const xs = xc->findNameID("phase", "diamond_100"); ThermoPhase* diamond100TP = newPhase(*xs); - //SurfPhase *diamond100TP = new SurfPhase(*xs); int nsp_d100 = diamond100TP->nSpecies(); cout << "Number of species in diamond_100 = " << nsp_d100 << endl; diff --git a/test_problems/min_python/minDiamond/diamond_blessed.xml b/test_problems/min_python/minDiamond/diamond_blessed.xml deleted file mode 100644 index 812d61a8a..000000000 --- a/test_problems/min_python/minDiamond/diamond_blessed.xml +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - - H C - H H2 CH3 CH4 - - 1200.0 - 2666.4473684210525 - H:0.002, H2:0.988, CH3:0.0002, CH4:0.01 - - - - - - - - - H C - C(d) - - 3.52 - - - - - - - - H C - c6HH c6H* c6*H c6** c6HM c6HM* c6*M c6B - - - 1200.0 - c6H*:0.1, c6HH:0.9 - - - 3e-09 - - - - gas diamond - - - - - - - - C:1 - - - 298.14999999999998 - 0.0 - 0.0 - 0.0 - - - - - - - H:1 - - - 298.14999999999998 - 51.700000000000003 - 19.5 - 0.0 - - - - - - - H:1 - - - 298.14999999999998 - 46.100000000000001 - 19.899999999999999 - 0.0 - - - - - - - H:2 - - - 298.14999999999998 - 11.4 - 21.0 - 0.0 - - - - - - - H:4 C:1 - - - 298.14999999999998 - 26.899999999999999 - 40.299999999999997 - 0.0 - - - - - - - H:3 C:1 - - - 298.14999999999998 - 65.799999999999997 - 40.100000000000001 - 0.0 - - - - - - - H:3 C:1 - - - 298.14999999999998 - 53.299999999999997 - 38.899999999999999 - 0.0 - - - - - - - C:0 - - - 298.14999999999998 - 90.0 - 18.399999999999999 - 0.0 - - - - - - - H:2 C:1 - - - 298.14999999999998 - 40.899999999999999 - 26.899999999999999 - 0.0 - - - - - - - - - c6HH + H [=] c6H* + H2 - - - 1.300000E+11 - 0.0 - 7.300000 - - - H:1 c6HH:1.0 - H2:1 c6H*:1.0 - - - - - c6H* + H [=] c6HH - - - 1.000000E+10 - 0.0 - 0.000000 - - - c6H*:1.0 H:1 - c6HH:1.0 - - - - - c6H* + CH3 [=] c6HM - - - 5.000000E+09 - 0.0 - 0.000000 - - - c6H*:1.0 CH3:1 - c6HM:1.0 - - - - - c6HM + H [=] c6*M + H2 - - - 1.300000E+11 - 0.0 - 7.300000 - - - H:1 c6HM:1.0 - H2:1 c6*M:1.0 - - - - - c6*M + H [=] c6HM - - - 1.000000E+10 - 0.0 - 0.000000 - - - H:1 c6*M:1.0 - c6HM:1.0 - - - - - c6HM + H [=] c6HM* + H2 - - - 2.800000E+04 - 0.0 - 7.700000 - - - H:1 c6HM:1.0 - H2:1 c6HM*:1.0 - - - - - c6HM* + H [=] c6HM - - - 1.000000E+10 - 0.0 - 0.000000 - - - c6HM*:1.0 H:1 - c6HM:1.0 - - - - - c6HM* [=] c6*M - - - 1.000000E+08 - 0.0 - 0.000000 - - - c6HM*:1.0 - c6*M:1.0 - - - - - c6HM* + H [=] c6H* + CH3 - - - 3.000000E+10 - 0.0 - 0.000000 - - - c6HM*:1.0 H:1 - c6H*:1.0 CH3:1 - - - - - c6HM* + H [=] c6B + H2 - - - 1.300000E+11 - 0.0 - 7.300000 - - - c6HM*:1.0 H:1 - H2:1 c6B:1.0 - - - - - c6*M + H [=] c6B + H2 - - - 2.800000E+04 - 2.0 - 7.700000 - - - H:1 c6*M:1.0 - H2:1 c6B:1.0 - - - - - c6HH + H [=] c6*H + H2 - - - 1.300000E+11 - 0.0 - 7.300000 - - - H:1 c6HH:1.0 - H2:1 c6*H:1.0 - - - - - c6*H + H [=] c6HH - - - 1.000000E+10 - 0.0 - 0.000000 - - - c6*H:1.0 H:1 - c6HH:1.0 - - - - - c6H* + H [=] c6** + H2 - - - 1.300000E+11 - 0.0 - 7.300000 - - - c6H*:1.0 H:1 - H2:1 c6**:1.0 - - - - - c6** + H [=] c6H* - - - 1.000000E+10 - 0.0 - 0.000000 - - - H:1 c6**:1.0 - c6H*:1.0 - - - - - c6*H + H [=] c6** + H2 - - - 4.500000E+03 - 2.0 - 5.000000 - - - c6*H:1.0 H:1 - H2:1 c6**:1.0 - - - - - c6** + H [=] c6*H - - - 1.000000E+10 - 0.0 - 0.000000 - - - H:1 c6**:1.0 - c6*H:1.0 - - - - - c6** + CH3 [=] c6*M - - - 5.000000E+09 - 0.0 - 0.000000 - - - CH3:1 c6**:1.0 - c6*M:1.0 - - - - - c6H* [=] c6*H - - - 1.000000E+08 - 0.0 - 0.000000 - - - c6H*:1.0 - c6*H:1.0 - - - - - c6B [=] c6HH + C(d) - - - 1.000000E+09 - 0.0 - 0.000000 - - - c6B:1.0 - C(d):1 c6HH:1.0 - - - diff --git a/test_problems/min_python/minDiamond/runDiamond.cpp b/test_problems/min_python/minDiamond/runDiamond.cpp deleted file mode 100644 index d22b8b16a..000000000 --- a/test_problems/min_python/minDiamond/runDiamond.cpp +++ /dev/null @@ -1,147 +0,0 @@ -/** - * @file runDiamond.cpp - * - */ - -// Example -// -// Note that this example needs updating. It works fine, but is -// written in a way that is less than transparent or -// user-friendly. This could be rewritten using class Interface to -// make things simpler. - -#include "cantera/kinetics.h" - -#include -#include -#include -#include -#include - -using namespace std; -using namespace Cantera; - -void printDbl(double val) -{ - if (fabs(val) < 5.0E-17) { - cout << " nil"; - } else { - cout << val; - } -} - -int main(int argc, char** argv) -{ -#ifdef _MSC_VER - _set_output_format(_TWO_DIGIT_EXPONENT); -#endif - int i, k; - string infile = "diamond.cti"; - - try { - XML_Node* xc = new XML_Node(); - string path = findInputFile(infile); - ctml::get_CTML_Tree(xc, path); - - XML_Node* const xg = xc->findNameID("phase", "gas"); - ThermoPhase* gasTP = newPhase(*xg); - int nsp = gasTP->nSpecies(); - cout << "Number of species = " << nsp << endl; - - XML_Node* const xd = xc->findNameID("phase", "diamond"); - ThermoPhase* diamondTP = newPhase(*xd); - int nsp_diamond = diamondTP->nSpecies(); - cout << "Number of species in diamond = " << nsp_diamond << endl; - - - XML_Node* const xs = xc->findNameID("phase", "diamond_100"); - ThermoPhase* diamond100TP = newPhase(*xs); - int nsp_d100 = diamond100TP->nSpecies(); - cout << "Number of species in diamond_100 = " << nsp_d100 << endl; - - vector phaseList; - phaseList.push_back(gasTP); - phaseList.push_back(diamondTP); - phaseList.push_back(diamond100TP); - InterfaceKinetics* iKin_ptr = new InterfaceKinetics(); - importKinetics(*xs, phaseList, iKin_ptr); - int nr = iKin_ptr->nReactions(); - cout << "Number of reactions = " << nr << endl; - - double x[20]; - for (i = 0; i < 20; i++) { - x[i] = 0.0; - } - x[0] = 0.0010; - x[1] = 0.9888; - x[2] = 0.0002; - x[3] = 0.0100; - double p = 20.0*OneAtm/760.0; - - gasTP->setState_TPX(1200., p, x); - - for (i = 0; i < 20; i++) { - x[i] = 0.0; - } - int i0 = diamond100TP->speciesIndex("c6H*"); - x[i0] = 0.1; - int i1 = diamond100TP->speciesIndex("c6HH"); - x[i1] = 0.9; - diamond100TP->setState_TX(1200., x); - - for (i = 0; i < 20; i++) { - x[i] = 0.0; - } - x[0] = 1.0; - diamondTP->setState_TPX(1200., p, x); - - iKin_ptr->advanceCoverages(100.); - - - double src[20]; - for (i = 0; i < 20; i++) { - src[i] = 0.0; - } - iKin_ptr->getNetProductionRates(src); - double sum = 0.0; - double naH = 0.0; - for (k = 0; k < 13; k++) { - if (k < 4) { - naH = gasTP->nAtoms(k, 0); - } else if (k == 4) { - naH = 0; - } else if (k > 4) { - int itp = k - 5; - naH = diamond100TP->nAtoms(itp, 0); - } - cout << k << " " << naH << " " ; - printDbl(src[k]); - cout << endl; - sum += naH * src[k]; - - } - - cout << "sum = "; - printDbl(sum); - cout << endl; - double mwd = diamondTP->molecularWeight(0); - double dens = diamondTP->density(); - double gr = src[4] * mwd / dens; - gr *= 1.0E6 * 3600.; - cout << "growth rate = " << gr << " microns per hour" << endl; - - - diamond100TP->getMoleFractions(x); - cout << "Coverages:" << endl; - for (k = 0; k < 8; k++) { - cout << k << " " << diamond100TP->speciesName(k) - << " " - << x[k] << endl; - } - } catch (CanteraError) { - showErrors(cout); - } - - return 0; -} -/***********************************************************/ diff --git a/test_problems/min_python/minDiamond/runDiamond_blessed.out b/test_problems/min_python/minDiamond/runDiamond_blessed.out deleted file mode 100644 index 99d1b45ac..000000000 --- a/test_problems/min_python/minDiamond/runDiamond_blessed.out +++ /dev/null @@ -1,28 +0,0 @@ -Number of species = 4 -Number of species in diamond = 1 -Number of species in diamond_100 = 8 -Number of reactions = 20 -0 1 -8.95751e-05 -1 2 4.48403e-05 -2 3 -3.51539e-08 -3 4 nil -4 0 3.51539e-08 -5 2 nil -6 1 nil -7 1 nil -8 0 nil -9 4 nil -10 3 nil -11 3 nil -12 2 nil -sum = nil -growth rate = 0.43183 microns per hour -Coverages: -0 c6HH 0.462262 -1 c6H* 0.037052 -2 c6*H 0.474283 -3 c6** 0.0219445 -4 c6HM 0.00174648 -5 c6HM* 2.56272e-05 -6 c6*M 0.00264858 -7 c6B 3.8171e-05 diff --git a/test_problems/min_python/minDiamond/run_diamond.py b/test_problems/min_python/minDiamond/run_diamond.py deleted file mode 100644 index 802d5add5..000000000 --- a/test_problems/min_python/minDiamond/run_diamond.py +++ /dev/null @@ -1,25 +0,0 @@ -from Cantera import * -# import the bulk phases -g, dbulk = importPhases('diamond.cti', ['gas','diamond']) - -# import the interface -d = importInterface('diamond.cti', 'diamond_100', phases = [g, dbulk]) - -mw = dbulk.molarMasses()[0] #mol. wt. of carbin - -t = g.temperature() -p = g.pressure() -x = g.moleFractions() -ih = g.speciesIndex('H') - -f = open('d.csv', 'w') -for n in range (20): - x[ih] /= 1.4 - g.setState_TPX(t, p, x) - # integrate the coverage equations to steady state - d.advanceCoverages(100.0) - cdot = d.netProductionRates(phase = dbulk) [0] #net rate of C(d production /m^2 - mdot = mw * cdot - linear_rate = mdot/dbulk.density() - writeCSV(f, [x[ih], rate]+list(d.coverages())) -f.close() diff --git a/test_problems/min_python/minDiamond/tdia_a.py b/test_problems/min_python/minDiamond/tdia_a.py deleted file mode 100755 index 23df6bc1b..000000000 --- a/test_problems/min_python/minDiamond/tdia_a.py +++ /dev/null @@ -1,31 +0,0 @@ -from Cantera import * -import math - -g, dbulk = importPhases('diamond.cti',['gas','diamond']) - -d = importInterface('diamond.cti','diamond_100',phases = [g, dbulk]) -ns = d.nSpecies() -mw = dbulk.molarMasses()[0] - -t = 1200.0 -x = g.moleFractions() -p = 20.0*OneAtm/760.0 -g.setState_TPX(t, p, x) -ih = g.speciesIndex('H') - -xh0 = x[ih] -f = open('d.csv','w') -#writeCSV(f, ['H mole Fraction', 'Rate']+d.speciesNames()) -for n in range(20): - x[ih] /= 1.4 - g.setState_TPX(t, p, x) - d.advanceCoverages(10.0) - cdot = d.netProductionRates(phase = dbulk)[0] - mdot = mw*cdot - rate = mdot/dbulk.density() - print x[ih], rate*1.0e6*3600.0 - writeCSV(f,[x[ih],rate]+list(d.coverages())) -f.close() - - -