@@ -30,11 +30,11 @@ extern "C" {
30
30
*/
31
31
typedef struct {
32
32
// ! \brief value of the gradients
33
- mgis_real * gradients;
33
+ const mgis_real * gradients;
34
34
// ! \brief values of the thermodynamic_forces
35
35
mgis_real * thermodynamic_forces;
36
36
// ! \brief values of the material properties
37
- mgis_real * material_properties;
37
+ const mgis_real * material_properties;
38
38
// ! \brief values of the internal state variables
39
39
mgis_real * internal_state_variables;
40
40
/* !
@@ -48,9 +48,35 @@ typedef struct{
48
48
*/
49
49
mgis_real* dissipated_energy;
50
50
// ! \brief values of the external state variables
51
- mgis_real * external_state_variables;
51
+ const mgis_real * external_state_variables;
52
52
} mgis_bv_StateView;
53
53
54
+ /* !
55
+ * \brief state of the material
56
+ */
57
+ typedef struct {
58
+ // ! \brief value of the gradients
59
+ const mgis_real* gradients;
60
+ // ! \brief values of the thermodynamic_forces
61
+ const mgis_real* thermodynamic_forces;
62
+ // ! \brief values of the material properties
63
+ const mgis_real* material_properties;
64
+ // ! \brief values of the internal state variables
65
+ const mgis_real* internal_state_variables;
66
+ /* !
67
+ * \brief stored energy (computed by `@InternalEnergy` in `MFront`
68
+ * files) This output is optional.
69
+ */
70
+ const mgis_real* stored_energy;
71
+ /* !
72
+ * \brief stored energy (computed by `@DissipatedEnergy` in `MFront`
73
+ * files) This output is optional.
74
+ */
75
+ const mgis_real* dissipated_energy;
76
+ // ! \brief values of the external state variables
77
+ const mgis_real* external_state_variables;
78
+ } mgis_bv_InitialStateView;
79
+
54
80
#ifdef __cplusplus
55
81
}
56
82
#endif /* __cplusplus */
@@ -63,6 +89,8 @@ namespace mgis {
63
89
64
90
// ! a simple alias
65
91
using StateView = ::mgis_bv_StateView;
92
+ // ! a simple alias
93
+ using InitialStateView = ::mgis_bv_InitialStateView;
66
94
67
95
} // end of namespace behaviour
68
96
0 commit comments