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

flow — portable (Kokkos) native per-face domain boundary conditions for the MAC grid. More...

#include <Kokkos_Core.hpp>

Go to the source code of this file.

Classes

struct  peclet::flow::B3
 

Namespaces

namespace  peclet
 
namespace  peclet::flow
 
namespace  peclet::flow::bcdetail
 

Typedefs

using peclet::flow::BExec = Kokkos::DefaultExecutionSpace
 
using peclet::flow::BMem = BExec::memory_space
 
using peclet::flow::BField = Kokkos::View< double *, BMem >
 

Functions

void peclet::flow::bcdetail::axisDims (B3 ext, int(&dims)[3], long(&strides)[3])
 
void peclet::flow::bcVelocityComp (BField f, B3 ext, int g, int a, int s, int comp, double wall, int fold, BField prof=BField(), int prof_nc=0)
 
void peclet::flow::bcVelocityColocated (BField f, B3 ext, int g, int a, int s, double wall, int comp=0, BField prof=BField(), int prof_nc=0)
 
void peclet::flow::bcNeumannGhost (BField f, B3 ext, int g, int a, int s)
 
void peclet::flow::bcOutflowComp (BField f, B3 ext, int g, int a, int s, int comp, int fold)
 
void peclet::flow::bcDiffusionFold (BField dcorr, BField brhs, B3 ext, int g, int a, int s, double dval, double bval)
 
void peclet::flow::bcZeroPressureGhost (BField phi, B3 ext, int g, int a, int s)
 
void peclet::flow::bcCorrectOutflow (BField f, BField phi, B3 ext, int g, int a)
 
void peclet::flow::bcSetOpenness (BField oa, B3 ext, int g, int a, int s, double val)
 
void peclet::flow::bcZeroOpenness (BField oa, B3 ext, int g, int a, int s)
 

Detailed Description

flow — portable (Kokkos) native per-face domain boundary conditions for the MAC grid.

Kokkos port of mac_bc.cuh: fill the NON-periodic boundary face/ghosts the halo leaves untouched. Each kernel runs over the boundary face's perpendicular (b,c) plane; one thread owns a column and writes its own ghosts (disjoint, no races). MAC staggered convention: component a is stored at the -a face of its cell. Faithful copies of the reflection / fold / outflow logic. Scalar wall velocity (the per-position inlet-profile variant is a later specialization). Runs on any Kokkos backend.

Definition in file mac_bc.hpp.