2. Appariement#
2.1. Notion de zones et de surfaces de contact#
C’est toujours à l’utilisateur de définir les surfaces potentielles de contact: il n’existe pas dans Code_Aster de mécanisme automatique de détection des interpénétrations possibles dans une structure.
L’utilisateur fournit donc dans le fichier de commandes une liste de couples de surfaces de contact. Chaque couple contient une surface dite «maître» et une surface dite «esclave». On appelle « zone de contact» un tel couple.
Cas appariement MAIT_ESCL:
Les conditions de contact seront imposées zone par zone. Faire respecter le contact consiste à empêcher les nœuds esclaves de pénétrer à l’intérieur des surfaces maîtres (en revanche l’inverse est possible).
Sur l’exemple ci-dessous ( cf. ), la structure étudiée est constituée de trois solides, on a défini trois zones de contact potentielles symbolisées par les ellipses rouges. Comme leur nom l’indique ces zones de contact déterminent des parties de la structure où des corps sont susceptibles d’entrer en contact. Cela signifie que l’on y fait respecter les conditions de contact-frottement, l’activation effective de contact dépendant in fine du chargement imposé.
Il n’y a aucune restriction sur le nombre de zones de contact. Les zones doivent cependant être séparées, c’est-à-dire que l’intersection de deux zones distinctes doit être vide [1] . Par ailleurs, au sein d’une zone, les surfaces maîtres et esclaves d’une même zone doivent aussi avoir une intersection nulle: si ce n’est pas le cas, le calcul est arrêté. Lorsqu’un nœud est obligatoirement commun aux surfaces maîtres et esclaves, à cause d’une contrainte de maillage par exemple, se reporter au § 2.3.4 pour une solution. Dans le cas où une formulation continue est utilisée ( cf. 3.1.3 ), les surfaces esclaves doivent impérativement être deux à deux disjointes.
Il ne faut pas hésiter à décrire de larges zones de contact pour éviter toute interpénétration. C’est le nombre de nœuds de la surface esclave qui est déterminante dans le coût de calcul. La surface maître peut, elle, être aussi grande qu’on le souhaite.
Il est impératif que les nœuds des surfaces de contact (maîtres et esclaves) portent tous des degrés de liberté de déplacement (DX, DYet éventuellement DZ), c’est-à-dire qu’ils appartiennent à des mailles du modèle . Un message d’erreur arrête l’utilisateur si ce n’est pas le cas. On se reportera au § 4.6 pour la modélisation d’un contact avec une surface rigide.
Figure 2.1-1: Définition de trois zones de contact
Cas appariementMORTAR:
Lorsqu’on a des calculs avec des maillages incompatibles et qu’on a besoin d’estimer précisément les états de contact, on préconise d’utiliser la méthode MORTARLAC. Cette méthode calcul permet de faire des calculs de contact sur des couples intersectés SURFACE ESCL sur SURFACE MAITcontrairement à la méthode d’appariement MAIT_ESCL qui associe des NOEUDSaux SEGMENTS.
Pour ce faire, il y a une étape nécessaire qui consiste à pré-traiter le maillage avant l’utilisation de DEFI_CONTACT : CREA_MAILLAGE/DECOUPE_LAC. Cette étape prépare la surface de contact esclave pour une intégration des termes de contact de type MORTAR sur les mailles intersectées.
Cette méthode du fait qu’elle utilise une approche surface-surface respecte mieux les conditions d’interpénétrations maître/esclave et esclave/maître. Comme pour la méthode MAIT_ESCL, l’utilisateur doit définir couple par couple les zones potentielles de contact. Il n’y a aucune restriction sur le nombre de zones de contact.
Deux zones distinctes peuvent avoirdes nœuds communs mais pas de mailles communes car la condition de contact est imposée sur les mailles. Par ailleurs, au sein d’une zone, les surfaces maîtres et esclaves d’une même zone doivent aussi avoir une intersection nulle. Les quantités cinématiques de contact pour la méthode MORTAR sont des champs géométriques par élément.
2.2. Choix des surfaces maîtres et esclaves#
Comme on vient de le dire, chaque zone de contact est constituée d’une surface maître et d’une surface esclave. Dans l’état actuel, on ne peut pas faire d’auto-contact dans Code_Aster (sauf dans les rares cas où l’on peut prédire la future zone de contact et définir ainsi un esclave et un maître).
Le besoin de différencier les deux surfaces provient de la technique adoptée dans le calcul du jeu. Ce calcul est réalisé dans une phase que l’on nomme appariement .
Dans le cas de l’appariement MAIT_ESCL, le jeu est défini en tout point de la surface esclave (pour les méthodes discrètes il s’agit des nœuds, pour les méthodes continues des points d’intégration) comme la distance minimale à la surface maître. Cette dissymétrie implique un choix qui peut a priori s’avérer difficile (comment décider?). Les points qui doivent prévaloir dans ce choix sont donnés dans les paragraphes suivants.
Dans le cas de l’appariement MORTAR, le jeu est défini par patch intersecté surface esclave-surface maître.
On renseigne ces surfaces dans l’opérateur DEFI_CONTACT sous le mot-clé facteur ZONE.
2.2.1. Cas où une surface doit être choisie comme maîtresse (GROUP_MA_MAIT)#
Lorsqu’une de ces conditions est réunie:
une des deux surfaces est rigide (a);
une des deux surfaces recouvre l’autre (b);
une des deux surfaces a une rigidité apparente grande devant l’autre («apparente» au sens où l’on ne parle pas des modules d’Young mais des raideurs en \({\mathit{N.m}}^{-1}\) ) (c);
une des deux surfaces est maillée beaucoup plus grossièrement que l’autre (d);
alors celle-ci doit être choisie comme surface maître.
2.2.2. Cas où une surface doit être choisie comme esclave (GROUP_MA_ESCL)#
Lorsqu’une de ces conditions est réunie:
une des deux surfaces est courbe (a);
une des deux surfaces est plus petite que l’autre (b);
une des deux surfaces a une rigidité apparente petite devant l’autre (c);
une des deux surfaces est maillée beaucoup plus finement que l’autre (d);
alors celle-ci doit être choisie comme surface esclave.
2.2.3. Cas général#
Lors de l’étude de structures complexes, il arrive que les règles données aux § 2.2.1 et § 2.2.2 soient difficiles à appliquer. Par exemple lorsqu’un solide est presque rigide (vis-à-vis de l’autre solide) et qu’il est courbe, la règle (a) ne permet pas de décider: faut-il privilégier le caractère courbe ou bien le caractère rigide?
Dans ces situations «l’art de l’ingénieur» doit prévaloir. Dans notre exemple, si les deux solides subissent de faibles glissements, le caractère courbe du solide rigide n’aura que peu d’influence et on choisira donc ce dernier comme surface maître.
Lorsqu’on rencontre des problèmes de convergence (surtout en plasticité), il est fort probable que les choix du côté maître esclave n’est pas judicieux. Dans ce cas changer le rôle des surfaces.
Figure 2.2.3-1: Choix de surfaces maître et esclaves suivant différentes situations
2.2.4. Orientation des normales#
Il est primordial de toujours orienter les normales des surfaces de contact de manière à ce qu’elles soient sortantes . On peut le faire à l’aide de l’opérateur MODI_MAILLAGE. Selon que la surface à orienter est une maille de peau d’un élément massif, une coque ou bien une poutre, on utilisera respectivement les mot-clés ORIE_PEAU_2D ou ORIE_PEAU_3D, ORIE_NORM_COQUE, ORIE_LIGNE.
Dans le cas de ORIE_LIGNE, on oriente la tangente, de sorte à pouvoir produire systématiquement la normale par un produit vectoriel.
Par défaut (mot-clé VERI_NORM de DEFI_CONTACT), la bonne orientation des normales est vérifiée et on arrête l’utilisateur si besoin.
2.2.5. Finesse et degré de maillage des surfaces courbes#
Lorsque les surfaces de contact sont courbes, il faut garantir la bonne continuité de la normale aux facettes. Pour cela, on peut soit:
mailler finement en linéaire et utiliser l’option de lissage ( cf. § 2.3.2 )
mailler en quadratique
Pour que le maillage quadratique conserve son intérêt, il faut avoir placé les nœuds milieux sur la géométrie dans le mailleur et non pas avoir utilisé l’opérateur CREA_MAILLAGE/LINE_QUAD de Code_Aster .
Cas Formulation Discrète:
Dans le cas de surfaces de contact quadratiques, en formulation discrète il ne faut pas que les surfaces de contact soient constituées de mailles quadrangulaires à 8 nœuds (QUAD8) et on préférera donc plutôt les mailles à 9 nœuds (QUAD9). On transformera alors les HEXA20 en HEXA27 et les PENTA15 en PENTA18 (avec l’opérateur CREA_MAILLAGE). À l’heure actuelle, les maillages mixtes constitués à la fois d’HEXA20 et de PENTA15 ne sont pas transformables par CREA_MAILLAGE.
Si toutefois l’utilisation d’éléments HEXA20 s’avère obligatoire, les relations linéaires écrites automatiquement à cette occasion peuvent être susceptibles d’entrer en conflit avec des conditions aux limites (en particulier de symétrie), c’est pourquoi il peut être nécessaire de n’imposer les conditions aux limites que sur les nœuds sommets des mailles QUAD8 concernées (on pourra utiliser l’opérateur DEFI_GROUP pour la création du groupe de nœuds ad-hoc).
Cas formulation continue:
En formulation continue(ALGO_CONT=”STANDARD”), pour des mailles de bord courbes, l’utilisation d’éléments QUAD8ou TRIA6peut entraîner des violations de la loi de contact : ce dernier est vérifié en moyenne. On observe alors des jeux légèrement positifs ou légèrement négatifs en présence de contact, ce qui peut perturber les résultats proches de la zone de contact ou les calculs en reprise avec état initial. Pour cette raison il est conseillé d’utiliser des éléments HEXA27 ou PENTA18 (à faces QUAD9) ou bien des éléments linéaires.
Lorsque à la fin d’un calcul, on remarque un fort taux d’interpénétration des nœuds maîtres à l’intérieur des surfaces esclaves (ce qui est possible contrairement à l’inverse), cela signifie généralement que le maillage d’une ou des deux surfaces est trop grossier ou qu’il y a une trop grande différence de finesse entre les deux maillages des surfaces. On peut alors soit raffiner, soit inverser maître et esclave.
Si une surface est rigide (et donc maître), un maillage grossier est suffisant sauf bien sûr dans les zones courbes.
Enfin dans le cas particulier d’un contact cylindre-cylindre ou sphère-sphère , il faut veiller à mailler suffisamment chaque surface pour éviter de laisser trop de vide entre elles. En effet, dans Code_Aster , on ne fait pour l’instant pas de repositionnement de nœuds ni de projections sur des splines passant par la surface maître, un maillage trop grossier provoquera alors une forte oscillation de la pression de contact (détection du contact un nœud sur deux).
Dans le cas où on a des oscillations sur les pressions de contact dus à un maillage fortement incompatible dans la zone de contact, il faut privilégier la méthode ALGO_CONT=”LAC” .
2.2.6. Angles vifs#
Les algorithmes d’appariement fonctionnent moins bien en présence d’angles vifs, c’est pourquoi on évitera le plus possible d’en avoir dans le maillage des surfaces maîtres et esclaves. Par exemple on préférera modéliser un congé plutôt qu’un angle vif.
Si un angle vif est indispensable, on choisira la surface qui le porte comme esclave.
2.2.7. Qualité du maillage#
La qualité des éléments surfaciques qui constituent la surface de contact maître a un impact direct sur la qualité de l’appariement. En effet des mailles distordues, par exemple, peuvent nuire à la précision des projections malgré la robustesse de l’algorithme: l’unicité de la projection n’est plus garantie.
Pour ces raisons, il est recommandé de vérifier la qualité des maillages produits et si nécessaire de corriger leurs défauts. Dans Code_Aster , la commande MACR_INFO_MAIL permet d’afficher la répartition des éléments en fonction de leur qualité.
2.3. Contrôle de l’appariement#
2.3.1. Choix du type d’appariement#
Dans Code_Aster , trois types d’appariement sont disponibles:
«maître-esclave» (par défaut): c’est le plus générique, il permet d’empêcher les nœuds de la surface esclave de pénétrer les mailles de la surface maître à l’aide de projections orthogonales d’un nœud sur une maille. Il est disponible pour la formulation discrète et la la formulation continue ( ALGO_CONT=”STANDARD” ).
«nodal»: il permet d’empêcher les nœuds esclaves de pénétrer les nœuds maîtres suivant une direction (donnée par la normale esclave). C’est un appariement réservé aux maillages compatibles des surfaces de contact pour des calculs en petits glissements. Il n’est pas disponible en formulation continue ( cf. § 3.1.3 ).
«MORTAR» (par défaut): c’est le plus qualitatif, il permet d’imposer les conditions de contact en moyenne sur les mailles intersectées. Avec cette méthode on atteint des précisions d’interpénétrations inférieures à 1.E-10%. Il est disponible uniquement pour la formulation continue ( ALGO_CONT=”LAC” ).
2.3.2. Lissage des normales#
Comme son nom l’indique cette option permet de lisser les normales. Elle est particulièrement utile dans le cas de surfaces courbes maillées en linéaire. Ce procédé est fondé sur la moyenne des normales aux nœuds, puis leur interpolation à partir des fonctions de forme et des normales moyennées, il permet d’assurer la continuité de la normale aux nœuds.
La normale n’est alors plus la normale géométrique, on prendra donc la précaution (conseillée de toute manière) de bien vérifier visuellement les résultats.
Une vérification de la facettisation des surfaces est effectuée automatiquement en fin de pas de temps. Elle émet un message d’information lorsque celle-ci devient trop importante et il est alors conseillé d’activer le lissage.
2.3.3. Choix des normales : cas formulation autre que méthode LAC#
On conseille de toujours de laisser les valeurs par défaut: NORMALE=”MAIT”, VECT_MAIT=”AUTO”. C’est-à-dire que la relation de non-pénétration est écrite à partir de la normale maître, déterminée grâce au maillage.
Cependant il existe quelques rares situations où l’on peut vouloir imposer le choix de la normale: il s’agit essentiellement du traitement du contact poutre-poutre (en 2D uniquement) et du cas où la surface maître est une maille de type POI1. On renvoie au §3.1.6 de [U4.44.11] pour plus de détails.
2.3.4. Exclusion de nœuds esclaves de l’appariement : cas formulation autre que méthode LAC#
Le mot-clé SANS_GROUP_NO/SANS_NOEUD sert à exclure de l’appariement des nœuds esclaves. Il peut y avoir plusieurs raisons à cela:
surface maître et esclave ont une intersection non vide (fond de fissure, blocage de mouvements de corps rigide); les nœuds communs n’ont pas besoin d’être traités par le contact, ils doivent donc être exclus.
il existe déjà sur les nœuds esclaves considérés des relations linéaires (conditions aux limites, blocage de mouvements de corps rigide); si celles-ci interfèrent avec la direction du contact (respectivement du frottement), on conseille en général de privilégier les conditions aux limites et donc ne pas résoudre le contact sur ces nœuds.
Une erreur fatale est émise lorsqu’il existe des nœuds communs aux surfaces maîtres et esclaves et que ces derniers n’ont pas été exclus.
2.4. Comprendre la non-linéarité géométrique#
Comme on l’a expliqué, la non-linéarité géométrique découle du fait que l’on doit appliquer des conditions de contact-frottement sur une configuration géométrique que l’on ne connaît pas. Dans cette section, on fait une petite digression afin d’expliquer la démarche adoptée pour surmonter cette difficulté.
2.4.1. Hypothèse de petits glissements#
La phase d’appariement est une phase préalable à la formulation des conditions de contact à résoudre. En pratique, cela signifie:
pour les méthodes discrètes, la construction d’une matrice \(A\) (pour Appariement) telle que multipliée par l’incrément de déplacement \(\delta u\) depuis la configuration appariée, elle donne l’incrément de jeu (linéarisé).
pour la méthode continue, l’association entre un point de contact et son projeté dans l’espace paramétrique de la maille maître appariée. C’est en actualisant les coordonnées de la maille maître avec le déplacement \(\delta u\) que l’obtient les nouvelles coordonnées (linéarisées) du projeté.
De même que les conditions d’équilibre, les conditions de contact s’expriment sur la configuration déformée (ou finale). Cette configuration n’est pas connue a priori .
L’hypothèse de faibles glissements relatifs des surfaces en contact est l’analogue de l’hypothèse de petites perturbations (pour l’écriture des relations d’équilibre).
Elle consiste à dire que la configuration finale des surfaces en contact est peu différente de la configuration initiale, ce qui permet donc de réaliser l’appariement une fois pour toutes en début de calcul sur la configuration initiale. Puis d’utiliser les conditions établies sur cette configuration pour tout le calcul.
Un tel problème est alors linéaire géométriquement: seule la non-linéarité de contact-frottement demeure, elle est traitée avec des algorithmes adaptés ( cf. section 3 ).
2.4.2. Cas général#
Pour traiter des problèmes de grands glissements relatifs des surfaces en contact, deux possibilités existent: l’utilisation d’une boucle de point fixe pour se ramener aux cas de petits glissements ou bien pour la formulation continue (§ 3.1.3 ) la résolution simultanée au sein de l’algorithme de Newton.
2.4.2.1. Boucle de point fixe (ALGO_RESO_GEOM=”POINT_FIXE”)#
La démarche adoptée est très similaire à la résolution d’un problème non-linéaire par la méthode de Newton. On transforme un problème non-linéaire géométrique en une suite de problèmes linéaires géométriques . Pour cela on va résoudre une suite de problèmes dans l’hypothèse de petits glissements.
C’est-à-dire que l’on réalise un appariement (sur une configuration initiale équilibrée) et une résolution de Newton (avec résolution du contact comme on l’expliquera dans la section 3 ). Ceci nous donne une nouvelle configuration; si cette configuration est «proche» de la configuration initiale alors on a convergé (c’était donc la configuration finale), sinon on boucle: on refait un appariement puis une résolution … et ainsi de suite jusqu’à trouver la configuration finale ( cf. ).
La difficulté est dans la caractérisation de la convergence de ce processus de point fixe. Qu’est-ce que deux configurations «proches»? Dans Code_Aster , il s’agit de deux configurations dont le vecteur déplacement «mécanique» pour passer de l’une à l’autre (c’est-à-dire l’incrément de déplacement obtenu par Newton restreint aux degrés de liberté DX, DY, DZ) a une norme infinie petite devant la norme infinie du vecteur déplacement précédent.
Cela implique que l’on fait donc toujours au moins deux itérations de géométrie avec ce critère (afin de se donner un vecteur déplacement initial). On renvoie au paragraphe 3.7 de [R5.03.50] pour l’expression exacte de la norme infinie.
2.4.2.2. Algorithme de Newton généralisé (ALGO_RESO_GEOM=”NEWTON”)#
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. Pour cela un appariement est réalisé à chaque itération et les termes géométriques de la matrice tangente sont eux aussi réactualisés.
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.
2.4.3. Convergence de la boucle de géométrie#
2.4.3.1. Linéarisation de la normale#
L’appariement fournit deux informations:
le jeu sur la configuration appariée,
les coordonnées du point de contact potentiel sur la surface maître.
Que l’on utilise une méthode de contact discrète ou continue, on doit dériver (linéariser) le principe des puissances virtuelles, en particulier les termes de contact.
L’hypothèse de point fixe conduit à faire également l’hypothèse d’une faible variation de la normale au cours des itérations de Newton (d’un pas de temps). Cette hypothèse est cohérente avec l’hypothèse de petits glissements. L’opérateur «jeu» est ainsi linéarisé plus facilement. Il reste en particulier constant au cours d’une itération de géométrie. Ceci a aussi une autre implication: la convergence géométrique vers la configuration finale en mode point fixe peut parfois être très lente.
À l’inverse, la résolution par une méthode de Newton généralisée, possible uniquement en formulation continue (§ 3.1.3 ), présente une convergence beaucoup plus rapide mais peut s’avérer moins robuste. C’est pourquoi ce n’est pas le réglage par défaut. Pour l’activer, on utilisera le mot-clé ALGO_RESO_GEOM.
2.4.3.2. Critère de convergence géométrique#
On a vu plus haut que la convergence de la boucle de géométrie se fait sur un critère géométrique: la différence des vecteurs déplacements entre deux configurations géométriques successives est petite en relatif. Les vecteurs déplacement sont évalués uniquement sur la zone de contact. Pour le cas particulier de l’algorithme de Newton généralisé en formulation continue, le critère s’applique directement à l’incrément de déplacement de Newton.
Pour la résolution par boucle de point fixe, «petit» correspond par défaut à inférieur à 1% du déplacement depuis le début du pas de temps tandis qu’avec l’algorithme de Newton généralisé, il s’agit de 0,0001% (celui-ci bénéficiant dans les cas favorables d’une meilleure convergence, il est possible d’exiger un critère plus dur).
Lorsque à la suite d’un calcul, on observe une interpénétration des nœuds esclaves dans la surface maître, la seule explication [2] 2.2.5 est une non-vérification du critère géométrique.
Il ne faut alors pas hésiter à durcir le critère . Pour cela on utilise le mot-clé RESI_GEOM=0.005 de sorte à abaisser le seuil autour de 0,5% par exemple.
Parfois la convergence géométrique est simplement lente, dans ce cas il suffit d’augmenter le nombre maximum d’itérations tolérées: ITER_GEOM_MAXI=20 par exemple.
Dans certaines situations, on a beau jouer sur la valeur du critère ou le nombre d’itérations, le calcul ne converge pas: il cycle. Plusieurs possibilités s’offrent alors à l’utilisateur:
l’explication la plus courante est une mauvaise discrétisation des surfaces de contact (c’est-à-dire un maillage trop grossier, une différence de finesse entre les deux surfaces ou bien un mauvais choix des surfaces maîtres et esclaves). On renvoie alors au § 2.2 .
lorsque les surfaces de contact sont courbes et maillées relativement grossièrement, l’explication peut venir d’une trop grande discontinuité de la normale (facettisation). L’activation du lissage facilite alors très souvent la convergence ( cf. § 2.3.2 ). Cela ne doit cependant pas empêcher l’utilisateur de revoir son maillage.
si le cas est vraiment pathologique, il faut forcer soi-même le nombre de réactualisations en utilisant REAC_GEOM=”CONTROLE” et NB_ITER_GEOM=n. Après \(n\) itérations de géométrie, le calcul passera au pas de temps suivant quelle que soit la valeur du critère géométrique mais il émettra une alarme lorsque le critère n’est pas vérifié à moins de 1% (pour \(n\ge 2\) ).
Figure 2.4.3.2-1: Traitement de la non-linéarité géométrique du contact par une boucle de point fixe
Remarque: Dans le cas de la formulation continue ALGO_CONT=”LAC”, il n’y a pas la possibilité d’utiliser ALGO_RESO_GEOM=”POINT_FIXE”.