added class LogWriter and cantera use temperature from OpenFOAM thermo

This commit is contained in:
Yeongdo Park 2018-12-20 02:20:18 -05:00
parent f8cdf0c875
commit da618eb4ab

View file

@ -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++;