41 template<
class RAUfType,
class DivUType>
61 zeroGradientFvPatchScalarField::typeName
86 if (pcorr.needReference())
109 phi -= pcorrEqn.
flux();
115 template<
class RAUfType,
class DivRhoUType>
123 const RAUfType& rAUf,
124 const DivRhoUType& divRhoU,
137 zeroGradientFvPatchScalarField::typeName
181 phi += pcorrEqn.
flux();
void CorrectPhi(volVectorField &U, surfaceScalarField &phi, const volScalarField &p, const RAUfType &rAUf, const DivUType &divU, pimpleControl &pimple)
#define forAll(list, i)
Loop across all elements in list.
void setFluxRequired(const word &name) const
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.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux() const
Return the face-flux field from the matrix.
Calculate the matrix for the laplacian of the field.
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
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.
bool adjustPhi(surfaceScalarField &phi, const volVectorField &U, volScalarField &p)
Adjust the balance of fluxes to obey continuity.
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
const Boundary & boundaryField() const
Return const-reference to the boundary field.
bool correctNonOrthogonal()
Non-orthogonal corrector loop.
Calulate the matrix for the first temporal derivative.
bool finalNonOrthogonalIter() const
Helper function to identify final non-orthogonal iteration.
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.
const dimensionSet & dimensions() const
Return dimensions.
Calculate the divergence of the given field.
SolverPerformance< Type > solve(const dictionary &)
Solve segregated or coupled returning the solution statistics.
Calculate the mesh motion flux and convert fluxes from absolute to relative and back.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const Mesh & mesh() const
Return mesh.
A scalar instance of fvMatrix.
PIMPLE control class to supply convergence information/checks for the PIMPLE loop.
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...
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...
const Time & time() const
Return the top-level database.