peclet.voro 1.0.4
Device-native moving-particle Voronoi dynamics
Loading...
Searching...
No Matches
sdf.hpp File Reference
#include <Kokkos_Core.hpp>
#include <string>
#include <type_traits>
#include "peclet/core/common/view.hpp"
#include "peclet/core/geom/primitives.hpp"
#include "peclet/core/geom/scene.hpp"
#include "peclet/voro/convex_cell.hpp"
Include dependency graph for sdf.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  peclet::voro::NoSdf
 Sentinel "no geometry" provider — the default; the clip stage is skipped. More...
 
struct  peclet::voro::TangentOnly< Sdf >
 
struct  peclet::voro::detail::tangentOnly< T, class >
 
struct  peclet::voro::detail::tangentOnly< T, std::void_t< decltype(T::kTangentOnly)> >
 
struct  peclet::voro::SdfSphere< Real >
 
struct  peclet::voro::SdfBox< Real >
 
struct  peclet::voro::SdfHollowCylinder< Real >
 
struct  peclet::voro::SdfGrid< Real >
 
struct  peclet::voro::SdfScene< Real >
 
struct  peclet::voro::SdfSpheres< Real, Mem >
 
struct  peclet::voro::WallStore< Real >
 

Namespaces

namespace  peclet
 
namespace  peclet::voro
 Device-native Voronoi tessellation, geometry and finite-volume physics.
 
namespace  peclet::voro::detail
 

Functions

template<class Real , class Sdf >
KOKKOS_INLINE_FUNCTION void peclet::voro::sdfGradient (const Sdf &s, Real x, Real y, Real z, Real g[3])
 Central-difference gradient of any provider with eval() (matches peclet::core::geom::gradient).
 
template<class Real , class Sdf >
KOKKOS_INLINE_FUNCTION void peclet::voro::sdfHessian (const Sdf &s, Real x, Real y, Real z, Real H[3][3])
 
template<class Real , class Sdf >
KOKKOS_INLINE_FUNCTION void peclet::voro::sdfWallChain (const Sdf &sdf, Real x, Real y, Real z, const double gw[3], double fSelf[3])
 
template<class Real , int MAXP, int MAXT, bool TrackAdj, class Sdf >
KOKKOS_INLINE_FUNCTION void peclet::voro::addSdfWallForce (const ConvexCell< Real, MAXP, MAXT, TrackAdj > &c, const Real seed[3], const Sdf &sdf, const Real *gx, const Real *gy, const Real *gz, Real fSelf[3])
 
template<class Real , int MAXP, int MAXT, bool TrackAdj, class Sdf >
KOKKOS_INLINE_FUNCTION int peclet::voro::sdfSagittaShifts (const ConvexCell< Real, MAXP, MAXT, TrackAdj > &c, const Real seed[3], const Sdf &sdf, const int *planes, const Real *tangency, int nPlanes, Real *delta)
 
template<class Real , int MAXP, int MAXT, bool TrackAdj, class Sdf >
KOKKOS_INLINE_FUNCTION bool peclet::voro::sdfCutPlane (const ConvexCell< Real, MAXP, MAXT, TrackAdj > &c, const Real seed[3], const Sdf &sdf, const Real probe[3], Real radius, Real pv[3], Real &off, Real surf[3])
 
template<class Real , int MAXP, int MAXT, bool TrackAdj, class Sdf >
KOKKOS_INLINE_FUNCTION bool peclet::voro::sdfWouldClip (const ConvexCell< Real, MAXP, MAXT, TrackAdj > &c, const Real seed[3], const Sdf &sdf)
 
template<class Real , int MAXP, int MAXT, bool TrackAdj, class Sdf >
KOKKOS_INLINE_FUNCTION bool peclet::voro::clipCellAgainstSdf (ConvexCell< Real, MAXP, MAXT, TrackAdj > &c, const Real seed[3], const Sdf &sdf)
 
template<class Real , int MAXP, int MAXT, bool TrackAdj, class Sdf >
KOKKOS_INLINE_FUNCTION void peclet::voro::sdfWallFD (const ConvexCell< Real, MAXP, MAXT, TrackAdj > &unclipped, const Real seed[3], const Sdf &sdf, Real h, Real dV[3], Real dA[3])
 

Variables

constexpr int peclet::voro::kBoundaryFacet = -2
 
template<class T >
constexpr bool peclet::voro::detail::tangentOnly_v = tangentOnly<T>::value
 
constexpr int peclet::voro::kMaxWallPlanes = 24