pEqn.H
Go to the documentation of this file.
1 {
3 
5  (
6  "phiHbyA",
7  (
9  + alphacf*rAUcf*fvc::ddtCorr(Uc, phic)
10  )
11  );
12 
13  if (p.needReference())
14  {
15  adjustPhi(phiHbyA, Uc, p);
16  }
17 
19 
20  // Update the pressure BCs to ensure flux consistency
22 
23  // Non-orthogonal pressure corrector loop
24  while (pimple.correctNonOrthogonal())
25  {
26  fvScalarMatrix pEqn
27  (
28  fvm::laplacian(alphacf*rAUcf, p)
29  ==
30  fvc::ddt(alphac) + fvc::div(alphacf*phiHbyA)
31  );
32 
33  pEqn.setReference(pRefCell, pRefValue);
34 
35  pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
36 
37  if (pimple.finalNonOrthogonalIter())
38  {
39  phic = phiHbyA - pEqn.flux()/alphacf;
40 
41  p.relax();
42 
43  Uc = HbyA
44  + rAUc*fvc::reconstruct((phicForces - pEqn.flux()/alphacf)/rAUcf);
45  Uc.correctBoundaryConditions();
46  }
47  }
48 }
49 
50 #include "continuityErrs.H"
Foam::fvc::reconstruct
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> reconstruct(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Definition: fvcReconstruct.C:56
Foam::constrainHbyA
tmp< volVectorField > constrainHbyA(const tmp< volVectorField > &tHbyA, const volVectorField &U, const volScalarField &p)
Definition: constrainHbyA.C:35
Foam::fvc::flux
tmp< surfaceScalarField > flux(const volVectorField &vvf)
Return the face-flux field obtained from the given volVectorField.
continuityErrs.H
Calculates and prints the continuity errors.
phiHbyA
phiHbyA
Definition: pEqn.H:20
UcEqn
fvVectorMatrix UcEqn(fvm::ddt(alphac, Uc)+fvm::div(alphaPhic, Uc) - fvm::Sp(fvc::ddt(alphac)+fvc::div(alphaPhic), Uc)+continuousPhaseTurbulence->divDevRhoReff(Uc)==(1.0/rhoc) *cloudSU)
Foam::fac::div
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Definition: facDiv.C:50
phic
surfaceScalarField phic(mixture.cAlpha() *mag(alphaPhic/mesh.magSf()))
pimple
pimpleControl & pimple
Definition: setRegionFluidFields.H:56
HbyA
HbyA
Definition: pEqn.H:4
Foam::fvScalarMatrix
fvMatrix< scalar > fvScalarMatrix
Definition: fvMatricesFwd.H:44
phicForces
surfaceScalarField phicForces(fvc::flux(rAUc *cloudVolSUSu/rhoc)+rAUcf *(g &mesh.Sf()))
ddtCorr
ddtCorr
Definition: readControls.H:9
p
p
Definition: pEqn.H:50
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:6
rAUcf
surfaceScalarField rAUcf("Dp", fvc::interpolate(rAUc))
Foam::volVectorField
GeometricField< vector, fvPatchField, volMesh > volVectorField
Definition: volFieldsFwd.H:62
Foam::surfaceScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Definition: surfaceFieldsFwd.H:54
Foam::fac::ddt
tmp< GeometricField< Type, faPatchField, areaMesh > > ddt(const dimensioned< Type > dt, const faMesh &mesh)
Definition: facDdt.C:47
Foam::fac::laplacian
tmp< GeometricField< Type, faPatchField, areaMesh > > laplacian(const GeometricField< Type, faPatchField, areaMesh > &vf, const word &name)
Definition: facLaplacian.C:47
adjustPhi
adjustPhi(phiHbyA, U, p_rgh)
rAUc
volScalarField rAUc(1.0/UcEqn.A())
pRefCell
const label pRefCell
Definition: setRegionFluidFields.H:36
constrainPressure
constrainPressure(p_rgh, rho, U, phiHbyA, rhorAUf, MRF)
pRefValue
const scalar pRefValue
Definition: setRegionFluidFields.H:37