|
peclet-dem 1.1.0
Performance-portable XPBD Discrete Element Method (Kokkos + ArborX)
|
Per-edge slot overrides of a phase's hub copies (docs/contact_solve_framework.md §4.4 item 5) plus the per-slot mass-split flag and relaxation of §4.5. More...
#include <contact_preprocessing.hpp>
Public Member Functions | |
| int | slotA (int e, int def) const |
| int | slotB (int e, int def) const |
| bool | relax (int sA, int sB) const |
| True iff the edge touches a mass-split slot (its step is scaled by omega before the clamp). | |
Public Attributes | |
| Kokkos::View< const int *, CpMem > | a |
| Kokkos::View< const int *, CpMem > | b |
| Kokkos::View< const unsigned char *, CpMem > | split |
| float | omega = 1.0f |
Per-edge slot overrides of a phase's hub copies (docs/contact_solve_framework.md §4.4 item 5) plus the per-slot mass-split flag and relaxation of §4.5.
Empty views = today's indices, no relaxation (the identity). a(e) / b(e) are the slots of edge e's A / B end (-1 = the default index: realIdx(bodyX) in the velocity phase, the raw contact body in the position phase). Every STATE access of a phase's sweeps goes through slotA / slotB; keys, labels and side flags keep the body.
Definition at line 444 of file contact_preprocessing.hpp.
|
inline |
Definition at line 448 of file contact_preprocessing.hpp.
References a.
Referenced by peclet::dem::activityHitPositionKokkos(), peclet::dem::activityHitVelocityKokkos(), peclet::dem::Simulation::debugColoringConflicts(), peclet::dem::PositionContactSweep::solveContact(), and peclet::dem::PGSManifoldSweep::solveOne().
|
inline |
Definition at line 456 of file contact_preprocessing.hpp.
References b.
Referenced by peclet::dem::activityHitPositionKokkos(), peclet::dem::activityHitVelocityKokkos(), peclet::dem::Simulation::debugColoringConflicts(), peclet::dem::PositionContactSweep::solveContact(), and peclet::dem::PGSManifoldSweep::solveOne().
|
inline |
True iff the edge touches a mass-split slot (its step is scaled by omega before the clamp).
Definition at line 465 of file contact_preprocessing.hpp.
References split.
Referenced by peclet::dem::PGSManifoldSweep::solveOne().
| Kokkos::View<const int*, CpMem> peclet::dem::SlotOverride::a |
Definition at line 445 of file contact_preprocessing.hpp.
Referenced by slotA(), and peclet::dem::PositionContactSweep::solveContact().
| Kokkos::View<const int*, CpMem> peclet::dem::SlotOverride::b |
Definition at line 445 of file contact_preprocessing.hpp.
Referenced by slotB().
| Kokkos::View<const unsigned char*, CpMem> peclet::dem::SlotOverride::split |
Definition at line 446 of file contact_preprocessing.hpp.
Referenced by relax().
| float peclet::dem::SlotOverride::omega = 1.0f |
Definition at line 447 of file contact_preprocessing.hpp.
Referenced by peclet::dem::PGSManifoldSweep::solveOne().