|
peclet-dem 0.4.0
Performance-portable XPBD Discrete Element Method (Kokkos + ArborX)
|
The per-contact overlap-projection body lives in PositionContactSweep so the colored launch loop and the fused colour sweep (solver_fused.hpp) share it verbatim: solveOne(idx) must only run concurrently on contacts that are body-disjoint within one launch (a colour class). More...
#include <solver_position.hpp>
Public Member Functions | |
| void | solveOne (int idx) const |
Public Attributes | |
| Kokkos::View< const ContactC *, CpMem > | contacts |
| Kokkos::View< const float *, CpMem > | invMass |
| Kokkos::View< float *[3], CpMem > | posPred |
| Kokkos::View< const float *[4], CpMem > | quatPred |
| Kokkos::View< const float *[4], CpMem > | quatStatic |
| Kokkos::View< const float *[3], CpMem > | invInertia |
| Kokkos::View< float, CpMem > | maxOverlap |
| Kokkos::View< float *, CpMem > | posLambdaAcc |
The per-contact overlap-projection body lives in PositionContactSweep so the colored launch loop and the fused colour sweep (solver_fused.hpp) share it verbatim: solveOne(idx) must only run concurrently on contacts that are body-disjoint within one launch (a colour class).
Definition at line 425 of file solver_position.hpp.
|
inline |
Definition at line 435 of file solver_position.hpp.
References peclet::dem::add3(), peclet::dem::ContactC::bodyA, peclet::dem::ContactC::bodyB, peclet::dem::detail::computeW(), contacts, peclet::dem::dot3(), invInertia, invMass, peclet::dem::ldF3(), peclet::dem::ldF4(), maxOverlap, peclet::dem::ContactC::normal, posLambdaAcc, posPred, peclet::dem::quatInverse(), peclet::dem::quatMult(), quatPred, quatStatic, peclet::dem::ContactC::rA, peclet::dem::ContactC::rB, peclet::dem::rotateVector(), peclet::dem::sub3(), peclet::dem::F4::x, peclet::dem::F4::y, and peclet::dem::F4::z.
Definition at line 426 of file solver_position.hpp.
Referenced by solveOne().
| Kokkos::View<const float*, CpMem> peclet::dem::PositionContactSweep::invMass |
Definition at line 427 of file solver_position.hpp.
Referenced by solveOne().
| Kokkos::View<float* [3], CpMem> peclet::dem::PositionContactSweep::posPred |
Definition at line 428 of file solver_position.hpp.
Referenced by solveOne().
| Kokkos::View<const float* [4], CpMem> peclet::dem::PositionContactSweep::quatPred |
Definition at line 429 of file solver_position.hpp.
Referenced by solveOne().
| Kokkos::View<const float* [4], CpMem> peclet::dem::PositionContactSweep::quatStatic |
Definition at line 430 of file solver_position.hpp.
Referenced by solveOne().
| Kokkos::View<const float* [3], CpMem> peclet::dem::PositionContactSweep::invInertia |
Definition at line 431 of file solver_position.hpp.
Referenced by solveOne().
| Kokkos::View<float, CpMem> peclet::dem::PositionContactSweep::maxOverlap |
Definition at line 432 of file solver_position.hpp.
Referenced by solveOne().
| Kokkos::View<float*, CpMem> peclet::dem::PositionContactSweep::posLambdaAcc |
Definition at line 433 of file solver_position.hpp.
Referenced by solveOne().