flow
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
colocated_advection.hpp File Reference

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)
 

Detailed Description

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.