MGIS
Loading...
Searching...
No Matches
mgis::behaviour::BehaviourData Struct Reference

structure in charge of containing the data required for a behaviour integration. More...

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

Public Member Functions

 BehaviourData (const Behaviour &)
 constructor from a behaviour
 
 BehaviourData (BehaviourData &&)
 move constructor
 
 BehaviourData (const BehaviourData &)
 copy constructor
 
BehaviourDataoperator= (BehaviourData &&)
 move assignement
 
BehaviourDataoperator= (const BehaviourData &)
 copy assignement
 

Public Attributes

char * error_message
 a pointer to a buffer used to store error message
 
mgis::real dt
 time increment
 
std::vector< realK
 the stiffness matrix.
 
real rdt = 1
 proposed time step increment increase factor
 
real speed_of_sound = 0
 speed of sound (only computed if requested)
 
State s0
 state at the beginning of the time step
 
State s1
 state at the end of the time step
 

Detailed Description

structure in charge of containing the data required for a behaviour integration.

Constructor & Destructor Documentation

◆ BehaviourData()

mgis::behaviour::BehaviourData::BehaviourData ( const Behaviour )

constructor from a behaviour

Parameters
[in]bbehaviour

Member Data Documentation

◆ error_message

char* mgis::behaviour::BehaviourData::error_message

a pointer to a buffer used to store error message

By default, this is initialised to an internal buffer. This is not thread-safe.

The user may use its own buffer by setting this pointer appropriately or set it to the null pointer. If not null, the pointer must point to a buffer which is at least 512 characters wide (longer error message are truncated). The user must ensure thread-safety (i.e. each thread shall have its own buffer).

◆ K

std::vector<real> mgis::behaviour::BehaviourData::K

the stiffness matrix.

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

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.

◆ rdt

real mgis::behaviour::BehaviourData::rdt = 1

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: