From da618eb4ab0607daa346f8655b6e03d229234607 Mon Sep 17 00:00:00 2001 From: Yeongdo Park Date: Thu, 20 Dec 2018 02:20:18 -0500 Subject: [PATCH] added class LogWriter and cantera use temperature from OpenFOAM thermo --- testApp/chemFoam.C | 56 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/testApp/chemFoam.C b/testApp/chemFoam.C index 6220072..e21e2e4 100644 --- a/testApp/chemFoam.C +++ b/testApp/chemFoam.C @@ -59,6 +59,52 @@ inline bool exceedTolerence (scalar rError) return rError > relTol || rError < -relTol; } +class LogWriter +{ + + OFstream &post_; + + label errorCount_; + + label testCount_; + + + public: + + LogWriter ( OFstream &post ) + : + post_(post), + errorCount_(0), + testCount_(0) + {} + + label numErrors() {return errorCount_;} + + label numTests() {return testCount_;} + + void operator() ( + word name, + scalar T, + scalar ofVal, + scalar ctVal + ) + { + if (exceedTolerence(relError(ofVal, ctVal))) + { + Info << name << ", T = " << T << " relative error = " << (100. * relError(ofVal, ctVal)) << " %"<< endl; + errorCount_++; + } + testCount_++; + + post_ << T << token::TAB + << name << token::TAB + << ofVal << token::TAB + << ctVal << token::TAB + << 100*(relError(ofVal, ctVal)) + << endl; + } +}; + int main(int argc, char *argv[]) { argList::noParallel(); @@ -76,6 +122,8 @@ int main(int argc, char *argv[]) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + LogWriter logWriter (post); + Info<< "\nCreate Cantera object\n" << endl; Cantera::IdealGasMix gas_ ("gri30.xml", "gri30_mix"); @@ -120,7 +168,7 @@ int main(int argc, char *argv[]) diff.correct(); // Cantera gas transport - gas_.setState_TPY(T[i], p[0], XY.data()); + gas_.setState_TPY(thermo.T()[0], p[0], XY.data()); scalarField Dc (composition.species().size(), 0.0); scalarField Dij (composition.species().size()*composition.species().size(), 0.0); @@ -158,7 +206,7 @@ int main(int argc, char *argv[]) { if (exceedTolerence(relError(diff.D(k)[0], Dc[k]))) { - Info << thermo.composition().species()[k] << ", T = " << T[i] + Info << thermo.composition().species()[k] << ", T = " << thermo.T()[0] << " relative error = " << (100. * relError(diff.D(k)[0], Dc[k])) << " %" << endl; errorCount++; } @@ -173,7 +221,7 @@ int main(int argc, char *argv[]) if (exceedTolerence(relError(diff.mu()[0], tr_->viscosity()))) { - Info << "mu, T = " << T[i] << " relative error = " << (100. * relError(diff.mu()[0], tr_->viscosity())) << " %"<< endl; + Info << "mu, T = " << thermo.T()[0] << " relative error = " << (100. * relError(diff.mu()[0], tr_->viscosity())) << " %"<< endl; errorCount++; } testCount++; @@ -186,7 +234,7 @@ int main(int argc, char *argv[]) if (exceedTolerence(relError(diff.k()[0], tr_->thermalConductivity()))) { - Info << "k, T = " << T[i] << " relative error = " << (100. * relError(diff.k()[0], tr_->thermalConductivity())) << " %"<< endl; + Info << "k, T = " << thermo.T()[0] << " relative error = " << (100. * relError(diff.k()[0], tr_->thermalConductivity())) << " %"<< endl; errorCount++; } testCount++;