|
peclet-dem
Performance-portable XPBD Discrete Element Method (Kokkos + ArborX)
|
dem — portable POD types + math + analytic SDFs shared by the Kokkos kernel ports. More...
#include <Kokkos_Core.hpp>#include <Kokkos_MathematicalFunctions.hpp>Go to the source code of this file.
Classes | |
| struct | peclet::dem::F3 |
| struct | peclet::dem::F4 |
Namespaces | |
| namespace | peclet |
| namespace | peclet::dem |
Enumerations | |
| enum | peclet::dem::ShapeKind { peclet::dem::SHAPE_GRID_SDF = 0 , peclet::dem::SPHERE = 1 , peclet::dem::HOLLOW_CYLINDER = 2 , peclet::dem::BOX = 3 } |
Functions | |
| F3 | peclet::dem::add3 (F3 a, F3 b) |
| F3 | peclet::dem::sub3 (F3 a, F3 b) |
| F3 | peclet::dem::scale3 (F3 a, float s) |
| float | peclet::dem::dot3 (F3 a, F3 b) |
| float | peclet::dem::len3 (F3 v) |
| F3 | peclet::dem::cross3v (F3 a, F3 b) |
| F4 | peclet::dem::cross3 (F4 a, F4 b) |
| template<class V > | |
| F3 | peclet::dem::ldF3 (const V &v, int i) |
| template<class V > | |
| F4 | peclet::dem::ldF4 (const V &v, int i) |
| F3 | peclet::dem::rotateVector (F4 q, F3 v) |
| F3 | peclet::dem::invRotateVector (F4 q, F3 v) |
| F4 | peclet::dem::quatInverse (F4 q) |
| F4 | peclet::dem::quatMult (F4 a, F4 b) |
| float | peclet::dem::sdfSphere (F3 p, F4 params) |
| float | peclet::dem::sdfHollowCylinder (F3 p, F4 params) |
| float | peclet::dem::sdfBox (F3 p, F4 params) |
| float | peclet::dem::sdfEval (F3 p, int type, F4 params) |
dem — portable POD types + math + analytic SDFs shared by the Kokkos kernel ports.
Replaces the CUDA-only float3/float4 vector types and the host/__device__ helpers in math_utils.cuh / shapes/sdf_analytic.cuh with backend-agnostic equivalents (KOKKOS_INLINE_FUNCTION, usable on host and any Kokkos backend). The math is a faithful copy of the CUDA versions so ports reproduce the existing behaviour exactly.
Definition in file dem_portable.hpp.