forked from thelfer/MFrontGenericInterfaceSupport
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmgis.doxygen
102 lines (100 loc) · 3.36 KB
/
mgis.doxygen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/*!
* \file mgis.doxygen
* \brief This file contains the main page of the doxygen
* documentation and the documentation of the mgis namespace.
*/
/*!
* \mainpage The `MGIS` project
* \author Thomas Helfer
* \date 28/01/2020
*
* The official website of the `MGIS` project is the following:
* <https://thelfer.github.io/mgis/web/index.html>.
*
* This project aims at proving tools (functions, classes, bindings,
* etc...) to handle behaviours written using `MFront` generic interface.
* For information about `MFront`, see <http://tfel.sourceforge.net>.
*
* 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.
*
* # The `MFrontGenericInterface` `C++` library
*
* The project is build around the `MFrontGenericInterface` library. This
* library provides two main functions:
*
* - the `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.
* - the `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.
*
* An introduction to the `C++` library may be found [here](bindings-cxx.html)
*
* # Bindings
*
* ## Existing bindings
*
* The following bindings are available:
*
* - `c` binding
* - `python` binding
* - `fortran` binding
* - `julia` binding
* - `fenics` bindings (experimental). 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](FEniCSBindings.html).
*
* ## Future bindings (contributors are welcomed)
*
* The following bindings are under consideration:
*
* - `octave` binding
*
* # Versions, branches
*
* ## Branches
*
* - the `master` branch follows the evolution of the `master` branch of
* the `TFEL` project
* - the `rliv-1.1` follows the evolution of the 3.3.x series of the `TFEL`
* project.
* - the `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`.
*
* ## Release notes
*
* - [Version 1.1](release-notes-1.1.html)
*
* # License
*
* `MGIS` is published under the `LGPL`v3 licence.
*
* # Acknowledgement
*
* This project uses code extracted from the following projects:
*
* - <https://github.com/bitwizeshift/string_view-standalone> by Matthew
* Rodusek
* - <https://github.com/mpark/variant>: by Michael Park
* - <https://github.com/progschj/ThreadPool> by Jakob Progsch and Václav
* Zeman
* - <https://github.com/martinmoene/span-lite> by Martin Moene
*
*/
/*!
* \namespace mgis
* \brief the namespace `mgis` encloses all the `MGIS` project.
*/