2 volScalarField rAU("rAU", 1.0/UEqn.A());
3 surfaceScalarField rAUf("(1|A(U))", fvc::interpolate(rAU));
7 phi = (fvc::interpolate(U) & mesh.Sf())
8 + fvc::ddtPhiCorr(rAU, U, phi);
10 surfaceScalarField buoyancyPhi(rAUf*ghf*fvc::snGrad(rhok)*mesh.magSf());
13 for (int nonOrth=0; nonOrth<=pimple.nNonOrthCorr(); nonOrth++)
15 fvScalarMatrix p_rghEqn
17 fvm::laplacian(rAUf, p_rgh) == fvc::div(phi)
20 p_rghEqn.setReference(pRefCell, getRefCellValue(p_rgh, pRefCell));
24 mesh.solver(p_rgh.select(pimple.finalInnerIter(corr, nonOrth)))
27 if (nonOrth == pimple.nNonOrthCorr())
29 // Calculate the conservative fluxes
30 phi -= p_rghEqn.flux();
32 // Explicitly relax pressure for momentum corrector
35 // Correct the momentum source with the pressure gradient flux
36 // calculated from the relaxed pressure
37 U -= rAU*fvc::reconstruct((buoyancyPhi + p_rghEqn.flux())/rAUf);
38 U.correctBoundaryConditions();
42 #include "continuityErrs.H"
46 if (p_rgh.needReference())
48 p += dimensionedScalar
52 pRefValue - getRefCellValue(p, pRefCell)