peclet.voro 1.0.0
Device-native moving-particle Voronoi dynamics
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
peclet::voro::TopologyStore< MAXP, MAXT > Struct Template Reference

#include <topology_store.hpp>

Public Types

using MemSpace = peclet::core::MemSpace
 

Public Member Functions

void alloc (int n)
 
void allocPoke4 ()
 
template<class Cell >
KOKKOS_INLINE_FUNCTION void save (int i, const Cell &c) const
 Persist cell c at slot i (call after the cell is finalised — clipped + complete).
 
template<class Cell , class Real >
KOKKOS_INLINE_FUNCTION void load (int i, Cell &c, Real L0, Real L1, Real L2) const
 

Public Attributes

int N = 0
 
Kokkos::View< int *, MemSpacenp
 
Kokkos::View< int *, MemSpacent
 
Kokkos::View< int *, MemSpacepnbr
 
Kokkos::View< unsigned *, MemSpacetri
 
Kokkos::View< unsigned char *, MemSpacepoke4
 

Detailed Description

template<int MAXP, int MAXT>
struct peclet::voro::TopologyStore< MAXP, MAXT >

Resident compact topology for N cells of ConvexCell<Real, MAXP, MAXT>. Captured by value into kernels.

Member Typedef Documentation

◆ MemSpace

template<int MAXP, int MAXT>
using peclet::voro::TopologyStore< MAXP, MAXT >::MemSpace = peclet::core::MemSpace

Member Function Documentation

◆ alloc()

template<int MAXP, int MAXT>
void peclet::voro::TopologyStore< MAXP, MAXT >::alloc ( int  n)
inline

◆ allocPoke4()

template<int MAXP, int MAXT>
void peclet::voro::TopologyStore< MAXP, MAXT >::allocPoke4 ( )
inline

Allocate the per-triangle edge-adjacency store (the Lawson local certificate; opt-in so callers that don't use it pay no memory). N*MAXT*3 int ≈ MAXT·12 bytes/cell.

◆ load()

template<int MAXP, int MAXT>
template<class Cell , class Real >
KOKKOS_INLINE_FUNCTION void peclet::voro::TopologyStore< MAXP, MAXT >::load ( int  i,
Cell &  c,
Real  L0,
Real  L1,
Real  L2 
) const
inline

Reload the stored topology of slot i into a fresh cell, ready for reevalGeometry(): seeds the six box planes (initBoxPlanes), restores np/nt/overflow, the neighbour ids of planes [6,np), and the triangles. The neighbour PLANE equations and all vertices are (re)computed by the following reevalGeometry() call.

◆ save()

template<int MAXP, int MAXT>
template<class Cell >
KOKKOS_INLINE_FUNCTION void peclet::voro::TopologyStore< MAXP, MAXT >::save ( int  i,
const Cell &  c 
) const
inline

Persist cell c at slot i (call after the cell is finalised — clipped + complete).

Member Data Documentation

◆ N

template<int MAXP, int MAXT>
int peclet::voro::TopologyStore< MAXP, MAXT >::N = 0

◆ np

template<int MAXP, int MAXT>
Kokkos::View<int*, MemSpace> peclet::voro::TopologyStore< MAXP, MAXT >::np

◆ nt

template<int MAXP, int MAXT>
Kokkos::View<int*, MemSpace> peclet::voro::TopologyStore< MAXP, MAXT >::nt

◆ pnbr

template<int MAXP, int MAXT>
Kokkos::View<int*, MemSpace> peclet::voro::TopologyStore< MAXP, MAXT >::pnbr

◆ poke4

template<int MAXP, int MAXT>
Kokkos::View<unsigned char*, MemSpace> peclet::voro::TopologyStore< MAXP, MAXT >::poke4

◆ tri

template<int MAXP, int MAXT>
Kokkos::View<unsigned*, MemSpace> peclet::voro::TopologyStore< MAXP, MAXT >::tri

The documentation for this struct was generated from the following file: