Go to the documentation of this file.
43 template<
class RAUfType,
class DivUType>
62 p.boundaryField().size(),
63 zeroGradientFvPatchScalarField::typeName
67 forAll(
p.boundaryField(), patchi)
69 if (
p.boundaryField()[patchi].fixesValue())
71 pcorrTypes[patchi] = fixedValueFvPatchScalarField::typeName;
88 if (
pcorr.needReference())
97 while (
pimple.correctNonOrthogonal())
113 if (
pimple.finalNonOrthogonalIter())
121 template<
class RAUfType,
class DivRhoUType>
129 const RAUfType&
rAUf,
130 const DivRhoUType& divRhoU,
142 p.boundaryField().size(),
143 zeroGradientFvPatchScalarField::typeName
147 forAll(
p.boundaryField(), patchi)
149 if (
p.boundaryField()[patchi].fixesValue())
151 pcorrTypes[patchi] = fixedValueFvPatchScalarField::typeName;
170 while (
pimple.correctNonOrthogonal())
188 if (
pimple.finalNonOrthogonalIter())
Defines the attributes of an object for which implicit objectRegistry management is supported,...
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.
static constexpr const zero Zero
Global zero (0)
Calculate the mesh motion flux and convert fluxes from absolute to relative and back.
Calculate the divergence of the given field.
void setReference(const label celli, const Type &value, const bool forceReference=false)
Set reference level for solution.
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
For cases which do no have a pressure boundary adjust the balance of fluxes to obey continuity....
volScalarField pcorr(IOobject("pcorr", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), mesh, dimensionedScalar(p.dimensions(), Zero), pcorrTypes)
#define forAll(list, i)
Loop across all elements in list.
void makeRelative(surfaceScalarField &phi, const volVectorField &U)
Make the given flux relative.
Calculate the matrix for the laplacian of the field.
wordList pcorrTypes(p.boundaryField().size(), zeroGradientFvPatchScalarField::typeName)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
A scalar instance of fvMatrix.
Mesh data needed to do the Finite Volume discretisation.
void CorrectPhi(volVectorField &U, surfaceScalarField &phi, const volScalarField &p, const RAUfType &rAUf, const DivUType &divU, pimpleControl &pimple)
tmp< GeometricField< Type, faPatchField, areaMesh > > ddt(const dimensioned< Type > dt, const faMesh &mesh)
A special matrix type and solver, designed for finite volume solutions of scalar equations....
SolverPerformance< Type > solve(const dictionary &)
Solve returning the solution statistics.
tmp< GeometricField< Type, faPatchField, areaMesh > > laplacian(const GeometricField< Type, faPatchField, areaMesh > &vf, const word &name)
void makeAbsolute(surfaceScalarField &phi, const volVectorField &U)
Make the given flux absolute.
const volScalarField & psi
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux() const
Return the face-flux field from the matrix.
Calculate the matrix for the first temporal derivative.
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU))