From fd9d07413aeca5a966316faba49217245bd5e68c Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Mon, 29 Jun 2015 11:53:20 +0100 Subject: [PATCH] LTS: Simplify the selection of LTS operation --- .../solvers/lagrangian/coalChemistryFoam/setRDeltaT.H | 1 - .../phaseSystems/twoPhaseSystem/twoPhaseSystem.C | 4 +--- src/combustionModels/laminar/laminar.C | 4 +--- src/finiteVolume/cfdTools/general/include/createRDeltaT.H | 4 +--- .../ddtSchemes/localEulerDdtScheme/localEulerDdt.C | 8 ++++++++ .../ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.H | 6 ++++++ .../fvMatrices/solvers/MULES/CMULESTemplates.C | 6 +----- .../fvMatrices/solvers/MULES/MULESTemplates.C | 6 +----- 8 files changed, 19 insertions(+), 20 deletions(-) diff --git a/applications/solvers/lagrangian/coalChemistryFoam/setRDeltaT.H b/applications/solvers/lagrangian/coalChemistryFoam/setRDeltaT.H index 79cdd1aacb..1c7d7cb5e2 100644 --- a/applications/solvers/lagrangian/coalChemistryFoam/setRDeltaT.H +++ b/applications/solvers/lagrangian/coalChemistryFoam/setRDeltaT.H @@ -73,7 +73,6 @@ License } // Reaction source time scale - if (alphaTemp < 1.0) { volScalarField::DimensionedInternalField rDeltaTT ( diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystem.C b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystem.C index fa867267a9..caee01b251 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystem.C +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystem.C @@ -175,9 +175,7 @@ void Foam::twoPhaseSystem::solve() label nAlphaSubCycles(readLabel(alphaControls.lookup("nAlphaSubCycles"))); label nAlphaCorr(readLabel(alphaControls.lookup("nAlphaCorr"))); - bool LTS = - word(mesh.ddtScheme("default")) - == fv::localEulerDdtScheme::typeName; + bool LTS = fv::localEulerDdt::enabled(mesh); word alphaScheme("div(phi," + alpha1.name() + ')'); word alpharScheme("div(phir," + alpha1.name() + ')'); diff --git a/src/combustionModels/laminar/laminar.C b/src/combustionModels/laminar/laminar.C index 07f690caea..069e9b588a 100644 --- a/src/combustionModels/laminar/laminar.C +++ b/src/combustionModels/laminar/laminar.C @@ -78,9 +78,7 @@ void Foam::combustionModels::laminar::correct() { if (integrateReactionRate_) { - word ddtScheme(this->mesh().ddtScheme("Yi")); - - if (ddtScheme == fv::localEulerDdtScheme::typeName) + if (fv::localEulerDdt::enabled(this->mesh())) { const scalarField& rDeltaT = fv::localEulerDdt::localRDeltaT(this->mesh()); diff --git a/src/finiteVolume/cfdTools/general/include/createRDeltaT.H b/src/finiteVolume/cfdTools/general/include/createRDeltaT.H index eec4db8583..5d24e2f78c 100644 --- a/src/finiteVolume/cfdTools/general/include/createRDeltaT.H +++ b/src/finiteVolume/cfdTools/general/include/createRDeltaT.H @@ -1,6 +1,4 @@ -bool LTS = - word(mesh.ddtScheme("default")) - == fv::localEulerDdtScheme::typeName; +bool LTS = fv::localEulerDdt::enabled(mesh); tmp trDeltaT; diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdt.C b/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdt.C index 8826efba0e..c70a1665a5 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdt.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdt.C @@ -33,6 +33,14 @@ Foam::word Foam::fv::localEulerDdt::rSubDeltaTName("rSubDeltaTName"); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +bool Foam::fv::localEulerDdt::enabled(const fvMesh& mesh) +{ + return + word(mesh.ddtScheme("default")) + == fv::localEulerDdtScheme::typeName; +} + + const Foam::volScalarField& Foam::fv::localEulerDdt::localRDeltaT ( const fvMesh& mesh diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.H b/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.H index a0e55d3e47..b28227939f 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.H +++ b/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.H @@ -37,6 +37,7 @@ See Also Foam::fv::CoEulerDdtScheme SourceFiles + localEulerDdt.C localEulerDdtScheme.C localEulerDdtSchemes.C @@ -71,13 +72,18 @@ public: //- Name of the reciprocal local sub-cycling time-step field static word rSubDeltaTName; + // Constructors localEulerDdt() {} + // Member Functions + //- Return true if LTS is enabled + static bool enabled(const fvMesh& mesh); + //- Return the reciprocal of the local time-step // looked-up from the objectRegistry static const volScalarField& localRDeltaT(const fvMesh& mesh); diff --git a/src/finiteVolume/fvMatrices/solvers/MULES/CMULESTemplates.C b/src/finiteVolume/fvMatrices/solvers/MULES/CMULESTemplates.C index ec1afe2bf3..00480d48c0 100644 --- a/src/finiteVolume/fvMatrices/solvers/MULES/CMULESTemplates.C +++ b/src/finiteVolume/fvMatrices/solvers/MULES/CMULESTemplates.C @@ -89,11 +89,7 @@ void Foam::MULES::correct { const fvMesh& mesh = psi.mesh(); - bool LTS = - word(mesh.ddtScheme("default")) - == fv::localEulerDdtScheme::typeName; - - if (LTS) + if (fv::localEulerDdt::enabled(mesh)) { const volScalarField& rDeltaT = fv::localEulerDdt::localRDeltaT(mesh); diff --git a/src/finiteVolume/fvMatrices/solvers/MULES/MULESTemplates.C b/src/finiteVolume/fvMatrices/solvers/MULES/MULESTemplates.C index 6515513d31..f3bb5432a5 100644 --- a/src/finiteVolume/fvMatrices/solvers/MULES/MULESTemplates.C +++ b/src/finiteVolume/fvMatrices/solvers/MULES/MULESTemplates.C @@ -111,11 +111,7 @@ void Foam::MULES::explicitSolve psi.correctBoundaryConditions(); - bool LTS = - word(mesh.ddtScheme("default")) - == fv::localEulerDdtScheme::typeName; - - if (LTS) + if (fv::localEulerDdt::enabled(mesh)) { const volScalarField& rDeltaT = fv::localEulerDdt::localRDeltaT(mesh);