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

flow — portable (Kokkos) multigrid transfer operators + projection velocity correction. More...

#include <Kokkos_Core.hpp>
#include <Kokkos_MathematicalFunctions.hpp>

Go to the source code of this file.

Classes

struct  peclet::flow::T3
 

Namespaces

namespace  peclet
 
namespace  peclet::flow
 

Typedefs

using peclet::flow::TExec = Kokkos::DefaultExecutionSpace
 
using peclet::flow::TMem = TExec::memory_space
 
using peclet::flow::TField = Kokkos::View< double *, TMem >
 
using peclet::flow::TConst = Kokkos::View< const double *, TMem >
 

Functions

void peclet::flow::restrict_ (TField coarse, TConst fine, T3 cext, T3 fext, int g, T3 cinner, T3 ratio)
 
double peclet::flow::trilerp (TConst c, double x, double y, double z, T3 cext)
 
void peclet::flow::prolong (TField fine, TConst coarse, T3 fext, T3 cext, int g, T3 finner, T3 ratio)
 
void peclet::flow::correct (TField u, TField v, TField w, TConst phi, T3 e, int g)
 

Detailed Description

flow — portable (Kokkos) multigrid transfer operators + projection velocity correction.

Kokkos port of mg_restrict_k / mg_prolong_k (mac_multigrid.cuh) and correct_k (distributed_ns.cuh): per-axis-ratio averaging restriction, trilinear prolongation (added to the fine solution), and the staggered pressure-gradient velocity correction. Faithful copies; per-axis ratio (1 or 2) supports semi-coarsening. Runs on any Kokkos backend.

Definition in file mac_transfer.hpp.