Skip to navigation

MPM Solver

View as Markdown

Start with Implicit MPM for scene construction. These experiments help separate numerical accuracy from constitutive response. They are qualitative examples, not calibrated material models or performance benchmarks.

Tune Resolution, Time, Then Convergence

Tune one group at a time in this order:

  1. Voxel and particle resolution. MPMSolverCfg.voxel_size controls the background grid. Smaller voxels resolve thinner geometry but increase active cells and memory. MPMGridCfg.particles_per_cell controls particle density; doubling it along each axis creates about eight times as many particles in 3D. Start coarse, then refine until the measured behavior stops changing.
  2. Timestep and substeps. Each Newton substep uses SimulationCfg.dt / NewtonCfg.num_substeps. Reduce dt or increase num_substeps first when contacts tunnel, jitter, or become unstable. Substeps do not change the policy period, which also includes environment decimation.
  3. Iterations and tolerance. MPMSolverCfg.max_iterations caps the rheology solve; tolerance permits an earlier exit after convergence. Increase the cap only when the solver reaches it, and lower the tolerance only when tighter convergence improves a physical metric. These settings do not repair an unstable timestep, invalid reset, or incorrect collider.

Material Comparisons

The recordings below hold the scene and solver configuration fixed within each comparison while varying one material parameter. The annotated values are examples for observing different responses, not calibrated material recommendations.

PresetVaried valuesBehavior to inspect
young_modulus100 kPa, 300 kPa, 1 MPaCompression, recovery, and impact rebound
poisson_ratio0.05, 0.30, 0.499Volume loss versus near-incompressibility
friction0, 0.68, 2.0Runout and the final angle of repose
tensile_yield_ratio0, 0.01, 0.05Fragmentation versus tensile cohesion
yield_pressure100 kPa, 1 MPa, 4 MPaOnset and amount of irreversible compression
hardening0, 0.05, 5.0Strength gained after plastic compaction
dilatancy0, 0.1, 1.0Compaction versus expansion under shear
yield_stress0, 10 kPa, 20 kPaCohesive flow and retained shape
viscosity0, 10 Pa·s, 500 Pa·sRate-dependent plastic flow
particle_jitter0%, 30% of particle spacingGrid-alignment artifacts and packing symmetry

Design a Useful Parameter Study

Use these practices when designing a comparison:

  • Change one physical quantity at a time. Use the same generated positions, particle mass, collider, timestep, and camera for every variant.
  • Choose values that bracket visibly different regimes. Geometric spacing is usually more informative than small linear increments for stiffness, yield, viscosity, and coupling mass scales.
  • Preserve the feature the comparison is meant to explain. If a soft elastic specimen loses its silhouette before rebound can be read, reduce the impact energy or raise the lower end of the stiffness range. Do not shorten a clip merely to hide later breakup.
  • Use deterministic jitter for constitutive comparisons so lattice alignment does not dominate the motion. Keep the no-jitter case as a separate packing diagnostic.
  • Run until impact, peak deformation, recovery or flow, and the final settled state are all visible. A short clip can make different materials appear identical.
  • Tune numerical resolution and timestep before interpreting material values. Record the voxel size, particles per voxel axis, particle count, physics timestep, substeps, iterations, tolerance, random seed, and code revision.
  • Check a quantitative signal alongside the video when possible: center of mass, runout distance, rebound height, retained volume, or settled height.

particles_per_cell is the number of particles along one voxel axis. A value of 2 therefore produces approximately eight particles per filled voxel in 3D, not two. Refining both voxel size and particle density can increase memory and runtime rapidly.

Interpret the Comparisons

  • Elastic response: Poisson’s ratio changes both bulk and shear moduli at fixed Young’s modulus. Values close to 0.5 approach incompressibility; this is not an independent sweep of volume stiffness. The recording uses 50 kPa Young’s modulus and a gentler drop so the impact produces visible strain without obscuring the comparison through loss of the specimen silhouette.
  • Plastic response: yielding, hardening, friction, and dilatancy interact. Keep the other fields fixed within a preset, not necessarily between presets. A high-friction label is not a water-content model; these sand, snow, and clay labels describe illustrative responses rather than measured materials.
  • Nearly rigid MPM: high stiffness and yield limits suppress intended strain and plastic flow but do not impose rigid-body constraints. Residual shape drift, contact differences, and particle sampling error can remain. Compare silhouettes and mass as well as motion; increase resolution only after checking timestep and convergence. Higher particle density is more expensive than a coarse comparison.

Example Recordings

Recordings are hosted outside Git on the Isaac Lab documentation media host, following the other deformable tuning examples.

Material Response

The selected material clips were recorded in Kit at 1920 × 1080. Their annotations belong to those recordings; do not treat video duration as simulation time.

Watch the embedded video Plate compression at 100 kPa, 300 kPa, and 1 MPa.

Watch the embedded video Plate compression at Poisson ratios 0.05, 0.30, and 0.499 with E = 50 kPa.

Watch the embedded video Runout for internal friction 0, 0.68, and 2.0; cohesion is unchanged.

Watch the embedded video Tensile yield ratios 0, 0.01, and 0.05.

Watch the embedded video Stronger impact reveals compression at 100 kPa, 1 MPa, and 4 MPa.

Watch the embedded video Fixed strength (0) versus slow (0.05) and rapid (5) strength buildup.

Watch the embedded video Spreading and packing for dilatancy 0, 0.1, and 1.

Watch the embedded video Retained shape at 0, 10 kPa, and 20 kPa.

Watch the embedded video Rate of plastic flow at 0, 10 Pa·s, and 500 Pa·s.

Watch the embedded video Aligned sampling versus deterministic 30% particle-spacing jitter.

Nearly Rigid Limit

Watch the embedded video Inspect matched colored primitives rolling down separated inclines. This older presentation recording is not an accuracy claim for the current implementation; high stiffness does not enforce rigid shape constraints.