pEqn.H
Go to the documentation of this file.
1{
3
4 surfaceScalarField phiHbyA
5 (
6 "phiHbyA",
7 (
8 fvc::flux(HbyA)
9 + alphacf*rAUcf*fvc::ddtCorr(Uc, Ucf)
10 )
11 );
12
13 if (p.needReference())
14 {
15 fvc::makeRelative(phiHbyA, Uc);
16 adjustPhi(phiHbyA, Uc, p);
17 fvc::makeAbsolute(phiHbyA, Uc);
18 }
19
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 (
30 fvm::laplacian(alphacf*rAUcf, p)
31 ==
32 fvc::ddt(alphac) + fvc::div(alphacf*phiHbyA)
33 );
34
35 pEqn.setReference(pRefCell, pRefValue);
36
37 pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
38
39 if (pimple.finalNonOrthogonalIter())
40 {
41 phic = phiHbyA - pEqn.flux()/alphacf;
42
43 p.relax();
44
45 Uc = HbyA
46 + rAUc
47 *fvc::reconstruct((phicForces - pEqn.flux()/alphacf)/rAUcf);
48 Uc.correctBoundaryConditions();
49
50 {
51 Ucf = fvc::interpolate(Uc);
52 surfaceVectorField n(mesh.Sf()/mesh.magSf());
53 Ucf += n*(phic/mesh.magSf() - (n & Ucf));
54 }
55
56 // Make the fluxes relative to the mesh motion
57 fvc::makeRelative(phic, Uc);
58 }
59 }
60}
61
62#include "continuityErrs.H"
surfaceScalarField phic(mixture.cAlpha() *mag(alphaPhic/mesh.magSf()))
label n
surfaceScalarField rAUcf("Dp", fvc::interpolate(rAUc))
volScalarField rAUc(1.0/UcEqn.A())
surfaceScalarField phicForces(fvc::flux(rAUc *cloudVolSUSu/rhoc)+rAUcf *(g &mesh.Sf()))
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)
const scalar pRefValue
const label pRefCell
pimpleControl & pimple
volScalarField & p
phiHbyA
Definition: pcEqn.H:73
HbyA
Definition: pcEqn.H:74
dynamicFvMesh & mesh
adjustPhi(phiHbyA, U, p_rgh)
GeometricField< vector, fvPatchField, volMesh > volVectorField
Definition: volFieldsFwd.H:83