|
| void | init (std::array< Real, 3 > origin, std::array< Real, 3 > size, std::array< long, 3 > gsize, std::array< bool, 3 > periodic, Real rcut, Real skin, Real tol, MPI_Comm comm, int searchWindow=4, int densityCount=-1) |
| | One-time setup. gsize is the ORB decomposition granularity (cells per axis).
|
| |
| int | ownerOf (const Vec3 &x) const |
| |
| void | setSdf (const Sdf &s) |
| | Replicated SDF geometry (every rank holds the same provider). Call before establish().
|
| |
| void | setProfile (bool on) |
| |
| void | setWallMode (bool exact, Real skin=Real(0)) |
| |
| void | establish (const std::vector< Vec3 > &ownedPos, const std::vector< long > &ownedGid, const std::vector< Real > &ownedW) |
| |
| StepStats | step (const std::vector< Vec3 > &ownedPos) |
| | Advance to new owned positions (same ownership as establish; collective every step).
|
| |
| int | nCombined () const |
| | Combined owned+ghost count and owned count of the current tessellation.
|
| |
| int | nOwned () const |
| |
| MovingTessellation< Real, MAXP, MAXT, false, Sdf > & | tess () |
| | The device tessellation (cells [0, nOwned) are this rank's owned cells).
|
| |
| const Sdf & | sdf () const |
| |
| const Kokkos::View< Real *, Mem > & | positions () const |
| |
| const std::vector< long > & | combinedGid () const |
| | Global ids of the combined (owned+ghost) seeds after the last (re)gather.
|
| |
| long | numRegathers () const |
| |
template<class Real, int MAXP = kMaxPlanes, int MAXT = kMaxTriangles, class Sdf = NoSdf>
struct peclet::voro::mpi::DistributedMovingTessellation< Real, MAXP, MAXT, Sdf >
Sdf (rung A0): an SDF solid provider, replicated on every rank (set it with setSdf() before establish()); the owned cells are clipped and boundary-watched exactly as in the single-domain MovingTessellation. Default NoSdf leaves the driver unchanged.