From 10fa5172ccd1ae717fad130789ec8154f086521a Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Wed, 8 Jul 2009 16:35:09 +0100 Subject: [PATCH] optimisation - removed double allocation of storage of t --- .../ODEChemistryModel/ODEChemistryModel.C | 45 +++++++++---------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C index dfe226da197..7153826609d 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C @@ -246,11 +246,9 @@ Foam::scalar Foam::ODEChemistryModel<CompType, ThermoType>::omega { pr *= pow(cr, exp - 1.0); } - } return pf*cf - pr*cr; - } @@ -468,10 +466,27 @@ Foam::ODEChemistryModel<CompType, ThermoType>::tc() const this->thermo().rho() ); - label nCells = rho.size(); - label nReaction = reactions_.size(); + tmp<volScalarField> tsource + ( + new volScalarField + ( + IOobject + ( + "tc", + this->time().timeName(), + this->mesh(), + IOobject::NO_READ, + IOobject::NO_WRITE + ), + this->mesh(), + dimensionedScalar("zero", dimTime, SMALL), + zeroGradientFvPatchScalarField::typeName + ) + ); + + scalarField& t = tsource(); - scalarField t(nCells, SMALL); + label nReaction = reactions_.size(); if (this->chemistry_) { @@ -509,25 +524,7 @@ Foam::ODEChemistryModel<CompType, ThermoType>::tc() const } } - tmp<volScalarField> tsource - ( - new volScalarField - ( - IOobject - ( - "tc", - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - this->mesh_, - dimensionedScalar("zero", dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName - ) - ); - tsource().internalField() = t; tsource().correctBoundaryConditions(); return tsource; @@ -682,7 +679,7 @@ Foam::scalar Foam::ODEChemistryModel<CompType, ThermoType>::solve forAll(rho, celli) { - for (label i=0; i<nSpecie(); i++) + for (label i=0; i<nSpecie_; i++) { RR_[i][celli] = 0.0; } -- GitLab