@@ -21,31 +21,18 @@ namespace mfront {
21
21
* \brief structure describing a behaviour
22
22
*/
23
23
struct Description {
24
- // ! \behaviour type
25
- enum {
26
- GENERALBEHAVIOUR,
27
- STANDARDSTRAINBASEDBEHAVIOUR,
28
- STANDARDFINITESTRAINBEHAVIOUR,
29
- COHESIVEZONEMODEL
30
- } btype;
31
- // ! kinematic of the behaviour treated
32
- enum Kinematic {
33
- UNDEFINEDKINEMATIC,
34
- SMALLSTRAINKINEMATIC,
35
- COHESIVEZONEKINEMATIC,
36
- FINITESTRAINKINEMATIC_F_CAUCHY,
37
- FINITESTRAINKINEMATIC_ETO_PK1
38
- } ktype;
24
+ // ! \behaviour symmetry
25
+ enum Symmetry { ISOTROPIC, ORTHOTROPIC };
39
26
// ! \brief constructor
40
27
Description ();
41
28
// ! \brief move constructor
42
- Description (Description&&);
29
+ Description (Description &&);
43
30
// ! \brief copy constructor
44
- Description (const Description&);
31
+ Description (const Description &);
45
32
// ! \brief move assignement
46
- Description& operator =(Description&&);
33
+ Description & operator =(Description &&);
47
34
// ! \brief standard assignement
48
- Description& operator =(const Description&);
35
+ Description & operator =(const Description &);
49
36
// ! \brief destructor
50
37
~Description ();
51
38
// ! \brief name of the library providing the behaviour
@@ -59,18 +46,39 @@ namespace mfront {
59
46
* modelling hypothesis)
60
47
*/
61
48
std::string function;
49
+ // ! \brief name of the `MFront` source file used to generate the behaviour
50
+ std::string source;
51
+ // ! \brief version of `TFEL` used to generate the behaviour
52
+ std::string tfel_version;
62
53
// ! pointer to the function implementing the behaviour
63
54
Behaviour b;
55
+ // ! \behaviour type
56
+ enum {
57
+ GENERALBEHAVIOUR,
58
+ STANDARDSTRAINBASEDBEHAVIOUR,
59
+ STANDARDFINITESTRAINBEHAVIOUR,
60
+ COHESIVEZONEMODEL
61
+ } btype;
62
+ // ! kinematic of the behaviour treated
63
+ enum Kinematic {
64
+ UNDEFINEDKINEMATIC,
65
+ SMALLSTRAINKINEMATIC,
66
+ COHESIVEZONEKINEMATIC,
67
+ FINITESTRAINKINEMATIC_F_CAUCHY,
68
+ FINITESTRAINKINEMATIC_ETO_PK1
69
+ } kinematic;
70
+ // ! behaviour symmetry
71
+ Symmetry symmetry;
64
72
// ! gradients
65
73
std::vector<Variable> gradients;
66
74
// ! fluxes associated to gradients
67
75
std::vector<Variable> fluxes;
68
76
// ! material properties
69
77
std::vector<Variable> mps;
70
78
// ! internal state variables
71
- std::vector<Variable> ivs ;
79
+ std::vector<Variable> isvs ;
72
80
// ! external state variables
73
- std::vector<Variable> evs ;
81
+ std::vector<Variable> esvs ;
74
82
// ! parameters
75
83
std::vector<Variable> parameters;
76
84
}; // end of struct Description
@@ -91,3 +99,4 @@ namespace mfront {
91
99
} // end of namespace mfront
92
100
93
101
#endif /* LIB_MFRONT_BEHAVIOUR_DESCRIPTION_HXX */
102
+
0 commit comments