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-LagrangeD: 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-Lagrangestress: Tensão