pEqn.H
Go to the documentation of this file.
1rho = thermo.rho();
2
3volScalarField rAU(1.0/UEqn.A());
4surfaceScalarField rhorAUf("rhorAUf", fvc::interpolate(rho*rAU));
5volVectorField HbyA(constrainHbyA(rAU*UEqn.H(), U, p));
6surfaceScalarField phid
7(
8 "phid",
9 fvc::interpolate(psi)
10 *(
11 fvc::flux(HbyA)
12 + rhorAUf*fvc::ddtCorr(rho, U, rhoUf)/fvc::interpolate(rho)
13 )
14);
15
16fvc::makeRelative(phid, psi, U);
17MRF.makeRelative(fvc::interpolate(psi), phid);
18
19// Non-orthogonal pressure corrector loop
20while (pimple.correctNonOrthogonal())
21{
22 fvScalarMatrix pEqn
23 (
24 fvm::ddt(psi, p)
25 + fvm::div(phid, p)
26 - fvm::laplacian(rhorAUf, p)
27 ==
28 fvOptions(psi, p, rho.name())
29 );
30
31 pEqn.solve();
32
33 if (pimple.finalNonOrthogonalIter())
34 {
35 phi = pEqn.flux();
36 }
37}
38
39#include "rhoEqn.H"
40#include "compressibleContinuityErrs.H"
41
42U = HbyA - rAU*fvc::grad(p);
43U.correctBoundaryConditions();
44fvOptions.correct(U);
45K = 0.5*magSqr(U);
46
47{
48 rhoUf = fvc::interpolate(rho*U);
49 surfaceVectorField n(mesh.Sf()/mesh.magSf());
50 rhoUf += n*(fvc::absolute(phi, rho, U)/mesh.magSf() - (n & rhoUf));
51}
CGAL::Exact_predicates_exact_constructions_kernel K
label n
fv::options & fvOptions
surfaceScalarField & phi
IOMRFZoneList & MRF
pimpleControl & pimple
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
U
Definition: pEqn.H:72
rhoUf
Definition: pEqn.H:89
volScalarField & p
const volScalarField & psi
surfaceScalarField rhorAUf("rhorAUf", fvc::interpolate(rho *rAU))
fvVectorMatrix & UEqn
Definition: UEqn.H:13
HbyA
Definition: pcEqn.H:74
surfaceScalarField phid("phid", fvc::interpolate(psi) *(fvc::flux(HbyA)+MRF.zeroFilter(rhorAUf *fvc::ddtCorr(rho, U, phi)/fvc::interpolate(rho))))
dynamicFvMesh & mesh
tmp< volScalarField > rAU
Definition: initCorrectPhi.H:1