Peridynamics is a nonlocal extension of classical continuum mechanics, and is principally used for simulations involving fracture, failure, and fragmentation.

Peridigm is an open-source computational peridynamics code developed for massively-parallel multi-physics simulations. It has been applied primarily to problems in solid mechanics involving pervasive material failure. Peridigm is a C++ code utilizing foundational software components from Sandia’s Trilinos project and is fully compatible with the Cubit mesh generator and Paraview visualization code.


  • Michael L. Parks, David J. Littlewood, John A. Mitchell, and Stewart A. Silling, Peridigm Users’ Guide V1. 0.0, Technical Report SAND2012-7800 Sandia National Laboratories, September 2012.

Peridigm Software

PDLAMMPS (Peridynamics-in-LAMMPS)

A particular discretization of the peridynamic model has the same computational structure as classical molecular dynamics. I am the principal author of the peridynamic model implemented within Sandia’s massively parallel molecular dynamics code, LAMMPS. Credit also goes to Steve Plimpton for helping integrate peridynamics into LAMMPS, and to Pablo Seleson for writing the routine to compute bond damage.



  • PDLAMMPS is distributed as part of the LAMMPS molecular dynamics simulator.
  • Please read the user guide for installation and usage instructions.
  • Please contact me for support issues.

Example Simulations with PDLAMMPS

This is a replication of an experiment described in (Silling, 2005) and also presented in (Parks, 2008). It simulates the impact of a rigid sphere on a homogeneous block of brittle material. The sphere has diameter 0.01 m and velocity of 100 m/s directed normal to the surface of the target. The target material has density 2200 kg/m3 and bulk modulus 14.9 GPa. The target is a cylinder of diameter 7.4 cm and thickness 0.25 cm. It was discretized as as a 3D cubic lattice of particles with lattice constant 0.5 mm, and contains 103,110 particles.

Top monolayer of brittle target showing fragmentation

Cut view of target during impact by projectile

Krylov Subspace Recycling

Many problems in engineering and physics require the solution of a large sequence of linear systems. We can reduce the cost of solving subsequent systems in the sequence by recycling information from previous systems. I develop a family of solvers based upon a technique known as "Krylov Subspace Recycling". Belos currently contains a recycling GMRES solver (GCRODR) and a recycling CG solver (RCG). For some problems, the iteration count required to solve a linear system can be cut by a factor of two.


Recycling GMRES (GCRODR) — Matlab

  • Download
  • Includes example sequence of linear systems from a finite element fracture mechanics problem constructed by Philippe H. Geubelle and Spandan Maiti.
  • Warning : This is a research code, not a production code! Should you notice any "strange behavior" (abnormal termination, extremely poor convergence, etc.) please contact me.

Recycling GMRES (GCRODR) — Trilinos

  • GCRODR has been released as part of the Belos package in Trilinos.
  • Please contact me for support issues.

Recycling Conjugate Gradients (RCG) — Trilinos

  • RCG has been released as part of the Belos package in Trilinos.
  • Please contact me for support issues.