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

#include <particles.hpp>

Public Member Functions

void allocate (int cap, int maxPairs_, int maxContacts_, int nShapes, int nShell, int nPlanes)
 
void ensureCapacity (int newCap)
 
Kokkos::View< const float *[3], CpMemcpos () const
 
Kokkos::View< const float *, CpMemcrad () const
 

Public Attributes

V3 pos
 
Vf invMass
 
V4 quat
 
V3 vel
 
V3 angVel
 
V3 invInertia
 
Vf scale
 
Vf targetScale
 
Vi shapeId
 
V3 posPred
 
V4 quatPred
 
V3 velPred
 
V3 angVelPred
 
V3 deltaPos
 
V4 deltaQuat
 
V3 deltaVel
 
V3 deltaAngVel
 
Vi constraintCounts
 
Vi realIndices
 
Kokkos::View< float *[2], CpMemplaneFriction
 
Vf rad
 
V3 extForce
 
Kokkos::View< int *[2], CpMempairs
 
Kokkos::View< ContactC *, CpMemcontacts
 
Kokkos::View< ManifoldC *, CpMemmanifolds
 
Kokkos::View< int, CpMempairCount
 
Kokkos::View< int, CpMemcontactCount
 
Kokkos::View< int, CpMemmanifoldCount
 
Kokkos::View< int, CpMemtopGhost
 
Kokkos::View< float, CpMemmaxOverlap
 
Kokkos::View< ShapeDesc *, CpMemshapes
 
Kokkos::View< float *[3], CpMemshell
 
Kokkos::View< PlaneP *, CpMemplanes
 
Kokkos::View< float *, CpMemsdfGrid
 
Kokkos::View< WallSdf *, CpMemwalls
 
Kokkos::View< float *, CpMemwallGrid
 
int capacity = 0
 
int numReal = 0
 
int numParticles = 0
 
int maxPairs = 0
 
int maxContacts = 0
 
int numPlanes = 0
 
int numWalls = 0
 
float wallFrictionMax = 0.0f
 
Domain domain {}
 
F3 gravity {0, 0, 0}
 
float dt = 1e-3f
 
float globalScale = 1.0f
 
float growthRate = 0.0f
 
float growthFactor = -1.0f
 
float baseRadius = 1.0f
 
float thermostatTau = 0.0f
 
float thermostatTemp = 0.0f
 
float thermostatKB = 1.0f
 
float frictionDynamic = 0.0f
 
float restitutionNormal = 0.0f
 
float skin = 0.1f
 
int positionIterations = 10
 
int velocityIterations = 0
 

Detailed Description

Definition at line 21 of file particles.hpp.

Member Function Documentation

◆ allocate()

void peclet::dem::Particles::allocate ( int  cap,
int  maxPairs_,
int  maxContacts_,
int  nShapes,
int  nShell,
int  nPlanes 
)
inline

◆ ensureCapacity()

void peclet::dem::Particles::ensureCapacity ( int  newCap)
inline

◆ cpos()

Kokkos::View< const float *[3], CpMem > peclet::dem::Particles::cpos ( ) const
inline

Definition at line 160 of file particles.hpp.

References pos.

◆ crad()

Kokkos::View< const float *, CpMem > peclet::dem::Particles::crad ( ) const
inline

Definition at line 161 of file particles.hpp.

References rad.

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

Member Data Documentation

◆ pos

◆ invMass

◆ quat

◆ vel

◆ angVel

◆ invInertia

◆ scale

◆ targetScale

◆ shapeId

◆ posPred

V3 peclet::dem::Particles::posPred

◆ quatPred

V4 peclet::dem::Particles::quatPred

◆ velPred

V3 peclet::dem::Particles::velPred

◆ angVelPred

V3 peclet::dem::Particles::angVelPred

◆ deltaPos

V3 peclet::dem::Particles::deltaPos

Definition at line 36 of file particles.hpp.

Referenced by allocate(), peclet::dem::demStep(), and ensureCapacity().

◆ deltaQuat

V4 peclet::dem::Particles::deltaQuat

Definition at line 37 of file particles.hpp.

Referenced by allocate(), peclet::dem::demStep(), and ensureCapacity().

◆ deltaVel

V3 peclet::dem::Particles::deltaVel

Definition at line 38 of file particles.hpp.

Referenced by allocate(), peclet::dem::demStep(), and ensureCapacity().

◆ deltaAngVel

V3 peclet::dem::Particles::deltaAngVel

Definition at line 39 of file particles.hpp.

Referenced by allocate(), peclet::dem::demStep(), and ensureCapacity().

◆ constraintCounts

Vi peclet::dem::Particles::constraintCounts

Definition at line 40 of file particles.hpp.

Referenced by allocate(), peclet::dem::demStep(), and ensureCapacity().

◆ realIndices

Vi peclet::dem::Particles::realIndices

◆ planeFriction

Kokkos::View<float* [2], CpMem> peclet::dem::Particles::planeFriction

Definition at line 42 of file particles.hpp.

Referenced by allocate(), peclet::dem::demStep(), and ensureCapacity().

◆ rad

Vf peclet::dem::Particles::rad

◆ extForce

◆ pairs

Kokkos::View<int* [2], CpMem> peclet::dem::Particles::pairs

◆ contacts

Kokkos::View<ContactC*, CpMem> peclet::dem::Particles::contacts

◆ manifolds

Kokkos::View<ManifoldC*, CpMem> peclet::dem::Particles::manifolds

Definition at line 49 of file particles.hpp.

Referenced by allocate(), and peclet::dem::demStep().

◆ pairCount

Kokkos::View<int, CpMem> peclet::dem::Particles::pairCount

Definition at line 52 of file particles.hpp.

Referenced by allocate(), and peclet::dem::findCollisionsGrow().

◆ contactCount

Kokkos::View<int, CpMem> peclet::dem::Particles::contactCount

◆ manifoldCount

Kokkos::View<int, CpMem> peclet::dem::Particles::manifoldCount

◆ topGhost

Kokkos::View<int, CpMem> peclet::dem::Particles::topGhost

◆ maxOverlap

Kokkos::View<float, CpMem> peclet::dem::Particles::maxOverlap

◆ shapes

◆ shell

Kokkos::View<float* [3], CpMem> peclet::dem::Particles::shell

◆ planes

Kokkos::View<PlaneP*, CpMem> peclet::dem::Particles::planes

◆ sdfGrid

Kokkos::View<float*, CpMem> peclet::dem::Particles::sdfGrid

◆ walls

Kokkos::View<WallSdf*, CpMem> peclet::dem::Particles::walls

◆ wallGrid

Kokkos::View<float*, CpMem> peclet::dem::Particles::wallGrid

◆ capacity

int peclet::dem::Particles::capacity = 0

◆ numReal

◆ numParticles

int peclet::dem::Particles::numParticles = 0

◆ maxPairs

int peclet::dem::Particles::maxPairs = 0

Definition at line 66 of file particles.hpp.

Referenced by allocate(), and peclet::dem::findCollisionsGrow().

◆ maxContacts

int peclet::dem::Particles::maxContacts = 0

Definition at line 66 of file particles.hpp.

Referenced by allocate().

◆ numPlanes

int peclet::dem::Particles::numPlanes = 0

◆ numWalls

int peclet::dem::Particles::numWalls = 0

◆ wallFrictionMax

float peclet::dem::Particles::wallFrictionMax = 0.0f

Definition at line 69 of file particles.hpp.

Referenced by peclet::dem::Simulation::addSdfWall(), and peclet::dem::demStep().

◆ domain

◆ gravity

F3 peclet::dem::Particles::gravity {0, 0, 0}

Definition at line 71 of file particles.hpp.

Referenced by peclet::dem::demStep(), and peclet::dem::Simulation::setGravity().

◆ dt

float peclet::dem::Particles::dt = 1e-3f

◆ globalScale

◆ growthRate

float peclet::dem::Particles::growthRate = 0.0f

◆ growthFactor

float peclet::dem::Particles::growthFactor = -1.0f

◆ baseRadius

◆ thermostatTau

float peclet::dem::Particles::thermostatTau = 0.0f

Definition at line 74 of file particles.hpp.

Referenced by peclet::dem::demStep(), and peclet::dem::Simulation::setThermostat().

◆ thermostatTemp

float peclet::dem::Particles::thermostatTemp = 0.0f

Definition at line 74 of file particles.hpp.

Referenced by peclet::dem::demStep(), and peclet::dem::Simulation::setThermostat().

◆ thermostatKB

float peclet::dem::Particles::thermostatKB = 1.0f

Definition at line 75 of file particles.hpp.

Referenced by peclet::dem::demStep(), and peclet::dem::Simulation::setThermostat().

◆ frictionDynamic

float peclet::dem::Particles::frictionDynamic = 0.0f

◆ restitutionNormal

float peclet::dem::Particles::restitutionNormal = 0.0f

◆ skin

float peclet::dem::Particles::skin = 0.1f

◆ positionIterations

int peclet::dem::Particles::positionIterations = 10

◆ velocityIterations

int peclet::dem::Particles::velocityIterations = 0

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