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));
6
7if (pimple.transonic())
8{
9 surfaceScalarField phid
10 (
11 "phid",
12 fvc::interpolate(psi)
13 *(
14 fvc::flux(HbyA)
15 + rhorAUf*fvc::ddtCorr(rho, U, phi)/fvc::interpolate(rho)
16 )
17 );
18
19 MRF.makeRelative(fvc::interpolate(psi), phid);
20
21 while (pimple.correctNonOrthogonal())
22 {
23 fvScalarMatrix pEqn
24 (
25 fvm::ddt(psi, p)
26 + fvm::div(phid, p)
27 - fvm::laplacian(rhorAUf, p)
28 ==
29 fvOptions(psi, p, rho.name())
30 );
31
32 pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
33
34 if (pimple.finalNonOrthogonalIter())
35 {
36 phi == pEqn.flux();
37 }
38 }
39}
40else
41{
42 surfaceScalarField phiHbyA
43 (
44 "phiHbyA",
45 (
46 fvc::flux(rho*HbyA)
47 + rhorAUf*fvc::ddtCorr(rho, U, phi)
48 )
49 );
50
51 MRF.makeRelative(phiHbyA);
52
53 // Update the pressure BCs to ensure flux consistency
55
56 while (pimple.correctNonOrthogonal())
57 {
58 fvScalarMatrix pEqn
59 (
60 fvm::ddt(psi, p)
61 + fvc::div(phiHbyA)
62 - fvm::laplacian(rhorAUf, p)
63 ==
64 fvOptions(psi, p, rho.name())
65 );
66
67 pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
68
69 if (pimple.finalNonOrthogonalIter())
70 {
71 phi = phiHbyA + pEqn.flux();
72 }
73 }
74}
75
76#include "rhoEqn.H"
77#include "compressibleContinuityErrs.H"
78
79U = HbyA - rAU*fvc::grad(p);
80U.correctBoundaryConditions();
81fvOptions.correct(U);
82K = 0.5*magSqr(U);
83
84if (thermo.dpdt())
85{
86 dpdt = fvc::ddt(p);
87}
CGAL::Exact_predicates_exact_constructions_kernel K
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
volScalarField & p
const volScalarField & psi
surfaceScalarField rhorAUf("rhorAUf", fvc::interpolate(rho *rAU))
fvVectorMatrix & UEqn
Definition: UEqn.H:13
phiHbyA
Definition: pcEqn.H:73
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
volScalarField & dpdt
tmp< volScalarField > rAU
Definition: initCorrectPhi.H:1