|
flow
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
flow — collocated (cell-centered) momentum advection (Koren TVD + FOU). More...
#include <Kokkos_Core.hpp>#include <Kokkos_MathematicalFunctions.hpp>#include "staggered_advection.hpp"Go to the source code of this file.
Namespaces | |
| namespace | cadv |
Functions | |
| template<class A > | |
| double | cadv::adv_vel (int, int fd, int x, int y, int z, A U, A V, A W) |
| template<class A > | |
| double | cadv::advect (int comp, int x, int y, int z, A U, A V, A W, A PHI) |
| template<class A > | |
| double | cadv::advect_sou (int comp, int x, int y, int z, A U, A V, A W, A PHI) |
| template<class A > | |
| void | cadv::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) |
| template<class A > | |
| double | cadv::advect_fou (int comp, int x, int y, int z, A U, A V, A W, A PHI) |
flow — collocated (cell-centered) momentum advection (Koren TVD + FOU).
The collocated counterpart of staggered_advection.hpp. All three velocity components live at the cell center, so a single cell is the control volume for every component and the advecting normal velocity at a face is the cell->face average of that face's normal component — independent of which component is being advected (contrast sadv::adv_vel, which interpolates onto a staggered control volume). The flux reconstruction (Koren limiter / FOU) is otherwise identical, so this header reuses sadv::koren / tvd / fou_flux / ViewAcc and only re-expresses adv_vel + the conservative operators.
NOTE: in phase 2 (no pressure) the advecting velocity is the plain cell->face average of the stored cell velocities. Once the approximate projection lands (phase 3), the natural advecting field is the projected, divergence-free face velocity — this header's adv_vel is where that swap happens.
Definition in file colocated_advection.hpp.