This project aims at providing tools (functions, classes, bindings,
etc...) to handle behaviours written using MFront
generic interface.
For information about MFront
, see
http://thelfer.github.io/tfel/web/index.html.
Those tools are meant to be used by (FEM
, FFT
, etc.) solver
developers. This tools are not linked to the TFEL
libraries.
Permissive licences have been chosen to allow integration in open-source
and proprietary codes.
This project is described in this paper:
The official website can be found here: https://thelfer.github.io/mgis/web/index.html.
MFrontGenericInterface
C++
libraryThe project is build around the MFrontGenericInterface
library. This
library provides two main functions:
mgis::behaviour::load
functions loads MFront
behaviours from
external shared libraries and retrieve all relevant meta data
function. Those relevant information are stored in the
mgis::behaviour::Behaviour
class.mgis::behaviour::integrate
integrates the behaviour over one
time step. The data associated with an integration point are handled
by the mgis::behaviour::BehaviourData
class which contains the state
of the integration point at the beginning and at the end of the time
step.The library also supports handling a group of integration points though
the mgis::behaviour::MaterialStateManager
class.
The following bindings are available:
c
bindings.python
bindings .fortran03
bindings.fenics
bindings (under current work in the master
branch). Those
bindings are strongly inspired by the fenics-solid-mechanics
project. Those bindings are currently quite limited as mostly serve
as a proof of concept. Note that MGIS
can also be used in FEniCS
through the python
interface. This is discussed here:
https://thelfer.github.io/mgis/web/FEniCSBindings.html.julia
bindings (experimental)The following bindings are under consideration:
octave
binding2.2
is meant to be build against TFEL
4.22.1
is meant to be build against TFEL
4.12.0
is meant to be build against TFEL
4.01.2.2
is meant to be build against TFEL
3.4.31.2.1
is meant to be build against TFEL
3.4.11.2
is meant to be build against TFEL
3.4.01.1
is meant to be build against TFEL
3.3.01.0
is meant to be build against TFEL
3.2.01.0.1
is meant to be build against TFEL
3.2.1The following branches are available:
master
branch follows the evolution of the master
branch of
the TFEL
projectrliv-2.2
follows the evolution of the 4.2.x series of the TFEL
project.rliv-2.1
follows the evolution of the 4.1.x series of the TFEL
project.rliv-2.0
follows the evolution of the 4.0.x series of the TFEL
project.rliv-1.2
follows the evolution of the 3.4.x series of the TFEL
project.rliv-1.1
follows the evolution of the 3.3.x series of the TFEL
project.rliv-1.0
follows the evolution of the 3.2.x series of the TFEL
project. Note that this branch is not compatible with
TFEL-3.2.0
.This project uses code extracted from the following projects: