mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
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:
@ -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"
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
Reference in New Issue
Block a user