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

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(, ε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: