Ir para o conteúdo

Sub-rotinas relativas à 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 utilizar uma relação constitutiva elástica ou hiperelástica definida pelo utilizador, defina primeiro !ELASTIC, TYPE=USER ou !HYPERELASTIC, TYPE=USER no ficheiro de entrada e introduza as constantes de material necessárias; em seguida, implemente as sub-rotinas uElasticMatrix e uElasticUpdate.

(1) Sub-rotina para calcular a 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 100)
  • strain: Deformação de Green-Lagrange
  • D: Matriz elástica

(2) Sub-rotina para calcular a 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 100)
  • strain: Deformação de Green-Lagrange
  • stress: Tensão