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: seconde contrainte de 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: seconde contrainte de Piola-Kirchhofffstat: Variables d’étatdtime: Incrément de tempsttime: Temps total au début de l’incrément de temps couranttemperature: Température