peclet-dem 1.1.0
Performance-portable XPBD Discrete Element Method (Kokkos + ArborX)
Loading...
Searching...
No Matches
peclet::dem::SlotOverride Struct Reference

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
 

Detailed Description

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.

Member Function Documentation

◆ slotA()

◆ slotB()

◆ relax()

bool peclet::dem::SlotOverride::relax ( int  sA,
int  sB 
) const
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().

Member Data Documentation

◆ a

Kokkos::View<const int*, CpMem> peclet::dem::SlotOverride::a

◆ b

Kokkos::View<const int*, CpMem> peclet::dem::SlotOverride::b

Definition at line 445 of file contact_preprocessing.hpp.

Referenced by slotB().

◆ split

Kokkos::View<const unsigned char*, CpMem> peclet::dem::SlotOverride::split

Definition at line 446 of file contact_preprocessing.hpp.

Referenced by relax().

◆ omega

float peclet::dem::SlotOverride::omega = 1.0f

Definition at line 447 of file contact_preprocessing.hpp.

Referenced by peclet::dem::PGSManifoldSweep::solveOne().


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