Skip to content

Edelweiss-Numerics/EdelweissMeshfree

Repository files navigation

Code style: black DOI

EdelweissMeshfree

A light-weight, platform-independent, parallel meshfree module for EdelweissFE.

Implicit RKPM simulation of a borehole breakout using a gradient-enhanced micropolar damage–plasticity constitutive model.

EdelweissMeshfree provides at an easy-to-understand yet efficient implementation of meshfree numerical methods for solving partial differential equations. The current release includes implementations of the Material Point Method (MPM) and the Reproducing Kernel Particle Method (RKPM).

Key features are:

  • Python for non performance-critical routines
  • Cython for performance-critical routines
  • Parallelization
  • Modular system, which is easy to extend
  • Output to Paraview, Ensight, CSV, matplotlib
  • Interfaces to powerful direct and iterative linear solvers
  • Integration of the Marmot library, providing cells, material points, particles and constitutive model formulations

Note: The current public version of EdelweissMeshfree depends on the infrastructure of Marmot cells, material points, and particles; these components are required to run simulations.

Installation TL;DR

EdelweissMeshfree requires EdelweissFE (with Marmot support enabled) and the Marmot library to be installed first.

Step 1: Pre-requisites & Dependencies

Ensure your conda/mamba environment is active and all required dependencies (Eigen, autodiff, Fastor, and optionally amgcl) are installed as detailed in the EdelweissFE README.

Step 2: Install Marmot

Clone and install the Marmot library:

git clone --branch master --recurse-submodules https://github.com/MAteRialMOdelingToolbox/Marmot/
cd Marmot && mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX ..
make install
cd ../..

Step 3: Install EdelweissFE

Clone and install EdelweissFE to link with the Marmot library:

git clone https://github.com/EdelweissFE/EdelweissFE.git
cd EdelweissFE
mamba install --file conda_requirements.txt
pip install -r pip_requirements.txt
pip install -v .
cd ..

Step 4: Install EdelweissMeshfree

Install EdelweissMeshfree:

cd EdelweissMeshfree
python -m pip install .

Run tests

Run the test suite to verify the setup:

python -m pytest .

Packages

 
 
 

Contributors