Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
dirt_core
The batteries-included umbrella crate for DIRT — a plugin-based Discrete Element Method (DEM) simulation framework. Depend on this crate to get everything.
What It Does
dirt_core is the entry point to DIRT. It re-exports the dirt_* physics
crates and the soil_* substrate crates, and provides convenience plugin
groups so a complete simulation can be set up in a few lines.
The App / Plugin / dependency-injection scheduler / TOML / multi-stage run
substrate lives in the grass framework; the
method-agnostic particle substrate (base Atom, AtomData registry, domain
decomposition, communication, neighbor lists) lives in
soil. DIRT adds the DEM physics on top.
Plugin Groups
| Plugin Group | Purpose |
|---|---|
CorePlugins |
Infrastructure: input/TOML config, MPI or single-process communication, domain decomposition, neighbor lists, groups, run loop, and output. Does not include time integration. |
GranularDefaultPlugins (from dirt_granular) |
DEM granular: Hertz–Mindlin contacts, rotational dynamics, particle insertion, and Velocity Verlet integration |
Combine CorePlugins with GranularDefaultPlugins, or add individual plugins
for finer control.
Quick Start
use *;
Parameters are read from a TOML config file passed on the command line, e.g.
cargo run -- config.toml.
The Prelude
Use dirt_core::prelude::* to import the most common types: the CorePlugins
group, the framework (App, Plugin, PluginGroup), core types (Atom,
Config, RunState), and the major DEM plugins (DemAtomPlugin,
GranularDefaultPlugins, DemBondPlugin, ClumpPlugin, WallPlugin,
ContactAnalysisPlugin, MeasurePlanePlugin, FixesPlugin,
DeformPlugin).
Crate Organization
Framework (grass_*): App / Plugin /
scheduler, TOML loading, multi-stage run loop, MPI abstraction, derive macros
Substrate (soil_*): base Atom +
AtomData registry, domain decomposition, neighbor lists, Velocity Verlet
integration, output, box deformation
DEM (dirt_*) re-exported here:
| Crate | Description |
|---|---|
dirt_atom |
DEM per-atom data, material table, particle insertion, size distributions |
dirt_granular |
Hertz normal, Mindlin tangential, rotational dynamics, granular temperature |
dirt_bond |
Inter-particle bonds: normal/tangential/bending, auto-bonding, breakage |
dirt_clump |
Rigid clump (multisphere) composites for non-spherical particles |
dirt_wall |
Walls: plane, cylinder, sphere, cone, region surfaces; wall motion |
dirt_contact_analysis |
Coordination number, fabric tensor, rattler detection, per-contact CSV |
dirt_measure_plane |
Measurement planes for flux and profile sampling |
dirt_fixes |
General-purpose fixes: gravity, addforce, setforce, freeze, movelinear, viscous |
Feature Flags
| Feature | Default | Description |
|---|---|---|
mpi_backend |
yes | MPI-based parallel communication. Disable with --no-default-features for single-process runs. |
License
MIT OR Apache-2.0