Added a new test that pretty much mimics the frac python test.
It does add tests for the calculation of equilibrium constants for fractional coefficient reactions.
This commit is contained in:
parent
43c1d33f67
commit
2f5bf8b7fb
9 changed files with 667 additions and 4 deletions
|
|
@ -8,15 +8,17 @@ test_python=@BUILD_PYTHON@
|
|||
|
||||
all:
|
||||
cd cxx_ex; @MAKE@ all
|
||||
# cd silane_equil; @MAKE@ all
|
||||
cd silane_equil; @MAKE@ all
|
||||
cd surfkin; @MAKE@ all
|
||||
cd fracCoeff; @MAKE@ all
|
||||
cd diamondSurf; @MAKE@ all
|
||||
cd ck2cti_test; @MAKE@ all
|
||||
|
||||
test:
|
||||
cd cxx_ex; @MAKE@ test
|
||||
# cd silane_equil; @MAKE@ test
|
||||
cd silane_equil; @MAKE@ test
|
||||
cd surfkin; @MAKE@ test
|
||||
cd fracCoeff; @MAKE@ test
|
||||
cd diamondSurf; @MAKE@ test
|
||||
cd ck2cti_test; @MAKE@ test
|
||||
ifeq ($(test_python),2)
|
||||
|
|
@ -26,8 +28,9 @@ endif
|
|||
clean:
|
||||
$(RM) *.*~
|
||||
cd cxx_ex; @MAKE@ clean
|
||||
# cd silane_equil; @MAKE@ clean
|
||||
cd silane_equil; @MAKE@ clean
|
||||
cd surfkin; @MAKE@ clean
|
||||
cd fracCoeff; @MAKE@ clean
|
||||
cd diamondSurf; @MAKE@ clean
|
||||
cd ck2cti_test; @MAKE@ clean
|
||||
ifeq ($(test_python),2)
|
||||
|
|
@ -36,8 +39,9 @@ endif
|
|||
|
||||
depends:
|
||||
cd cxx_ex; @MAKE@ depends
|
||||
# cd silane_equil; @MAKE@ depends
|
||||
cd silane_equil; @MAKE@ depends
|
||||
cd surfkin; @MAKE@ depends
|
||||
cd fracCoeff; @MAKE@ depends
|
||||
cd diamondSurf; @MAKE@ depends
|
||||
cd ck2cti_test; @MAKE@ depends
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ test:
|
|||
./runtest
|
||||
|
||||
clean:
|
||||
(cd ../../examples/cxx ; @MAKE@ clean )
|
||||
../../bin/rm_cvsignore
|
||||
|
||||
depends:
|
||||
|
|
|
|||
20
test_problems/fracCoeff/.cvsignore
Normal file
20
test_problems/fracCoeff/.cvsignore
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
Makefile
|
||||
csvCode.txt
|
||||
diff_test.out
|
||||
output.txt
|
||||
runDiamond
|
||||
ct2ctml.log
|
||||
diamond.xml
|
||||
xml_diff_test.out
|
||||
.depends
|
||||
*.d
|
||||
.cttmp.py
|
||||
runDiamond.ilk
|
||||
diamondSurf.pdb
|
||||
diamonda.xml
|
||||
outputa.txt
|
||||
test.xml
|
||||
fracCoeff
|
||||
Sun*
|
||||
frac.xml
|
||||
fraca.xml
|
||||
113
test_problems/fracCoeff/Makefile.in
Normal file
113
test_problems/fracCoeff/Makefile.in
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
#!/bin/sh
|
||||
|
||||
############################################################################
|
||||
#
|
||||
# Makefile to compile and link a C++ application to
|
||||
# Cantera.
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
# addition to suffixes
|
||||
.SUFFIXES : .d
|
||||
|
||||
# the name of the executable program to be created
|
||||
PROG_NAME = fracCoeff
|
||||
|
||||
# the object files to be linked together. List those generated from Fortran
|
||||
# and from C/C++ separately
|
||||
OBJS = fracCoeff.o
|
||||
|
||||
# Location of the current build. Will assume that tests are run
|
||||
# in the source directory tree location
|
||||
src_dir_tree = 1
|
||||
|
||||
# additional flags to be passed to the linker. If your program
|
||||
# requires other external libraries, put them here
|
||||
LINK_OPTIONS = @EXTRA_LINK@
|
||||
|
||||
#############################################################################
|
||||
|
||||
# Check to see whether we are in the msvc++ environment
|
||||
os_is_win = @OS_IS_WIN@
|
||||
|
||||
# Fortran libraries
|
||||
FORT_LIBS = @FLIBS@
|
||||
|
||||
# the C++ compiler
|
||||
CXX = @CXX@
|
||||
|
||||
# C++ compile flags
|
||||
ifeq ($(src_dir_tree), 1)
|
||||
CXX_FLAGS = -DSRCDIRTREE @CXXFLAGS@
|
||||
else
|
||||
CXX_FLAGS = @CXXFLAGS@
|
||||
endif
|
||||
|
||||
# Ending C++ linking libraries
|
||||
LCXX_END_LIBS = @LCXX_END_LIBS@
|
||||
|
||||
# the directory where the Cantera libraries are located
|
||||
CANTERA_LIBDIR=@buildlib@
|
||||
|
||||
# required Cantera libraries
|
||||
CANTERA_LIBS = @LOCAL_LIBS@ -lctcxx
|
||||
|
||||
# the directory where Cantera include files may be found.
|
||||
ifeq ($(src_dir_tree), 1)
|
||||
CANTERA_INCDIR=../../Cantera/src
|
||||
else
|
||||
CANTERA_INCDIR=@ctroot@/build/include/cantera
|
||||
endif
|
||||
|
||||
# flags passed to the C++ compiler/linker for the linking step
|
||||
LCXX_FLAGS = -L$(CANTERA_LIBDIR) @LOCAL_LIB_DIRS@ @CXXFLAGS@
|
||||
|
||||
# How to compile C++ source files to object files
|
||||
.@CXX_EXT@.@OBJ_EXT@: Interface.h
|
||||
$(CXX) -c $< -I$(CANTERA_INCDIR) $(CXX_FLAGS)
|
||||
|
||||
# How to compile the dependency file
|
||||
.cpp.d:
|
||||
g++ -MM -I$(CANTERA_INCDIR) $(CXX_FLAGS) $*.cpp > $*.d
|
||||
|
||||
# List of dependency files to be created
|
||||
DEPENDS=$(OBJS:.o=.d)
|
||||
|
||||
# Program Name
|
||||
PROGRAM = $(PROG_NAME)$(EXE_EXT)
|
||||
|
||||
# all rule makes a single program
|
||||
all: $(PROGRAM)
|
||||
|
||||
# Rule to make the program
|
||||
$(PROGRAM): $(OBJS) $(CANTERA_LIBDIR)/libcantera.a
|
||||
$(CXX) -o $(PROGRAM) $(OBJS) $(LCXX_FLAGS) $(LINK_OPTIONS) \
|
||||
$(CANTERA_LIBS) @LIBS@ $(FORT_LIBS) \
|
||||
$(LCXX_END_LIBS)
|
||||
|
||||
# depends target
|
||||
depends:
|
||||
$(RM) *.d .depends
|
||||
@MAKE@ .depends
|
||||
|
||||
.depends: $(DEPENDS)
|
||||
cat *.d > .depends
|
||||
|
||||
# Do the test -> For the windows vc++ environment, we have to skip checking on
|
||||
# whether the program is uptodate, because we don't utilize make
|
||||
# in that environment to build programs.
|
||||
test:
|
||||
ifeq ($(os_is_win), 1)
|
||||
else
|
||||
@MAKE@ $(PROGRAM)
|
||||
endif
|
||||
./runtest
|
||||
|
||||
# clean target -> clean up
|
||||
clean:
|
||||
$(RM) $(OBJS) $(PROGRAM) $(DEPENDS) .depends
|
||||
../../bin/rm_cvsignore
|
||||
(if test -d SunWS_cache ; then \
|
||||
$(RM) -rf SunWS_cache ; \
|
||||
fi )
|
||||
|
||||
106
test_problems/fracCoeff/frac.cti
Normal file
106
test_problems/fracCoeff/frac.cti
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
#
|
||||
# Input file to test use of non-integral stoichiometric
|
||||
# coefficients. Used with script frac.py.
|
||||
#
|
||||
|
||||
units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
|
||||
|
||||
|
||||
ideal_gas(name = "gas",
|
||||
elements = " O H ",
|
||||
species = """ H2 H O O2 OH H2O """,
|
||||
reactions = "all",
|
||||
initial_state = state(temperature = 300.0,
|
||||
pressure = OneAtm) )
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name = "H2",
|
||||
atoms = " H:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.344331120E+00, 7.980520750E-03,
|
||||
-1.947815100E-05, 2.015720940E-08, -7.376117610E-12,
|
||||
-9.179351730E+02, 6.830102380E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.337279200E+00, -4.940247310E-05,
|
||||
4.994567780E-07, -1.795663940E-10, 2.002553760E-14,
|
||||
-9.501589220E+02, -3.205023310E+00] )
|
||||
)
|
||||
)
|
||||
|
||||
species(name = "H",
|
||||
atoms = " H:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 7.053328190E-13,
|
||||
-1.995919640E-15, 2.300816320E-18, -9.277323320E-22,
|
||||
2.547365990E+04, -4.466828530E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 2.500000010E+00, -2.308429730E-11,
|
||||
1.615619480E-14, -4.735152350E-18, 4.981973570E-22,
|
||||
2.547365990E+04, -4.466829140E-01] )
|
||||
)
|
||||
)
|
||||
|
||||
species(name = "O",
|
||||
atoms = " O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.168267100E+00, -3.279318840E-03,
|
||||
6.643063960E-06, -6.128066240E-09, 2.112659710E-12,
|
||||
2.912225920E+04, 2.051933460E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 2.569420780E+00, -8.597411370E-05,
|
||||
4.194845890E-08, -1.001777990E-11, 1.228336910E-15,
|
||||
2.921757910E+04, 4.784338640E+00] )
|
||||
)
|
||||
)
|
||||
|
||||
species(name = "O2",
|
||||
atoms = " O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.782456360E+00, -2.996734160E-03,
|
||||
9.847302010E-06, -9.681295090E-09, 3.243728370E-12,
|
||||
-1.063943560E+03, 3.657675730E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.282537840E+00, 1.483087540E-03,
|
||||
-7.579666690E-07, 2.094705550E-10, -2.167177940E-14,
|
||||
-1.088457720E+03, 5.453231290E+00] )
|
||||
)
|
||||
)
|
||||
|
||||
species(name = "OH",
|
||||
atoms = " O:1 H:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.992015430E+00, -2.401317520E-03,
|
||||
4.617938410E-06, -3.881133330E-09, 1.364114700E-12,
|
||||
3.615080560E+03, -1.039254580E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.092887670E+00, 5.484297160E-04,
|
||||
1.265052280E-07, -8.794615560E-11, 1.174123760E-14,
|
||||
3.858657000E+03, 4.476696100E+00] )
|
||||
)
|
||||
)
|
||||
|
||||
species(name = "H2O",
|
||||
atoms = " H:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 4.198640560E+00, -2.036434100E-03,
|
||||
6.520402110E-06, -5.487970620E-09, 1.771978170E-12,
|
||||
-3.029372670E+04, -8.490322080E-01] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.033992490E+00, 2.176918040E-03,
|
||||
-1.640725180E-07, -9.704198700E-11, 1.682009920E-14,
|
||||
-3.000429710E+04, 4.966770100E+00] )
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
# An irreversible reaction with fractional product coefficients.
|
||||
reaction( "H2O => 1.4 H + 0.6 OH + 0.2 O2", [1.0e13, 0.0, 0.0])
|
||||
|
||||
# A reversible reaction with fractional product coefficients. This is
|
||||
# not allowed, and uncommenting this reaction will result in an error.
|
||||
#reaction( "H2O <=> 1.3 H + 0.7 OH + 0.15 O2", [1.0e13, 0.0, 0.0])
|
||||
|
||||
# A reaction with fractional reactant stoichiometric
|
||||
# coefficients.
|
||||
reaction( "0.7 H2 + 0.6 OH + 0.2 O2 => H2O", [1.0e13, 0.0, 0.0],
|
||||
order = "H2:0.8 OH:2 O2:1")
|
||||
|
||||
185
test_problems/fracCoeff/fracCoeff.cpp
Normal file
185
test_problems/fracCoeff/fracCoeff.cpp
Normal file
|
|
@ -0,0 +1,185 @@
|
|||
/**
|
||||
* @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 <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <iomanip>
|
||||
|
||||
using namespace std;
|
||||
|
||||
#ifdef DEBUG_HKM
|
||||
int iDebug_HKM = 0;
|
||||
#endif
|
||||
|
||||
/*****************************************************************/
|
||||
/*****************************************************************/
|
||||
/*****************************************************************/
|
||||
|
||||
#ifdef SRCDIRTREE
|
||||
#include "ct_defs.h"
|
||||
#include "ctml.h"
|
||||
#include "GasKinetics.h"
|
||||
#include "importCTML.h"
|
||||
#include "ThermoPhase.h"
|
||||
#include "InterfaceKinetics.h"
|
||||
#else
|
||||
#include "Cantera.h"
|
||||
#include "kernel/ct_defs.h"
|
||||
#include "kernel/ctml.h"
|
||||
#include "kernel/GasKinetics.h"
|
||||
#include "kernel/importCTML.h"
|
||||
#include "kernel/ThermoPhase.h"
|
||||
#include "kernel/InterfaceKinetics.h"
|
||||
#endif
|
||||
|
||||
using namespace Cantera;
|
||||
|
||||
void printDbl(double val) {
|
||||
if (fabs(val) < 5.0E-200) {
|
||||
cout << " nil";
|
||||
} else {
|
||||
cout << val;
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
int i, k;
|
||||
string infile = "frac.cti";
|
||||
double x[10], kc[10];
|
||||
double cdot[10], ddot[10];
|
||||
//double fwd_rop[10];
|
||||
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;
|
||||
|
||||
|
||||
|
||||
vector<ThermoPhase *> phaseList;
|
||||
phaseList.push_back(gasTP);
|
||||
GasKinetics *iKin_ptr = new GasKinetics();
|
||||
importKinetics(*xg, phaseList, iKin_ptr);
|
||||
int nr = iKin_ptr->nReactions();
|
||||
cout << "Number of reactions = " << nr << endl;
|
||||
|
||||
int iH2 = gasTP->speciesIndex("H2");
|
||||
int iH = gasTP->speciesIndex("H");
|
||||
int iO2 = gasTP->speciesIndex("O2");
|
||||
int iOH = gasTP->speciesIndex("OH");
|
||||
int iH2O = gasTP->speciesIndex("H2O");
|
||||
|
||||
|
||||
for (i = 0; i < nsp; i++) {
|
||||
x[i] = 0.0;
|
||||
}
|
||||
x[iH2O] = 1.0/2.0;
|
||||
x[iOH] = 0.1/2.0;
|
||||
x[iH] = 0.2/2.0;
|
||||
x[iO2] = 0.3/2.0;
|
||||
x[iH2] = 0.4/2.0;
|
||||
|
||||
double p = OneAtm;
|
||||
|
||||
gasTP->setState_TPX(2000., p, x);
|
||||
|
||||
|
||||
double src[20];
|
||||
for (i = 0; i < 20; i++) src[i] = 0.0;
|
||||
iKin_ptr->getNetProductionRates(src);
|
||||
|
||||
double fwd_rop[10];
|
||||
iKin_ptr->getFwdRatesOfProgress(fwd_rop);
|
||||
cout << "fwd_rop[0] = " << fwd_rop[0] << endl;
|
||||
cout << "fwd_rop[1] = " << fwd_rop[1] << endl;
|
||||
|
||||
iKin_ptr->getCreationRates(cdot);
|
||||
iKin_ptr->getDestructionRates(ddot);
|
||||
|
||||
for (k = 0; k < nsp; k++) {
|
||||
string sss = gasTP->speciesName(k);
|
||||
cout << k << " " << sss << " ";
|
||||
printDbl(src[k]);
|
||||
cout << endl;
|
||||
}
|
||||
|
||||
printf("Creation Rates: \n");
|
||||
for (k = 0; k < nsp - 1; k++) {
|
||||
string sss = gasTP->speciesName(k);
|
||||
cout << k << " " << sss << " ";
|
||||
cout << cdot[k] << " ";
|
||||
cout << cdot[k] / fwd_rop[0] << " ";
|
||||
cout << endl;
|
||||
}
|
||||
string sss = gasTP->speciesName(iH2O);
|
||||
cout << iH2O << " " << sss << " ";
|
||||
cout << cdot[iH2O] << " ";
|
||||
cout << cdot[iH2O] / fwd_rop[1] << " ";
|
||||
cout << endl;
|
||||
|
||||
|
||||
printf("Destruction Rates: \n");
|
||||
for (k = 0; k < nsp-1; k++) {
|
||||
string sss = gasTP->speciesName(k);
|
||||
cout << k << " " << sss << " ";
|
||||
cout << ddot[k] << " ";
|
||||
cout << ddot[k] / fwd_rop[1] << " ";
|
||||
cout << endl;
|
||||
}
|
||||
sss = gasTP->speciesName(iH2O);
|
||||
cout << iH2O << " " << sss << " ";
|
||||
cout << ddot[iH2O] << " ";
|
||||
cout << ddot[iH2O] / fwd_rop[0] << " ";
|
||||
cout << endl;
|
||||
|
||||
|
||||
double c[10];
|
||||
gasTP->getConcentrations(c);
|
||||
|
||||
double order_H2 = 0.8;
|
||||
double order_OH = 2.0;
|
||||
double order_O2 = 1.0;
|
||||
|
||||
double kf[10];
|
||||
iKin_ptr->getFwdRateConstants(kf);
|
||||
printf("kf[0] = %g\n", kf[0]);
|
||||
printf("kf[1] = %g\n", kf[1]);
|
||||
|
||||
//double cprod0 = c[iH2O];
|
||||
double cprod1 = pow(c[iH2], order_H2) * pow(c[iOH], order_OH) * pow(c[iO2], order_O2);
|
||||
|
||||
printf("equal numbers 0: %g %g \n", kf[0] * c[iH2O], fwd_rop[0]);
|
||||
|
||||
printf("equal numbers 1: %g %g\n", kf[1] * cprod1, fwd_rop[1]);
|
||||
|
||||
iKin_ptr->getEquilibriumConstants(kc);
|
||||
|
||||
printf("Equilibrium constants for irreversible fractional rxns:\n");
|
||||
printf("Kc[0] = %g\n", kc[0]);
|
||||
printf("Kc[1] = %g\n", kc[1]);
|
||||
|
||||
|
||||
}
|
||||
catch (CanteraError) {
|
||||
showErrors(cout);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/***********************************************************/
|
||||
31
test_problems/fracCoeff/frac_blessed.out
Normal file
31
test_problems/fracCoeff/frac_blessed.out
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
Number of species = 6
|
||||
Number of reactions = 2
|
||||
fwd_rop[0] = 3.04665e+10
|
||||
fwd_rop[1] = 1.57504e-08
|
||||
0 H2 -1.10253e-08
|
||||
1 H 4.2653e+10
|
||||
2 O nil
|
||||
3 O2 6.09329e+09
|
||||
4 OH 1.82799e+10
|
||||
5 H2O -3.04665e+10
|
||||
Creation Rates:
|
||||
0 H2 0 0
|
||||
1 H 4.2653e+10 1.4
|
||||
2 O 0 0
|
||||
3 O2 6.09329e+09 0.2
|
||||
4 OH 1.82799e+10 0.6
|
||||
5 H2O 1.57504e-08 1
|
||||
Destruction Rates:
|
||||
0 H2 1.10253e-08 0.7
|
||||
1 H 0 0
|
||||
2 O 0 0
|
||||
3 O2 3.15009e-09 0.2
|
||||
4 OH 9.45026e-09 0.6
|
||||
5 H2O 3.04665e+10 1
|
||||
kf[0] = 1e+13
|
||||
kf[1] = 39810.7
|
||||
equal numbers 0: 3.04665e+10 3.04665e+10
|
||||
equal numbers 1: 1.57504e-08 1.57504e-08
|
||||
Equilibrium constants for irreversible fractional rxns:
|
||||
Kc[0] = 5.60014e-11
|
||||
Kc[1] = 62705
|
||||
157
test_problems/fracCoeff/frac_blessed.xml
Normal file
157
test_problems/fracCoeff/frac_blessed.xml
Normal file
|
|
@ -0,0 +1,157 @@
|
|||
<?xml version="1.0"?>
|
||||
<ctml>
|
||||
<validate reactions="yes" species="yes"/>
|
||||
|
||||
<!-- phase gas -->
|
||||
<phase dim="3" id="gas">
|
||||
<elementArray datasrc="elements.xml">O H </elementArray>
|
||||
<speciesArray datasrc="#species_data">H2 H O O2 OH H2O </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="None"/>
|
||||
</phase>
|
||||
|
||||
<!-- species definitions -->
|
||||
<speciesData id="species_data">
|
||||
|
||||
<!-- species H2 -->
|
||||
<species name="H2">
|
||||
<atomArray>H:2 </atomArray>
|
||||
<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>
|
||||
</species>
|
||||
|
||||
<!-- species H -->
|
||||
<species name="H">
|
||||
<atomArray>H:1 </atomArray>
|
||||
<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>
|
||||
</species>
|
||||
|
||||
<!-- species O -->
|
||||
<species name="O">
|
||||
<atomArray>O:1 </atomArray>
|
||||
<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>
|
||||
</species>
|
||||
|
||||
<!-- species O2 -->
|
||||
<species name="O2">
|
||||
<atomArray>O:2 </atomArray>
|
||||
<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>
|
||||
</species>
|
||||
|
||||
<!-- species OH -->
|
||||
<species name="OH">
|
||||
<atomArray>H:1 O:1 </atomArray>
|
||||
<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>
|
||||
</species>
|
||||
|
||||
<!-- species H2O -->
|
||||
<species name="H2O">
|
||||
<atomArray>H:2 O:1 </atomArray>
|
||||
<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>
|
||||
</species>
|
||||
</speciesData>
|
||||
<reactionData id="reaction_data">
|
||||
|
||||
<!-- reaction 0001 -->
|
||||
<reaction reversible="no" id="0001">
|
||||
<equation>H2O =] 1.4 H + 0.6 OH + 0.2 O2</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>1.000000E+13</A>
|
||||
<b>0.0</b>
|
||||
<E units="cal/mol">0.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>H2O:1.0</reactants>
|
||||
<products>H:1.3999999999999999 O2:0.20000000000000001 OH:0.59999999999999998</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction 0002 -->
|
||||
<reaction reversible="no" id="0002">
|
||||
<equation>0.7 H2 + 0.6 OH + 0.2 O2 =] H2O</equation>
|
||||
<order species="H2">0.80000000000000004</order>
|
||||
<order species="O2">1.0</order>
|
||||
<order species="OH">2.0</order>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>3.981072E+04</A>
|
||||
<b>0.0</b>
|
||||
<E units="cal/mol">0.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>H2:0.69999999999999996 O2:0.20000000000000001 OH:0.59999999999999998</reactants>
|
||||
<products>H2O:1.0</products>
|
||||
</reaction>
|
||||
</reactionData>
|
||||
</ctml>
|
||||
46
test_problems/fracCoeff/runtest
Executable file
46
test_problems/fracCoeff/runtest
Executable file
|
|
@ -0,0 +1,46 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
#
|
||||
|
||||
temp_success="1"
|
||||
/bin/rm -f output.txt outputa.txt frac.xml
|
||||
|
||||
#################################################################
|
||||
#
|
||||
#################################################################
|
||||
CANTERA_DATA=${CANTERA_DATA:=../../data/inputs}; export CANTERA_DATA
|
||||
|
||||
CANTERA_BIN=${CANTERA_BIN:=../../bin}
|
||||
./fracCoeff > output.txt
|
||||
retnStat=$?
|
||||
if [ $retnStat != "0" ]
|
||||
then
|
||||
temp_success="0"
|
||||
echo "fracCoeff returned with bad status, $retnStat, check output"
|
||||
fi
|
||||
|
||||
../../bin/exp3to2.sh output.txt > outputa.txt
|
||||
diff -w outputa.txt frac_blessed.out > diff_test.out
|
||||
retnStat=$?
|
||||
if [ $retnStat = "0" ]
|
||||
then
|
||||
echo "successful diff comparison on fracCoeff test"
|
||||
else
|
||||
echo "unsuccessful diff comparison on fracCoeff test"
|
||||
echo "FAILED" > csvCode.txt
|
||||
temp_success="0"
|
||||
fi
|
||||
|
||||
../../bin/exp3to2.sh frac.xml > fraca.xml
|
||||
diff -w fraca.xml frac_blessed.xml > xml_diff_test.out
|
||||
retnStat=$?
|
||||
if [ $retnStat = "0" ]
|
||||
then
|
||||
echo "successful diff comparison on fracCoeff.xml test"
|
||||
else
|
||||
echo "unsuccessful diff comparison on fracCoeff.xml test"
|
||||
echo "FAILED" > csvCode.txt
|
||||
temp_success="0"
|
||||
fi
|
||||
|
||||
|
||||
Loading…
Add table
Reference in a new issue