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 strainD: 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 strainstress: Stress