Saltar a contenido

Subrutinas para deformación elástica (uelastic.f90)

Se proporcionan subrutinas para calcular la matriz de rigidez elástica y actualizar la tensión en problemas elásticos e hiperelásticos. Para utilizar una relación constitutiva elástica o hiperelástica definida por el usuario, primero establezca !ELASTIC, TYPE=USER o !HYPERELASTIC, TYPE=USER en el archivo de entrada e introduzca las constantes de material necesarias; a continuación, implemente las subrutinas uElasticMatrix y uElasticUpdate.

(1) Subrutina para calcular la matriz de rigidez elástica

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: Matriz que almacena las constantes de material (máximo 100)
  • strain: Deformación de Green-Lagrange
  • D: Matriz elástica

(2) Subrutina para calcular la tensión

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: Matriz que almacena las constantes de material (máximo 100)
  • strain: Deformación de Green-Lagrange
  • stress: Tensión