diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L index 98a7bbd2..9361ed2e 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L @@ -637,7 +637,8 @@ bool finishReaction = false; ( currentSpecieName, 1.0, - molecularWeight(currentSpecieComposition) + molecularWeight(currentSpecieComposition), + chargeNumber(currentSpecieComposition) ), currentLowT, currentHighT, diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C index e8d882a4..a6cffb2b 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C @@ -144,6 +144,28 @@ Foam::scalar Foam::chemkinReader::molecularWeight } +Foam::scalar Foam::chemkinReader::chargeNumber +( + const List& specieComposition +) const +{ + scalar nElemCharges = 0.0; + + forAll(specieComposition, i) + { + label nAtoms = specieComposition[i].nAtoms; + const word& elementName = specieComposition[i].elementName; + + if (elementName[0] == 'e') + { + nElemCharges += nAtoms; + } + } + + return nElemCharges; +} + + void Foam::chemkinReader::checkCoeffs ( const scalarList& reactionCoeffs, diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H index ee1986f6..f5023ed3 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H @@ -251,6 +251,11 @@ private: const List& specieComposition ) const; + scalar chargeNumber + ( + const List& specieComposition + ) const; + void finishElements(labelList& currentAtoms); void checkCoeffs