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

flow — portable (Kokkos) cut-cell pressure operator + Chorin projection. More...

#include <Kokkos_Core.hpp>
#include "mac_cutcell.hpp"

Go to the source code of this file.

Namespaces

namespace  peclet
 
namespace  peclet::flow
 

Functions

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)
 
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::applyCutcellOp (CCField y, CCConst x, OpV AC, OpV AW, OpV AE, OpV AS, OpV AN, OpV AB, OpV AT, C3 e, int g)
 
void peclet::flow::projectCorrect (CCField u, CCField v, CCField w, CCConst phi, C3 e, int g)
 
void peclet::flow::projectCorrectVar (CCField u, CCField v, CCField w, CCConst phi, CCConst rho, double rho0, C3 e, int g)
 
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::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::projectCorrectPorousDrag (CCField u, CCField v, CCField w, CCConst phi, CCConst beta, double idt, C3 e, int g)
 

Detailed Description

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.