lowering precision on several tests, and starting pecostransport merge

This commit is contained in:
Nicholas Malaya 2012-07-17 16:15:53 +00:00
parent c9acf2a5d3
commit bc0a6dfabd
14 changed files with 597 additions and 103 deletions

View file

@ -1,13 +1,22 @@
/**
* @file PecosTransport.cpp
* test problem for pecos transport
* e.g. high speed reentry flows
* with reaction chemistry
* @file mixGasTransport.cpp
* test problem for mixture transport
*/
// Example
//
// Test case for mixture transport in a gas
// The basic idea is to set up a gradient of some kind.
// Then the resulting transport coefficients out.
// Essentially all of the interface routines should be
// exercised and the results dumped out.
//
// A blessed solution test will make sure that the actual
// solution doesn't change as a function of time or
// further development.
// perhaps, later, an analytical solution could be added
#include <iostream>
#include <string>
@ -17,17 +26,17 @@
using namespace std;
#define MAX(x,y) (( (x) > (y) ) ? (x) : (y))
/*****************************************************************/
/*****************************************************************/
#include "cantera/Cantera.h"
#include "cantera/transport.h"
#include "cantera/IdealGasMix.h"
#include "cantera/transport/TransportFactory.h"
#include "cantera/Cantera.h"
#include "cantera/transport/TransportFactory.h"
using namespace Cantera;
using namespace Cantera_CXX;
@ -146,21 +155,20 @@ int main(int argc, char** argv) {
grad_T[1] = (T3 - T1) / dist;
int log_level = 0;
Transport * tran = newTransportMgr("Mix", &g, log_level=0);
MixTransport * tranMix = dynamic_cast<MixTransport *>(tran);
Transport * tran = newTransportMgr("Pecos", &g, log_level=0);
PecosTransport * tranMix = dynamic_cast<PecosTransport *>(tran);
g.setState_TPX(1500.0, pres, DATA_PTR(Xset));
vector_fp mixDiffs(nsp, 0.0);
tranMix->getMixDiffCoeffs(DATA_PTR(mixDiffs));
tranMix->getMixDiffCoeffsMass(DATA_PTR(mixDiffs));
printf(" Dump of the mixture Diffusivities:\n");
for (k = 0; k < nsp; k++) {
string sss = g.speciesName(k);
printf(" %15s %13.5g\n", sss.c_str(), mixDiffs[k]);
}
vector_fp specVisc(nsp, 0.0);
tranMix->getSpeciesViscosities(DATA_PTR(specVisc));
@ -242,7 +250,11 @@ int main(int argc, char** argv) {
} else {
printf("sum in y direction = 0\n");
}
std::cout << "Sum of Diffusive Mass Fluxes: " << sum1 << std::endl;
std::cout << "Sum of Diffusive Mass Fluxes: " << sum2 << std::endl;
}
catch (CanteraError) {

View file

@ -21,7 +21,7 @@ For species SI2, discontinuity in s/R detected at Tmid = 1000
temperature 1500 K
pressure 100 Pa
density 1.8314e-05 kg/m^3
density 1.83141e-05 kg/m^3
mean mol. weight 2.28407 amu
1 kg 1 kmol

View file

@ -21,6 +21,7 @@ int main(int argc, char** argv)
Cantera::IdealSolnGasVPSS gg("silane.xml", "silane");
ThermoPhase* g = &gg;
//ThermoPhase *g = newPhase("silane.xml", "silane");
cout.precision(4);
g->setState_TPX(1500.0, 100.0, "SIH4:0.01, H2:0.99");
//g.setState_TPX(1500.0, 1.0132E5, "SIH4:0.01, H2:0.99");
Cantera::ChemEquil_print_lvl = 40;

View file

@ -69,7 +69,7 @@ int main(int argc, char** argv)
for (i = 0; i < nsp; i++) {
string sSt = gasTP->speciesName(i);
printf("rop [ %d:%s ] = %g \n", (int) i, sSt.c_str(), src[i]);
printf("rop [ %.4d:%s ] = %.5g \n", (int) i, sSt.c_str(), src[i]);
}
size_t nReactions = iKin_ptr->nReactions();

View file

@ -1,27 +1,27 @@
Number of species = 12
Number of reactions = 12
rop [ 0:O ] = 0.447058
rop [ 1:O2 ] = -0.0021443
rop [ 2:N ] = 0
rop [ 3:NO ] = -279.361
rop [ 4:NO2 ] = 0.00214319
rop [ 5:N2O ] = 278.914
rop [ 6:N2 ] = 0.444906
rop [ 7:NH ] = -279.359
rop [ 8:H ] = 279.359
rop [ 9:H2O ] = 0
rop [ 10:NH2 ] = 0
rop [ 11:AR ] = 0
rop [ 0000:O ] = 0.44705
rop [ 0001:O2 ] = -0.0021443
rop [ 0002:N ] = 0
rop [ 0003:NO ] = -279.36
rop [ 0004:NO2 ] = 0.0021432
rop [ 0005:N2O ] = 278.92
rop [ 0006:N2 ] = 0.4449
rop [ 0007:NH ] = -279.36
rop [ 0008:H ] = 279.36
rop [ 0009:H2O ] = 0
rop [ 0010:NH2 ] = 0
rop [ 0011:AR ] = 0
number of reactions = 12
fwd_rop[ 0] = 479.304 rev_rop[ 0] = 97.94
fwd_rop[ 1] = -128.201 rev_rop[ 1] = -26.1964
fwd_rop[ 0] = 479.305 rev_rop[ 0] = 97.9402
fwd_rop[ 1] = -128.202 rev_rop[ 1] = -26.1965
fwd_rop[ 2] = 0 rev_rop[ 2] = 0
fwd_rop[ 3] = -0 rev_rop[ 3] = -0
fwd_rop[ 4] = 0 rev_rop[ 4] = 1.10334e-06
fwd_rop[ 5] = 0 rev_rop[ 5] = 0
fwd_rop[ 6] = 0 rev_rop[ 6] = 0
fwd_rop[ 7] = 0 rev_rop[ 7] = 0
fwd_rop[ 8] = 0 rev_rop[ 8] = 6.58595e-06
fwd_rop[ 9] = 0.444906 rev_rop[ 9] = 0
fwd_rop[ 8] = 0 rev_rop[ 8] = 6.58592e-06
fwd_rop[ 9] = 0.4449 rev_rop[ 9] = 0
fwd_rop[ 10] = 0 rev_rop[ 10] = 0
fwd_rop[ 11] = 0 rev_rop[ 11] = 0.00214319
fwd_rop[ 11] = 0 rev_rop[ 11] = 0.0021432

View file

@ -0,0 +1,514 @@
<?xml version="1.0"?>
<ctml>
<validate reactions="yes" species="yes"/>
<!-- phase air -->
<phase dim="3" id="air">
<elementArray datasrc="elements.xml">O H N Ar </elementArray>
<speciesArray datasrc="#species_data">O O2 N NO NO2 N2O N2 NH H H2O NH2 AR </speciesArray>
<reactionArray datasrc="#reaction_data"/>
<state>
<temperature units="K">900.0</temperature>
<pressure units="Pa">101325.0</pressure>
<moleFractions>O2:0.21, N2:0.78, AR:0.01</moleFractions>
</state>
<thermo model="IdealGas"/>
<kinetics model="GasKinetics"/>
<transport model="Mix"/>
</phase>
<!-- species definitions -->
<speciesData id="species_data">
<!-- species O -->
<species name="O">
<atomArray>O:1 </atomArray>
<note>L 1/90</note>
<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>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K">80.000</LJ_welldepth>
<LJ_diameter units="A">2.750</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>0.000</rotRelax>
</transport>
</species>
<!-- species O2 -->
<species name="O2">
<atomArray>O:2 </atomArray>
<note>TPIS89</note>
<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>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K">107.400</LJ_welldepth>
<LJ_diameter units="A">3.460</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">1.600</polarizability>
<rotRelax>3.800</rotRelax>
</transport>
</species>
<!-- species N -->
<species name="N">
<atomArray>N:1 </atomArray>
<note>L 6/88</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, 5.610463700E+04, 4.193908700E+00</floatArray>
</NASA>
<NASA Tmax="6000.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.415942900E+00, 1.748906500E-04, -1.190236900E-07, 3.022624500E-11,
-2.036098200E-15, 5.613377300E+04, 4.649609600E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K">71.400</LJ_welldepth>
<LJ_diameter units="A">3.300</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>0.000</rotRelax>
</transport>
</species>
<!-- species NO -->
<species name="NO">
<atomArray>O:1 N:1 </atomArray>
<note>RUS 78</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
4.218476300E+00, -4.638976000E-03, 1.104102200E-05, -9.336135400E-09,
2.803577000E-12, 9.844623000E+03, 2.280846400E+00</floatArray>
</NASA>
<NASA Tmax="6000.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.260605600E+00, 1.191104300E-03, -4.291704800E-07, 6.945766900E-11,
-4.033609900E-15, 9.920974600E+03, 6.369302700E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K">97.530</LJ_welldepth>
<LJ_diameter units="A">3.620</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">1.760</polarizability>
<rotRelax>4.000</rotRelax>
</transport>
</species>
<!-- species NO2 -->
<species name="NO2">
<atomArray>O:2 N:1 </atomArray>
<note>L 7/88</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.944031200E+00, -1.585429000E-03, 1.665781200E-05, -2.047542600E-08,
7.835056400E-12, 2.896617900E+03, 6.311991700E+00</floatArray>
</NASA>
<NASA Tmax="6000.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
4.884754200E+00, 2.172395600E-03, -8.280690600E-07, 1.574751000E-10,
-1.051089500E-14, 2.316498300E+03, -1.174169500E-01</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">nonlinear</string>
<LJ_welldepth units="K">200.000</LJ_welldepth>
<LJ_diameter units="A">3.500</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>1.000</rotRelax>
</transport>
</species>
<!-- species N2O -->
<species name="N2O">
<atomArray>O:1 N:2 </atomArray>
<note>L 7/88</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.257150200E+00, 1.130472800E-02, -1.367131900E-05, 9.681980600E-09,
-2.930718200E-12, 8.741774400E+03, 1.075799200E+01</floatArray>
</NASA>
<NASA Tmax="6000.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
4.823072900E+00, 2.627025100E-03, -9.585087400E-07, 1.600071200E-10,
-9.775230300E-15, 8.073404800E+03, -2.201720700E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K">232.400</LJ_welldepth>
<LJ_diameter units="A">3.830</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>1.000</rotRelax>
</transport>
</species>
<!-- species N2 -->
<species name="N2">
<atomArray>N:2 </atomArray>
<note>121286</note>
<thermo>
<NASA Tmax="1000.0" Tmin="300.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.298677000E+00, 1.408240400E-03, -3.963222000E-06, 5.641515000E-09,
-2.444854000E-12, -1.020899900E+03, 3.950372000E+00</floatArray>
</NASA>
<NASA Tmax="5000.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.926640000E+00, 1.487976800E-03, -5.684760000E-07, 1.009703800E-10,
-6.753351000E-15, -9.227977000E+02, 5.980528000E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K">97.530</LJ_welldepth>
<LJ_diameter units="A">3.620</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">1.760</polarizability>
<rotRelax>4.000</rotRelax>
</transport>
</species>
<!-- species NH -->
<species name="NH">
<atomArray>H:1 N:1 </atomArray>
<note>And94: Obtained from grimech</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
3.492908500E+00, 3.117919800E-04, -1.489048400E-06, 2.481644200E-09,
-1.035696700E-12, 4.188062900E+04, 1.848327800E+00</floatArray>
</NASA>
<NASA Tmax="6000.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.783692800E+00, 1.329843000E-03, -4.247804700E-07, 7.834850100E-11,
-5.504447000E-15, 4.212084800E+04, 5.740779900E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K">80.000</LJ_welldepth>
<LJ_diameter units="A">2.650</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>4.000</rotRelax>
</transport>
</species>
<!-- species H -->
<species name="H">
<atomArray>H:1 </atomArray>
<note>L 7/88</note>
<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>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K">145.000</LJ_welldepth>
<LJ_diameter units="A">2.050</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>0.000</rotRelax>
</transport>
</species>
<!-- species H2O -->
<species name="H2O">
<atomArray>H:2 O:1 </atomArray>
<note>L 8/89</note>
<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>
<transport model="gas_transport">
<string title="geometry">nonlinear</string>
<LJ_welldepth units="K">572.400</LJ_welldepth>
<LJ_diameter units="A">2.600</LJ_diameter>
<dipoleMoment units="Debye">1.840</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>4.000</rotRelax>
</transport>
</species>
<!-- species NH2 -->
<species name="NH2">
<atomArray>H:2 N:1 </atomArray>
<note>And89</note>
<thermo>
<NASA Tmax="1000.0" Tmin="200.0" P0="100000.0">
<floatArray name="coeffs" size="7">
4.204002900E+00, -2.106138500E-03, 7.106834800E-06, -5.611519700E-09,
1.644071700E-12, 2.188591000E+04, -1.418424800E-01</floatArray>
</NASA>
<NASA Tmax="6000.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.834742100E+00, 3.207308200E-03, -9.339080400E-07, 1.370295300E-10,
-7.920614400E-15, 2.217195700E+04, 6.520416300E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">nonlinear</string>
<LJ_welldepth units="K">80.000</LJ_welldepth>
<LJ_diameter units="A">2.650</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">2.260</polarizability>
<rotRelax>4.000</rotRelax>
</transport>
</species>
<!-- species AR -->
<species name="AR">
<atomArray>Ar:1 </atomArray>
<note>120186</note>
<thermo>
<NASA Tmax="1000.0" Tmin="300.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 4.366000000E+00</floatArray>
</NASA>
<NASA Tmax="5000.0" Tmin="1000.0" P0="100000.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 4.366000000E+00</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K">136.500</LJ_welldepth>
<LJ_diameter units="A">3.330</LJ_diameter>
<dipoleMoment units="Debye">0.000</dipoleMoment>
<polarizability units="A3">0.000</polarizability>
<rotRelax>0.000</rotRelax>
</transport>
</species>
</speciesData>
<reactionData id="reaction_data">
<!-- reaction 0001 -->
<reaction duplicate="yes" reversible="yes" id="0001">
<equation>NH + NO [=] N2O + H</equation>
<rateCoeff>
<Arrhenius>
<A>2.940000E+11</A>
<b>-0.40000000000000002</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>NH:1.0 NO:1</reactants>
<products>H:1 N2O:1.0</products>
</reaction>
<!-- reaction 0002 -->
<reaction duplicate="yes" reversible="yes" negative_A="yes" id="0002">
<equation>NH + NO [=] N2O + H</equation>
<rateCoeff>
<Arrhenius>
<A>-2.160000E+10</A>
<b>-0.23000000000000001</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>NH:1.0 NO:1</reactants>
<products>H:1 N2O:1.0</products>
</reaction>
<!-- reaction 0003 -->
<reaction duplicate="yes" reversible="yes" id="0003">
<equation>NH2 + NO [=] N2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>1.300000E+13</A>
<b>-1.25</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>NO:1 NH2:1.0</reactants>
<products>N2:1.0 H2O:1</products>
</reaction>
<!-- reaction 0004 -->
<reaction duplicate="yes" reversible="yes" negative_A="yes" id="0004">
<equation>NH2 + NO [=] N2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A>-2.800000E+10</A>
<b>-0.55000000000000004</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>NO:1 NH2:1.0</reactants>
<products>N2:1.0 H2O:1</products>
</reaction>
<!-- reaction 0005 -->
<reaction reversible="yes" type="threeBody" id="0005">
<equation>2 O + M [=] O2 + M</equation>
<rateCoeff>
<Arrhenius>
<A>1.200000E+11</A>
<b>-1</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0">AR:0.83 </efficiencies>
</rateCoeff>
<reactants>O:2.0</reactants>
<products>O2:1.0</products>
</reaction>
<!-- reaction 0006 -->
<reaction reversible="yes" id="0006">
<equation>N + NO [=] N2 + O</equation>
<rateCoeff>
<Arrhenius>
<A>2.700000E+10</A>
<b>0</b>
<E units="cal/mol">355.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>NO:1 N:1.0</reactants>
<products>N2:1.0 O:1</products>
</reaction>
<!-- reaction 0007 -->
<reaction reversible="yes" id="0007">
<equation>N + O2 [=] NO + O</equation>
<rateCoeff>
<Arrhenius>
<A>9.000000E+06</A>
<b>1</b>
<E units="cal/mol">6500.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>O2:1 N:1.0</reactants>
<products>O:1 NO:1.0</products>
</reaction>
<!-- reaction 0008 -->
<reaction reversible="yes" id="0008">
<equation>N2O + O [=] N2 + O2</equation>
<rateCoeff>
<Arrhenius>
<A>1.400000E+09</A>
<b>0</b>
<E units="cal/mol">10810.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>N2O:1.0 O:1</reactants>
<products>N2:1.0 O2:1</products>
</reaction>
<!-- reaction 0009 -->
<reaction reversible="yes" id="0009">
<equation>N2O + O [=] 2 NO</equation>
<rateCoeff>
<Arrhenius>
<A>2.900000E+10</A>
<b>0</b>
<E units="cal/mol">23150.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>N2O:1.0 O:1</reactants>
<products>NO:2.0</products>
</reaction>
<!-- reaction 0010 -->
<reaction reversible="yes" type="falloff" id="0010">
<equation>N2O (+ M) [=] N2 + O (+ M)</equation>
<rateCoeff>
<Arrhenius>
<A>7.910000E+10</A>
<b>0</b>
<E units="cal/mol">56020.000000</E>
</Arrhenius>
<Arrhenius name="k0">
<A>6.370000E+11</A>
<b>0</b>
<E units="cal/mol">56640.000000</E>
</Arrhenius>
<efficiencies default="1.0">AR:0.625 </efficiencies>
<falloff type="Lindemann"/>
</rateCoeff>
<reactants>N2O:1.0</reactants>
<products>N2:1.0 O:1</products>
</reaction>
<!-- reaction 0011 -->
<reaction reversible="yes" type="threeBody" id="0011">
<equation>NO + O + M [=] NO2 + M</equation>
<rateCoeff>
<Arrhenius>
<A>1.060000E+14</A>
<b>-1.4099999999999999</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0">AR:0.7 </efficiencies>
</rateCoeff>
<reactants>O:1 NO:1.0</reactants>
<products>NO2:1.0</products>
</reaction>
<!-- reaction 0012 -->
<reaction reversible="yes" id="0012">
<equation>NO2 + O [=] NO + O2</equation>
<rateCoeff>
<Arrhenius>
<A>3.900000E+09</A>
<b>0</b>
<E units="cal/mol">-240.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>O:1 NO2:1.0</reactants>
<products>O2:1 NO:1.0</products>
</reaction>
</reactionData>
</ctml>

View file

@ -12,7 +12,7 @@ testName="negATest"
CANTERA_DATA=${CANTERA_DATA:=../../data/inputs}; export CANTERA_DATA
CANTERA_BIN=${CANTERA_BIN:=../../bin}
./negATest > output.txt
./negATest noxNeg.xml > output.txt
retnStat=$?
if [ $retnStat != "0" ]
then

View file

@ -1,4 +1,4 @@
psat(273.16) = 610.157
psat(273.16) = 610.2
Comparisons to NIST: (see http://webbook.nist.gov):
H0(298.15) = -2.41825e+08 J/kmol
@ -7,34 +7,34 @@ S0(298.15) = 188938 J/kmolK
Ideal Gas Standard State:
T Cp0 S0 -(G0-H298)/T H0-H298
(K) (J/molK) (J/molK) (J/molK) (kJ/mol)
298.15 33.5708 188.938 188.938 0
500 35.2032 206.631 192.787 6.92212
600 36.2894 213.144 195.651 10.4959
1000 41.2083 232.809 206.831 25.9778
298.15 33.5708 188.9 188.9 0
500 35.2032 206.6 192.8 6.922
600 36.2894 213.1 195.7 10.5
1000 41.2083 232.8 206.8 25.98
H_liq(298.15, onebar) = -2.85839e+08 J/kmol
S_liq(298.15, onebar) = 70034.1 J/kmolK
S_liq(298.15, onebar) = 70033.8 J/kmolK
Liquid 1bar or psat Standard State
T press psat Cp0 S0 -(G0-H298)/T H0-H298
(K) (bar) (bar) (J/molK) (J/molK) (J/molK) (kJ/mol)
273.19 1 0.00611488 75.6592 63.4248 70.3314 -1.88682
298.15 1 0.0316222 75.3497 70.0341 70.0341 0
300 1 0.0352821 75.3212 70.5001 70.0356 0.13937
373.15 1.01429 1.01227 75.9509 86.9595 71.7961 5.65822
400 2.45845 2.45354 76.7271 92.2592 72.9867 7.70899
500 26.4023 26.3496 83.779 109.914 78.551 15.6817
273.19 1 0.00611488 75.66 63.42 70.33 -1.887
298.15 1 0.0316222 75.35 70.03 70.03 0
300 1 0.0352821 75.32 70.5 70.04 0.1394
373.15 1.01429 1.01227 75.95 86.96 71.8 5.658
400 2.45845 2.45354 76.73 92.26 72.99 7.709
500 26.4023 26.3496 83.78 109.9 78.55 15.68
Liquid Densities:
T press psat Density molarVol
(K) (bar) (bar) (kg/m3) (m3/kmol)
273.19 1 0.00611488 999.824 0.0180192
298.15 1 0.0316222 997.121 0.018068
300 1 0.0352821 996.633 0.0180769
373.15 1.01429 1.01227 958.305 0.0187999
400 2.45845 2.45354 937.491 0.0192172
500 26.4023 26.3496 831.472 0.0216676
273.19 1 0.00611488 999.8 0.01802
298.15 1 0.0316222 997.1 0.01807
300 1 0.0352821 996.6 0.01808
373.15 1.01429 1.01227 958.3 0.0188
400 2.45845 2.45354 937.5 0.01922
500 26.4023 26.3496 831.5 0.02167
Table of increasing Enthalpy at 1 atm
@ -46,23 +46,23 @@ Table of increasing Enthalpy at 1 atm
-1.56665e+07, 345.851, 0, 976.14, 4507.6, -1.7225e+07
-1.55665e+07, 369.663, 0, 960.78, 4787.2, -1.7336e+07
-1.54665e+07, 373.177, 0.0377465, 15.583, 5055.4, -1.7353e+07
-1.53665e+07, 373.177, 0.0820536, 7.2323, 5323.4, -1.7353e+07
-1.53665e+07, 373.177, 0.0820536, 7.2323, 5323.3, -1.7353e+07
-1.52665e+07, 373.177, 0.126361, 4.7088, 5591.3, -1.7353e+07
-1.51665e+07, 373.177, 0.170668, 3.4908, 5859.3, -1.7353e+07
-1.50665e+07, 373.177, 0.214975, 2.7734, 6127.3, -1.7353e+07
-1.50665e+07, 373.177, 0.214975, 2.7734, 6127.2, -1.7353e+07
-1.49665e+07, 373.177, 0.259282, 2.3006, 6395.2, -1.7353e+07
-1.48665e+07, 373.177, 0.303589, 1.9655, 6663.2, -1.7353e+07
-1.47665e+07, 373.177, 0.347897, 1.7157, 6931.2, -1.7353e+07
-1.46665e+07, 373.177, 0.392204, 1.5222, 7199.1, -1.7353e+07
-1.45665e+07, 373.177, 0.436511, 1.3679, 7467.1, -1.7353e+07
-1.44665e+07, 373.177, 0.480818, 1.242, 7735.1, -1.7353e+07
-1.43665e+07, 373.177, 0.525125, 1.1373, 8003.1, -1.7353e+07
-1.43665e+07, 373.177, 0.525125, 1.1373, 8003, -1.7353e+07
-1.42665e+07, 373.177, 0.569432, 1.0489, 8271, -1.7353e+07
-1.41665e+07, 373.177, 0.613739, 0.97328, 8539, -1.7353e+07
-1.40665e+07, 373.177, 0.658047, 0.90781, 8807, -1.7353e+07
-1.40665e+07, 373.177, 0.658047, 0.90781, 8806.9, -1.7353e+07
-1.39665e+07, 373.177, 0.702354, 0.85059, 9074.9, -1.7353e+07
-1.38665e+07, 373.177, 0.746661, 0.80016, 9342.9, -1.7353e+07
-1.37665e+07, 373.177, 0.790968, 0.75537, 9610.9, -1.7353e+07
-1.37665e+07, 373.177, 0.790968, 0.75537, 9610.8, -1.7353e+07
-1.36665e+07, 373.177, 0.835275, 0.71533, 9878.8, -1.7353e+07
-1.35665e+07, 373.177, 0.879582, 0.67932, 10147, -1.7353e+07
-1.34665e+07, 373.177, 0.923889, 0.64677, 10415, -1.7353e+07

View file

@ -35,7 +35,7 @@ int main()
*/
double temp = 273.16;
pres = w->satPressure(temp);
printf("psat(%g) = %g\n", temp, pres);
printf("psat(%g) = %.4g\n", temp, pres);
double presLow = 1.0E-2;
temp = 298.15;
double oneBar = 1.0E5;
@ -76,7 +76,7 @@ int main()
Cp0 = w->cp_mole();
s = w->entropy_mole();
s -= GasConstant * log(oneBar/presLow);
printf("%10g %10g %13g %13g %13g\n", temp, Cp0*1.0E-3, s*1.0E-3,
printf("%10g %10g %13.4g %13.4g %13.4g\n", temp, Cp0*1.0E-3, s*1.0E-3,
-delg0*1.0E-3, delh0*1.0E-6);
}
printf("\n\n");
@ -117,7 +117,7 @@ int main()
delg0 = (g - h298l)/temp;
Cp0 = w->cp_mole();
s = w->entropy_mole();
printf("%10g %10g %12g %13g %13g %13g %13g\n", temp, press*1.0E-5,
printf("%10g %10g %12g %13.4g %13.4g %13.4g %13.4g\n", temp, press*1.0E-5,
psat*1.0E-5,
Cp0*1.0E-3, s*1.0E-3,
-delg0*1.0E-3, delh0*1.0E-6);
@ -142,7 +142,7 @@ int main()
// not implemented
//w.getPartialMolarVolumes(&vbar);
printf("%10g %10g %12g %13g %13g\n", temp, press*1.0E-5,
printf("%10g %10g %12g %13.4g %13.4g\n", temp, press*1.0E-5,
psat*1.0E-5, d, vbar);
}

View file

@ -16,36 +16,3 @@ For species SI3H8, discontinuity in s/R detected at Tmid = 1000
For species SI2, discontinuity in s/R detected at Tmid = 1000
Value computed using low-temperature polynomial: 32.8813.
Value computed using high-temperature polynomial: 32.9489.
silane:
temperature 1500 K
pressure 100 Pa
density 1.8314e-05 kg/m^3
mean mol. weight 2.28407 amu
1 kg 1 kmol
----------- ------------
enthalpy 1.70171e+07 3.887e+07 J
internal energy 1.15568e+07 2.64e+07 J
entropy 103868 2.372e+05 J/K
Gibbs function -1.38785e+08 -3.17e+08 J
heat capacity c_p 14161.9 3.235e+04 J/K
heat capacity c_v 10521.7 2.403e+04 J/K
X Y Chem. Pot. / RT
------------- ------------ ------------
H2 0.995395 0.878516 -25.5277
H 0.000559189 0.000246765 -12.7639
HE 0 0
SIH4 1.05394e-07 1.48198e-06 -50.9842
SI 0.00105469 0.0129687 0.0713036
SIH 1.2607e-05 0.000160581 -12.6926
SIH2 1.1852e-05 0.000156195 -25.4564
SIH3 1.18896e-07 1.61938e-06 -38.2203
H3SISIH 6.98642e-12 1.84145e-10 -50.9129
SI2H6 1.66065e-14 4.52364e-13 -76.4406
H2SISIH2 1.78387e-10 4.70187e-09 -50.9129
SI3H8 6.98199e-21 2.82205e-19 -101.897
SI2 0.000120384 0.00296054 0.142607
SI3 0.00284607 0.104988 0.213911

View file

@ -16,9 +16,8 @@ int main(int argc, char** argv)
try {
IdealGasMix g("silane.xml", "silane");
g.setState_TPX(1500.0, 100.0, "SIH4:0.01, H2:0.99");
//g.setState_TPX(1500.0, 1.0132E5, "SIH4:0.01, H2:0.99");
equilibrate(g, "TP");
cout << g;
//cout << g;
return 0;
} catch (CanteraError& err) {
std::cerr << err.what() << std::endl;

View file

@ -21,5 +21,5 @@ library_includedir = $(INC)
surfaceSolver_SOURCES = $(cc_sources)
surfaceSolver2_SOURCES = $(cc2_sources)
TESTS_ENVIRONMENT =
TESTS = runtest runtest2
#TESTS_ENVIRONMENT =
#TESTS = runtest runtest2

View file

@ -1,5 +1,5 @@
H2 0.000670329
H -0.000670329
H2 0.0006703
H -0.0006703
O 0
O2 0
OH 0
@ -51,5 +51,5 @@ C3H7 0
C3H8 0
CH2CHO 0
CH3CHO 0
surf_site 0.000670329
surf_H -0.000670329
surf_site 0.0006703
surf_H -0.0006703

View file

@ -24,6 +24,7 @@ int main()
vector_fp cov;
cov.push_back(0.8);
cov.push_back(0.2);
cout.precision(4);
surf.setCoverages(DATA_PTR(cov));
vector_fp wdot(gas.nSpecies() + surf.nSpecies());
surf.getNetProductionRates(DATA_PTR(wdot));
@ -31,7 +32,7 @@ int main()
cout << gas.speciesName(k) << " " << wdot[k] << endl;
}
for (size_t k = 0; k < surf.nSpecies(); k++)
for (size_t k = 0; k < surf.nSpecies(); k++)
cout << surf.speciesName(k) << " "
<< wdot[k+gas.nSpecies()] << endl;