Skip to content

peridigm/peridigm

Repository files navigation

Peridigm Codacy Badge Github Actions

Peridigm is an open-source computational peridynamics code developed, originally at Sandia National Laboratories and open-sourced in 2011, 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.

An overview of Peridigm is given in The Peridigm Meshfree Peridynamics Code, by Littlewood, Parks, Foster, Mitchell, and Diehl, J Peridyn Nonlocal Model, 2023, and in the 2012 Peridigm Users' Guide. Further details on software for computational peridynamics can be found in the Roadmap for Peridynamic Software Implementation.

Peridigm development began under the Physics & Engineering Models element of the US DOE's Advanced Simulation and Computing (ASC) program. The project was led by Michael Parks and managed by John Aidun. Subsequent funding has been provided by the US DOE through the ASC, ASCR, and LDRD programs.

Examples

Impact and Brittle Fracture The simulation of impact and brittle fracture displayed here was achieved using explicit transient dynamics, the linear peridynamic solid constitutive model, short-range force contact, and a critical stretch bond failure law. Peridynamics provides a natural framework for capturing pervasive material failure and fracture.
Tensile Test Simulation Peridigm is capable of performing explicit dynamic, implicit dynamic, and quasi-static time integration. The tensile test simulation presented here was attained using an elastic correspondence constitutive model and quasi-static time integration. Pre- and post-processing were carried out using Sandia's Cubit mesh generator and ParaView visualization code.
Fragmentation of an Expanding Cylinder The fragmentation of an expanding cylinder, shown here, was simulated using the linear peridynamic solid constitutive model and critical-stretch bond failure rule. Initial velocities for each node in the discretization were specified via user-supplied analytic expressions. Peridigm utilizes the RTCompiler function parser to process C-style expressions for the specification of input parameters, including intial and boundary conditions.

Getting Started

Peridigm is a C++ code intended for use on Mac and Linux operating systems. Both Peridigm and the Trilinos libraries it depends on should be built using MPI compilers and the CMake build system. The Peridigm test harness requires python. The build process has been tested using gcc and Intel compilers, Open MPI, and MPICH. The steps below should be followed in order, beginning with installation of the required third-party libraries.

Team

The following individuals have made significant contributions to the Peridigm code:

Citing

When citing Peridigm, please reference the following:

  • Littlewood, D.J., Parks, M.L., Foster, J.T. et al. The Peridigm Meshfree Peridynamics Code. J Peridyn Nonlocal Model (2023). https://doi.org/10.1007/s42102-023-00100-0
  • M.L. Parks, D.J. Littlewood, J.A. Mitchell, and S.A. Silling, Peridigm Users' Guide, Tech. Report SAND2012-7800, Sandia National Laboratories, 2012.

License

See our license information.