29volScalarField rAU(1.0 / UEqn.A());
30volVectorField HbyA(constrainHbyA(rAU*UEqn.H(), U, p));
31surfaceScalarField phiHbyA(
"phiHbyA", fvc::flux(HbyA));
35 phiHbyA += MRF.zeroFilter(fvc::interpolate(rAU) * fvc::ddtCorr(U, phi, Uf));
39 phiHbyA += MRF.zeroFilter(fvc::interpolate(rAU));
42MRF.makeRelative(phiHbyA);
46 fvc::makeRelative(phiHbyA, U);
47 adjustPhi(phiHbyA, U, p);
48 fvc::makeAbsolute(phiHbyA, U);
51tmp<volScalarField> rAtU(rAU);
53if (pimple.consistent())
55 rAtU = 1.0 /
max(1.0 / rAU - UEqn.H1(), 0.1 / rAU);
57 fvc::interpolate(rAtU() - rAU) * fvc::snGrad(p) * mesh.magSf();
58 HbyA -= (rAU - rAtU()) * fvc::grad(p);
61if (pimple.nCorrPISO() <= 1)
67constrainPressure(p, U, phiHbyA, rAtU(), MRF);
70while (pimple.correctNonOrthogonal())
74 fvm::laplacian(rAtU(), p) == fvc::div(phiHbyA)
76 pEqn.setReference(pRefCell, pRefValue);
77 pEqn.solve(mesh.solver(p.select(pimple.finalInnerIter())));
79 if (pimple.finalNonOrthogonalIter())
81 phi = phiHbyA - pEqn.flux();
85#include "continuityErrs.H"
90U = HbyA - rAtU * fvc::grad(p);
91U.correctBoundaryConditions();
97fvc::correctUf(Uf, U, phi);
105fvc::makeRelative(phi, U);
T max(Eigen::SparseMatrix< T > &mat, label &ind_row, label &ind_col)
Find the maximum of a sparse Matrix (Useful for DEIM).