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

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
 

Detailed Description

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.

Member Data Documentation

◆ nHubs

◆ nCopies

◆ nGroups

◆ slotBase

◆ maxHubDegree

int peclet::dem::PhaseCopies::maxHubDegree = 0

Definition at line 46 of file particles.hpp.

Referenced by peclet::dem::buildHubCopiesKokkos().

◆ slotA

Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::slotA

◆ slotB

Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::slotB

◆ copyBase

◆ hubVertex

Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::hubVertex

◆ hubS

Kokkos::View<int*, CpMem> peclet::dem::PhaseCopies::hubS

Definition at line 49 of file particles.hpp.

Referenced by peclet::dem::buildHubCopiesKokkos().

◆ groupStart

◆ groupSlot

◆ groupK

◆ groupShift

Kokkos::View<float* [3], CpMem> peclet::dem::PhaseCopies::groupShift

◆ groupActive

Kokkos::View<unsigned char*, CpMem> peclet::dem::PhaseCopies::groupActive

◆ seedX

Kokkos::View<float* [3], CpMem> peclet::dem::PhaseCopies::seedX

◆ seedW

Kokkos::View<float* [3], CpMem> peclet::dem::PhaseCopies::seedW

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