PeriLab

PeriLab is a Software to solve Peridynamic problems. It is written in Julia to overcome many issues related to the Software Peridigm.

2
mentions
2
contributors
Get started
2470 commits | Last commit โ‰ˆ 4 days ago

What PeriLab can do for you

PeriLab - Peridynamic Laboratory

DocumentationBuild StatusQuality
DeploymentLicenseSocials

Welcome to PeriLab, a powerful software solution designed for tackling Peridynamic problems.

Documentation

Explore the comprehensive documentation for PeriLab.

Examples

A few basic examples of PeriLab can be found in the examples directory, or if you want to have a look at results go to our growing PeriLab-Results service.

Features โญ

  • ๐Ÿš€ Easy Installation: PeriLab's straightforward installation process makes it accessible for researchers and engineers without extensive computational expertise.

  • โœ’๏ธ Modularization: The software is designed with a modular architecture that allows users to easily integrate their own material and damage models.

  • ๐ŸŽจ Formulations: Bond-based, bond-associated, as well as oridnary and non-ordinary state-based peridynamic formulations can be used with PeriLab.

  • ๐Ÿ”ฉ Material models: PeriLab supports various material models, such as elastic, plastic, and more, enabling simulation of complex materials and structures.

  • ๐Ÿ”จ Damage models: Damage models such as critical stretch or an energy based criterium are included to simulate different types of damage, such as crack propagation or delamination, in their peridynamic simulations.

  • ๐Ÿ”ฅ Additive Manufacturing: PeriLab supports additive manufacturing, allowing users to create custom additive models for their simulations.

  • ๐Ÿงฒ Multimodels: PeriLab supports multimodels simulations, combining different types of peridynamics and damage models to create a comprehensive simulation environment.

  • โšก MPI: PeriLab supports parallel computing using Message Passing Interface (MPI) technology to improve simulation performance on high-performance clusters.

  • ๐Ÿ’ป HPC capabilities: PeriLab is designed for high-performance computing (HPC) environments, allowing users to run large-scale simulations efficiently.

  • ๐Ÿ“ค๐Ÿ“ฅ Exodus Input/Output: PeriLab uses the Exodus II data format for input and output, enabling easy transfer of data between simulation tools.

  • ๐Ÿงฎ Abaqus Input: PeriLab supports Abaqus input files, allowing users to create custom Abaqus models for their simulations.

  • โž— Bond filter: The bond filter feature allows users to apply specific conditions to the bonds between particles in a simulation, influencing their behavior and interaction with other particles.

  • ๐Ÿ”ง User specified Input/Output: PeriLab provides flexible options for users to specify custom input and output files, enabling easy data manipulation and analysis.

  • ๐Ÿงช Test Pipeline: The PeriLab Source Code will be tested in a test pipeline to ensure its correctness and performance.

Installation

The PeriLab package is available through the Julia package system and can be installed using the following commands:

using Pkg
Pkg.add("PeriLab")

Throughout the rest of this tutorial, we will assume that you have installed the
PeriLab package and have already typed using PeriLab to bring all of the
relevant variables into your current namespace.

Getting Started with PeriLab

Jumpstart your exploration of the PeriLab simulation core with provided examples. Run the following commands in Julia:

using PeriLab

PeriLab.get_examples()
PeriLab.main("examples/DCB/DCBmodel.yaml")

Note: More details about the main functionalities in the yaml input deck here.

Parallel Processing with PeriLab (MPI)

To handle large-scale problems efficiently, install MPI. Run PeriLab with two processors on a Linux system using the following commands:

$ julia
julia> using MPI
julia> MPI.install_mpiexecjl()

Note: If you work with Windows 10 or higher you can use the WSL environment.

Run PeriLab with two processors:

$ mpiexecjl -n 2 julia -e "using PeriLab; PeriLab.main()" examples/DCB/DCBmodel.yaml -v

Note: For HPC configurations please refer to here.

What's Next? ๐Ÿš€

Here are some exciting tasks on our roadmap:

  • ๐Ÿ”‘ Quasi-static solver: A future development for PeriLab is extending its capabilities with a more robust quasi-static solver for larger systems and complex boundary conditions.

  • ๐Ÿ‘Š Contact: An upcoming feature in PeriLab is enhancing contact modeling to support advanced features like friction, adhesion, and contact forces based on temperature or other variables.

  • โž• More material and damage models: PeriLab's future development plans include adding more sophisticated material models (e.g., viscoelastic-plastic) and damage models, expanding the software's applicability to a wider range of real-world phenomena.

  • ๐Ÿ‘ฌ FEM/PD coupling: A future enhancement for PeriLab is improving its FEM/PD coupling functionality by implementing more advanced techniques, such as a seamless data exchange between FEM and PD domains.

  • โœ‚๏ธ Distribution logic: As part of its ongoing development, PeriLab will continue to incorporate new distribution logic for improved performance and reduced computational resources.

  • ๐ŸŽ๏ธ Optimizations: As part of its ongoing development, PeriLab will continue to focus on optimizing the simulation process by incorporating new techniques like parallel optimization algorithms for improved efficiency and reduced computational resources.

  • ๐Ÿฆฟ CUDA support: We are planning to support GPU acceleration for improved performance and reduced computational resources.

Feel free to contribute and help us make PeriLab even better! ๐Ÿ™Œ

Questions

For any questions or inquiries about PeriLab.jl, feel free to reach out to the authors via email.

Authors and acknowledgment

Prof. Dr.-Ing. Christian Willberg

M.Sc. Jan-Timo Hesse

Project status

PeriLab is currently in development.

How to cite

To cite PeriLab in your publications please use the following paper.

@Article{WillbergC2024,
author={Willberg, Christian
and Hesse, Jan-Timo
and Pernatii, Anna},
title={{PeriLab - Peridynamic Laboratory}},
journal={SoftwareX},
year={2024},
publisher={Elsevier},
volume={26},
issn={2352-7110},
doi={10.1016/j.softx.2024.101700},
url={https://doi.org/10.1016/j.softx.2024.101700}
}
Keywords
Programming languages
  • Julia 99%
  • Batchfile 1%
License
  • BSD-3-Clause
</>Source code
Packages
hub.docker.com

Participating organisations

German Aerospace Center (DLR)

Reference papers

Mentions

Contributors

CW
Christian Willberg
Maintainer
German Aerospace Center (DLR)
JH
Jan-Timo Hesse
Maintainer
Deutsches Zentrum fรผr Luft- und Raumfahrt DLR Institut fรผr Faserverbundleichtbau und Adaptronik

Related software

PeriHub

PE

PeriHub is a platform that provides a numerical implementation of the peridynamic theory. It is an extension of the open source Peridigm software. Peridynamics is a non-local theory that overcomes discontinuity problems of the classical theory of continuum mechanics.

Updated 8 months ago
1 2