Saltar a contenido

Subrutinas para materiales definidos por el usuario (umat.f)

Proporciona una interfaz para el análisis de deformación de materiales generales, independientemente de que sean elásticos, hiperelásticos o elastoplásticos. Para utilizar un material definido por el usuario, primero establezca !USER_MATERIAL en el archivo de entrada e introduzca las constantes de material necesarias y, a continuación, cree las subrutinas uMatlMatrix y uUpdate.

(1) Subrutina para calcular la matriz de rigidez

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: Nombre del material
  • matl: Matriz que almacena las constantes del material (máximo 100)
  • strain: Deformación de Green-Lagrange
  • stress: Segunda tensión de Piola-Kirchhoff
  • fstat: Variables de estado
  • D: Relación constitutiva
  • dtime: Incremento de tiempo
  • ttime: Tiempo total al inicio del incremento de tiempo actual
  • temperature: Temperatura

(2) Subrutina para actualizar la deformación y la tensión

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: Nombre del material
  • matl: Matriz que almacena las constantes del material (máximo 100)
  • strain: Deformación
  • stress: Segunda tensión de Piola-Kirchhoff
  • fstat: Variables de estado
  • dtime: Incremento de tiempo
  • ttime: Tiempo total al inicio del incremento de tiempo actual
  • temperature: Temperatura