structure in charge of handling the state of a material in an optimized way. Here, the "material" is defined by a behaviour and a number of integration points.
More...
#include </home/runner/work/MFrontGenericInterfaceSupport/MFrontGenericInterfaceSupport/include/MGIS/Behaviour/MaterialStateManager.hxx>
|
| enum | UpdatePolicy { UPDATE
, NOUPDATE
} |
| | enum used to express if a variable (material property, external state variables, mass density) shall be updated or reverted automatically
|
| |
|
using | StorageMode = mgis::StorageMode |
| | a simple alias
|
| |
|
|
static constexpr auto | LOCAL_STORAGE = mgis::StorageMode::LOCAL_STORAGE |
| |
| static constexpr auto | EXTERNAL_STORAGE |
| |
structure in charge of handling the state of a material in an optimized way. Here, the "material" is defined by a behaviour and a number of integration points.
The following design choices were made:
- The material properties and the external state variables are treated individually. They can be uniform or spatially variable.
- The internal state variables are treated as a block.
◆ MaterialStateManager() [1/2]
| mgis::behaviour::MaterialStateManager::MaterialStateManager |
( |
const Behaviour & |
, |
|
|
const size_type |
|
|
) |
| |
- Parameters
-
| [in] | behaviour | behaviour |
| [in] | s | number of integration points |
◆ MaterialStateManager() [2/2]
- Parameters
-
| [in] | behaviour | behaviour |
| [in] | s | number of integration points |
| [in] | i | initializer |
◆ external_state_variables
| std::map<std::string, FieldHolder, std::less<> > mgis::behaviour::MaterialStateManager::external_state_variables |
values of the external state variables
The external state variables can be uniform or not. In the non uniform case, the data can be hold by the structure (std::vector<real>) or simply borrow a reference (std::span<mgis::real> case).
◆ EXTERNAL_STORAGE
| constexpr auto mgis::behaviour::MaterialStateManager::EXTERNAL_STORAGE |
|
staticconstexpr |
Initial value:=
@ EXTERNAL_STORAGE
use std::span to store the data
◆ internal_state_variables_stride
| const size_type mgis::behaviour::MaterialStateManager::internal_state_variables_stride |
stride associate with internal state variables.
- Note
- this is also the size of an array containing all the internal state variables for one integration point.
◆ mass_density
mass density
The mass density can be uniform or not. In the non uniform case, the data can be hold by the structure (std::vector<real>) or simply borrow a reference (std::span<mgis::real> case).
◆ material_properties
| std::map<std::string, FieldHolder, std::less<> > mgis::behaviour::MaterialStateManager::material_properties |
material properties
The material properties can be uniform or not. In the non uniform case, the data can be hold by the structure (std::vector<real>) or simply borrow a reference (std::span<mgis::real> case).
The documentation for this struct was generated from the following file: