peclet-dem 1.1.0
Performance-portable XPBD Discrete Element Method (Kokkos + ArborX)
Loading...
Searching...
No Matches
sim.hpp File Reference

dem — the Simulation facade: the host-facing, binding-agnostic std::vector API the nanobind module (dem_bindings.cpp) drives from Python. More...

#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <Kokkos_Core.hpp>
#include <map>
#include <memory>
#include <stdexcept>
#include <string>
#include <utility>
#include <vector>
#include "broadphase_arborx.hpp"
#include "contact_preprocessing.hpp"
#include "integration.hpp"
#include "io.hpp"
#include "narrowphase.hpp"
#include "output_sdf.hpp"
#include "particles.hpp"
#include "peclet/core/common/view.hpp"
#include "peclet/core/geom/scene_builder.hpp"
#include "periodicity.hpp"
#include "shape_registry.hpp"
#include "shapes_portable.hpp"
#include "sleeping.hpp"
#include "solve_driver.hpp"
#include "solve_driver_force.hpp"
#include "solver_friction.hpp"
#include "solver_hertz.hpp"
#include "solver_multilevel.hpp"
#include "solver_position.hpp"
#include "solver_velocity.hpp"
#include "step_solve.hpp"

Go to the source code of this file.

Classes

class  peclet::dem::Simulation
 Host-facing facade with std::vector setters/getters (binding-agnostic). More...
 

Namespaces

namespace  peclet
 
namespace  peclet::dem
 

Detailed Description

dem — the Simulation facade: the host-facing, binding-agnostic std::vector API the nanobind module (dem_bindings.cpp) drives from Python.

Derives from ShapeRegistry (shape_registry.hpp: shapes, shells, inertias, the particle SoA P_) and adds the domain / material / solver setters, walls and planes, the per-particle state setters and getters, the steppers (step / relax / step_hertz and, gated PECLET_DEM_MPI, step_mpi / step_hertz_mpi + rebalancing) and the exports. The step drivers themselves are the free functions of step_solve.hpp / step_solve_mpi.hpp.

Definition in file sim.hpp.