Go to the documentation of this file.
40 template<
class RAUfType,
class DivUType>
59 p.boundaryField().size(),
60 zeroGradientFvPatchScalarField::typeName
66 if (
p.boundaryField()[
patchi].fixesValue())
92 mesh.setFluxRequired(pcorr.name());
94 while (
pimple.correctNonOrthogonal())
106 if (
pimple.finalNonOrthogonalIter())
114 template<
class RAUfType,
class DivRhoUType>
122 const RAUfType&
rAUf,
123 const DivRhoUType& divRhoU,
135 p.boundaryField().size(),
136 zeroGradientFvPatchScalarField::typeName
142 if (
p.boundaryField()[
patchi].fixesValue())
161 mesh.setFluxRequired(pcorr.name());
163 while (
pimple.correctNonOrthogonal())
178 if (
pimple.finalNonOrthogonalIter())
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
PIMPLE control class to supply convergence information/checks for the PIMPLE loop.
bool adjustPhi(surfaceScalarField &phi, const volVectorField &U, volScalarField &p)
Adjust the balance of fluxes to obey continuity.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
#define forAll(list, i)
Loop across all elements in list.
Calculate the mesh motion flux and convert fluxes from absolute to relative and back.
Calculate the divergence of the given 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.
For cases which do no have a pressure boundary adjust the balance of fluxes to obey continuity....
bool needReference() const
Does the field need a reference level for solution.
void makeRelative(surfaceScalarField &phi, const volVectorField &U)
Make the given flux relative.
tmp< GeometricField< Type, fvPatchField, volMesh > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
SolverPerformance< Type > solve(const dictionary &)
Solve segregated or coupled returning the solution statistics.
Calculate the matrix for the laplacian of the field.
A scalar instance of fvMatrix.
Generic dimensioned Type class.
Mesh data needed to do the Finite Volume discretisation.
const volScalarField & psi
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
volScalarField divU(fvc::div(fvc::absolute(phi, U)))
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void CorrectPhi(volVectorField &U, surfaceScalarField &phi, const volScalarField &p, const RAUfType &rAUf, const DivUType &divU, pimpleControl &pimple)
A special matrix type and solver, designed for finite volume solutions of scalar equations....
const dictionary & pimple
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
void makeAbsolute(surfaceScalarField &phi, const volVectorField &U)
Make the given flux absolute.
Generic GeometricField class.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux() const
Return the face-flux field from the matrix.
wordList pcorrTypes(p.boundaryField().size(), zeroGradientFvPatchScalarField::typeName)
Calulate the matrix for the first temporal derivative.
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU))