Subroutine regarding User Defined Materials (umat.f)¶
The interface of the deformation analysis of general materials is provided irrespective of elastic, hyperelastic and elastoplastic materials.
When using the user defined materials, first, it is necessary to set the !USER_MATERIAL in the input file, input the required material constants and then, create the subroutines uMatlMatrix and uUpdate.
(1) Calculation subroutine of stiffness matrix¶
subroutine uMatlMatrix( mname, matl, strain, stress, fstat, D, dtime, ttime, temperature )
character(len=*), intent(in) :: mname
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(in) :: strain(6)
real(kind=kreal), intent(in) :: stress(6)
real(kind=kreal), intent(in) :: fstat(:)
real(kind=kreal), intent(out) :: D(:,:)
real(kind=kreal), intent(in) :: dtime
real(kind=kreal), intent(in) :: ttime
real(kind=kreal), optional :: temperature
mname: Material namematl: Array to save the material constants (100 max)strain: Green-Lagrange strainstress: 2nd Piola-Kirchhoff stressfstat: State variableD: Constitutive equationdtime: Time incrementttime: Total time at the start of the current incrementtemperature: Temperature
(2) Update calculation subroutine of strain and stress¶
subroutine uUpdate( mname, matl, strain, stress, fstat, dtime, ttime, temperature )
character(len=\*), intent(in) :: mname
real(kind=kreal), intent(in) :: matl(:)
real(kind=kreal), intent(in) :: strain(6)
real(kind=kreal), intent(inout) :: stress(6)
real(kind=kreal), intent(inout) :: fstat(:)
real(kind=kreal), intent(in) :: dtime
real(kind=kreal), intent(in) :: ttime
real(kind=kreal), optional :: temperature
mname: Material namematl: Array to save the material constants (100 max)strain: Strainstress: 2nd Piola-Kirchhoff stressfstat: State variabledtime: Time incrementttime: Total time at the start of the current incrementtemperature: Temperature