enfr

Code_Aster parle "UMAT"

8 septembre 2010

UMAT est un format de routine fortran familier aux utilisateurs du code Abaqus, servant à intégrer leurs propres lois de comportement. Le contenu de cette routine est entièrement libre et à la charge de l’utilisateur, et doit permettre d’intégrer la loi de comportement, c’est à dire en un point d’intégration, de calculer le tenseur des contraintes, les variables internes et l’opérateur tangent.

Utilisation des routines UMAT dans une étude

(voir le document [U2.10.01])

Création de la bibliothèque dynamique :

La bibliothèque dynamique contenant la routine UMAT doit être préparée avant l’exécution du calcul. Pour cela, l’utilisateur dispose d’un moyen simple de compiler cette bibliothèque en utilisant l’utilitaire as_run [U1.04.00], (avec une version d’astk supérieure ou égale à 1.8.3). Le fonctionnement est le suivant :

  • l’utilisateur écrit sa routine, par exemple umat.f
  • il produit la bibliothèque dynamique associée à ce comportement de la façon suivante :
    cd  /chemin/fichiers/etude
    as_run --make_shared -o libumat.so umat.f

Écriture du fichier de commandes :

Le couplage UMAT / Code_Aster se traduit dans le fichier de commandes de la façon suivante :

  • Les données nécessaires du champ matériau sont fournies dans l’opérateur DEFI_MATERIAU [U4.43.01], sous le mot clé UMAT / UMAT_FO. (50 coefficients possibles, scalaires, ou fonctions)
  • Sous le mot-clé COMP_INCR de STAT_NON_LINE, DYNA_NON_LINE ou SIMU_POINT_MAT :
    • RELATION=’UMAT’
    • LIBRAIRIE=’/chemin/fichiers/etude/libumat.so’
    • NOM_ROUTINE=’umat’
    • NB_VARI = nombre de variables internes du comportement ;

Par ce mécanisme, il est tout à fait possible d’avoir plusieurs comportements UMAT différents (plusieurs routines dans une même bibliothèque ou des bibliothèques différentes, voir par exemple le test umat002a).

Le lancement de l’étude se fait ensuite classiquement.

Exemples

Voir les tests :

  • umat001 (test thermo-élastique avec STAT_NON_LINE) ;
  • umat002(test analytique multi-directionnel avec SIMU_POINT_MAT).

Limitations actuelles et provisoires

  • les modélisations permises sont : 3D, AXIS, D_PLAN (et C_PLAN via ALGO_C_PLAN=’DEBORST’) ;
  • les énergies ne sont pas récupérées par Code_Aster ;
  • pas de couplage thermo-mécanique.