|
peclet.voro 1.0.4
Device-native moving-particle Voronoi dynamics
|
Classes | |
| struct | Dual |
| struct | PoreCellGather |
| struct | tangentOnly |
| struct | tangentOnly< T, std::void_t< decltype(T::kTangentOnly)> > |
Functions | |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > | dnum (Real c) |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > | dseed (Real c, int s) |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > | operator+ (const Dual< Real, K > &a, const Dual< Real, K > &b) |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > | operator- (const Dual< Real, K > &a, const Dual< Real, K > &b) |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > | operator* (const Dual< Real, K > &a, const Dual< Real, K > &b) |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > | operator/ (const Dual< Real, K > &a, const Dual< Real, K > &b) |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > | dsqrt (const Dual< Real, K > &a) |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > | ddot (const Dual< Real, K > a[3], const Dual< Real, K > b[3]) |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION void | dcross (const Dual< Real, K > a[3], const Dual< Real, K > b[3], Dual< Real, K > o[3]) |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > | ddet3 (const Dual< Real, K > a[3], const Dual< Real, K > b[3], const Dual< Real, K > c[3]) |
| template<class Real , int K> | |
| KOKKOS_INLINE_FUNCTION void | dedgeFoot (const Dual< Real, K > v[3], const Dual< Real, K > c[3], Dual< Real, K > f[3]) |
| template<class Real , class Sdf > | |
| void | interfaceGradReconstruct (const std::vector< Real > &x, const std::vector< int > &type, double sigma, const Real L[3], int N, int sw, const Sdf &sdf, std::vector< double > &g, double &E) |
| template<class Real > | |
| std::vector< Real > | toHostVec (const Kokkos::View< Real *, peclet::core::MemSpace > &v) |
| template<class T > | |
| std::vector< T > | toHostVecT (const Kokkos::View< T *, peclet::core::MemSpace > &v) |
| template<class Cell > | |
| KOKKOS_INLINE_FUNCTION bool | poreCellCount (const Cell &c, int &nPts, int &nEntries, bool &wall) |
| template<class Cell , class Real > | |
| KOKKOS_INLINE_FUNCTION void | poreCellFill (const Cell &c, const Real seed[3], int64_t ptBase, int64_t fBase, Real *pts, int64_t *faces) |
| template<class Count , class Off > | |
| void | exclusiveScan (const Count &count, const Off &off, int N) |
| Exclusive scan of a per-seed count into offsets (N+1 entries; the last is the total). | |
| template<class Off > | |
| Off::value_type | lastOf (const Off &off, int N) |
| template<class Status > | |
| void | statusCounts (const Status &status, int N, long &overflow, long &incomplete) |
| template<class T > | |
| Kokkos::View< T *, peclet::core::MemSpace > | viewFrom (const std::vector< T > &h, const std::string &label) |
Variables | |
| template<class T > | |
| constexpr bool | tangentOnly_v = tangentOnly<T>::value |
| KOKKOS_INLINE_FUNCTION void peclet::voro::detail::dcross | ( | const Dual< Real, K > | a[3], |
| const Dual< Real, K > | b[3], | ||
| Dual< Real, K > | o[3] | ||
| ) |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > peclet::voro::detail::ddet3 | ( | const Dual< Real, K > | a[3], |
| const Dual< Real, K > | b[3], | ||
| const Dual< Real, K > | c[3] | ||
| ) |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > peclet::voro::detail::ddot | ( | const Dual< Real, K > | a[3], |
| const Dual< Real, K > | b[3] | ||
| ) |
| KOKKOS_INLINE_FUNCTION void peclet::voro::detail::dedgeFoot | ( | const Dual< Real, K > | v[3], |
| const Dual< Real, K > | c[3], | ||
| Dual< Real, K > | f[3] | ||
| ) |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > peclet::voro::detail::dnum | ( | Real | c | ) |
Exclusive scan of a per-seed count into offsets (N+1 entries; the last is the total).
| void peclet::voro::detail::interfaceGradReconstruct | ( | const std::vector< Real > & | x, |
| const std::vector< int > & | type, | ||
| double | sigma, | ||
| const Real | L[3], | ||
| int | N, | ||
| int | sw, | ||
| const Sdf & | sdf, | ||
| std::vector< double > & | g, | ||
| double & | E | ||
| ) |
The pre-A3 interfacial energy + gradient: rebuild the tessellation, then RECONSTRUCT every cell as a ConvexCell from its published neighbours and gather geomVolumeAreaGrad + chainToDofs on the host. Kept as the ORACLE for the published-Jacobian path (tests/kokkos/test_energy_layer); interfaceMinimize itself no longer uses it.
| KOKKOS_INLINE_FUNCTION Dual< Real, K > peclet::voro::detail::operator* | ( | const Dual< Real, K > & | a, |
| const Dual< Real, K > & | b | ||
| ) |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > peclet::voro::detail::operator+ | ( | const Dual< Real, K > & | a, |
| const Dual< Real, K > & | b | ||
| ) |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > peclet::voro::detail::operator- | ( | const Dual< Real, K > & | a, |
| const Dual< Real, K > & | b | ||
| ) |
| KOKKOS_INLINE_FUNCTION Dual< Real, K > peclet::voro::detail::operator/ | ( | const Dual< Real, K > & | a, |
| const Dual< Real, K > & | b | ||
| ) |
| KOKKOS_INLINE_FUNCTION bool peclet::voro::detail::poreCellCount | ( | const Cell & | c, |
| int & | nPts, | ||
| int & | nEntries, | ||
| bool & | wall | ||
| ) |
Export rule of one finished cell (shared with the host oracle in the bindings): a cell is exported when it is neither empty nor overflowed and has at least four vertices and four polygon faces. Counts its points (alive dual triangles) and face-list entries (1 + Σ_faces (1 + m)), and whether one of its faces is a wall facet.
| KOKKOS_INLINE_FUNCTION void peclet::voro::detail::poreCellFill | ( | const Cell & | c, |
| const Real | seed[3], | ||
| int64_t | ptBase, | ||
| int64_t | fBase, | ||
| Real * | pts, | ||
| int64_t * | faces | ||
| ) |
Write one exported cell: its points (world frame, seed + vertex) at pts[3·(ptBase + q)] and its face list at faces[fBase …) with global point ids ptBase + q.
|
inline |
| std::vector< Real > peclet::voro::detail::toHostVec | ( | const Kokkos::View< Real *, peclet::core::MemSpace > & | v | ) |
| std::vector< T > peclet::voro::detail::toHostVecT | ( | const Kokkos::View< T *, peclet::core::MemSpace > & | v | ) |
| Kokkos::View< T *, peclet::core::MemSpace > peclet::voro::detail::viewFrom | ( | const std::vector< T > & | h, |
| const std::string & | label | ||
| ) |