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

flow — portable (Kokkos) cut-cell pressure-operator face openness from an SDF. More...

#include <cstdlib>
#include <Kokkos_Core.hpp>
#include <Kokkos_MathematicalFunctions.hpp>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  peclet::flow::C3
 

Namespaces

namespace  peclet
 
namespace  peclet::flow
 

Typedefs

using peclet::flow::CCExec = Kokkos::DefaultExecutionSpace
 
using peclet::flow::CCMem = CCExec::memory_space
 
using peclet::flow::CCField = Kokkos::View< double *, CCMem >
 
using peclet::flow::CCConst = Kokkos::View< const double *, CCMem >
 

Functions

double peclet::flow::ccFractionCore (double sd, double sxp, double sxm, double syp, double sym, double szp, double szm, int type, double dx, double dy, double dz)
 
double peclet::flow::ccSampleExt (CCConst sdf, C3 ext, double x, double y, double z)
 
double peclet::flow::ccFaceOpen (CCConst sdf, C3 ext, double fx, double fy, double fz, int type, double dx, double dy, double dz)
 
double peclet::flow::ccTriFrac (double a, double b, double c)
 
double peclet::flow::ccFaceOpenMS (CCConst sdf, C3 ext, double fx, double fy, double fz, int type)
 
void peclet::flow::buildOpenness (CCField ox, CCField oy, CCField oz, CCConst sdf, C3 ext, double dx, double dy, double dz, int order=1)
 
long peclet::flow::hostSerialCellCutoff ()
 
bool peclet::flow::hostRunSerial (long cells)
 
template<class F >
void peclet::flow::ccFor3 (const char *name, C3 lo, C3 hi, F f)
 
template<class F , class R >
void peclet::flow::ccReduce3 (const char *name, C3 lo, C3 hi, F f, R &&reducer)
 

Detailed Description

flow — portable (Kokkos) cut-cell pressure-operator face openness from an SDF.

Kokkos port of mac_cutcell.cuh: the gradient-normalised masked fluid fraction (cc_fraction_core)

  • trilinear SDF sampling, producing the staggered face openness ox/oy/oz (ox[i] = openness of the -x face of cell i) over the extended (inner+ghost) block. Faithful copy of the fraction math. KOKKOS_INLINE_FUNCTION so it is shared with the host reference. Runs on any Kokkos backend.

Definition in file mac_cutcell.hpp.