|
flow
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
flow — portable (Kokkos) Robust-Scaled cut-cell IBM primitives + per-cut-cell overlay build. More...
#include <Kokkos_Core.hpp>#include <Kokkos_MathematicalFunctions.hpp>Go to the source code of this file.
Classes | |
| struct | peclet::flow::IbmOverlayT< Space > |
Namespaces | |
| namespace | peclet |
| namespace | peclet::flow |
Typedefs | |
| using | peclet::flow::IMem = Kokkos::DefaultExecutionSpace::memory_space |
| using | peclet::flow::IbmOverlay = IbmOverlayT< IMem > |
Functions | |
| float | peclet::flow::poly_D (float xi) |
| float | peclet::flow::poly_N_nb (float xi) |
| float | peclet::flow::poly_Nc (float xi) |
| float | peclet::flow::poly_Nbc (float) |
| float | peclet::flow::poly_D_avg (float xi) |
| float | peclet::flow::poly_Nnb_avg (float xi) |
| float | peclet::flow::poly_Nc_avg (float xi) |
| float | peclet::flow::poly_Nbc_avg (float) |
| float | peclet::flow::poly_D_sandwich (float xi_m, float xi_p) |
| float | peclet::flow::poly_N_c_sandwich (float xi_m, float xi_p) |
| float | peclet::flow::poly_Nbc_pp_sw (float xi_m, float xi_p) |
| float | peclet::flow::poly_Nbc_mp_sw (float xi_m, float xi_p) |
| float | peclet::flow::poly_D_sandwich_avg (float xi_m, float xi_p) |
| float | peclet::flow::poly_N_c_sandwich_avg (float xi_m, float xi_p) |
| float | peclet::flow::poly_Nbc_pp_sw_avg (float xi_m, float xi_p) |
| float | peclet::flow::poly_Nbc_mp_sw_avg (float xi_m, float xi_p) |
| template<int SCHEME, class OV > | |
| void | peclet::flow::ibmFillEntry (const OV &o, int list_idx, int c_idx, float sdf_c, const float sdf_n[6], int bc_type) |
| void | peclet::flow::ibmBuildDiffusion (Kokkos::View< float *, IMem > AC, Kokkos::View< float *, IMem > AW, Kokkos::View< float *, IMem > AE, Kokkos::View< float *, IMem > AS, Kokkos::View< float *, IMem > AN, Kokkos::View< float *, IMem > AB, Kokkos::View< float *, IMem > AT, int ex, int ey, int ez, double beta, double idiag) |
| template<class FaceProps > | |
| void | peclet::flow::ibmBuildDiffusionVar (Kokkos::View< float *, IMem > AC, Kokkos::View< float *, IMem > AW, Kokkos::View< float *, IMem > AE, Kokkos::View< float *, IMem > AS, Kokkos::View< float *, IMem > AN, Kokkos::View< float *, IMem > AB, Kokkos::View< float *, IMem > AT, int ex, int ey, int ez, int g, FaceProps fp) |
| void | peclet::flow::ibmModifyStencil (Kokkos::View< float *, IMem > AC, Kokkos::View< float *, IMem > AW, Kokkos::View< float *, IMem > AE, Kokkos::View< float *, IMem > AS, Kokkos::View< float *, IMem > AN, Kokkos::View< float *, IMem > AB, Kokkos::View< float *, IMem > AT, Kokkos::View< double *, IMem > a_inhom, Kokkos::View< double *, IMem > rhs_scale, const IbmOverlay &ibm, int numActive, float u_bc_val) |
flow — portable (Kokkos) Robust-Scaled cut-cell IBM primitives + per-cut-cell overlay build.
Kokkos port of cut_cell_ibm.cuh (the boundary-distance polynomials) and ibm_fill_entry from mac_ibm.cuh (the per-cut-cell stencil-modification factors K/M/X/Nbc/R + D_rescale). Faithful copy of the Dirichlet/Neumann, point-value(SCHEME 0)/cell-average(1), and sandwiched (double-sided) cases. Output factors are written into Kokkos Views (SoA, [list_idx*6+k]); the build kernel fills one entry per cut cell. KOKKOS_INLINE_FUNCTION so the math is shared with the host reference.
Definition in file cut_cell_ibm.hpp.