MGIS
Loading...
Searching...
No Matches
mgis_bv_BehaviourDataView Struct Reference

view on the data associated with an integration point More...

#include </home/runner/work/MFrontGenericInterfaceSupport/MFrontGenericInterfaceSupport/include/MGIS/Behaviour/BehaviourDataView.hxx>

Public Attributes

char * error_message
 pointer to a buffer used to store error message
 
mgis_real dt
 time increment
 
mgis_realK
 the stiffness matrix.
 
mgis_realrdt
 proposed time step increment increase factor
 
mgis_realspeed_of_sound
 speed of sound (only computed if requested)
 
mgis_bv_InitialStateView s0
 state at the beginning of the time step
 
mgis_bv_StateView s1
 state at the end of the time step
 

Detailed Description

view on the data associated with an integration point

Member Data Documentation

◆ error_message

char* mgis_bv_BehaviourDataView::error_message

pointer to a buffer used to store error message

Note
This pointer can be nullptr. If not null, the pointer must point to a buffer which is at least 512 characters wide (longer error message are truncated). This caller must ensure thread-safety (i.e. each thread shall have its own buffer).

◆ K

mgis_real* mgis_bv_BehaviourDataView::K

the stiffness matrix.

On input, the first element of K (K[0]) must contain the type of type of computation to be performed.

If K[0] is greater than 50, the speed of sound is computed.

Let Ke be equal to:

  • K[0] - 100 if K[0] is greater than 50
  • K[0] otherwise.

If Ke is negative, only the prediction operator is computed and no behaviour integration is performed.

Ke has the following meaning:

  • if Ke is lower than -2.5, the tangent operator must be computed.
  • if Ke is in [-2.5:-1.5]: the secant operator must be computed.
  • if Ke is in [-1.5:-0.5]: the elastic operator must be computed.
  • if Ke is in [-0.5:0.5]: the behaviour integration is performed, but no stiffness matrix.
  • if Ke is in [0.5:1.5]: the elastic operator must be computed.
  • if Ke is in [1.5:2.5]: the secant operator must be computed.
  • if Ke is in [2.5:3.5]: the secant operator must be computed.
  • if Ke is greater than 3.5, the consistent tangent operator must be computed.

Other values of K are meant to store behaviour's option. This is currently only meaningful for finite strain behaviours.

For finite strain behaviours, K[1] holds the choice of the stress measure used:

  • if K[1] < 0.5, the Cauchy stress is used
  • if 0.5 < K[1] < 1.5, the second Piola-Kirchoff stress is used
  • if 1.5 < K[1] < 2.5, the first Piola-Kirchoff stress is used

For finite strain behaviours, K[2] holds the choice of the consistent tangent operator returned by the behaviour:

  • if K[2]<0.5, the derivative of the Cauchy stress with respect to the deformation gradient is returned
  • if 0.5<K[2]<1.5, the derivative of the second Piola-Kirchoff stress with respect to the Green-Lagrange strain is returned
  • if 1.5<K[2]<2.5, the derivative of the first Piola-Kirchoff stress with respect to the deformation gradient is returned

◆ rdt

mgis_real* mgis_bv_BehaviourDataView::rdt

proposed time step increment increase factor

The calling solver shall set a suitable value on input depending on its policy before each call to integrate.

For instance, if the solver want to limit the increase to 20% at most, it shall set it to 1.2. But setting it to 1, the solver won't allow the behaviour to request an increase of the time step.


The documentation for this struct was generated from the following file: