GitPedia

Peridynamics.jl

A Julia package for parallel peridynamics simulations

From kaipartmann·Updated June 22, 2026·View on GitHub·

A high-level Julia package for parallel peridynamics simulations The project is written primarily in Julia, distributed under the MIT License license, first published in 2022. Key topics include: fracture-mechanics, peridynamics, peridynamics-models, simulation, simulation-framework.

Latest release: v0.5.3
December 9, 2025View Changelog →
<p align="center"> <img src="docs/src/assets/logo.png" width="300" /> <br> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/kaipartmann/Peridynamics.jl/assets/68582683/817c7bd4-9c02-4cc4-ac66-998c0f5e95e2"> <source media="(prefers-color-scheme: light)" srcset="https://github.com/kaipartmann/Peridynamics.jl/assets/68582683/70c24007-5aa9-460f-9a97-c67b1df32750"> <img alt="The Peridynamics.jl logo" src="https://github.com/kaipartmann/Peridynamics.jl/assets/68582683/70c24007-5aa9-460f-9a97-c67b1df32750" width="400"> </picture> </p>

A high-level Julia package for parallel peridynamics simulations

Documentation:
Stable
Dev

Build status:
Build Status
Coverage

Code quality:
SciML Code Style
Aqua QA

Citation:
DOI
DOI

Main Features

  • 🎯 Dynamic and quasi-static analysis
  • 🪨 Multiple peridynamics formulations and material models
  • 🎳 Multibody contact simulations
  • 🤓 User friendly API that captures many errors before submitting simulations
  • 🚀 Enhanced HPC capabilities with MPI or multithreading

Installation

Peridynamics.jl is a registered Julia package, so you can install it by just typing

add Peridynamics

in the julia package manager. Please take a look at the documentation for more details on the installation.

Usage

To run the dynamic tensile test simulation, just 7 lines of code are needed:

julia
body = Body(BBMaterial(), "TensileTestMesh.inp") material!(body; horizon=0.01, rho=2700, E=70e9, Gc=100) velocity_bc!(t -> -0.6, body, :bottom, 1) velocity_bc!(t -> 0.6, body, :top, 1) vv = VelocityVerlet(steps=500) job = Job(body, vv; path="results/tension_dynamic") submit(job)

Take a look at the tutorial of the tensile test for more details on this example.

If you want to run this example with multithreading, just start Julia with more than 1 thread.
To use MPI, you can create a script containing the same code without changes and run it with:

bash
mpiexec -n 6 julia --project path/to/script.jl

Please take a look at the how-to guide on MPI for more details.

Tutorials

Please click the image below to see the Tutorial overview in the documentation.

<a href="https://kaipartmann.github.io/Peridynamics.jl/stable/#Tutorials"> <img src="https://github.com/user-attachments/assets/f69ec7f5-2deb-4328-bfab-05cc15508af2"/><br> </a>

Cite Us

If you use Peridynamics.jl in your own research or write a paper using results obtained
with the help of Peridynamics.jl, please cite it as

bibtex
@article{Partmann2024JuliaCon, author = {Partmann, Kai and Dienst, Manuel and Weinberg, Kerstin}, doi = {10.21105/jcon.00165}, journal = {Proceedings of the JuliaCon Conferences}, pages = {165}, title = {{Simulation of fracture and damage with Peridynamics.jl}}, url = {https://doi.org/10.21105/jcon.00165}, volume = {6}, year = {2024} }

Authors

  • <a href="https://orcid.org/0000-0002-5238-4355">Kai Partmann (University of Siegen) <img alt="ORCID logo" src="https://info.orcid.org/wp-content/uploads/2019/11/orcid_16x16.png" width="16" height="16" /></a>
  • <a href="https://orcid.org/0009-0004-9195-0112">Manuel Dienst (University of Siegen) <img alt="ORCID logo" src="https://info.orcid.org/wp-content/uploads/2019/11/orcid_16x16.png" width="16" height="16" /></a>
  • <a href="https://orcid.org/0000-0002-2213-8401">Kerstin Weinberg (University of Siegen) <img alt="ORCID logo" src="https://info.orcid.org/wp-content/uploads/2019/11/orcid_16x16.png" width="16" height="16" /></a>

Acknowledgements

<img src=https://github.com/kaipartmann/Peridynamics.jl/assets/68582683/0d14a65b-4e05-4408-8107-59ac9c1477d2 width=500>

The authors gratefully acknowledge the support of the Deutsche Forschungsgemeinschaft (DFG) under the project WE2525-14/1.

The support of Carsten Bauer and Xin Wu from PC2 with the design of the internal structure regarding parallel performance is gratefully acknowledged.

The authors gratefully acknowledge the computing time provided to them on the high-performance computer Noctua 2 at the NHR Center PC2. These are funded by the Federal Ministry of Education and Research and the state governments participating on the basis of the resolutions of the GWK for the national highperformance computing at universities (www.nhr-verein.de/unsere-partner).

Contributors

Showing top 6 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from kaipartmann/Peridynamics.jl via the GitHub API.Last fetched: 6/27/2026