The base class for all material models is the class Material,
derived from the FEMComponent. It declares analysis independent
part of the material interface. The analysis specific part of
the interface should be added by derived classes, which represent the base
classes for specific problem. The typical example is
the StructuralMaterial class which declares all the services
necessary for the structural analysis.
Services declared or implemented at Material level include
- Material status related services. The material model has to be able to
create instance of corresponding material status, where the history
variables are stored. This is done by invoking CreateStatus.
The status corresponding to a given integration point can be requested
using the giveStatus service.
- Services for integration point update and initialization. There are
generally two sets of
history variables kept in corresponding material statuses for each
integration point. One set is referring to previous equilibrated
state, the second one to the actual state during the solution (more precisely to
the achieved local-equilibrium state), which may not
correspond to the global equilibrium state. The methods are provided to update
the actual state as equilibrated (updateYourself service) and for
initialization of actual state to previous equilibrium
(initTempStatus). The implementation of these services
simply extract the corresponding status of a given integration point and
calls the corresponding service of material status.
- Services for testing the material model capabilities
(testMaterialExtension, hasMaterialModeCapability,
and hasNonLinearBehaviour).
- Services for requesting internal variables and properties.
Borek Patzak
2018-01-02