Ir para o conteúdo

Sub-rotinas relacionadas à deformação elástica (uelastic.f90)

São fornecidas sub-rotinas para calcular a matriz de rigidez elástica e atualizar a tensão em problemas elásticos e hiperelásticos. Para usar uma relação constitutiva elástica ou hiperelástica definida pelo usuário, primeiro configure !ELASTIC, TYPE=USER ou !HYPERELASTIC, TYPE=USER no arquivo de entrada e informe as constantes de material necessárias; em seguida, implemente as sub-rotinas uElasticMatrix e uElasticUpdate.

(1) Sub-rotina para cálculo da 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: Array que armazena as constantes do material (máximo de 100)
  • strain: Deformação de Green-Lagrange
  • D: Matriz elástica

(2) Sub-rotina para cálculo da tensão

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 que armazena as constantes do material (máximo de 100)
  • strain: Deformação de Green-Lagrange
  • stress: Tensão