12#ifndef PECLET_FLOW_GRID_LAYOUT_HPP
13#define PECLET_FLOW_GRID_LAYOUT_HPP
36 static constexpr const char*
name =
"staggered";
39 return c == 0 ?
Off3{-0.5f, 0.0f, 0.0f}
40 : c == 1 ?
Off3{0.0f, -0.5f, 0.0f}
41 :
Off3{0.0f, 0.0f, -0.5f};
57 double dt,
double&
cC,
double&
cxm,
double&
cxp,
60 sadv::fou_operator(c, x, y, z, U,
V,
W, dt,
cC,
cxm,
cxp,
cym,
cyp,
czm,
czp);
69 static constexpr const char*
name =
"colocated";
86 double dt,
double&
cC,
double&
cxm,
double&
cxp,
89 cadv::fou_operator(c, x, y, z, U,
V,
W, dt,
cC,
cxm,
cxp,
cym,
cyp,
czm,
czp);
flow — collocated (cell-centered) momentum advection (Koren TVD + FOU).
flow — portable (Kokkos) IBM geometric fields + variable-coefficient RB-GS smoother.
void fou_operator(int comp, int x, int y, int z, A U, A V, A W, double dt, double &cC, double &cxm, double &cxp, double &cym, double &cyp, double &czm, double &czp)
double advect_fou(int comp, int x, int y, int z, A U, A V, A W, A PHI)
double advect_sou(int comp, int x, int y, int z, A U, A V, A W, A PHI)
double advect(int comp, int x, int y, int z, A U, A V, A W, A PHI)
void ibmFillEntry(const OV &o, int list_idx, int c_idx, float sdf_c, const float sdf_n[6], int bc_type, const float *thEx)
double advect(int comp, int x, int y, int z, A U, A V, A W, A PHI)
double advect_sou(int comp, int x, int y, int z, A U, A V, A W, A PHI)
void fou_operator(int comp, int x, int y, int z, A U, A V, A W, double dt, double &cC, double &cxm, double &cxp, double &cym, double &cyp, double &czm, double &czp)
double advect_fou(int comp, int x, int y, int z, A U, A V, A W, A PHI)
flow — portable (Kokkos) staggered MAC momentum advection (Koren TVD + FOU).
static void fou_operator(int c, int x, int y, int z, A U, A V, A W, double dt, double &cC, double &cxm, double &cxp, double &cym, double &cyp, double &czm, double &czp)
static constexpr const char * name
static constexpr Off3 offset(int)
static constexpr bool collocated
static double advect_sou(int c, int x, int y, int z, A U, A V, A W, A F)
static double advect(int c, int x, int y, int z, A U, A V, A W, A F)
static double advect_fou(int c, int x, int y, int z, A U, A V, A W, A F)
static double advect(int c, int x, int y, int z, A U, A V, A W, A F)
static constexpr const char * name
static double advect_fou(int c, int x, int y, int z, A U, A V, A W, A F)
static constexpr bool collocated
static constexpr Off3 offset(int c)
static double advect_sou(int c, int x, int y, int z, A U, A V, A W, A F)
static void fou_operator(int c, int x, int y, int z, A U, A V, A W, double dt, double &cC, double &cxm, double &cxp, double &cym, double &cyp, double &czm, double &czp)
static constexpr double F