mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Adding finalOnLastPimpleIterOnly to allow Final solver in PIMPLE
The PIMPLE option finalOnLastPimpleIterOnly allows the call the Final solver only in the last PIMPLE loop. The default is false which is the present behavior.
This commit is contained in:
committed by
Andrew Heather
parent
95c675428d
commit
775fe1d596
@ -50,6 +50,8 @@ bool Foam::pimpleControl::read()
|
||||
SIMPLErho_ = pimpleDict.getOrDefault("SIMPLErho", false);
|
||||
turbOnFinalIterOnly_ =
|
||||
pimpleDict.getOrDefault("turbOnFinalIterOnly", true);
|
||||
finalOnLastPimpleIterOnly_ =
|
||||
pimpleDict.getOrDefault("finalOnLastPimpleIterOnly", false);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -153,7 +155,8 @@ Foam::pimpleControl::pimpleControl
|
||||
corrPISO_(0),
|
||||
SIMPLErho_(false),
|
||||
turbOnFinalIterOnly_(true),
|
||||
converged_(false)
|
||||
converged_(false),
|
||||
finalOnLastPimpleIterOnly_(false)
|
||||
{
|
||||
read();
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2017 OpenCFD Ltd.
|
||||
Copyright (C) 2017-2020 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -94,6 +94,10 @@ protected:
|
||||
//- Converged flag
|
||||
bool converged_;
|
||||
|
||||
//- Flag to indicate wheter the final solver is used only on the
|
||||
// final pimple iter
|
||||
bool finalOnLastPimpleIterOnly_;
|
||||
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
Copyright (C) 2020 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -96,9 +97,18 @@ inline bool Foam::pimpleControl::finalIter() const
|
||||
|
||||
inline bool Foam::pimpleControl::finalInnerIter() const
|
||||
{
|
||||
return
|
||||
corrPISO_ == nCorrPISO_
|
||||
&& corrNonOrtho_ == nNonOrthCorr_ + 1;
|
||||
bool finalInnerIter =
|
||||
corrPISO_ == nCorrPISO_
|
||||
&& corrNonOrtho_ == nNonOrthCorr_ + 1;
|
||||
|
||||
if (finalOnLastPimpleIterOnly_)
|
||||
{
|
||||
return finalInnerIter && finalIter();
|
||||
}
|
||||
else
|
||||
{
|
||||
return finalInnerIter;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -58,6 +58,7 @@ PIMPLE
|
||||
momentumPredictor yes;
|
||||
nOuterCorrectors 1;
|
||||
nCorrectors 2;
|
||||
finalOnLastPimpleIterOnly true;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
|
||||
pMax 1.2e5;
|
||||
|
||||
Reference in New Issue
Block a user