From cbbcfd387892e8307963b15426e7624412cc5c85 Mon Sep 17 00:00:00 2001 From: andy <andy> Date: Tue, 27 Mar 2012 13:44:11 +0100 Subject: [PATCH] BUG: deltaTChem field not resized on mesh.changing() in chemistry models --- .../ODEChemistryModel/ODEChemistryModel.C | 4 +++- .../basicChemistryModel/basicChemistryModel.C | 21 +++++++++++++------ .../basicChemistryModel/basicChemistryModel.H | 6 ++++++ 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C index 117412407c5..f0807eb7250 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -743,6 +743,8 @@ Foam::scalar Foam::ODEChemistryModel<CompType, ThermoType>::solve const scalar deltaT ) { + CompType::correct(); + scalar deltaTMin = GREAT; const volScalarField rho diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.C index 3b2aafecd8a..38efa9e858e 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -34,6 +34,18 @@ namespace Foam defineTypeNameAndDebug(basicChemistryModel, 0); } +// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // + +void Foam::basicChemistryModel::correct() +{ + if (mesh_.changing()) + { + deltaTChem_.setSize(mesh_.nCells()); + deltaTChem_ = deltaTChemIni_; + } +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::basicChemistryModel::basicChemistryModel(const fvMesh& mesh) @@ -51,11 +63,8 @@ Foam::basicChemistryModel::basicChemistryModel(const fvMesh& mesh) ), mesh_(mesh), chemistry_(lookup("chemistry")), - deltaTChem_ - ( - mesh.nCells(), - readScalar(lookup("initialChemicalTimeStep")) - ) + deltaTChemIni_(readScalar(lookup("initialChemicalTimeStep"))), + deltaTChem_(mesh.nCells(), deltaTChemIni_) {} diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H index 607133ce7e7..2f27d59f708 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H @@ -76,6 +76,9 @@ protected: //- Chemistry activation switch Switch chemistry_; + //- Initial chemical time step + const scalar deltaTChemIni_; + //- Latest estimation of integration step scalarField deltaTChem_; @@ -86,6 +89,9 @@ protected: // step, e.g. for multi-chemistry model scalarField& deltaTChem(); + //- Correct function - updates due to mesh changes + void correct(); + public: -- GitLab