41 template<
class RAUfType,
class DivUType>
50 const bool evaluateUBCs
62 zeroGradientFvPatchScalarField::typeName
111 phi -= pcorrEqn.
flux();
117 template<
class RAUfType,
class DivRhoUType>
125 const RAUfType& rAUf,
126 const DivRhoUType& divRhoU,
128 const bool evaluateUBCs
140 zeroGradientFvPatchScalarField::typeName
184 phi += pcorrEqn.
flux();
bool finalNonOrthogonalIter() const
Flag to indicate the last non-orthogonal iteration.
#define forAll(list, i)
Loop across all elements in list.
const word & name() const
Return name.
bool correctNonOrthogonal()
Non-orthogonal corrector loop.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
void setReference(const label celli, const Type &value, const bool forceReference=false)
Set reference level for solution.
Calculate the matrix for the laplacian of the field.
void setFluxRequired(const word &name) const
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
const Time & time() const
Return the top-level database.
tmp< GeometricField< Type, fvPatchField, volMesh > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
bool adjustPhi(surfaceScalarField &phi, const volVectorField &U, volScalarField &p)
Adjust the balance of fluxes to obey continuity.
bool needReference() const
Does the field need a reference level for solution.
const dimensionSet & dimensions() const
Return dimensions.
Calculate the matrix for the first temporal derivative.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
Calculate the divergence of the given field.
SolverPerformance< Type > solve(const dictionary &)
Solve segregated or coupled returning the solution statistics.
const Mesh & mesh() const
Return mesh.
void CorrectPhi(volVectorField &U, surfaceScalarField &phi, const volScalarField &p, const RAUfType &rAUf, const DivUType &divU, nonOrthogonalSolutionControl &pcorrControl, const bool evaluateUBCs)
Calculate the mesh motion flux and convert fluxes from absolute to relative and back.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
A scalar instance of fvMatrix.
wordList pcorrTypes(p.boundaryField().size(), zeroGradientFvPatchScalarField::typeName)
Mesh data needed to do the Finite Volume discretisation.
void makeAbsolute(surfaceScalarField &phi, const volVectorField &U)
Make the given flux absolute.
For cases which do no have a pressure boundary adjust the balance of fluxes to obey continuity...
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux() const
Return the face-flux field from the matrix.
void makeRelative(surfaceScalarField &phi, const volVectorField &U)
Make the given flux relative.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Non-orthogonal solution control class. Provides non-orthogonal-loop control methods.
correctUphiBCs(U, phi, true)