Skip to content

Subroutines for Elastic Deformation (uelastic.f90)

Subroutines are provided for calculating the elastic stiffness matrix and updating stress in elastic and hyperelastic problems. To use a user-defined elastic or hyperelastic constitutive relation, first set !ELASTIC, TYPE=USER or !HYPERELASTIC, TYPE=USER in the input file and enter the required material constants, and then implement the uElasticMatrix and uElasticUpdate subroutines.

(1) Subroutine for Calculating the Elastic Stiffness Matrix

subroutine uElasticMatrix( matl, strain, D )
    REAL(KIND=kreal), INTENT(IN) :: matl(:)
    REAL(KIND=kreal), INTENT(IN) :: strain(6)
    REAL(KIND=kreal), INTENT(OUT) :: D(6,6)
  • matl: Array storing material constants (maximum 100)
  • strain: Green-Lagrange strain
  • D: Elastic matrix

(2) Subroutine for Calculating Stress

subroutine uElasticUpdate ( matl, strain, stress )
    REAL(KIND=kreal), INTENT(IN) :: matl(:)
    REAL(KIND=kreal), INTENT(IN) :: strain(6)
    REAL(KIND=kreal), INTENT(OUT) :: stress(6)
  • matl: Array storing material constants (maximum 100)
  • strain: Green-Lagrange strain
  • stress: Stress