enfr

Amélioration du solveur de contact-frottement

3 décembre 2013

par M. Abbas, EDF R&D / AMA

Ce travail est un livrable du projet Méthodes Numériques Avancées en Mécanique, en partenariat avec le Laboratoire de Mécanique et d’Acoustique de Marseille (Unité Propre de Recherche du CNRS).

Depuis quelques mois, grâce aux travaux réalisés par A.D. Kudawoo lors de sa thèse, les performances du solveur de contact-frottement de Code_Aster se sont grandement améliorées.
L’introduction d’un algorithme de Newton généralisé a permis des gains spectaculaires sur le temps de calcul. Cette méthode est néanmoins moins robuste que les méthodes « historiques » et nécessite souvent de caler des paramètres numériques (coefficients d’augmentation), particulièrement dans le cas de simulations avec frottement.

Ce manque de robustesse se traduit par l’apparition de cycles entre les différents statuts (contact/pas de contact, adhérence/glissement, glissement avant/arrière) au cours du processus de Newton, cycles qui sont détectés automatiquement par Code_Aster.

Jusqu’à présent, cette information permettait seulement d’identifier les cas difficiles, pour lesquels une adaptation des coefficients d’augmentation ou un basculement vers une méthode moins performante mais plus robuste (méthodes des points fixes) était nécessaire.

Désormais, il est possible d’adapter automatiquement les coefficients numériques et donc de diminuer le nombre de cyclages grâce à un algorithme spécialement développé dans Code_Aster.

Pour activer cette correction automatique, il faut utiliser le mot clef ADAPT_COEF=’OUI’ dans DEFI_CONTACT. Cette méthode ne change pas la qualité des résultats mais permet de converger plus rapidement.

Amélioration de la robustesse

Le cas-test ssnv128r, qui utilise l’algorithme de Newton généralisé, a besoin pour converger d’une valeur du coefficient d’augmentation, COEF_FROT, égale à 1.0E6. Ce coefficient optimal a été trouvé par une étude paramétrique systématique.
Avec la méthode d’adaptation automatique, l’algorithme de Newton généralisé converge avec la valeur (initiale) par défaut, COEF_FROT = 100, l’algorithme trouve ainsi une valeur optimale peu éloignée de celle trouvée par l’étude paramétrique.

Amélioration des performances

Le cas-test ssnv209a utilise la méthode POINT_FIXE et nécessite 37 itérations de Newton. Le passage en Newton généralisé échoue pour cause de défaut de convergence. Après activation de la correction des cyclages, le test passe en Newton généralisé, ce qui permet de gagner en performances (8 itérations de Newton au lieu de 37).