diff --git a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C index 30aa132a10..6d8623e0a8 100644 --- a/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C +++ b/src/thermophysicalModels/specie/reaction/Reactions/Reaction/Reaction.C @@ -699,13 +699,16 @@ void Foam::Reaction::dwdc // When third-body species are involved, additional terms are added // beta function returns an empty list when third-body are not involved - if (this->beta().size() > 0) + const List>& beta = this->beta(); + if (notNull(beta)) { - scalarField dcidc(this->beta().size()); + // This temporary array needs to be cached for efficiency + scalarField dcidc(beta.size()); this->dcidc(p, T, c, dcidc); - forAll(this->beta(), j) + + forAll(beta, j) { - label sj = this->beta()[j].first(); + label sj = beta[j].first(); sj = reduced ? c2s[sj] : sj; if (sj != -1) {