|
peclet.voro 1.0.0
Device-native moving-particle Voronoi dynamics
|
#include <tessellator.hpp>
Public Types | |
| using | MemSpace = peclet::core::MemSpace |
| using | Cell = ConvexCell< Real, kMaxP, kMaxT, TrackAdj > |
| using | PlanePolicy = std::conditional_t< Weighted, Power, Voronoi > |
Public Member Functions | |
| KOKKOS_INLINE_FUNCTION void | relVec (int q, Real pix, Real piy, Real piz, Real pv[3]) const |
| Minimal-image relative vector from the seed at (pix,piy,piz) to sorted seed q. | |
| KOKKOS_INLINE_FUNCTION int | gridCell (int rgx, int rgy, int rgz) const |
| Linear/Morton index of the grid cell at raw (periodic-unwrapped) offset. | |
| KOKKOS_INLINE_FUNCTION void | homeCell (Real pix, Real piy, Real piz, int &cx, int &cy, int &cz) const |
| Home grid cell index (cx,cy,cz) of seed (pix,piy,piz). | |
| KOKKOS_INLINE_FUNCTION int | subBase (Real pix, Real piy, Real piz) const |
| Flat base offset into the worklist tables for the wlS^3 sub-region the seed lands in. | |
| KOKKOS_INLINE_FUNCTION int | worklistCell (int base, int g, int cx, int cy, int cz) const |
| Decode worklist entry g (relative to base) into a grid-cell index. | |
| KOKKOS_INLINE_FUNCTION void | finishCell (Cell &c, int i, Real pix, Real piy, Real piz, Real covSq, Real wSelf=Real(0)) const |
| KOKKOS_INLINE_FUNCTION void | buildCell (int pi) const |
Public Attributes | |
| Kokkos::View< int *, MemSpace > | binned |
| Kokkos::View< Real *, MemSpace > | posSorted |
| Kokkos::View< Real *, MemSpace > | wSorted |
| Kokkos::View< gid_t *, MemSpace > | gidSorted |
| Kokkos::View< int *, MemSpace > | cellStart |
| Kokkos::View< int *, MemSpace > | wlOff |
| Kokkos::View< Real *, MemSpace > | wlRmin |
| Kokkos::View< int *, MemSpace > | status |
| Kokkos::View< Real *, MemSpace > | cellVol |
| Kokkos::View< int *, MemSpace > | facetCount |
| Kokkos::View< int *, MemSpace > | cellFacetBase |
| Kokkos::View< int *, MemSpace > | oNbr |
| Kokkos::View< Real *, MemSpace > | oArea |
| Kokkos::View< Real *, MemSpace > | oDV |
| Kokkos::View< Real *, MemSpace > | oConn |
| Kokkos::View< int *, MemSpace > | facetCursor |
| Real | icx |
| Real | icy |
| Real | icz |
| Real | Lx |
| Real | Ly |
| Real | Lz |
| Real | minCsz |
| Real | wMaxAll |
| int | dimx |
| int | dimy |
| int | dimz |
| int | sw |
| int | nOff |
| int | wlS |
| bool | useMorton |
| bool | haveGid |
| bool | withForceGeom |
| size_t | facetCap |
| Sdf | sdf |
| Kokkos::View< int *, MemSpace > | oNp |
| Kokkos::View< int *, MemSpace > | oNt |
| Kokkos::View< int *, MemSpace > | oTopoPnbr |
| Kokkos::View< unsigned *, MemSpace > | oTri |
| Kokkos::View< unsigned char *, MemSpace > | oPoke4 |
| Kokkos::View< int *, MemSpace > | oCand |
| Kokkos::View< int *, MemSpace > | oCandCnt |
| bool | emitTopo |
| bool | emitCand |
| int | candCap |
Static Public Attributes | |
| static constexpr int | kMaxP = 64 |
| static constexpr int | kMaxT = 112 |
| static constexpr int | MAXF_TMP = 50 |
Per-cell build on the compact ConvexCell (dual-triangle) representation — one thread per cell (RangePolicy; the cell lives in the per-thread register/local frame). Holds the grid-sorted inputs, the published outputs, and the grid scalars; buildCell clips the worklist neighbours on the fly and emits the per-facet CSR (neighbour id + area vector + dV + connector) via ConvexCell::facetGeometry — the same quantities the retired half-edge ScratchCell published, now from the leaner cell whose geometry is a cheap separate pass (so re-eval over a fixed topology is possible: ConvexCell::reevalGeometry).
| using peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::Cell = ConvexCell<Real, kMaxP, kMaxT, TrackAdj> |
| using peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::MemSpace = peclet::core::MemSpace |
| using peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::PlanePolicy = std::conditional_t<Weighted, Power, Voronoi> |
|
inline |
Build the cell owning grid-sorted slot pi, writing the published outputs at the original seed index binned(pi). Worklist gather, ConvexCell clip on the fly (no candidate buffer).
|
inline |
Finish a built cell: completeness flag (judged on the un-clipped cell), optional SDF boundary clip, status/volume, and the per-facet CSR write (one atomic reservation into the over-buffer). covSq is the attained coverage^2; covSq > 4*rSqMax => complete.
|
inline |
Linear/Morton index of the grid cell at raw (periodic-unwrapped) offset.
|
inline |
Home grid cell index (cx,cy,cz) of seed (pix,piy,piz).
|
inline |
Minimal-image relative vector from the seed at (pix,piy,piz) to sorted seed q.
|
inline |
Flat base offset into the worklist tables for the wlS^3 sub-region the seed lands in.
|
inline |
Decode worklist entry g (relative to base) into a grid-cell index.
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::binned |
| int peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::candCap |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::cellFacetBase |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::cellStart |
| Kokkos::View<Real*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::cellVol |
| int peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::dimx |
| int peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::dimy |
| int peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::dimz |
| bool peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::emitCand |
| bool peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::emitTopo |
| size_t peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::facetCap |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::facetCount |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::facetCursor |
| Kokkos::View<gid_t*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::gidSorted |
| bool peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::haveGid |
| Real peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::icx |
| Real peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::icy |
| Real peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::icz |
|
staticconstexpr |
|
staticconstexpr |
| Real peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::Lx |
| Real peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::Ly |
| Real peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::Lz |
|
staticconstexpr |
| Real peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::minCsz |
| int peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::nOff |
| Kokkos::View<Real*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oArea |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oCand |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oCandCnt |
| Kokkos::View<Real*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oConn |
| Kokkos::View<Real*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oDV |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oNbr |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oNp |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oNt |
| Kokkos::View<unsigned char*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oPoke4 |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oTopoPnbr |
| Kokkos::View<unsigned*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::oTri |
| Kokkos::View<Real*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::posSorted |
| Sdf peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::sdf |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::status |
| int peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::sw |
| bool peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::useMorton |
| bool peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::withForceGeom |
| Kokkos::View<int*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::wlOff |
| Kokkos::View<Real*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::wlRmin |
| int peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::wlS |
| Real peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::wMaxAll |
| Kokkos::View<Real*, MemSpace> peclet::voro::CellBuilder< Real, Weighted, Sdf, TrackAdj >::wSorted |