• Aucun résultat trouvé

diffuses et tournantes

2.7 Implémentation numérique

2.7.2 Programmation de la loi de comportement

2.7.2.6 Transition à l’endommagement scalaire

La loi de fissuration de l’équation (2.111), renseignée dans le modèle de fissures tour-nantes, correspond à la fonction contrainte de cohésion (σc,max), donnée par le système d’équations de (2.43) à (2.47). Cette fonction prend la valeur nulle à partir d’une ou-verture de fissure égale à Lf/2. Ceci ne permet plus de calculer la matrice tangente par

perturbation et provoque également des mouvements de corps rigide puisque le matériau n’a localement plus d’intégrité.

La solution à ce problème, qui a été implémentée, consiste à passer d’un calcul du tenseur des contraintes par le modèle de fissures diffuses et tournantes à une fonction hyperbolique permettant de contrôler la fin de la loi de comportement. La transition s’ef-fectue à partir d’une valeur de contrainte à définir par l’intermédiaire de la contrainte limite de transition (str). La transition est effectuée en imposant une continuité entre la fonction hyperbolique et la loi de comportement ainsi qu’une continuité de leur dérivée. La contrainte asymptotique (s) permet de modifier la forme de la fonction hyperbolique pour contrôler la limite asymptotique de la loi de comportement (quand les déformations tendent vers l’infini). Ces deux paramètres matériaux peuvent être modifiés par l’utilisa-teur, mais il est préférable que la contrainte limite de transition soit la plus faible possible et que la contrainte asymptotique soit nulle. Ce passage à la fonction hyperbolique permet de tendre vers une valeur nulle sans jamais être nulle, évitant ainsi des mouvements de corps rigides. Cela permet également d’avoir une pente de la loi de comportement non nulle et donc des composantes non nulles dans la matrice tangente.

Méthodologie

Pour mettre en œuvre cette solution, on définit une loi de comportement hyperbolique de la forme :

s : eae+ b, e∈]0, +∞[, (2.143) où a et b sont des constantes réelles, et s et e sont respectivement la contrainte principale et la déformation principale. Il est également possible de remplacer la loi hyperbolique par une loi exponentielle ou autre ; ici la fonction hyperbolique a été retenue, car elle évolue lentement vers sa valeur limite par rapport à la fonction exponentielle.

Notons k le pas de chargement pour lequel la contrainte de transition a été dépassée : c’est-à-dire la première fois que s(i) < str, alors s(k) = s(i). En connaissant la contrainte au pas k − 1, il est possible de calculer la pente de la loi de comportement résultant du modèle de fissures diffuses et tournantes. Pour assurer une transition douce, on cherche sur la courbe hyperbolique l’abscisse (X) correspondant à la même pente. Cette abscisse

vaut : s(k)− s(k−1) e(k)− e(k−1) = d de e=X a e + b  ⇒ X =1 a s(k)− s(k−1) e(k)− e(k−1) !−1 2 (2.144) et son ordonnée : Y = a/X + b. L’asymptote horizontale est obtenue en posant b = s, car a/X → 0. La valeur de a est définie à partir de la continuité des deux méthodes, donc :

s(k)= Ya X + s− s(k)= 0 ⇒ a = −s(k)− s 2e(k)− e(k−1) s(k)− s(k−1). (2.145) Ainsi, si la contrainte principale maximale au pas de chargement i est inférieure ou égale à str, alors k = i et la loi de comportement est remplacée par :

∀ i ≥ k, s(i)= a

e(i)− (e(k)− X)+ s. (2.146) Cette transition est réalisée pour simplifier les calculs numériques pour des déformations importantes. Le résultat de son application est présenté sur la figure 2.30.

3 4 5 6 7 8 ·10−2 0 0.5 1 1.5 σtr Fonction hyperbolique →σ= 0 Loi d’extraction des fibres Déformation eIII [-] C on tr ai n te sII I [M P a]

Figure 2.30 – Exemple d’application de la transition à l’endommagement scalaire pour des valeurs de σtr = 0.9 MPa et σ= 0 MPa

2.7.3 Recommandations et commandes utiles pour la mise en œuvre

du modèle dans Code_Aster

Les informations données ci-dessous se déduisent des documentations de Code_Aster (Abbas,2013;Geniaut,2013,2014;Kazymyrenko,2014). Les mots clefs écrits avec le style VERBATIM sont des commandes ou des options de calcul disponibles dans Code_Aster.

Le modèle est construit avec l’hypothèse des petites déformations, il faut donc veiller à ce qu’aucune composante des déformations ne devienne trop importante. Le modèle est non linéaire par rapport au comportement du matériau et non par rapport à sa géométrie (cas des grands déplacements) ou à des éléments d’interface. Si l’hypothèse n’est plus vérifiée, il faut changer de modèle de déformations.

La loi de comportement rend possibles l’ouverture et la fermeture des fissures en cas de déchargement global ou local ; il est donc conseillé d’utiliser une matrice tangente réactua-lisée à chaque itération de Newton en précisant REAC_ITER=1 et REAC_INCR=1, et de choisir une prédiction élastique pour rendre le calcul robuste. Il est fortement recommandé de ne pas augmenter le critère de convergence de la méthode de Newton (RESI_GLOB_RELA=10−6) et d’autoriser un grand nombre d’itérations de Newton (ITER_GLOB_MAXI=100).

Il est préférable de commencer tout calcul non linéaire par un calcul en élasticité linéaire pour vérifier la cohérence des données au niveau du système d’unités employé et des conditions aux limites. Les informations recueillies dans le fichier .mess sont : la matrice est de taille n équations, le MAXIMUM DE MEMOIRE UTILISEE PAR LE PROCESSUS, ou le temps de résolution par rapport au temps total du calcul. Elles doivent être utilisées pour optimiser la mémoire et le temps de calcul : des informations concernant la mémoire minimale et la mémoire idéale sont données en fonction du nombre de degrés de liberté du modèle (voir la documentation U2.04.02 de Code_Aster).

En cas d’échec de convergence à un pas de chargement, il est conseillé d’utiliser DEFI_LIST_INST pour autoriser le sous-découpage uniforme du pas de temps. Il est en-suite possible de définir une valeur du pas de temps en dessous de laquelle la matrice de décharge sera utilisée (plutôt que la matrice tangente) avec le mot clef PAS_MINI_ELAS ; sa fréquence d’actualisation est définie par REAC_ITER_ELAS. La matrice de décharge est la matrice sécante pour les modèles d’endommagement.

Le pilotage du chargement est une méthode qui permet de calculer la réponse d’une structure qui présenterait des instabilités géométriques ou matériaux. Évoquée précédem-ment pour limiter la rigidité des conditions aux limites de déplaceprécédem-ment, elle permet égale-ment « de déterminer l’intensité d’une partie du chargeégale-ment pour satisfaire une contrainte portant sur les déplacements. » Il est alors possible de reproduire des comportements de type snap-back.

Les divergences de l’algorithme de Newton peuvent être réduites par l’utilisation de la recherche linéaire avec la méthode MIXTE du mot clef RECH_LINEAIRE et d’autoriser un grand nombre d’itérations (ITER_LINE_MAXI=50) ; il faut cependant vérifier que l’activa-tion de la foncl’activa-tion est rentable, car elle consomme beaucoup de temps.

Il peut aussi être intéressant d’essayer différents types de solveurs linéaires et de re-garder les indicateurs de performance pour sélectionner le plus adapté. Pour les structures élancées, il est conseillé d’utiliser des solveurs directs comme MUMPS, MULT_FRONT ou LDLT. Dans le cas contraire, il faut utiliser un solveur itératif comme GCPC ou PETSC.

Enfin, il est possible d’augmenter le critère de convergence afin de réduire le temps de calcul et d’aider à la convergence pour des structures fortement endommagées sans dépasser 10−4, car sinon on commence à cumuler des erreurs pouvant être importantes à la fin du calcul.