[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.
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):
Contributors are (in alphabetical order):
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
- 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