Isotropic Hyperelastic User Materials#

User materials based on the right Cauchy-Green deformation tensor, suitable for Total-Lagrange isotropic hyperelastic material formulations, are to be created with felupe.UserMaterialHyperelastic. Only the strain energy function must be defined. Both gradient and hessian are evaluated by forward-mode automatic differentiation. Therefore, only math-functions from tensortrax.math are supported. A user-defined function must be created with the arguments

Arguments

Description

C

right Cauchy-Green deformation tensor

and must return:

Returns

Description

W

strain energy function

import tensortrax.math as tm

def strain_energy_function(C):
    return W

This function is further added as the fun argument of felupe.UserMaterialHyperelastic. Optionally, the evaluation may be performed in parallel (threaded).

import felupe as fem

umat = fem.UserMaterialHyperelastic(fun=strain_energy_function, parallel=False, **kwargs)

FElupe contains several reference implementations of hyperelastic user material formulations

  • felupe.constitution.saint_venant_kirchhoff()

  • felupe.constitution.neo_hooke()

  • felupe.constitution.mooney_rivlin()

  • felupe.constitution.yeoh()

  • felupe.constitution.third_order_deformation()

  • felupe.constitution.ogden()

  • felupe.constitution.arruda_boyce()

  • felupe.constitution.extended_tube()

  • felupe.constitution.van_der_waals()

as well as a function decorator for the multiplicative isochoric-volumetric split of the Deformation Gradient.

  • felupe.constitution.isochoric_volumetric_split()