pEqn.H
Go to the documentation of this file.
1 
2 volScalarField rAU(1.0/UEqn.A());
4 
6 
7 if (pimple.ddtCorr())
8 {
9  phiHbyA += MRF.zeroFilter(fvc::interpolate(rAU)*fvc::ddtCorr(U, phi, Uf));
10 }
11 
12 MRF.makeRelative(phiHbyA);
13 
14 if (p.needReference())
15 {
17  adjustPhi(phiHbyA, U, p);
19 }
20 
21 
22 // Update the pressure BCs to ensure flux consistency
24 
25 // Non-orthogonal pressure corrector loop
26 while (pimple.correctNonOrthogonal())
27 {
28  fvScalarMatrix pEqn
29  (
31  ==
33  );
34 
35  pEqn.setReference(pRefCell, pRefValue);
36 
37  pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
38 
39  if (pimple.finalNonOrthogonalIter())
40  {
41  phi = phiHbyA - pEqn.flux();
42  }
43 }
44 
45 #include "continuityErrs.H"
46 
47 p.relax();
48 
50 U.correctBoundaryConditions();
51 fvOptions.correct(U);
52 
53 // Correct rhoUf if the mesh is moving
55 
56 // Make the fluxes relative to the mesh motion
58 
fvMatrix< scalar > fvScalarMatrix
Definition: fvMatricesFwd.H:37
p
Definition: pEqn.H:50
volScalarField rAU(1.0/UEqn.A())
phiHbyA
Definition: pEqn.H:20
tmp< surfaceScalarField > flux(const volVectorField &vvf)
Return the face-flux field obtained from the given volVectorField.
tmp< GeometricField< typename flux< Type >::type, fvsPatchField, surfaceMesh > > ddtCorr(const GeometricField< Type, fvPatchField, volMesh > &U, const GeometricField< Type, fvsPatchField, surfaceMesh > &Uf)
Definition: fvcDdt.C:165
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Definition: facDiv.C:43
GeometricField< vector, fvPatchField, volMesh > volVectorField
Definition: volFieldsFwd.H:82
fv::options & fvOptions
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:81
dynamicFvMesh & mesh
IOMRFZoneList & MRF
tmp< GeometricField< Type, faPatchField, areaMesh > > laplacian(const GeometricField< Type, faPatchField, areaMesh > &vf, const word &name)
Definition: facLaplacian.C:40
void correctUf(autoPtr< surfaceVectorField > &Uf, const volVectorField &U, const surfaceScalarField &phi)
Definition: fvcMeshPhi.C:218
tmp< volVectorField > constrainHbyA(const tmp< volVectorField > &tHbyA, const volVectorField &U, const volScalarField &p)
Definition: constrainHbyA.C:28
HbyA
Definition: pEqn.H:4
pimpleControl & pimple
adjustPhi(phiHbyA, U, p_rgh)
const scalar pRefValue
const label pRefCell
U
Definition: pEqn.H:72
mesh interpolate(rAU)
fvVectorMatrix & UEqn
Definition: UEqn.H:13
void makeAbsolute(surfaceScalarField &phi, const volVectorField &U)
Make the given flux absolute.
Definition: fvcMeshPhi.C:109
constrainPressure(p_rgh, rho, U, phiHbyA, rhorAUf, MRF)
phi
Definition: pEqn.H:18
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
MRF makeRelative(fvc::interpolate(rho), phiHbyA)
Uf
Definition: pEqn.H:64
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Definition: facGrad.C:51