Marmot
Marmot copied to clipboard
The alpine :mountain_snow: material modeling toolbox Marmot. Documentation: https://materialmodelingtoolbox.github.io/Marmot/
Marmot
:warning: [WIP] Note: This project is still in the transfer stage to an open-source project. Thus, many changes will be made in the near future.
What is Marmot?
Marmot (MAteRialMOdellingToolbox) is a C++-library aiming to provide robust and efficient implementations of state-of-the-art constitutive models for different materials, in particular for quasi-brittle materials such as (sprayed) concrete, rock and soils. It uses modern, object-oriented programming techniques and provides a generic interface that can be easily wrapped into your application. Standard interfaces for commercial finite element codes, such as Abaqus, Plaxis and open source codes like MOOSE or OpenSees, are ready-to-use available.
Gallery

Truss in compression using a micropolar von Mises plasticity model.

Plane strain compression using a micropolar Drucker-Prager plasticity model

Triaxial compression using an orthotropic jointed rock plasticity model
Third-party dependencies
Marmot requires the Eigen (>3.3.8) and the autodiff (>0.6.0) libraries:
git clone https://gitlab.com/libeigen/eigen.git
cd eigen
mkdir build
cd build
cmake ..
sudo make install
git clone https://github.com/autodiff/autodiff.git
cd autodiff
mkdir build
cd build
cmake -DAUTODIFF_BUILD_TESTS=OFF -DAUTODIFF_BUILD_PYTHON=OFF -DAUTODIFF_BUILD_EXAMPLES=OFF -DAUTODIFF_BUILD_DOCS=OFF ..
sudo make install
For anaconda users, those libraries can also be installed from the channels.
How to install Marmot
Marmot including all submodules can be installed with the following steps:
git clone --recurse-submodules https://github.com/MAteRialMOdelingToolbox/Marmot/
cd Marmot
mkdir build
cd build
cmake ..
make
sudo make install
CMake options CORE_MODULES, ELEMENT_MODULES and MATERIAL_MODULES
allow to specify the modules which should be compiled, either by passing a
semicolon seperated list, option none or option all (default).
For instance:
git clone --recurse-submodules https://github.com/MAteRialMOdelingToolbox/Marmot/
cd Marmot
mkdir build
cd build
cmake \
-DCORE_MODULES='MarmotMechanicsCore;MarmotFiniteElementCore' \
-DELEMENT_MODULES='none' \
-DMATERIAL_MODULES='all' \
..
make
sudo make install
CMake option CMAKE_INSTALL_PREFIX allows to specify the installation directory.
For instance:
git clone --recurse-submodules https://github.com/MAteRialMOdelingToolbox/Marmot/
cd Marmot
mkdir build
cd build
cmake \
-DCMAKE_INSTALL_PREFIX=/your/special/installationdirectory \
..
make
make install
How to use Marmot with Abaqus
The Abaqus-MarmotInterface allows to use Marmot in Abaqus simulations.
How to use Marmot with MOOSE
The chamois App allows to use Marmot directly in MOOSE.
A singularity container recipe is available.
Documentation
The documentation can be found under https://materialmodelingtoolbox.github.io/Marmot/.
License
This library is freely available under the LGPLV2 license. Please find the details in the LICENSE.md file.
Authors
The principal developers are (in alphabetical order):
- Alexander Dummer @alexdummer (since 2019), University of Innsbruck
- Paul Hofer @advktEntnschdl (since 2020), University of Innsbruck
- Thomas Mader @maderthomas (since 2019), University of Innsbruck
- Matthias Neuner @matthiasneuner (since 2015), University of Innsbruck, Stanford University
- Magdalena Schreter @mschreter (since 2015), University of Innsbruck
Contributors are (in alphabetical order):
- Andreas Brugger @theBruegge, University of Innsbruck
- Peter Gamnitzer, University of Innsbruck
Publications (selected)
The results of the following publications were obtained using Marmot:
-
On discrepancies between time-dependent nonlinear 3D and 2D finite element simulations of deep tunnel advance: A numerical study on the Brenner Base Tunnel. M Neuner, M Schreter, P Gamnitzer, G Hofstetter - Computers and Geotechnics, 2020 https://doi.org/10.1016/j.compgeo.2019.103355
-
On the importance of advanced constitutive models in finite element simulations of deep tunnel advance. M Schreter, M Neuner, D Unteregger, G Hofstetter - Tunnelling and Underground Space Technology, 2018 https://doi.org/10.1016/j.tust.2018.06.008
-
A 3D gradient-enhanced micropolar damage-plasticity approach for modeling quasi-brittle failure of cohesive-frictional materials. M Neuner, P Gamnitzer, G Hofstetter - Computers & Structures, 2020 https://doi.org/10.1016/j.compstruc.2020.106332
-
On the prediction of complex shear dominated concrete failure by means of classical and higher order damage-plasticity continuum models. M Neuner, P Hofer, G Hofstetter - Engineering Structures, 2022 https://10.1016/j.engstruct.2021.113506
-
An extended gradient-enhanced damage-plasticity model for concrete considering nonlinear creep and failure due to creep. A Dummer, M Neuner, G Hofstetter - International Journal of Solids and Structures, 2022 https://doi.org/10.1016/j.ijsolstr.2022.111541
-
A gradient enhanced transversely isotropic damage plasticity model for rock - formulation and comparison of different approaches. T Mader, M Schreter, G Hofstetter - International Journal for Numerical and Analytical Methods in Geomechanics, 2022; 46: 933-960 https://doi.org/10.1002/nag.3327