Skip to content

SueHeir/dirt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DIRT — Discrete-element Interaction-Resolved Toolkit

Discrete Element Method (DEM) physics in the GRASS → SOIL → DIRT stack.

GRASS    framework: App, Plugin, Scheduler, IO, coupling
  └─ SOIL   substrate: Atom, domain decomposition, comm, neighbor lists
       └─ DIRT   DEM physics: contact, bonds, walls, clumps   ← you are here

DIRT resolves every inter-particle contact individually, riding the SOIL substrate for all the method-agnostic machinery (atom data, domain decomposition, halo exchange, neighbor lists). It adds the granular physics: Hertz–Mindlin contact, rotational dynamics, parallel bonds, walls, multisphere clumps, heat conduction, and contact analysis.

Layout

dirt_core is the batteries-included umbrella crate (depend on this):

use dirt_core::prelude::*;

fn main() {
    let mut app = App::new();
    app.add_plugins(CorePlugins).add_plugins(GranularDefaultPlugins);
    app.start();
}
crate role
dirt_core umbrella: CorePlugins, GranularDefaultPlugins, prelude
dirt_atom per-atom DEM data (DemAtom), materials, particle insertion
dirt_granular Hertz/Mindlin contact, rolling/twisting, adhesion, rotational dynamics
dirt_wall plane/cylinder/sphere/cone/region-surface walls, with Mindlin wall friction
dirt_bond bonded-particle model: normal/shear/twist/bending beam, breakage, plasticity
dirt_clump multisphere/clump rigid composites
dirt_contact_analysis coordination number, fabric tensor, rattlers
dirt_measure_plane measurement planes for flux/profiles
dirt_fixes DEM group fixes: add/set force, freeze, pin, prescribed motion, viscous damping, gravity
dirt_test_utils shared test helpers

Building

Clone DIRT and build — its soil and grass dependencies are pulled from GitHub automatically, so you don't need to check them out yourself:

git clone https://github.com/SueHeir/dirt
cd dirt
cargo run --release --example hopper --no-default-features -- examples/hopper/config.toml

License

MIT OR Apache-2.0

About

Discrete-element Interaction-Resolved Toolkit

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors