Sous-routines relatives aux matériaux définis par l'utilisateur (umat.f)¶
Fournit une interface pour l'analyse de la déformation des matériaux en général, qu'ils soient élastiques, hyperélastiques ou élastoplastiques.
Pour utiliser un matériau défini par l'utilisateur, il faut d'abord définir !USER_MATERIAL dans le fichier d'entrée et saisir les constantes de matériau nécessaires, puis créer les sous-routines uMatlMatrix et uUpdate.
(1) Sous-routine de calcul de la matrice de rigidité¶
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: Nom du matériaumatl: Tableau stockant les constantes de matériau (maximum 100)strain: Déformation de Green-Lagrangestress: Contrainte de 2e Piola-Kirchhofffstat: Variables d'étatD: Loi constitutivedtime: Incrément de tempsttime: Temps total au début de l'incrément de temps couranttemperature: Température
(2) Sous-routine de mise à jour de la déformation et de la contrainte¶
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: Nom du matériaumatl: Tableau stockant les constantes de matériau (maximum 100)strain: Déformationstress: Contrainte de 2e Piola-Kirchhofffstat: Variables d'étatdtime: Incrément de tempsttime: Temps total au début de l'incrément de temps couranttemperature: Température