dem_wall
General plane wall contact forces for MDDEM simulations. Walls are defined by a point and normal vector, supporting both axis-aligned and angled walls.
Features
- Hertz elastic contact with viscoelastic damping (same model as particle-particle contacts)
- General plane geometry — any orientation, not just axis-aligned
- Optional bounding box to clip walls to finite regions
- Named walls with runtime toggling via
walls.deactivate_by_name("blocker") - Multiple walls per simulation
Configuration
# Axis-aligned floor wall
[[]]
= 0.0
= 0.0
= 0.0
= 0.0
= 0.0
= 1.0
= "glass"
# Angled funnel wall with bounding box
[[]]
= 0.0
= 0.0
= 0.05
= 0.919
= 0.0
= 0.394
= "glass"
= 0.015
= 0.05
# Named wall (can be deactivated at runtime)
[[]]
= 0.0
= 0.0
= 0.015
= 0.0
= 0.0
= 1.0
= "glass"
= "blocker"
Runtime Wall Control
Walls can be activated/deactivated by name during simulation, useful for staged simulations like hoppers:
Usage
use *;
let mut app = new;
app.add_plugins
.add_plugins
.add_plugins;
app.start;
Part of the MDDEM workspace.