SkillAgentSearch skills...

PeriLab.jl

Peridynamic Laboratory (PeriLab) is a powerful software solution designed for tackling diverse problems in the field of peridynamics.

Install / Use

/learn @PeriHub/PeriLab.jl
About this skill

Quality Score

0/100

Category

Design

Supported Platforms

Universal

README

<!-- SPDX-FileCopyrightText: 2023 Christian Willberg <christian.willberg@dlr.de>, Jan-Timo Hesse <jan-timo.hesse@dlr.de> SPDX-License-Identifier: BSD-3-Clause -->

PeriLab - Peridynamic Laboratory

| Documentation | Build Status | Quality | |:----:|:----:|:----:| | | | | | Deployment | License | Socials | | | | |

Welcome to PeriLab, a comprehensive platform for working with peridynamics, designed to support researchers and practitioners at all levels of expertise.

<p align="center" style="font-size:0;"><!-- PeriLab_crack --><img align="middle" src="https://raw.githubusercontent.com/PeriHub/PeriLab.jl/main/assets/PeriLab_crack.gif" width="50%"><!-- PeriLab_additive --><img align="middle" src="https://raw.githubusercontent.com/PeriHub/PeriLab.jl/main/assets/PeriLab_additive.gif" width="50%"> </p>

Overview

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.

  • 👊 Contact: Simulation of contact between objects is supported with a variety of contact conditions.

  • 👬 FEM/PD coupling: Coupling between Peridynamics and the Finite element method is supported.

  • 🔥 Additive Manufacturing: PeriLab supports additive manufacturing, allowing users to create custom additive models for their simulations.

  • 🔑 Solver: Different solvers like Verlet or Static can be utilized, swiching between those is also supported.

  • 🧲 Multi physics: PeriLab supports multimodels simulations, combining different types of peridynamic physical and damage models to create a comprehensive simulation environment.

  • 🔌 Subroutine Interfaces: Subroutines, such as UMAT, VUMAT and HETVAL are usable as material models

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

  • 🔁 Multistep simulations: PeriLab supports the definition of multiple solver steps, allowing to combine different environmental conditions in a single run.

  • 📐 Surface Correction: PeriLab provides tools for surface correction, such as the Volume correction method.

  • 💻 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.

Documentation

Explore the comprehensive documentation for PeriLab and the seminar information for the first German Peridynamics course Lecture Non-local structural mechanics and peridynamics.

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.

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")'

Note: For HPC configurations please refer to here.

Installing with Docker

To install PeriLab using the official Perihub/Perilab Docker image, follow these steps:

  1. Install Docker: Before you begin, ensure that you have Docker installed on your system. You can download and install Docker from the official website (https://www.docker.com/). Make sure your system meets the minimum requirements for running Docker.

  2. Pull the Perihub/Perilab Docker image: Use the following command in a terminal or command prompt to pull the latest Perihub/Perilab Docker image from the Docker Hub repository:

    docker pull perihub/perilab
    
  3. Run the Docker container: Once the image has been downloaded, create a new directory for your PeriLab simulations and navigate to it in the terminal or command prompt. Run the following command to start the Docker container:

    docker run -it --rm -v <path_to_local_simulations_directory>:/app/simulations perihub/perilab bash
    

    Replace `<path_to_l

View on GitHub
GitHub Stars64
CategoryDesign
Updated8h ago
Forks19

Languages

Julia

Security Score

100/100

Audited on Apr 2, 2026

No findings