pimpleControl: Added optional 'solveFlow' control

sprayFoam: Added support for the optional 'solveFlow' control to allow
           simulation of the spray evolution with all sub-models in a 'frozen'
           flow-field.
This commit is contained in:
Henry Weller
2016-12-12 14:35:21 +00:00
parent 8ddfe86d1d
commit f31623d337
4 changed files with 44 additions and 27 deletions

View File

@ -75,6 +75,8 @@ int main(int argc, char *argv[])
parcels.evolve();
if (pimple.solveFlow())
{
#include "rhoEqn.H"
// --- Pressure-velocity PIMPLE corrector loop
@ -102,6 +104,7 @@ int main(int argc, char *argv[])
{
combustion->dQ()().write();
}
}
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
<< " ClockTime = " << runTime.elapsedClockTime() << " s"

View File

@ -40,8 +40,9 @@ void Foam::pimpleControl::read()
{
solutionControl::read(false);
// Read solution controls
const dictionary& pimpleDict = dict();
solveFlow_ = pimpleDict.lookupOrDefault<Switch>("solveFlow", true);
nCorrPIMPLE_ = pimpleDict.lookupOrDefault<label>("nOuterCorrectors", 1);
nCorrPISO_ = pimpleDict.lookupOrDefault<label>("nCorrectors", 1);
turbOnFinalIterOnly_ =
@ -123,6 +124,7 @@ bool Foam::pimpleControl::criteriaSatisfied()
Foam::pimpleControl::pimpleControl(fvMesh& mesh, const word& dictName)
:
solutionControl(mesh, dictName),
solveFlow_(true),
nCorrPIMPLE_(0),
nCorrPISO_(0),
corrPISO_(0),

View File

@ -69,6 +69,9 @@ protected:
// Solution controls
//- Flag to indicate whether to solve for the flow
bool solveFlow_;
//- Maximum number of PIMPLE correctors
label nCorrPIMPLE_;
@ -131,22 +134,25 @@ public:
//- PIMPLE loop
virtual bool loop();
//- Pressure corrector loop
//- Pressure corrector loop control
inline bool correct();
//- Helper function to identify when to store the intial residuals
//- Return true to store the intial residuals
inline bool storeInitialResiduals() const;
//- Helper function to identify first PIMPLE (outer) iteration
//- Return true for first PIMPLE (outer) iteration
inline bool firstIter() const;
//- Helper function to identify final PIMPLE (outer) iteration
//- Return true fore final PIMPLE (outer) iteration
inline bool finalIter() const;
//- Helper function to identify final inner iteration
//- Return true for final inner iteration
inline bool finalInnerIter() const;
//- Helper function to identify whether to solve for turbulence
//- Return true to solve for flow
inline bool solveFlow() const;
//- Return true to solve for turbulence
inline bool turbCorr() const;
};

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -92,6 +92,12 @@ inline bool Foam::pimpleControl::finalInnerIter() const
}
inline bool Foam::pimpleControl::solveFlow() const
{
return solveFlow_;
}
inline bool Foam::pimpleControl::turbCorr() const
{
return !turbOnFinalIterOnly_ || finalIter();