Giter VIP home page Giter VIP logo

materialmodelingtoolbox / marmot Goto Github PK

View Code? Open in Web Editor NEW
14.0 5.0 5.0 28.39 MB

The alpine :mountain_snow: material modeling toolbox Marmot. Documentation: https://materialmodelingtoolbox.github.io/Marmot/

License: GNU Lesser General Public License v2.1

CMake 29.22% C++ 58.17% C 3.03% Python 9.58%
constitutive-model gradient-enhancement micropolar-elasticity finite-elements plasticity damage damage-plasticity micropolar cosserat

marmot's Introduction

Marmot

โš ๏ธ [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

Truss in compression using a micropolar von Mises plasticity model.

Plane strain compression using a micropolar Drucker-Prager plasticity model

Plane strain compression using a micropolar Drucker-Prager plasticity model

Triaxial compression using an orthotropic jointed rock 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):

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

  • 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

marmot's People

Contributors

advktentnschdl avatar alexdummer avatar maderthomas avatar matthiasneuner avatar mschreter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.