Peridynamics

A Julia package for parallel peridynamics simulations

https://github.com/kaipartmann/peridynamics.jl

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.5%) to scientific vocabulary

Keywords

fracture-mechanics peridynamics peridynamics-models simulation simulation-framework
Last synced: 4 months ago · JSON representation ·

Repository

A Julia package for parallel peridynamics simulations

Basic Info
Statistics
  • Stars: 71
  • Watchers: 4
  • Forks: 13
  • Open Issues: 21
  • Releases: 10
Topics
fracture-mechanics peridynamics peridynamics-models simulation simulation-framework
Created over 3 years ago · Last pushed 5 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Security

README.md


The Peridynamics.jl logo

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.


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

Acknowledgements

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).

Owner

  • Name: Kai Partmann
  • Login: kaipartmann
  • Kind: user
  • Company: University of Siegen

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Partmann
  given-names: Kai
  orcid: https://orcid.org/0000-0002-5238-4355
- family-names: Dienst
  given-names: Manuel
  orcid: https://orcid.org/0009-0004-9195-0112
- family-names: Weinberg
  given-names: Kerstin
  orcid: https://orcid.org/0000-0002-2213-8401
title: "Peridynamics.jl"
doi: 10.5281/zenodo.8187477
date-released: 2023-07-26
url: "https://github.com/kaipartmann/Peridynamics.jl"
preferred-citation:
  title: "Simulation of fracture and damage with Peridynamics.jl"
  type: article
  authors:
  - family-names: "Partmann"
    given-names: "Kai"
  - family-names: "Dienst"
    given-names: "Manuel"
  - family-names: "Weinberg"
    given-names: "Kerstin"
  doi: "10.21105/jcon.00165"
  journal: "Proceedings of the JuliaCon Conferences"
  start: 165 # First page number
  end: 165 # Last page number
  volume: 6
  number: 64
  publisher: "The Open Journal"
  url: "https://doi.org/10.21105/jcon.00165"
  year: 2024

GitHub Events

Total
  • Create event: 26
  • Commit comment event: 5
  • Release event: 2
  • Issues event: 39
  • Watch event: 17
  • Delete event: 5
  • Issue comment event: 66
  • Push event: 132
  • Pull request review event: 19
  • Pull request review comment event: 19
  • Pull request event: 56
  • Fork event: 2
Last Year
  • Create event: 26
  • Commit comment event: 5
  • Release event: 2
  • Issues event: 39
  • Watch event: 17
  • Delete event: 5
  • Issue comment event: 66
  • Push event: 132
  • Pull request review event: 19
  • Pull request review comment event: 19
  • Pull request event: 56
  • Fork event: 2

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 115
  • Total pull requests: 109
  • Average time to close issues: 2 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 11
  • Total pull request authors: 8
  • Average comments per issue: 1.48
  • Average comments per pull request: 1.15
  • Merged pull requests: 94
  • Bot issues: 0
  • Bot pull requests: 9
Past Year
  • Issues: 21
  • Pull requests: 51
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 17 days
  • Issue authors: 4
  • Pull request authors: 5
  • Average comments per issue: 0.33
  • Average comments per pull request: 1.33
  • Merged pull requests: 41
  • Bot issues: 0
  • Bot pull requests: 5
Top Authors
Issue Authors
  • kaipartmann (99)
  • mdienst (8)
  • ranocha (2)
  • vavrines (1)
  • s-sanchit (1)
  • oldninja (1)
  • PetrKryslUCSD (1)
  • matthias-thimm (1)
  • ShiWeiHuH (1)
  • JuliaTagBot (1)
  • Lumos1110 (1)
Pull Request Authors
  • kaipartmann (103)
  • mdienst (43)
  • github-actions[bot] (8)
  • dependabot[bot] (7)
  • ShiWeiHuH (4)
  • kerstinweinberg (4)
  • oldninja (2)
  • efaulhaber (2)
Top Labels
Issue Labels
enhancement (41) documentation (40) bug (8) performance (7) high priority (7) breaking (3) parallelization (3) question (2) tests (2) good first issue (1) help wanted (1) dependencies (1) refactoring (1)
Pull Request Labels
enhancement (64) documentation (21) dependencies (19) bug (12) breaking (12) tests (8) parallelization (7) refactoring (6) performance (5) high priority (2)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 7 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 10
juliahub.com: Peridynamics

A Julia package for parallel peridynamics simulations

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 7 Total
Rankings
Dependent repos count: 9.9%
Average: 35.5%
Dependent packages count: 38.9%
Stargazers count: 39.8%
Forks count: 53.5%
Last synced: 4 months ago

Dependencies

.github/workflows/CI.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-docdeploy v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite