Modélisations et calculs aux éléments finis dans le domaine du génie civil - Bilan du groupe de travail 2016-2019
La non-linéarité d’un problème de mécanique vient de ce que les coefficients apparaissant dans l’équation d’équilibre dépendent de la déformation du solide à l’équilibre. Autrement dit, l’équation d’équilibre est généralement une équation de type implicite.
Il existe plusieurs catégories de non-linéarités pour les problèmes de mécanique statique :
Ces types de non-linéarités peuvent être couplés, si le code de calcul le permet, mais cela complexifie d’autant la résolution du problème.
Lorsqu’on résout le problème élément fini, on cherche le champ de déplacement u, tel que les efforts intérieurs Lint soient égaux aux efforts extérieurs Lext :
, qui est un problème non-linéaire en fonction de u.
Pour résoudre un problème de statique non-linéaire, on utilise généralement un algorithme incrémental. Pour cela le problème est paramétré en fonction d’un paramètre t (qui est un pseudo-temps, contrairement aux calculs dynamiques). Ce paramètre sert à indexer les chargements successifs imposés à la structure. Plus précisément, on va chercher l’état d’équilibre correspondant aux chargements successifs F1, F2, …
Ce découpage conduit à résoudre une succession de problèmes quasi-linéaires comme illustrée sur la figure ci-dessous, et à déterminer l’état de la structure à l’instant t (déplacements, déformations, contraintes) en connaissant la solution à l’état t-1. Plus le nombre de découpage est important, meilleure est la précision.
Principe du paramétrage de problème en fonction de t
A chaque incrément ti, le problème discrétisé à résoudre est : Ki x qi =Fi où qi est le vecteur déplacement inconnu sous le chargement imposé Fi. Alors que dans le cas linéaire vu au chapitre 1, la matrice K était explicite, lorsque le problème est non-linéaire, Ki est une matrice dont les termes dépendent implicitement de la valeur de qi. Déterminer qi ne peut donc pas se faire directement en inversant la matrice K.
La méthode la plus courante pour résoudre cette équation non-linéaire est d’utiliser un algorithme de type Newton. Le principe est de construire une bonne approximation de la solution de l’équation en considérant son développement de Taylor au premier ordre . On part donc d’un point initial (suffisamment proche de la solution) et on construit par récurrence la suite .
A chaque itération, on évalue le vecteur résidu F(qk) et on poursuit tant que celui-ci n’est pas inférieur (en norme) à une valeur arbitrairement proche de 0. Ce critère de convergence doit être choisi avec soin en fonction de la norme utilisée par le code de calcul (voir §3.3 pour plus de détails).
Remarque : Avec la méthode de Newton, à chaque itération, on doit calculer la matrice tangente au point considéré . Le coût de calcul de cette matrice peut être coûteux en temps. Si l’utilisation de cette matrice permet d’avoir une convergence quadratique (donc en peu d’itérations), il n’est pas indispensable d’utiliser cette matrice. D’autres stratégies peuvent être appliquées pour estimer cette matrice. On parle alors de méthode de quasi-Newton. Ainsi il est ainsi envisageable d’utiliser la matrice tangente sans la réactualiser à chaque itération mais aussi d’utiliser la matrice élastique (figure b) ou la matrice sécante dans les cas de modèle endommagement. Une illustration des itérations successives selon la matrice utilisée est proposée sur la figure ci-dessous.
Illustration de la méthode de Newton ou quasi-Newton (matrice élastique)
En règle générale, l’utilisation de la matrice tangente permet une convergence plus rapide (en moins d’itérations), mais les variantes peuvent être plus efficaces ou plus robustes selon les situations.
La méthode de résolution étant itérative, le processus doit être interrompu lorsque le critère d’arrêt est atteint, c’est-à-dire que l’on a vérifié qu’une grandeur (plusieurs définitions sont possibles) devient négligeable. L’algorithme global est le suivant :
en désignant les incréments, i indexant les itérations de Newton et ε étant une valeur positive, proche de 0.
Remarque : l’algorithme de Newton est utilisé pour résoudre l’équilibre à chaque pas de temps. Il peut être également utilisé pour trouver la contrainte en chaque point de Gauss (à toutes les itérations du problème de Newton à l’échelle globale) lorsque la loi de comportement le nécessite.
A suivre : C.2 Pourquoi exécuter des calculs non-linéaires ?