correctPhi.H
Go to the documentation of this file.
2
3{
4 volScalarField pcorr
5 (
6 IOobject
7 (
8 "pcorr",
9 runTime.timeName(),
10 mesh,
11 IOobject::NO_READ,
12 IOobject::NO_WRITE
13 ),
14 mesh,
15 dimensionedScalar(p.dimensions(), Zero),
17 );
18
19 surfaceScalarField rhof(fvc::interpolate(rho, "div(phi,rho)"));
20 dimensionedScalar rAUf("rAUf", dimTime, 1.0);
21
22 mesh.setFluxRequired(pcorr.name());
23
24 while (pimple.correctNonOrthogonal())
25 {
26 fvScalarMatrix pcorrEqn
27 (
28 fvm::laplacian(rAUf, pcorr) == fvc::ddt(rho) + fvc::div(phi*rhof)
29 );
30
31 pcorrEqn.solve();
32
33 if (pimple.finalNonOrthogonalIter())
34 {
35 phi -= pcorrEqn.flux()/rhof;
36 }
37 }
38}
surfaceScalarField & phi
pimpleControl & pimple
U
Definition: pEqn.H:72
volScalarField & p
volScalarField pcorr(IOobject("pcorr", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), mesh, dimensionedScalar(p.dimensions(), Zero), pcorrTypes)
wordList pcorrTypes(p.boundaryField().size(), zeroGradientFvPatchScalarField::typeName)
dynamicFvMesh & mesh
engineTime & runTime
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU))
correctUphiBCs(U, phi)
surfaceScalarField rhof(fvc::interpolate(rho, "div(phi,rho)"))