|
peclet-dem 1.1.0
Performance-portable XPBD Discrete Element Method (Kokkos + ArborX)
|
One solve phase's body copies (docs/contact_solve_framework.md §4.4, §4.5, §WO-4 item 2): the hub copies of the colouring (extra slots [slotBase, slotBase + nCopies) appended to the SoA, per-edge slot overrides) and the fold GROUPS – one per body updated through more than one slot in the phase (a hub's base + copies; in demStep's position phase also the periodic images of a body). More...
#include <particles.hpp>
Public Attributes | |
| int | nHubs = 0 |
| int | nCopies = 0 |
| int | nGroups = 0 |
| int | slotBase = 0 |
| int | maxHubDegree = 0 |
| Kokkos::View< int *, CpMem > | slotA |
| Kokkos::View< int *, CpMem > | slotB |
| Kokkos::View< int *, CpMem > | copyBase |
| Kokkos::View< int *, CpMem > | hubVertex |
| Kokkos::View< int *, CpMem > | hubS |
| Kokkos::View< int *, CpMem > | groupStart |
| Kokkos::View< int *, CpMem > | groupSlot |
| Kokkos::View< int *, CpMem > | groupK |
| Kokkos::View< float *[3], CpMem > | groupShift |
| Kokkos::View< unsigned char *, CpMem > | groupActive |
| Kokkos::View< float *[3], CpMem > | seedX |
| Kokkos::View< float *[3], CpMem > | seedW |
One solve phase's body copies (docs/contact_solve_framework.md §4.4, §4.5, §WO-4 item 2): the hub copies of the colouring (extra slots [slotBase, slotBase + nCopies) appended to the SoA, per-edge slot overrides) and the fold GROUPS – one per body updated through more than one slot in the phase (a hub's base + copies; in demStep's position phase also the periodic images of a body).
Group g's members are groupSlot[groupStart(g), groupStart(g + 1)), base (the body's own slot) first; groupShift is each member's periodic shift (0 but for images and their copies), groupK the active-copy count k, seedX / seedW the phase seed sigma of the base. Grow-only views; nGroups == 0 = the phase has no copies (every sweep runs on today's indices and masses).
Definition at line 44 of file particles.hpp.
| int peclet::dem::PhaseCopies::nHubs = 0 |
Definition at line 45 of file particles.hpp.
Referenced by peclet::dem::buildHubCopiesKokkos(), peclet::dem::countLightHubsKokkos(), peclet::dem::Simulation::debugColoringConflicts(), and peclet::dem::demSolveContacts().
| int peclet::dem::PhaseCopies::nCopies = 0 |
Definition at line 45 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), peclet::dem::buildHubCopiesKokkos(), peclet::dem::buildSolveViewsRankKKokkos(), peclet::dem::Simulation::debugColoringConflicts(), peclet::dem::demSolveContacts(), peclet::dem::finishActivityKokkos(), and peclet::dem::seedCopySlotStateKokkos().
| int peclet::dem::PhaseCopies::nGroups = 0 |
Definition at line 45 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), peclet::dem::buildSolveViewsKokkos(), peclet::dem::countSplitBodiesKokkos(), peclet::dem::demSolveContacts(), peclet::dem::finishActivityKokkos(), peclet::dem::markCopySeedsKokkos(), peclet::dem::reseedCopiesKokkos(), and peclet::dem::unfoldOrphanKokkos().
| int peclet::dem::PhaseCopies::slotBase = 0 |
Definition at line 45 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), peclet::dem::buildHubCopiesKokkos(), peclet::dem::buildSolveViewsRankKKokkos(), peclet::dem::Simulation::debugColoringConflicts(), peclet::dem::demSolveContacts(), and peclet::dem::seedCopySlotStateKokkos().
| int peclet::dem::PhaseCopies::maxHubDegree = 0 |
Definition at line 46 of file particles.hpp.
Referenced by peclet::dem::buildHubCopiesKokkos().
| Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::slotA |
Definition at line 47 of file particles.hpp.
Referenced by peclet::dem::buildHubCopiesKokkos(), peclet::dem::Simulation::debugColoringConflicts(), and peclet::dem::demSolveContacts().
| Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::slotB |
Definition at line 47 of file particles.hpp.
Referenced by peclet::dem::buildHubCopiesKokkos(), peclet::dem::Simulation::debugColoringConflicts(), and peclet::dem::demSolveContacts().
| Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::copyBase |
Definition at line 48 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), peclet::dem::buildHubCopiesKokkos(), peclet::dem::buildSolveViewsRankKKokkos(), and peclet::dem::seedCopySlotStateKokkos().
| Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::hubVertex |
Definition at line 49 of file particles.hpp.
Referenced by peclet::dem::buildHubCopiesKokkos(), and peclet::dem::countLightHubsKokkos().
| Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::hubS |
Definition at line 49 of file particles.hpp.
Referenced by peclet::dem::buildHubCopiesKokkos().
| Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::groupStart |
Definition at line 50 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), peclet::dem::buildSolveViewsKokkos(), peclet::dem::finishActivityKokkos(), peclet::dem::markCopySeedsKokkos(), peclet::dem::reseedCopiesKokkos(), and peclet::dem::unfoldOrphanKokkos().
| Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::groupSlot |
Definition at line 50 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), peclet::dem::buildSolveViewsKokkos(), peclet::dem::finishActivityKokkos(), peclet::dem::markCopySeedsKokkos(), peclet::dem::reseedCopiesKokkos(), and peclet::dem::unfoldOrphanKokkos().
| Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::groupK |
Definition at line 50 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), peclet::dem::buildSolveViewsKokkos(), peclet::dem::countSplitBodiesKokkos(), peclet::dem::finishActivityKokkos(), and peclet::dem::markCopySeedsKokkos().
| Kokkos::View<float* [3], CpMem> peclet::dem::PhaseCopies::groupShift |
Definition at line 51 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), peclet::dem::markCopySeedsKokkos(), and peclet::dem::reseedCopiesKokkos().
| Kokkos::View<unsigned char*, CpMem> peclet::dem::PhaseCopies::groupActive |
Definition at line 52 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), peclet::dem::finishActivityKokkos(), and peclet::dem::unfoldOrphanKokkos().
| Kokkos::View<float* [3], CpMem> peclet::dem::PhaseCopies::seedX |
Definition at line 53 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), and peclet::dem::markCopySeedsKokkos().
| Kokkos::View<float* [3], CpMem> peclet::dem::PhaseCopies::seedW |
Definition at line 53 of file particles.hpp.
Referenced by peclet::dem::buildCopyGroupsKokkos(), and peclet::dem::markCopySeedsKokkos().