Objet de ce document
Une question de vocabulaire
Zone maître et esclave : Il s'agit d'une frontière solide sur laquelle on va imposer les conditions de frottement de contact. Il existe 2 conditions de contact possibles : contact (jeu nul, pression non nulle) et séparation (jeu non nul, pression nulle).
Modélisations alternatives du contact-frottement
Notion de zones et de surfaces de contact
Comme pour la méthode MAIT_ESCL, l'utilisateur doit définir les zones de contact potentielles paire par paire. Les grandeurs cinématiques de contact pour la méthode MORTAR sont des champs géométriques par élément.
Choix des surfaces maîtres et esclaves
- Cas où une surface doit être choisie comme maîtresse (GROUP_MA_MAIT)
- Cas où une surface doit être choisie comme esclave (GROUP_MA_ESCL)
- Cas général
- Orientation des normales
- Finesse et degré de maillage des surfaces courbes
- Angles vifs
- Qualité du maillage
Lorsque les surfaces de contact sont courbes, une bonne continuité de la normale avec les faces doit être garantie. Dans le cas où il y a des oscillations dans les pressions de contact dues à un réseau très désadapté dans la zone de contact, la méthode ALGO_CONT='LAC' doit être privilégiée.
Contrôle de l'appariement
- Choix du type d'appariement
- Lissage des normales
- Choix des normales : cas formulation autre que méthode LAC
- Exclusion de nœuds esclaves de l'appariement : cas formulation autre que méthode LAC
Dans la formulation continue (ALGO_CONT='STANDARD'), pour des mailles à bords courbes, l'utilisation d'éléments QUAD8 ou TRIA6 peut provoquer des violations de la loi de contact : cette dernière est vérifiée en moyenne. La vérification du facettage de la surface est effectuée automatiquement à la fin du pas de temps.
Comprendre la non-linéarité géométrique
Hypothèse de petits glissements
Tout comme les conditions d'équilibre, les conditions de contact s'expriment sur la configuration déformée (ou finale). Elle consiste à dire que la configuration finale des surfaces en contact diffère peu de la configuration initiale, permettant ainsi d'effectuer l'ajustement une fois pour toutes au début du calcul sur la configuration initiale.
Cas général
- Boucle de point fixe (ALGO_RESO_GEOM='POINT_FIXE')
- Algorithme de Newton généralisé (ALGO_RESO_GEOM='NEWTON')
C'est en mettant à jour les coordonnées du maillage principal avec le déplacement u que les nouvelles coordonnées projetées (linéarisées) sont obtenues. Pour ce faire, un appariement est effectué à chaque itération et les termes géométriques de la matrice tangente sont également mis à jour.
Convergence de la boucle de géométrie
- Linéarisation de la normale
- Critère de convergence géométrique
La formulation continue (§3.1.3) offre la possibilité de traiter la non-linéarité géométrique directement au sein de l'algorithme de Newton. Le critère de convergence géométrique devient ainsi un critère supplémentaire de l'algorithme de Newton : l'incrément de déplacement doit tendre vers zéro. Après n itérations géométriques, le calcul passera au pas de temps suivant quelle que soit la valeur de la métrique géométrique, mais il émettra une alarme lorsque la métrique n'est pas vérifiée à moins de 1 %.
Remarque : En cas de formulation continue ALGO_CONT='LAC', il n'est pas possible d'utiliser ALGO_RESO_GEOM='POINT_FIXE'.
Schéma général de l'algorithme de résolution
- Définition et remarques générales
- Formulation discrète
- Formulation continue : cas ALGO_CONT='STANDARD'/'PENALISATION'
- Formulation continue : cas ALGO_CONT='LAC'
- Formulation continue : traitement des incompatibilités
L'étape supplémentaire réalisée par la case "contact discret" a pour but de construire puis de résoudre le système augmenté des conditions de contact et de frottement. La méthode du point fixe (ALGO_RESO_CONT='POINT_FIXE') est la plus robuste, mais aussi la plus coûteuse, car le problème non-linéaire (par exemple la plasticité) est résolu à chaque changement d'état de contact. Toutes les linéarités de contact (états + géométrie) peuvent varier d'une itération de Newton à l'autre.
En cas de fortes incompatibilités de maillage, la méthode LAC fournit des pressions de contact de bonne qualité.
Résolution d'un problème avec contact seul
- Dualisation en formulation discrète (FORMULATION='DISCRETE')
- Principe
- Méthode 'CONTRAINTE'
- Méthode 'GCP'
- Pénalisation en formulation discrète : algorithme 'PENALISATION'
- Formulation 'CONTINUE' : conseil sur les solveurs et le parallélisme
- Autres conseils en parallélisme
Lorsque vous ne pouvez plus utiliser la méthode de contact standard car trop coûteuse, une alternative consiste à utiliser la méthode 'GCP'. Comme tout solveur itératif, la méthode 'GCP' utilise un critère de convergence : c'est un critère de valeur du jeu. Pour le seul problème de contact, la méthode continue présente l'avantage, tout comme la méthode (discrète). restrictions actives pour ne demander aucun ajustement effectué par l’utilisateur.
Lorsqu'un solveur itératif avec la formulation contact-frottement continue est utilisé, il convient d'activer la méthode de Newton-Krylov (voir mot-clé METHODE de STAT_NON_LINE [U4.51.03]) qui permet au critère d'ajuster automatiquement la convergence du solveur linéaire.
Résolution d'un problème avec frottement
Traitement de la non-linéarité de seuil
Dans tous les cas, il est fortement recommandé de revenir au solveur direct en cas de problèmes de convergence. Dans le cas de l'utilisation de l'implicite DYNA_NON_LINE + DEFI_CONTACT/continue, nous exigeons que la distribution soit centralisée. Pour les formulations discrètes nous avons besoin d'utiliser AFFE_MODELE/DISTRIBUTION='CENTRALISE'.
Formulation discrète : pénalisation du frottement (algorithme 'PENALISATION')
Formulation 'CONTINUE' : STANDARD/PENALISATION
Récapitulatif pour le choix des méthodes de résolution
Pour le contact-frottement
Pour les problèmes avec un faible nombre de degrés de liberté en contact (inférieur à 1000 degrés de liberté), nous préférerons une formulation discrète avec un algorithme de contraintes actives (« CONTRAINTE »). Pour les problèmes comportant un grand nombre de degrés de liberté en contact (supérieur à 1000 degrés de liberté), l'algorithme de solution itérative utilisant des contraintes actives 'GCP' est le plus approprié. Pour des problèmes de grande taille (indépendant du nombre de degrés de liberté en contact), la résolution du système linéaire prend une grande partie du temps de calcul, le choix du solveur linéaire est donc crucial.
La méthode 'CONTINUE' est adaptée dans le sens où elle laisse à l'utilisateur le choix du solveur linéaire et qu'elle est bien parallélisée.
Pour le système linéaire
Cependant, si nous devons considérer les frictions, nous pouvons à nouveau utiliser le terme « CONTINUER ».
Quoi faire lorsqu’un calcul de contact ne converge pas ou ne converge pas vers la bonne
En général, l’algorithme de solution non linéaire rencontre des difficultés lorsque la solution calculée lors de la première itération de Newton (prédiction) est trop éloignée de la solution réelle. Dans ce cas, une solution est de démarrer le calcul avec un déplacement prédictif proche de la solution finale. Concernant la qualité de la solution, ne post-traitez pas directement les degrés de liberté LAGS_C.
Pour vérifier la qualité de la solution, vous disposez d'un diagnostic du nombre de connexions de contacts réellement actives à la fin de chaque pas de temps.
Post-traitement de CONT_NOEU
Il arrive que le calcul avec contact converge en élasticité, mais présente un problème de non-linéarité matérielle ou de grandes transformations. Une autre solution consiste à effectuer un premier calcul, piloté par le mouvement, pour initialiser le contact puis à poursuivre le calcul au moyen de la force motrice. C'est le cas dans la figure ci-dessous, où nous avons effectué une première étape en déplacement imposé pour amener la plaque en contact avec l'anneau, après quoi le calcul a été vérifié en déplacement.
Pour vérifier la qualité de la solution, vérifiez toujours, en utilisant la méthode STANDARD ou PENALIZE, que les points maîtres ne sont pas entrés dans les points esclaves.
Récupérer la pression de contact
Cas de la formulation continue
Pour accéder à la densité de force de frottement superficiel (dans les phases de montée et de glissement), un calcul supplémentaire doit être effectué : le taux du vecteur direction dans le plan tangent donne en réalité l'amplitude relative au seuil de frottement. Dans la formulation pénalisée (ALGO_CONT='PENALIZATION'), les degrés de liberté de pression existent toujours, nous pouvons donc appliquer ce qui précède. Il arrive parfois que la pression de contact enregistrée par cette méthode présente des oscillations, notamment pour les géométries courbes.
Dans ce cas il est préférable d'utiliser CALC_PRESSION qui calcule la pression de contact à partir du tenseur des contraintes de Cauchy.
Formulation discrète
Notons cependant qu'aux grands déplacements, où configuration initiale et finale ne se confondent plus, le degré de liberté LAGS_C n'a plus le sens d'une pression.
Mouvements de corps rigide bloqués par le contact
Formulation continue
Dans la formulation continue, la prise en compte du contact initial est assurée zone par zone avec le mot-clé CONTACT_INIT. Dans tous les cas où le premier contact est déclaré, des efforts vont être créés : il ne s'agit pas d'un simple déplacement géométrique visant à coller les grilles. L'activation du contact initial bloque les mouvements du corps rigide dans la direction normale à la surface.
Il est à noter que l'utilisation du contact initial dans la formulation continue permet également de s'affranchir des non-convergences lorsque la structure n'est soumise qu'à des déplacements.
Formulation discrète
Si l'on veut considérer une condition collante initiale pour bloquer la direction tangente, on peut spécifier un seuil de contact initial non nul via SEUIL_INIT. Ce paramètre fournit la valeur initiale de la pression de contact (homogène à une densité de force surfacique). Vous trouverez ci-dessous un exemple de définition de rigidité pour un calcul 2D suivant la direction DY.
Dans les cas où la direction à bloquer n'est pas parallèle aux axes, deux alternatives sont possibles.
Grandes déformations, grands déplacements et contact
Découpler les non-linéarités
Pour utiliser un ressort dans Code_Aster, il faut créer des masques de type POI1 à partir des nœuds. Pour utiliser la première approche nous choisirons de créer ce groupe de mailles sur toute la structure (ALL='YES') tandis que pour la seconde approche nous préciserons le groupe de nœuds souhaité. Le groupe de mailles nouvellement créé servira à influencer une modélisation de type 'DIS_T' ou '2D_DIS_T' dans AFFE_MODELE.
Si par exemple on veut bloquer un mouvement d'un corps rigide dans une direction parallèle aux axes du référentiel global, on définira uniquement une raideur non nulle selon cette direction.
Bien paramétrer l'algorithme de Newton
Si ce calcul ne fonctionne pas, essayez d'utiliser un autre modèle parmi ceux de grands déplacements disponibles dans Code_Aster ('SIMO_MIEHE', 'GDEF_LOG', 'PETIT_REAC').
Résolution d'un problème quasi-statique en dynamique lente
Surface rigide et contact
Afin de ne pas alourdir la modélisation, les solides rigides ne seront pas modélisés complètement : seule leur arête portera des degrés de liberté. Ainsi, après avoir orienté les normales, dans AFFE_MODELE nous affecterons uniquement les éléments de bord à la peau du solide rigide : Les éléments de bord ne portant pas de rigidité, une alarme est émise pour avertir du risque d'une matrice de rigidité non inversible. Pour éviter que la matrice de rigidité soit singulière, il faut imposer le déplacement de tous les degrés de liberté portés par le bord rigide.
Pour le cas de contact avec une surface rigide, on peut se référer au cas-test SSNV506 [V6.04.506].
Redondance entre conditions de contact-frottement et conditions aux limites (symétrie)
Pour faciliter l'orientation des normales de ce solide, le maillage s'étendra néanmoins sur la totalité du solide.
Mesurer l'interpénétration sans résoudre le contact : méthodes autre que LAC
Visualiser les résultats d'un calcul de contact
Lors de la visualisation des résultats d'un calcul de frottement de contact dans un logiciel de post-traitement, il y a plusieurs choses à prendre en compte. L'état adhérent n'est possible qu'en présence de frottement : si l'on visualise une telle valeur pour un calcul de contact sans frottement, c'est qu'il y a interpolation du champ.
Contact ponctuel avec des éléments discrets (ressorts)
Éléments de joints (hydro-)mécaniques avec contact et frottement
Utilisation des méthodes adaptatives
Par défaut, le mot clé PENE_MAXI est activé, ce qui est égal à 1.E-2 fois le plus petit bord de maille dans la zone de contact. PENE_MAXI peut être estimé assez facilement par l'utilisateur car il est directement lié à la dimension caténaire. Autres exemples : si l'on utilise une formulation continue et ALGO_CONT='STANDARD'/'PENALISATION', la méthode d'ajustement 'CYCLAGE' est active par défaut.