3. Résolution#
3.1. Schéma général de l’algorithme de résolution#
3.1.1. Définition et remarques générales#
Ce que l’on appelle «résolution du contact», c’est l’opération consistant à résoudre le système formé par la juxtaposition des équations classiques de la mécanique et des équations de contact-frottement (l’aspect géométrique étant traité par l’appariement, il ne reste à ce stade que la non-linéarité de seuil du frottement et la non-linéarité de statut du contact).
Il faut noter que les deux formulations disponibles dans le code diffèrent notablement sur ce point. Sans entrer dans les détails, on explique brièvement ces différences pour la suite.
Si les formulations discrète et continue reviennent bien à résoudre le même problème physique, comme leur nom l’indique elles ne le formulent pas numériquement de la même manière. On présente de manière synthétique les différences entre ces deux formulations.
Cas formulation discrète.
En formulation discrète, les conditions de contact-frottement sont appliquées sur le système discrétisé grâce à des «sous-itérations» de Newton. Dans une itération type de Newton on a deux étapes : dans un premier temps, on ne calcule que la résolution du système linéaire obtenu par Newton \(\mathit{Ku}=f\) avec les conditions initiales de contact puis dans un second temps pardiverses méthodes d’optimisation sous contraintes condensée sur la zone de contact, on résout les conditionsd’inégalités de contact. Cette deuxième étape permet de recalculer les pressions «vraies» de contact.Pour l’itération suivante de Newton, on modifie le second membre de sorte à pouvoir prendre en compte les nouvelles conditions de contact issues de la deuxième étape. Pour la pénalisation discrète, on modifie également la matrice \(K\) pour limiter les interpénétrations. Cette technique permet de résoudre de manière performante des problèmes à faibles ddls de contact. On peut dire que la formulation discrète impose de manière algébrique les conditions de contact sans construire un élément continu pour contact.
Cas formulation continue.
En formulation continue, on écrit une formulation variationnelle mixte pour prendre les équations de contact-frottement. La formulation variationnelle est de type Lagrangien classique pour la méthode LAC, Lagrangien augmenté pour la méthode STANDARD et Lagrangien pénalisé pour la méthode PENALISATION. La démarche adoptée pour résoudre le système non-linéaire est de créer des éléments tardifs continus de contact. Ces éléments tardifs de contact portent des ddls de déplacement maître-esclave ainsi que des multiplicateurs de Lagrange uniquement du coté esclave. À l’exécution de DEFI_CONTACT, il est créé de manière transparente à l’utilisateur des couples de contact permettant de décrire les ddls suivant la topologie des mailles potentiellement contactant. De même, au moment de la résolution dans STAT_NON_LINE, il est créé des éléments continus par couple contact qui permettent le calcul des matrices et vecteurs élémentaires qui seront assemblé à la rigidité globale du système mécanique. Une itération type de Newton fournit donc à chaque résolution des déplacements mais aussi des multiplicateurs de Lagrange (LAGS_C). Le principal avantage de la méthode continue est de proposer via le degré de liberté LAGS_C (dans le champ DEPL) l” accès à la pression de contact sur la surface esclave. On attire cependant l’attention sur le fait que cette quantité n’est en fait qu” une densité de force de contact par unité de surface exprimée sur la configuration de référence . En particulier, en grandes déformations, on ne peut plus la qualifier de pression car elle n’a plus de sens physique.Du fait de la taille du système, la formulation continue est souvent moins performante que la formulation discrète mais plus robuste et plus qualitatif dans diverses situations (plasitcité+contact par exemple).
3.1.2. Formulation discrète#
Pour illustrer la définition du paragraphe précédent, on donne le schéma général de l’algorithme dans le cas d’une formulation discrète. Nous pouvons faire les remarques suivantes sur ce schéma:
il ne représente qu’un seul pas de temps en supposant que l’on se place en petits glissements (on ne fait donc pas apparaître la boucle externe, comme dans la, traitant la non-linéarité géométrique et décrite au § 2.4 );
dans ce schéma, apparaissent les trois étapes classiques d’une itération de Newton: assemblage et résolution du système linéaire, intégration de la loi de comportement, analyse de la convergence ;
la particularité de la formulation discrète du contact consiste en l’adjonction d’une étape supplémentaire entre la résolution du système linéaire (sans contact) et l’intégration de la loi de comportement. On peut voir cette étape comme un post-traitement de la solution du système sans contact.
L’étape supplémentaire que réalise la boite «contact discret» a pour but la construction puis la résolution du système augmenté par les conditions de contact et de frottement. Deux approches existent pour formuler les conditions discrètes de contact-frottement:
écriture d’un lagrangien et dualisation des conditions de contact-frottement, on augmente alors artificiellement la taille du système global à résoudre et on utilise un algorithme d’optimisation pour satisfaire les contraintes inégalités. Cette approche est traitée au § 3.2.1 .
pénalisation (ou régularisation) des conditions de contact-frottement, on conserve la même taille pour le système global mais on enrichit la matrice, il n’y a pas d’algorithme spécifique, c’est l’algorithme de Newton qui assure la convergence. En revanche le contact n’est résolu qu’approximativement et l’utilisateur doit fournir un ou des paramètres pour contrôler l’algorithme. Cette approche est traitée aux § 3.2.2 et § 3.3.2 .
Ce que produit la boite «contact discret» en sortie est un champ de déplacement vérifiant les conditions de contact-frottement ainsi que des réactions de contact-frottement. Ces réactions sont utilisées dans la vérification de l’équilibre.
La formulation discrète s’appuie donc sur la résolution d’un problème mécanique sans contact ce qui a une conséquence importante: on ne peut pas traiter simplement le cas d’une structure où le contact comme le frottement participent directement aux blocages des mouvements de corps rigide ( cf. § 4.4 ).
Figure 3.1.2-1: Algorithme général d’un pas de temps en formulation discrète (petits glissements)
3.1.3. Formulation continue : cas ALGO_CONT=”STANDARD”/”PENALISATION”#
La donne l’algorithme général de résolution du contact-frottement avec une formulation continue, celui-ci diffère notablement du schéma en formulation discrète. Alors qu’avec cette dernière le contact-frottement est résolu par des sous-itérations (dans la boite «Contact Discret»), la formulation continue s’appuie sur un découplage des non-linéarités:
la non-linéarité de frottement (le seuil de Coulomb dépend de la pression de contact qui est elle-même une inconnue) est traitée par un point fixe sur la valeur du multiplicateur de contact ou bien un algorithme de Newton généralisé
la non-linéarité de contact s’appuie sur un algorithme des statuts (avec bascule par paquets) ou bien un algorithme de Newton généralisé
Lorsque toutes les non-linéarités sont découplées, il ne subsiste dans l’algorithme de Newton que les non-linéarités classiques matériaux et cinématiques.
Pour formuler de manière faible les termes de contact, on utilise un Lagrangien augmenté ou pénaliséqui permettent de régulariser le système non différentiable de départ. Chaque itération de Newton en formulation continue ne coûte pas plus en mémoire que dans un calcul sans contact de taille équivalente contrairement à la formulation discrète. Néanmoins l’imbrication des boucles ou bien le traitement par l’algorithme de Newton généralisé impliquent un plus grand nombre d’itérations (de Newton).
En formulation continue, il existe des degrés de liberté supplémentaires dans la modélisation, conséquence de l’écriture variationnelle des conditions de contact, comme expliqué au § 4.3.2 .
Figure 3.1.3-1: Algorithme général d’un pas de temps en formulation continue avec point fixe (petits glissements)
En formulation continue, deux algorithmes existent pour maîtriser les variables spécifiques au contact (variables internes par analogie aux lois de comportement):
méthode de point fixe sur les statuts de contact: l’état des statuts de contact est évalué dans une boucle externe à la boucle de Newton. Pour choisir l’algorithme, il faut utiliser le mot clé global ALGO_RESO_CONT=”POINT_FIXE”. La méthode du point fixe (ALGO_RESO_CONT=”POINT_FIXE”) est la plus robuste mais aussi la plus coûteuse puisque le problème non-linéaire (plasticité par exemple) est résolu à chaque changement des statuts de contact.
méthode de Newton généralisée: les statuts de contact sont évalués à chaque itération de Newton (c’est le défaut). La méthode de Newton généralisée (ALGO_RESO_CONT=”NEWTON”) est plus performante mais pose parfois des problèmes de convergence. Le mot-clef ADAPTATION permet de rendre robuste ce mode de convergence. Dans le cas où on arrive pas à converger sur les statuts malgré le mot-clef ADAPTATION, il faut revenirà une méthode de point fixe.
3.1.4. Formulation continue : cas ALGO_CONT=”LAC”#
Cette méthode permet résoudre de façon moyennée les pressions et les jeux sur les mailles intersectées de contact. Elle fait partie de la famille des méthodes de type MORTAR qui sont réputées pour leurs capacités à traiter des problèmes d’interface en mécanique. Elle n’a de signification que par élément de contact. Les problèmes liés à l’exclusion de nœuds redondants pour la formulation continue standard/pénalisé avec les conditions aux limites n’est pas un problème pour cette méthode puisque les conditions de contact ne sont pas imposées aux nœuds mais par élément.
La méthode LAC (Local Average Contact) n’utilise pas de boucle de point fixe. Toutes les non linéarités de contact (statuts+géométrie) peuvent varier d’une itération de Newton à l’autre. Seul les critères de convergence permettent de maîtriser la qualité de résolution de contact. À l’heure actuelle la méthode LAC ne résout pas encore le frottement.
Enfin, pour utiliser la méthode LAC, il est nécessaire de réaliser une phase de pré-traitement de maillage (CREA_MAILLAGE/DECOUPE_LAC) qui consiste à préparer les «patchs» esclaves pour les conditions de contact vérifiées par macro-maille.
3.1.5. Formulation continue : traitement des incompatibilités.#
Dans le cas des maillages où l’incompatibilité est faible, on peut utiliser les méthodes continues standard/pénalisé. Pour se rendre compte de l’influence de la compatibilité de maillage on peut activer sous le mot-clef ZONE de DEFI_CONTACT un mot-clef qui réduit les oscillations de pressions de contact: INTEGRATION. Le mot-clef a cependant deux inconvénients: le nombre de statuts de contact actifs n’est pas disponible à la fin de chaque incrément calcul et de plus il n’y a pas CONT_NOEU à la fin du calcul. Il faut donc se rabattre sur le post-traitement avec CALC_PRESSION. Dans le cas de fortes incompatibilités de maillage, la méthode LAC permet d’avoir une bonne qualité des pressions de contact.
Sur l’exemple du cas-test analytique «patch-test de Taylor» ssnp170 (contact entre deux blocs parallélépipédique avec pression analytique de -25MPa), on remarque que suivant le paramétrage de l’intégration des termes contact, les oscillations disparaissent ou non.
Type intégration |
Visualisation des contraintes nodales |
AUTO |
|
NCOTES |
|
LAC |
|
3.2. Résolution d’un problème avec contact seul#
3.2.1. Dualisation en formulation discrète (FORMULATION=”DISCRETE”)#
3.2.1.1. Principe#
La dualisation du système discret consiste en l’introduction d’un Lagrangien (cf [R5.03.50]). Le système à résoudre prend la forme suivante lorsqu’il est réduit sur les liaisons actives:
Sachant que la résolution du système sans contact a déjà été effectuée, on connaît la solution du système suivant:
La technique de résolution s’appuie alors sur l’utilisation du complément de Schur du système pour transformer le système:
Le problème ainsi transformé a la taille du nombre de nœuds esclaves et il est plein. Deux algorithmes au choix sont disponibles pour traiter ce nouveau problème:
une méthode de contraintes actives (ALGO_CONT=”CONTRAINTE”) s’appuyant sur la construction explicite et la factorisation du complément de Schur
une méthode de gradient conjugué projeté (ALGO_CONT=”GCP”) s’appuyant sur la résolution itérative du système formé par le complément de Schur du système
Il est à noter que la dualisation requiert l’utilisation d’un solveur linéaire direct: dans Code_Aster , cela signifie “MULT_FRONT” ou “MUMPS”.
Chacun des 2 algorithmes cités ci-dessus réalise en effet des sous-itérations au cours desquelles il est nécessaire de résoudre le système linéaire avec \(C\) la matrice de rigidité du système global sans contact (ce qui est beaucoup plus rapide si \(C\) est déjà factorisée).
3.2.1.2. Méthode “CONTRAINTE”#
S’appuyant sur une factorisation (donc un solveur direct) pour résoudre le système associé au complément de Schur, la méthode “CONTRAINTE” ne demande aucun paramétrage . Par ailleurs sa convergence [3]_ est démontrée, ce qui explique qu’elle est la méthode par défaut en présence de contact.
Néanmoins l’utilisation d’un solveur direct présente un inconvénient majeur: cet algorithme n’est pas adapté dès que le nombre de nœuds esclaves dépasse quelques centaines (500) . En effet la factorisation d’une matrice pleine devient très vite rédhibitoire.
La construction du complément de Schur peut être accélérée en utilisant le paramètre NB_RESOL ( cf. [U4.44.11], valeur par défaut 10) au détriment de la mémoire consommée (plus le nombre de degrés de liberté total est grand, plus l’augmentation de ce paramètre coûte cher). Afin d’optimiser un calcul avec la méthode des contraintes actives, il est conseillé de faire un calcul sur un pas de temps afin de trouver un compromis temps/mémoire ( cf. [U1.03.03] pour la lecture des informations sur la mémoire consommée).
3.2.1.3. Méthode “GCP”#
Lorsque que l’on ne peut plus utiliser la méthode de contact par défaut parce qu’elle coûte trop cher, une alternative est l’utilisation de la méthode “GCP”. Comme on l’a dit plus haut cette méthode consiste en l’application d’un solveur itératif (gradient conjugué projeté) pour résoudre le problème dual.
Le principal avantage d’une telle méthode est de n’être plus limitée en taille de problème (plusieurs milliers de nœuds esclaves sont parfaitement atteignables). La contrepartie, propre à tout solveur itératif, est un paramétrage obligatoire pour l’utilisateur.
Cette méthode est utilisable en calcul parallèle, c’est d’ailleurs la seule méthode discrète à vraiment en profiter.
Comme tout solveur itératif, la méthode “GCP” utilise un critère de convergence: il s’agit d’un critère sur la valeur du jeu. Donné par le mot-clé RESI_ABSO, il contrôle l’interpénétration maximum tolérée.
Il est obligatoire et s’exprime dans la même unité que celle utilisée pour le maillage. On conseille d’utiliser dans un premier temps un critère égal à \({10}^{-3}\) fois l’interpénétration moyenne quand le contact n’est pas pris en compte (cf. § 4.8 ).
Si on constate des difficultés de convergence de l’algorithme du gradient conjugué projeté, il existe 2 paramètres sur lesquels, on conseille de jouer (de manière additive, c’est-à-dire l’un puis l’autre):
utiliser une recherche linéaire non-admissible (RECH_LINEAIRE=”NON_ADMISSIBLE”)
utiliser un pré-conditionneur de Dirichlet (PRE_COND=”DIRICHLET”)
Le pré-conditionneur présente l’avantage d’être optimal et diminue donc sensiblement le nombre d’itérations nécessaires à la convergence. De plus lorsque l’on est proche de la solution, il permet de faire diminuer très rapidement le résidu et donc d’atteindre des critères d’interpénétrations très faibles.
Son inconvénient est un coût important qui peut souvent empêcher un gain en temps de calcul malgré la diminution du nombre d’itérations.
Pour cette raison, il est possible de ne demander son activation que lorsque le résidu a suffisamment diminué: le pré-conditionneur permet alors idéalement de converger en quelques itérations. La difficulté réside dans la quantification du «suffisamment diminué» ou autrement dit du voisinage de la solution. On contrôle ce déclenchement par le mot-clé COEF_RESI qui est le coefficient (inférieur à 1) par lequel il faut avoir multiplié le résidu initial (l’interpénétration maximale initiale donc) avant d’appliquer le pré-conditionneur. Un exemple de mise en œuvre de ce paramètre est donné dans le cas-test SSNA102E.
3.2.2. Pénalisation en formulation discrète : algorithme “PENALISATION”#
La pénalisation consiste à régulariser le problème de contact: au lieu de chercher à résoudre exactement les conditions sur le jeu et la pression, on introduit une relation approchée univoque qui implique que l’on observera toujours une interpénétration lorsque le contact est établi .
Figure 3.2.2-1: Condition de contact (à gauche) et régularisation (à droite)
Comme le montre la on ajoute un paramètre E_N pour régulariser la condition de contact: plus il est grand, plus on tend vers la condition exacte, plus il est petit, plus on tolère de l’interpénétration.
En formulation discrète, la notion de pression de contact n’existe pas car on raisonne sur les nœuds du maillage élément fini: on travaille donc avec des forces nodales ( cf. § 4.3 ). Le coefficient E_N dit de pénalisation a donc la dimension d’une raideur (\({\mathit{N.m}}^{-1}\) ).
On fait généralement l’analogie entre le coefficient de pénalisation et la raideur de ressorts unilatéraux que l’on placerait entre surface maître et esclave là où on observe de l’interpénétration.
On choisit généralement E_N par essais successifs:
tout d’abord on commencera par prendre une valeur égale à 10 fois le plus grand module d’Young de la structure multiplié par une longueur caractéristique de celle-ci;
si le calcul donne un résultat (satisfaisant ou pas), on augmentera ensuite la valeur en la multipliant par 10 à chaque fois jusqu’à obtenir un résultat stable en termes de déplacements et surtout en termes de contraintes.
L’avantage de la méthode de pénalisation est de ne pas augmenter la taille du système contrairement à la dualisation, mais aussi de ne pas restreindre le choix du solveur linéaire . La contrepartie est une sensibilité au coefficient de pénalisation qui implique de mener systématiquement une étude paramétrique avant de se lancer dans de longs calculs ( cf. [U1.04.00] et [U2.08.07] pour le lancement de calculs paramétriques distribués).
Pour aider à calibrer le coefficient de pénalisation, il existe un mécanisme d’adaptation automatique s’appuyant sur la commande DEFI_LIST_INST [U4.34.03]. On trouvera un exemple de mise en œuvre dans le cas-test SDNV103I [V5.03.103].
3.2.3. Formulation “CONTINUE” : conseil sur les solveurs et le parallélisme#
Pour le problème de contact seul, la méthode continue présente l’avantage comme la méthode (discrète) des contraintes actives de ne demander aucun réglage par l’utilisateur.
De plus, comme elle n’est pas dépendante d’un solveur linéaire direct , il est possible d’utiliser un solveur linéaire itératif (comme “GCPC” ou “PETSC”) pour gagner énormément sur le temps de calcul. Toutefois, dans la mesure où les solveurs itératifs peuvent s’avérer moins robustes, on ne conseille de se tourner vers un tel solveur qu’une fois que le calcul avec contact-frottement a été mis au point et validé. En tout état de cause, il est fortement conseiller de revenir à un solveur direct en cas de difficultés de convergence.
Quand on utilise un solveur itératif avec la formulation continue du contact-frottement , il est conseillé d’activer la méthode de Newton-Krylov (cf.* **mot-clé METHODE de STAT_NON_LINE [U4.51.03]) qui permet d’adapter automatiquement le critère de convergence du solveur linéaire .
3.2.4. Autres conseils en parallélisme#
Dans le cas où l’utilisateur décide d’utiliser NORMALE=”ESCL”/”MAIT_ESCL” alors, le parallélisme n’est pas disponible.
En cas d’utilisation de DYNA_NON_LINE implicite + DEFI_CONTACT/continue, on impose que la distribution soit centraliséePour les formulations, discrètes on impose d’utiliser dans AFFE_MODELE/DISTRIBUTION=”CENTRALISE”.
Pour les formulations, discrètes on impose d’utiliser dans AFFE_MODELE/DISTRIBUTION=”CENTRALISE”.
3.3. Résolution d’un problème avec frottement#
3.3.1. Traitement de la non-linéarité de seuil#
Dans Code_Aster , le seul modèle de frottement disponible est celui de Coulomb (cf. [R5.03.50]). Une non-linéarité supplémentaire doit être traitée en présence de frottement: c’est la non-linéarité de seuil.
Le seuil de frottement dépend en effet de la pression de contact qui est elle-même inconnue.
La loi de Coulomb fait intervenir un coefficient \(\mu\) , appelé coefficient de Coulomb. Pendant la phase dite d’adhérence, un point en contact ne bouge pas (il a une vitesse nulle et il existe une réaction tangentielle). Pendant la phase de glissement, le point a une vitesse non nulle et est soumis à une réaction tangentielle égale à \(\mu\) fois la réaction normale.
En général, si le coefficient de frottement est très faible, il est conseillé de négliger les frottements . Par ailleurs, il est conseillé dans les études de ne traiter dans un premier temps que le contact , ceci afin d’introduire les non-linéarités les unes après les autres.
Les méthodes discrètes qu’elles travaillent par pénalisation ou dualisation s’appuient sur des algorithmes dédiés en présence de frottement (distincts de ceux utilisés pour le contact) tandis que la méthode continue standard/pénalisé utilise deux algorithmes différents :
méthode de point fixe sur les seuils de frottement: le seuil est actualisé dans une boucle externe à la boucle de Newton (et à la boucle sur les statuts de contact); ALGO_RESO_FROT=”POINT_FIXE”.
méthode de Newton généralisée: la non-linéarité de frottement est traitée dans le processus de Newton, par dérivation explicite de tous les termes non-linéaires. ALGO_RESO_FROT=”NEWTON”.
3.3.2. Formulation discrète : pénalisation du frottement (algorithme “PENALISATION”)#
Pour les problèmes 3D ou bien de grande taille, il est conseillé de traiter le problème de frottement par pénalisation. Cela demande, comme pour la pénalisation du contact, l’entrée d’un paramètre de pénalisation (E_T). Plus difficile à choisir que son équivalent E_N, il nécessite de réaliser une petite étude paramétrique.
Pour faire l’analogie avec le cas de la pénalisation du contact on remarquera que la phase d’adhérence à proprement parler disparaît (dès que le contact est activé il y a interpénétration, en frottement il y a toujours glissement).
La convergence peut aussi être accélérée par l’utilisation du mot-clé COEF_MATR_FROT.
3.3.3. Formulation “CONTINUE” : STANDARD/PENALISATION.#
C’est la méthode de choix lorsque l’on doit traiter un problème de contact-frottement : elle est la plus robuste de plus elle tolère bien les grands coefficients de frottement (plus grands que \(0,3\) ).
Il est possible de choisir parmi deux algorithmes de résolution pour fixer les variables internes spécifiques au contact-frottement avec le mot-clé ALGO_RESO_XXXX(XXXX=CONT/FROT).
La méthode du point fixe (ALGO_RESO_XXXX=”POINT_FIXE”) est robuste mais coûteuse. La méthode de Newton généralisée (ALGO_RESO_FROT=”NEWTON”, choix par défaut) est très performante et offre un bon niveau de robustesse. Le gros avantage de cet algorithme est sa moindre dépendance à la valeur du coefficient de frottement, puisqu’il n’y pas de boucle sur les seuils. On produit une matrice tangente non-symétrique, ce qui représente un léger surcoût lors de la factorisation et limite la gamme des solveurs itératifs utilisables.
Il est préférable d’utiliser la méthode de Newton généralisée dès lors que le coefficient de frottement n’est pas négligeable. Les gains en temps calcul sont très importants (jusqu’à 80% de gain par rapport au point fixe).
Les deux algorithmes “POINT_FIXE”/”NEWTON” donnent des résultats identiques.
Lorsque toutefois des difficultés de convergence apparaissent, notamment en présence de glissements importants, l’utilisateur pourra paramétrer le coefficient COEF_FROT (qui a la dimension de l’inverse d’une distance). Ce paramètre prend une valeur de 100 par défaut: on essaiera des valeurs comprises entre \({10}^{-6}\) et \({10}^{6}\) . Pour des études où l’adhérence est prépondérante, on favorisera des valeurs de COEF_FROT inférieures à la valeur par défaut tandis que pour des cas où le glissement est prépondérant, on choisira des valeurs supérieures. Il existe des alternatives au paramétrage en dur de COEF_CONT ou COEF_FROT: ce sont les méthodes adaptatives.
Une première solution de secours est de privilégier la méthode de pénalisation continue avec les méthodes adaptatives (ALGO_CONT=”PENALISATION”/ADAPTATION=”TOUT”). En effet, il est possible d’activer un algorithme de contrôle automatique du coefficient de pénalisation (via l’analyse des cyclages). Si on veut uniquement contrôler le coefficient de pénalisation sans les statuts de contact alors on utilisera le mot-clef ADAPTATION=”ADAPT_COEF”. Cette méthode peut échouer dans le sens où le contrôle peut ne pas être efficace, mais elle n’agira que sur la vitesse de convergence et non sur la qualité des résultats. Des options alternatives existent pour contourner les problèmes de convergence avec frottement:
Activer la résolution exacte du contact et la résolution pénalisée de frottement et limiter dans un premier temps le nombre de réactualisation géométrique: ALGO_RESO_GEOM=”CONTROLE”, ZONE/ALGO_CONT=”STANDARD”+ALGO_FROT=”PENALISATION”.
Dans le cas où la technique ci-dessus n’a pas marché: penser à utiliser ADAPTATION=”TOUT’dans le mot-clef ZONEpour traiter à la fois le cyclage et l’adaptation des coefficients de régularisation.
Il existe un mode qui s’active dès que le mot-clef ADAPTATION est actif: c’est le FLIP-FLOP. Il permet de déclarer la convergence en statut de contact dès que la pression de contact est stabilisée dans la zone de contact. Cette pression est une moyenne arithmétique des pressions de contact de toutes les zones.
3.4. Récapitulatif pour le choix des méthodes de résolution#
3.4.1. Pour le contact-frottement#
Pour les problèmes à faible nombre de degrés de liberté en contact (inférieur à 1000 degrés de liberté), on privilégiera une formulation discrète avec algorithme des contraintes actives (“CONTRAINTE”). Si le frottement doit être activé, on se tournera vers une formulation “CONTINUE”.
Pour les problèmes à grand nombre de degrés de liberté en contact (supérieur à 1000 degrés de liberté), l’algorithme de résolution itératif par contraintes actives “GCP” est le plus approprié. Si toutefois on doit prendre en compte du frottement, on pourra se tourner une nouvelle fois vers la formulation “CONTINUE”.
Pour les problèmes de grande taille (indépendamment du nombre de degrés de liberté en contact), la résolution du système linéaire consomme une grande partie du temps de calcul, le choix du solveur linéaire est donc primordial. La méthode “CONTINUE’est bien adaptée en ce sens qu’elle laisse à l’utilisateur le choix du solveur linéaire et qu’elle est bien parallélisée.
3.4.2. Pour le système linéaire#
Si on utilise une formulation discrète (hors pénalisation), seuls les solveurs linéaires directs sont accessibles. On choisira donc le solveur “MULT_FRONT” sauf si on réalise un calcul parallèle auquel cas on sélectionnera “MUMPS”. La méthode “GCP” alliée au solveur linéaire “MUMPS” profite d’un bon niveau de parallélisation dans l’algorithme de contact.
Si on utilise une formulation continue, il est conseillé, dès que le problème global dépasse 100 000 degrés de liberté, d’utiliser un solveur itératif associé au pré-conditionneur “LDLT_SP’et à la méthode de Newton-Krylov (cf. § 3.2.3 ). Si le calcul met en œuvre du frottement ou bien est parallèle, le solveur itératif “PETSC’est le meilleur choix.


