Small-Strain based Materials#
A user material (umat) based on the incremental small-strain tensor, e.g. suitable for linear elastic-plastic material formulations, is provided by MaterialStrain. A user-defined function must be created with the arguments and must return:
Kind |
Symbol |
Description |
|---|---|---|
Argument |
dε |
strain increment |
Argument |
εn |
old strain tensor |
Argument |
σn |
old stress tensor |
Argument |
ζn |
list of old state variables |
Return |
σ |
tangent modulus |
Return |
ζ |
list of new state variables |
def material(dε, εn, σn, ζn, **kwargs):
return dσdε, σ, ζ
This function is further added as the material argument of MaterialStrain. If the material makes use of state variables, the shapes of these internal state variables must be provided.
import felupe as fem
umat = fem.MaterialStrain(material=material, statevars=(0,), **kwargs)
FElupe contains two reference small-strain user materials, one for linear elastic materials and another one for linear elastic-plastic materials with isotropic hardening: