diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C index 701ce73c8d..10d1b60a4d 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C @@ -753,10 +753,11 @@ void Foam::chemkinReader::addReaction forAll(nAtoms, i) { - if (mag(nAtoms[i]) > SMALL) + if (mag(nAtoms[i]) > imbalanceTol_) { FatalErrorIn("chemkinReader::addReaction") - << "Elemental imbalance in " << elementNames_[i] + << "Elemental imbalance of " << mag(nAtoms[i]) + << " in " << elementNames_[i] << " in reaction" << nl << reactions_.last() << nl << " on line " << lineNo_-1 @@ -839,7 +840,8 @@ Foam::chemkinReader::chemkinReader specieNames_(10), speciesTable_(species), reactions_(speciesTable_, speciesThermo_), - newFormat_(newFormat) + newFormat_(newFormat), + imbalanceTol_(ROOTSMALL) { read(CHEMKINFileName, thermoFileName); } @@ -855,7 +857,8 @@ Foam::chemkinReader::chemkinReader specieNames_(10), speciesTable_(species), reactions_(speciesTable_, speciesThermo_), - newFormat_(thermoDict.lookupOrDefault("newFormat", false)) + newFormat_(thermoDict.lookupOrDefault("newFormat", false)), + imbalanceTol_(thermoDict.lookupOrDefault("imbalanceTolerance", ROOTSMALL)) { if (newFormat_) { diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H index 1f5aa7acc8..f08daec9f9 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -77,7 +77,7 @@ public: gas }; - //- Species element + //- species element struct specieElement { word elementName; @@ -211,6 +211,9 @@ private: //- Flag to indicate that file is in new format Switch newFormat_; + //- Tolerance for element imbalance in a reaction + scalar imbalanceTol_; + // Private Member Functions