pEqn.H
Go to the documentation of this file.
1volScalarField rAUrel(1.0/UrelEqn.A());
2volVectorField HbyA("HbyA", Urel);
4
5surfaceScalarField phiHbyA
6(
7 "phiHbyA",
8 fvc::flux(HbyA)
9 + fvc::interpolate(rAUrel)*fvc::ddtCorr(Urel, phi)
10);
11
13
14tmp<volScalarField> rAtUrel(rAUrel);
15
16if (pimple.consistent())
17{
18 rAtUrel = 1.0/max(1.0/rAUrel - UrelEqn.H1(), 0.1/rAUrel);
19 phiHbyA +=
20 fvc::interpolate(rAtUrel() - rAUrel)*fvc::snGrad(p)*mesh.magSf();
21 HbyA -= (rAUrel - rAtUrel())*fvc::grad(p);
22}
23
24if (pimple.nCorrPISO() <= 1)
25{
26 tUrelEqn.clear();
27}
28
29// Update the pressure BCs to ensure flux consistency
31
32// Non-orthogonal pressure corrector loop
33while (pimple.correctNonOrthogonal())
34{
35 // Pressure corrector
36 fvScalarMatrix pEqn
37 (
38 fvm::laplacian(rAtUrel(), p) == fvc::div(phiHbyA)
39 );
40
41 pEqn.setReference(pRefCell, pRefValue);
42
43 pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
44
45 if (pimple.finalNonOrthogonalIter())
46 {
47 phi = phiHbyA - pEqn.flux();
48 }
49}
50
51#include "continuityErrs.H"
52
53p.relax();
54
55// Momentum corrector
56Urel = HbyA - rAtUrel()*fvc::grad(p);
57Urel.correctBoundaryConditions();
58fvOptions.correct(Urel);
Y[inertIndex] max(0.0)
fv::options & fvOptions
surfaceScalarField & phi
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)
tmp< volScalarField > rAtUrel(rAUrel)
Urel
Definition: pEqn.H:56
volScalarField rAUrel(1.0/UrelEqn.A())
tmp< fvVectorMatrix > tUrelEqn(fvm::ddt(Urel)+fvm::div(phi, Urel)+turbulence->divDevReff(Urel)+SRF->Su()==fvOptions(Urel))
fvVectorMatrix & UrelEqn
Definition: UrelEqn.H:11