flow — collocated approximate (MAC) projection helpers (Almgren–Bell–Colella style).
More...
|
| void | peclet::flow::centerToFace (CCField uf, CCField vf, CCField wf, CCConst U, CCConst V, CCConst W, C3 e, int g) |
| |
| int | peclet::flow::wallAwareFaceStencil (CCConst sdf, long i, long sa, int cFace, int eAxis, double xcen, long idx[3], double w[3]) |
| |
| double | peclet::flow::wallAwareFaceValue (CCConst U, CCConst sdf, long i, long sa, int cFace, int eAxis, double xcen) |
| |
| void | peclet::flow::buildFaceCentroidDist (CCField xcx, CCField xcy, CCField xcz, CCConst sdf, C3 e) |
| |
| void | peclet::flow::centerToFaceWallAware (CCField uf, CCField vf, CCField wf, CCConst U, CCConst V, CCConst W, CCConst sdf, CCConst xcx, CCConst xcy, CCConst xcz, bool useCen, C3 e, int g) |
| |
| void | peclet::flow::transposeGradWallAware (CCField out, CCConst p, CCConst sdf, CCConst o, CCConst xc, bool useCen, int axis, C3 e, int g) |
| |
| void | peclet::flow::buildCellFraction (CCField cs, CCConst sdf, C3 e, int g) |
| |
| void | peclet::flow::fvViscousApply (CCField Lu, CCConst U, CCConst sdf, CCConst cs, CCConst ox, CCConst oy, CCConst oz, double mu, double idt, C3 e, int g) |
| |
| double | peclet::flow::eQuad (double xx, double a1, double a2, double a3) |
| |
| double | peclet::flow::embedDirichletGradient (CCConst U, CCConst sdf, C3 e, int x, int y, int z, double nx, double ny, double nz, double px, double py, double pz) |
| |
| void | peclet::flow::embedViscousApply (CCField Lu, CCConst U, CCConst sdf, CCConst cs, CCConst ox, CCConst oy, CCConst oz, double mu, double idt, C3 e, int g) |
| |
| void | peclet::flow::stencilMatvec (CCField y, CCConst u, MConst AC, MConst AW, MConst AE, MConst AS, MConst AN, MConst AB, MConst AT, C3 e, int g) |
| |
| void | peclet::flow::subtractField (CCField u, CCConst d, C3 e, int g) |
| |
| void | peclet::flow::centerGradOpen (CCField out, CCConst p, CCConst o, int axis, C3 e, int g) |
| |
| void | peclet::flow::projectCorrectCenterOpen (CCField u, CCField v, CCField w, CCConst phi, CCConst ox, CCConst oy, CCConst oz, C3 e, int g) |
| |
| void | peclet::flow::projectCorrectCenter (CCField u, CCField v, CCField w, CCConst phi, CCConst ox, CCConst oy, CCConst oz, C3 e, int g) |
| |
flow — collocated approximate (MAC) projection helpers (Almgren–Bell–Colella style).
The collocated solver stores all three velocity components at the cell center. Its pressure coupling is the approximate projection: average the cell velocities onto a face (MAC) field, make THAT field divergence-free with the existing cut-cell pressure machinery (buildCutcellOp / divergOpen / projectCorrect from mac_pressure.hpp), then correct the cell-centered velocities with the central-difference pressure gradient. The face field is exactly divergence-free; the cell field is only approximately so — hence "approximate projection". These two kernels are the only collocated-specific projection pieces; everything else (operator, divergence, MG solve, rotational pressure update) is shared with the staggered solver.
Definition in file mac_approx_projection.hpp.