|
| template<class OpV , class OV > |
| void | peclet::flow::cutcellBuildOpCell (const OpV &AC, const OpV &AW, const OpV &AE, const OpV &AS, const OpV &AN, const OpV &AB, const OpV &AT, const OV &ox, const OV &oy, const OV &oz, long i, long sx, long sy, long sz, double gfx, double gfy, double gfz) |
| |
| template<class PV , class BV , class OpV > |
| void | peclet::flow::cutcellSmoothCell (const PV &phi, const BV &b, const OpV &AC, const OpV &AW, const OpV &AE, const OpV &AS, const OpV &AN, const OpV &AB, const OpV &AT, long i, long xp, long xm, long yp, long ym, long zp, long zm) |
| |
| template<class XV , class OpV > |
| double | peclet::flow::cutcellApplyCell (const XV &x, const OpV &AC, const OpV &AW, const OpV &AE, const OpV &AS, const OpV &AN, const OpV &AB, const OpV &AT, long i, long xp, long xm, long yp, long ym, long zp, long zm) |
| |
| template<class XV , class OV > |
| double | peclet::flow::cutcellApplyExactCell (const XV &x, const OV &ox, const OV &oy, const OV &oz, long i, long sx, long sy, long sz, long xp, long xm, long yp, long ym, long zp, long zm, double gfx, double gfy, double gfz) |
| |
| template<class OpV > |
| void | peclet::flow::buildCutcellOp (OpV AC, OpV AW, OpV AE, OpV AS, OpV AN, OpV AB, OpV AT, CCConst ox, CCConst oy, CCConst oz, C3 e, int g, double gfx, double gfy, double gfz) |
| |
| template<class OpV , class OV > |
| void | peclet::flow::cutcellBuildFaceOpCell (const OpV &AC, const OpV &AFX, const OpV &AFY, const OpV &AFZ, const OV &ox, const OV &oy, const OV &oz, long i, long sx, long sy, long sz, double gfx, double gfy, double gfz, bool diag) |
| |
| template<class PV , class BV , class OpV > |
| void | peclet::flow::cutcellSmoothFaceCell (const PV &phi, const BV &b, const OpV &AC, const OpV &AFX, const OpV &AFY, const OpV &AFZ, long i, long sx, long sy, long sz, long xp, long xm, long yp, long ym, long zp, long zm) |
| |
| template<class XV , class OpV > |
| double | peclet::flow::cutcellApplyFaceCell (const XV &x, const OpV &AC, const OpV &AFX, const OpV &AFY, const OpV &AFZ, long i, long sx, long sy, long sz, long xp, long xm, long yp, long ym, long zp, long zm) |
| |
| template<class RV , class XV , class BV , class OpV > |
| void | peclet::flow::cutcellResidualFaceCell (const RV &r, const XV &x, const BV &b, const OpV &AC, const OpV &AFX, const OpV &AFY, const OpV &AFZ, long i, long sx, long sy, long sz, long xp, long xm, long yp, long ym, long zp, long zm) |
| |
| template<class OpV > |
| void | peclet::flow::buildCutcellOpFace (OpV AC, OpV AFX, OpV AFY, OpV AFZ, CCConst ox, CCConst oy, CCConst oz, C3 e, int gb, double gfx, double gfy, double gfz) |
| |
| template<class OpV > |
| void | peclet::flow::cutcellSmoothColorFace (CCField phi, CCConst b, OpV AC, OpV AFX, OpV AFY, OpV AFZ, C3 e, C3 og, int g, int color) |
| |
| template<class OpV > |
| void | peclet::flow::cutcellSmoothColorBoxFace (CCField phi, CCConst b, OpV AC, OpV AFX, OpV AFY, OpV AFZ, C3 e, C3 og, int color, C3 rlo, C3 rhi, C3 slo, C3 shi) |
| |
| template<class OpV > |
| void | peclet::flow::applyCutcellOpFace (CCField y, CCConst x, OpV AC, OpV AFX, OpV AFY, OpV AFZ, C3 e, int g) |
| |
| template<class OpV > |
| void | peclet::flow::applyCutcellOpBoxFace (CCField y, CCConst x, OpV AC, OpV AFX, OpV AFY, OpV AFZ, C3 e, C3 rlo, C3 rhi, C3 slo, C3 shi) |
| |
| void | peclet::flow::divergOpen (CCConst u, CCConst v, CCConst w, CCConst ox, CCConst oy, CCConst oz, CCField d, C3 e, int g) |
| |
| template<class OpV > |
| void | peclet::flow::cutcellSmoothColor (CCField phi, CCConst b, OpV AC, OpV AW, OpV AE, OpV AS, OpV AN, OpV AB, OpV AT, C3 e, C3 og, int g, int color) |
| |
| template<class OpV > |
| void | peclet::flow::cutcellSmoothColorBox (CCField phi, CCConst b, OpV AC, OpV AW, OpV AE, OpV AS, OpV AN, OpV AB, OpV AT, C3 e, C3 og, int color, C3 rlo, C3 rhi, C3 slo, C3 shi) |
| |
| template<class OpV > |
| void | peclet::flow::applyCutcellOp (CCField y, CCConst x, OpV AC, OpV AW, OpV AE, OpV AS, OpV AN, OpV AB, OpV AT, C3 e, int g) |
| |
| template<class OpV > |
| void | peclet::flow::applyCutcellOpBox (CCField y, CCConst x, OpV AC, OpV AW, OpV AE, OpV AS, OpV AN, OpV AB, OpV AT, C3 e, C3 rlo, C3 rhi, C3 slo, C3 shi) |
| |
| void | peclet::flow::applyCutcellOpExact (CCField y, CCConst x, CCConst ox, CCConst oy, CCConst oz, C3 e, int g, double gfx, double gfy, double gfz) |
| |
| void | peclet::flow::applyCutcellOpExactBox (CCField y, CCConst x, CCConst ox, CCConst oy, CCConst oz, C3 e, C3 rlo, C3 rhi, C3 slo, C3 shi, double gfx, double gfy, double gfz) |
| |
| void | peclet::flow::projectCorrect (CCField u, CCField v, CCField w, CCConst phi, C3 e, int g, double wx=1.0, double wy=1.0, double wz=1.0) |
| |
| void | peclet::flow::projectCorrectVar (CCField u, CCField v, CCField w, CCConst phi, CCConst rho, double rho0, C3 e, int g, double wx=1.0, double wy=1.0, double wz=1.0) |
| |
| void | peclet::flow::buildRhoCoeff (CCField cx, CCField cy, CCField cz, CCConst ox, CCConst oy, CCConst oz, CCConst rho, double rho0, C3 e, int g) |
| |
| void | peclet::flow::buildRhoCoeffHarm (CCField cx, CCField cy, CCField cz, CCConst ox, CCConst oy, CCConst oz, CCConst rho, double rho0, C3 e, int g) |
| |
| void | peclet::flow::buildRhoCoeffOutflowFace (CCField ca, CCConst oa, CCConst rho, double rho0, C3 e, int g, int a, bool harmonic) |
| |
| void | peclet::flow::projectCorrectVarHarm (CCField u, CCField v, CCField w, CCConst phi, CCConst rho, double rho0, C3 e, int g, double wx=1.0, double wy=1.0, double wz=1.0) |
| |
| void | peclet::flow::divergOpenEps (CCConst u, CCConst v, CCConst w, CCConst ox, CCConst oy, CCConst oz, CCConst eps, CCField d, C3 e, int g) |
| |
| void | peclet::flow::buildPorousCoeff (CCField cx, CCField cy, CCField cz, CCConst ox, CCConst oy, CCConst oz, CCConst eps, C3 e, int g) |
| |
| void | peclet::flow::buildPorousCoeffDrag (CCField cx, CCField cy, CCField cz, CCConst ox, CCConst oy, CCConst oz, CCConst eps, CCConst beta, double idt, C3 e, int g) |
| |
| void | peclet::flow::buildPorousCoeffCons (CCField cx, CCField cy, CCField cz, CCConst ox, CCConst oy, CCConst oz, CCConst eps, CCConst beta, bool useBeta, double rhoidt, C3 e, int g) |
| |
| void | peclet::flow::projectCorrectPorousCons (CCField u, CCField v, CCField w, CCConst phi, CCConst eps, CCConst beta, bool useBeta, double rhoidt, C3 e, int g, double wx=1.0, double wy=1.0, double wz=1.0) |
| |
| void | peclet::flow::projectCorrectPorousDrag (CCField u, CCField v, CCField w, CCConst phi, CCConst beta, double idt, C3 e, int g, double wx=1.0, double wy=1.0, double wz=1.0) |
| |
flow — portable (Kokkos) cut-cell pressure operator + Chorin projection.
Kokkos port of the variable-coefficient pressure machinery (mg_build_op_k / mg_smooth_var_k from mac_multigrid.cuh, diverg_open_k / correct_k from distributed_ns.cuh): the open-face-weighted Poisson operator A = -div(open grad) built from the staggered face openness, its red-black Gauss-Seidel smoother (solid cells AC~0 decoupled), the open-weighted flux divergence, and the staggered gradient correction. gf = 1/h^2 per axis (1 in grid units). Runs on any Kokkos backend.
Definition in file mac_pressure.hpp.