Loading...
Searching...
No Matches
pEqn.H
Go to the documentation of this file.
1tmp<volVectorField> tHbyA;
6else
7{
8 tHbyA = constrainHbyA(trAU()*UEqn.H(), U, p);
9}
10volVectorField& HbyA = tHbyA.ref();
11
12tUEqn.clear();
13surfaceScalarField phiHbyA("phiHbyA", fvc::flux(HbyA));
14
15MRF.makeRelative(phiHbyA);
16
18
19while (simple.correctNonOrthogonal())
20{
21 tmp<fvScalarMatrix> tpEqn;
22
24 {
25 tpEqn = (fvm::laplacian(trTU(), p) == fvc::div(phiHbyA));
26 }
27 else
28 {
29 tpEqn = (fvm::laplacian(trAU(), p) == fvc::div(phiHbyA));
30 }
31
32 fvScalarMatrix pEqn = tpEqn.ref();
33
35
36 pEqn.solve();
37
38 if (simple.finalNonOrthogonalIter())
39 {
40 phi = phiHbyA - pEqn.flux();
41 }
42}
43
44#include "continuityErrs.H"
45
46// Explicitly relax pressure for momentum corrector
47p.relax();
48
50{
51 U = HbyA - (trTU()&fvc::grad(p));
52}
53else
54{
55 U = HbyA - (trAU()*fvc::grad(p));
56}
57
58U.correctBoundaryConditions();
59fvOptions.correct(U);
fv::options & fvOptions
const scalar pRefValue
const label pRefCell
IOMRFZoneList & MRF
void setReference(const label celli, const Type &value, const bool forceReference=false)
Set reference level for solution.
Definition fvMatrix.C:1004
U
Definition pEqn.H:72
volScalarField & p
tmp< fvVectorMatrix > tUEqn(fvm::ddt(rho, U)+fvm::div(phi, U)+MRF.DDt(rho, U)+turbulence->divDevRhoReff(U)==fvOptions(rho, U))
fvVectorMatrix & UEqn
Definition UEqn.H:13
phiHbyA
Definition pcEqn.H:73
HbyA
Definition pcEqn.H:74
tmp< volTensorField > trTU
Definition UEqn.H:22
tmp< volScalarField > trAU
Definition UEqn.H:21
tmp< volVectorField > tHbyA
Definition pEqn.H:4
bool pressureImplicitPorosity(false)
adjustPhi(phiHbyA, U, p_rgh)
const dictionary & simple