|
peclet-dem 1.1.0
Performance-portable XPBD Discrete Element Method (Kokkos + ArborX)
|
dem — the single-rank step drivers over the particle SoA: the XPBD substep (demStep), its committed-state overlap probe (computeOverlapsKokkos), and the contact-buffer sizing the narrow phase relies on (growContactBuffers / narrowPhaseGrow).
More...
#include <algorithm>#include <cmath>#include <Kokkos_Core.hpp>#include "contact_preprocessing.hpp"#include "integration.hpp"#include "narrowphase.hpp"#include "particles.hpp"#include "periodicity.hpp"#include "sleeping.hpp"#include "solve_driver.hpp"Go to the source code of this file.
Namespaces | |
| namespace | peclet |
| namespace | peclet::dem |
Functions | |
| void | peclet::dem::growContactBuffers (Particles &P, long nBodies, long floorWant=0) |
| Grow every maxContacts-sized collision buffer to match the CURRENT particle capacity. | |
| int | peclet::dem::narrowPhaseGrow (Particles &P, int np, float margin) |
| Narrow phase with an automatically-grown contact buffer. | |
| void | peclet::dem::demStep (Particles &P) |
| One full XPBD DEM substep over the particle SoA (mirrors simulation.cpp Simulation::step()). | |
| float | peclet::dem::computeOverlapsKokkos (Particles &P) |
| Max pair interpenetration on the committed state (faithful to CUDA Simulation::compute_overlaps): copy committed pos/quat into the predicted buffers, regenerate the periodic ghosts from that state, then run the same broad/narrow phase as demStep and return the recorded max overlap. | |
dem — the single-rank step drivers over the particle SoA: the XPBD substep (demStep), its committed-state overlap probe (computeOverlapsKokkos), and the contact-buffer sizing the narrow phase relies on (growContactBuffers / narrowPhaseGrow).
Free functions; the Simulation facade in sim.hpp calls them, the distributed drivers in step_solve_mpi.hpp share the buffer sizing and the narrow phase.
Definition in file step_solve.hpp.