Skip to content

TUSAIL/PyroclastMPM

Repository files navigation

header

PyroclastMPM logo

A modular GPU based Material Point Method (MPM) solver.

Build License

Welcome

PyroclastMPM is an explicit GPU-based Material Point Method (MPM) solver. The solver is written in CUDA and C++ with Python bindings and is designed to be fast, modular, and highly extensible.

Team

The software is a research output of the TUSAIL ITN. The code was developed by Retief Lubbe in collaboration Hongyang Cheng, Stefan Luding and Vanessa Magnanimo.

Motivation

The main goal of PyroclastMPM is to accurately model granular impact problems involving the state transition from solid to fluid and back ⏳️. The solver is specifically designed to be applicable in industrial settings, striking a balance between computational performance and code readability.

Overview of Features

Coming soon!

Showcase examples

Coming soon!

Requirements

Checking requirements 📋

  • GCC version gcc --version and g++ --version should be less than >8 or <12
  • CMAKE version cmake --version should be >=3.11
  • CUDA nvcc --version
  • Poetry poetry --version
  • vtk9 and libvtk9-dev

Installation

Method A: Building source 🔧

  1. Check if all the requirements
  2. Clone repository and submodules (with ssh)
git clone --recurse-submodules -j8 [email protected]:TUSAIL/PyroclastMPM.git
cd PyroclastMPM
  1. Install Python dependencies poetry install
  2. Build project
mkdir build
cmake -B ./build/ -S .
make -j4 -C ./build
  1. Optional - run tests ./build/tests/tests (compiled executable), pytest ./tests/ (Python)
  2. Run example make -C examples/Scoop

Method B: Python wheel

(Coming soon 👀 Will look something like this) pip install <wheel>

Method C: Docker-compose

Open in Dev Containers

Documentation

Usage

Detailed list of features

Programming frameworks used

Known issues

Contribute

contributions welcome

Contributing

Coming soon 👀

Contributor list

Want to contribute?

See also

Coming soon 👀

Credits

Inspiration

Alternatives