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 |
dσdε |
tangent modulus |
Return |
σ |
new stress tensor |
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: