Added the dustyGasTransport test from the extendedCxxTestSuite

This commit is contained in:
Ray Speth 2012-08-02 15:48:58 +00:00
parent bf2a6f2d51
commit 38a2495fa3
3 changed files with 95 additions and 1 deletions

View file

@ -242,7 +242,8 @@ Test('diamondSurf-xml', 'diamondSurf', diamond, 'runDiamond_blessed.out',
Test('diamondSurf-cti', 'diamondSurf', diamond, 'runDiamond_blessed.out',
options='diamond.cti', artifacts=diamond_name,
comparisons=[('diamond_blessed.xml', 'diamond.xml')])
CompileAndTest('dustyGasTransport', 'dustyGasTransport', 'dustyGasTransport',
'output_blessed.txt')
CompileAndTest('fracCoeff', 'fracCoeff', 'fracCoeff', 'frac_blessed.out')
CompileAndTest('mixGasTransport',
'mixGasTransport', 'mixGasTransport', 'output_blessed.txt')

View file

@ -0,0 +1,65 @@
#include "cantera/thermo.h"
#include "cantera/transport.h"
#include "cantera/transport/DustyGasTransport.h"
#include <memory>
using namespace std;
using namespace Cantera;
int main(int argc, char** argv)
{
try {
int log_level = 3;
std::auto_ptr<ThermoPhase> g(newPhase("h2o2.xml", "ohmech"));
auto_ptr<Transport> tran(newTransportMgr("DustyGas", g.get(), log_level));
DustyGasTransport* tranDusty = dynamic_cast<DustyGasTransport*>(tran.get());
int nsp = g->nSpecies();
vector_fp multiD(nsp*nsp);
double T = 500;
g->setState_TPX(T, OneAtm,
"OH:1, H:2, O2:3, O:1.0E-8, H2:1.0E-8, H2O:1.0E-8, H2O2:1.0E-8, HO2:1.0E-8, AR:1.0E-8");
tranDusty->setPorosity(0.2);
tranDusty->setTortuosity(4.0);
tranDusty->setMeanPoreRadius(1.5E-7);
tranDusty->setMeanParticleDiameter(1.5E-6);
tranDusty->getMultiDiffCoeffs(nsp, DATA_PTR(multiD));
printf("MultiDiffusion coefficients: \n");
for (int i = 0; i < nsp; i++) {
for (int j = 0; j < nsp; j++) {
printf(" %15.8E,", multiD[nsp*j + i]);
}
printf("\n");
}
vector_fp state1;
g->saveState(state1);
g->setState_TP(T, 1.2 * OneAtm);
vector_fp state2;
g->saveState(state2);
double delta = 0.001;
vector_fp fluxes;
fluxes.resize(nsp);
tranDusty->getMolarFluxes(&state1[0], &state1[0], delta, &fluxes[0]);
for (int i = 0; i < nsp; i++) {
printf(" flux[%d] = %13.8E\n", i, fluxes[i]);
}
tranDusty->getMolarFluxes(&state1[0], &state2[0], delta, &fluxes[0]);
for (int i = 0; i < nsp; i++) {
printf(" flux[%d] = %13.8E\n", i, fluxes[i]);
}
Cantera::appdelete();
return 0;
} catch (CanteraError& err) {
std::cout << err.what() << std::endl;
return -1;
}
}

View file

@ -0,0 +1,28 @@
MultiDiffusion coefficients:
6.04406471E-06, 5.08690499E-15, 3.25467803E-15, 3.14959640E-15, 3.20196626E-15, 3.45252809E-15, 3.12341397E-15, 3.09815027E-15, 2.93166212E-15,
1.01738100E-06, 1.00940773E-05, 5.90066238E-07, 5.81982147E-07, 5.80043042E-07, 6.45639757E-07, 5.77001585E-07, 5.72201784E-07, 5.40917501E-07,
3.25467803E-15, 2.95033119E-15, 2.40899947E-06, 2.89050129E-15, 2.75178768E-15, 3.02514701E-15, 2.87336197E-15, 2.85661971E-15, 2.73675664E-15,
9.44878921E-07, 8.72973220E-07, 8.67150386E-07, 2.56318977E-06, 8.61811015E-07, 9.75599015E-07, 9.16766600E-07, 9.12743541E-07, 8.84178169E-07,
3.20196626E-07, 2.90021521E-07, 2.75178768E-07, 2.87270338E-07, 2.62146728E-06, 2.99922209E-07, 2.85602138E-07, 2.83971549E-07, 2.72221044E-07,
3.45252809E-15, 3.22819878E-15, 3.02514701E-15, 3.25199672E-15, 2.99922209E-15, 2.08849997E-06, 3.19672263E-15, 3.17885565E-15, 3.07926377E-15,
3.12341397E-15, 2.88500792E-15, 2.87336197E-15, 3.05588867E-15, 2.85602138E-15, 3.19672263E-15, 1.62315735E-06, 3.02939857E-15, 2.93566827E-15,
3.09815027E-15, 2.86100892E-15, 2.85661971E-15, 3.04247847E-15, 2.83971549E-15, 3.17885565E-15, 3.02939857E-15, 1.60480867E-06, 2.92422492E-15,
2.93166212E-15, 2.70458750E-15, 2.73675664E-15, 2.94726056E-15, 2.72221044E-15, 3.07926377E-15, 2.93566827E-15, 2.92422492E-15, 1.51904485E-06,
flux[0] = -0.00000000E+00
flux[1] = -0.00000000E+00
flux[2] = -0.00000000E+00
flux[3] = -0.00000000E+00
flux[4] = -0.00000000E+00
flux[5] = -0.00000000E+00
flux[6] = -0.00000000E+00
flux[7] = -0.00000000E+00
flux[8] = -0.00000000E+00
flux[0] = -6.90966189E-14
flux[1] = -1.84036152E-05
flux[2] = -3.65042941E-14
flux[3] = -9.29059107E-06
flux[4] = -3.58923841E-06
flux[5] = -3.54785016E-14
flux[6] = -3.07335477E-14
flux[7] = -3.05071031E-14
flux[8] = -2.92655613E-14