|
peclet-dem 0.4.0
Performance-portable XPBD Discrete Element Method (Kokkos + ArborX)
|
nanobind module dem — the Kokkos + ArborX XPBD granular-dynamics simulation.
More...
#include <nanobind/nanobind.h>#include <nanobind/ndarray.h>#include <nanobind/stl/optional.h>#include <nanobind/stl/pair.h>#include <nanobind/stl/string.h>#include <nanobind/stl/tuple.h>#include <nanobind/stl/vector.h>#include <cstdint>#include <Kokkos_Core.hpp>#include <optional>#include <tuple>#include <vector>#include "peclet/core/python/ndarray_interop.hpp"#include "sim.hpp"Go to the source code of this file.
Functions | |
| static std::vector< float > | to_vec (nb::ndarray< float, nb::c_contig > a) |
| static nb::ndarray< nb::numpy, float > | rows (std::vector< float > &&v, int cols) |
| static nb::ndarray< nb::numpy, float > | flat (std::vector< float > &&v) |
| NB_MODULE (_dem, m) | |
nanobind module dem — the Kokkos + ArborX XPBD granular-dynamics simulation.
Exposes peclet::dem::Simulation (the portable Kokkos+ArborX pipeline) with the essential sphere-packing API. Kokkos is initialized at import and left initialized for the interpreter's lifetime. Particle arrays cross the boundary through the shared peclet::core::python bridge (transport-core): inputs read as flat C-order buffers, getters move the result into the NumPy array's backing store (no extra copy), and under a GPU backend the bridge's device path lets CuPy arrays flow in/out zero-copy.
Definition in file dem_bindings.cpp.
|
static |
Definition at line 36 of file dem_bindings.cpp.
Referenced by NB_MODULE().
|
static |
Definition at line 42 of file dem_bindings.cpp.
Referenced by NB_MODULE().
|
static |
Definition at line 47 of file dem_bindings.cpp.
Referenced by peclet::dem::demMakeMlFusedCtx(), and NB_MODULE().
| NB_MODULE | ( | _dem | , |
| m | |||
| ) |
Definition at line 52 of file dem_bindings.cpp.
References peclet::dem::Simulation::addPlane(), peclet::dem::Simulation::addSdfWall(), peclet::dem::Simulation::clearExternalForces(), peclet::dem::Simulation::computeOverlaps(), peclet::dem::Simulation::debugColoringConflicts(), peclet::dem::Simulation::enablePeriodicity(), peclet::dem::Simulation::exportLammps(), peclet::dem::Simulation::exportSdf(), peclet::dem::Simulation::externalForcesView(), flat(), peclet::dem::Simulation::getAngularVelocities(), peclet::dem::Simulation::getDomainMax(), peclet::dem::Simulation::getDomainMin(), peclet::dem::Simulation::getGrowthRate(), peclet::dem::Simulation::getInvInertia(), peclet::dem::Simulation::getMasses(), peclet::dem::Simulation::getPositions(), peclet::dem::Simulation::getQuaternions(), peclet::dem::Simulation::getScales(), peclet::dem::Simulation::getSdfGrid(), peclet::dem::Simulation::getVelocities(), peclet::dem::Simulation::growthFactor(), peclet::dem::Simulation::initializeShape(), peclet::dem::Simulation::invMassView(), peclet::dem::Simulation::maxOverlap(), peclet::dem::Simulation::numAsleep(), peclet::dem::Simulation::numContacts(), peclet::dem::Simulation::numManifolds(), peclet::dem::Simulation::numParticles(), peclet::dem::Simulation::positionsView(), peclet::dem::Simulation::releaseAll(), peclet::dem::Simulation::restBankStats(), peclet::dem::Simulation::restOrphanStats(), rows(), peclet::dem::Simulation::setAngularVelocities(), peclet::dem::Simulation::setDomain(), peclet::dem::Simulation::setDomainMinMax(), peclet::dem::Simulation::setDt(), peclet::dem::Simulation::setExternalForces(), peclet::dem::Simulation::setGlobalScale(), peclet::dem::Simulation::setGravity(), peclet::dem::Simulation::setGrowthParams(), peclet::dem::Simulation::setHertzMaterial(), peclet::dem::Simulation::setInvInertia(), peclet::dem::Simulation::setInvMass(), peclet::dem::Simulation::setMaterialIds(), peclet::dem::Simulation::setMaterialParams(), peclet::dem::Simulation::setPairMaterial(), peclet::dem::Simulation::setPositions(), peclet::dem::Simulation::setQuaternions(), peclet::dem::Simulation::setRestitutionModel(), peclet::dem::Simulation::setScales(), peclet::dem::Simulation::setScalesUniform(), peclet::dem::Simulation::setSdfShape(), peclet::dem::Simulation::setSleeping(), peclet::dem::Simulation::setSolverIterations(), peclet::dem::Simulation::setSphereShape(), peclet::dem::Simulation::setStabilization(), peclet::dem::Simulation::setStabilizationMode(), peclet::dem::Simulation::setThermostat(), peclet::dem::Simulation::setVelocities(), peclet::dem::Simulation::setVelocityUseGS(), peclet::dem::Simulation::setVerletSkin(), peclet::dem::Simulation::setWallMaterialId(), peclet::dem::Simulation::setWallVelocity(), peclet::dem::Simulation::step(), peclet::dem::Simulation::stepHertz(), to_vec(), peclet::dem::Simulation::velocitiesView(), peclet::dem::writeLammpsDump(), and peclet::dem::Simulation::writeVtp().