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
|
| |
|
|
std::span< mgis::real > | gradients |
| | view to the values of the gradients
|
| |
|
const size_type | gradients_stride |
| | stride associate with the gradients
|
| |
|
std::span< mgis::real > | thermodynamic_forces |
| | view to the values of the thermodynamic_forces
|
| |
|
const size_type | thermodynamic_forces_stride |
| | stride associate with the thermodynamic forces
|
| |
|
std::span< mgis::real > | stored_energies |
| | view to the values to the stored energy.
|
| |
|
std::span< mgis::real > | dissipated_energies |
| | view to the values to the dissipated energies
|
| |
|
std::map< std::string, FieldHolder > | 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).
|
| |
|
std::optional< FieldHolder > | 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).
|
| |
|
std::span< mgis::real > | internal_state_variables |
| | view to the values of the internal state variables
|
| |
| const size_type | internal_state_variables_stride |
| | stride associate with internal state variables.
|
| |
|
std::map< std::string, FieldHolder > | 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).
|
| |
|
const size_type | n |
| | number of integration points
|
| |
|
const Behaviour & | b |
| | underlying behaviour
|
| |
|
|
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_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.
The documentation for this struct was generated from the following file: