fvCorrectPhi: Wrapper for CorrectPhi to simplify solvers
This commit is contained in:
@ -50,6 +50,28 @@ void Foam::solvers::VoFSolver::continuityErrors()
|
||||
|
||||
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
|
||||
|
||||
void Foam::solvers::VoFSolver::setrAU(const fvVectorMatrix& UEqn)
|
||||
{
|
||||
if (rAU.valid())
|
||||
{
|
||||
rAU() = 1.0/UEqn.A();
|
||||
}
|
||||
else
|
||||
{
|
||||
rAU = (1.0/UEqn.A()).ptr();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Foam::solvers::VoFSolver::clearrAU()
|
||||
{
|
||||
if (!(correctPhi || mesh.topoChanging()))
|
||||
{
|
||||
rAU.clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Foam::solvers::VoFSolver::correctCoNum()
|
||||
{
|
||||
fluidSolver::correctCoNum(phi);
|
||||
|
||||
@ -125,7 +125,9 @@ protected:
|
||||
|
||||
// Cached temporary fields
|
||||
|
||||
tmp<volScalarField> rAU;
|
||||
//- Inverse momentum equation diagonal
|
||||
// Used to correct phi following mesh changes
|
||||
autoPtr<volScalarField> rAU;
|
||||
|
||||
//- Pointer to the surface momentum field
|
||||
// used to recreate the flux after mesh-change
|
||||
@ -157,6 +159,12 @@ protected:
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
//- Set or update the cached rAU
|
||||
void setrAU(const fvVectorMatrix& UEqn);
|
||||
|
||||
//- Clear the cached rAU is no longer needed
|
||||
void clearrAU();
|
||||
|
||||
//- Correct the cached Courant numbers
|
||||
virtual void correctCoNum() = 0;
|
||||
|
||||
|
||||
@ -24,8 +24,9 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "VoFSolver.H"
|
||||
#include "CorrectPhi.H"
|
||||
#include "geometricZeroField.H"
|
||||
#include "fvCorrectPhi.H"
|
||||
#include "fvcMeshPhi.H"
|
||||
#include "fvcDiv.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
||||
|
||||
@ -67,12 +68,12 @@ void Foam::solvers::VoFSolver::moveMesh()
|
||||
|
||||
if (incompressible())
|
||||
{
|
||||
CorrectPhi
|
||||
fv::correctPhi
|
||||
(
|
||||
phi,
|
||||
U,
|
||||
p_rgh,
|
||||
surfaceScalarField("rAUf", fvc::interpolate(rAU())),
|
||||
rAU,
|
||||
divU,
|
||||
pressureReference(),
|
||||
pimple
|
||||
@ -80,12 +81,12 @@ void Foam::solvers::VoFSolver::moveMesh()
|
||||
}
|
||||
else
|
||||
{
|
||||
CorrectPhi
|
||||
fv::correctPhi
|
||||
(
|
||||
phi,
|
||||
p_rgh,
|
||||
psiByRho(),
|
||||
surfaceScalarField("rAUf", fvc::interpolate(rAU())),
|
||||
rAU,
|
||||
divU(),
|
||||
pimple
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user