Modélisations et calculs aux éléments finis dans le domaine du génie civil - Bilan du groupe de travail 2016-2019
À la différence des calculs d’élasticité linéaire, les calculs non-linéaires peuvent effectuer des itérations apparemment indéfiniment, sans jamais vérifier le critère d’arrêt ; mais ils peuvent aussi s’interrompre brutalement à un incrément de chargement donné (au-delà du premier), avec signalement d’un « pivot nul ».
Examinons les causes de ces types d’échec.
Ce phénomène est presque toujours une conséquence directe de l’inadéquation de la méthode itérative utilisée : le problème à résoudre ne vérifie certainement pas les conditions mathématiques qui assurent sa convergence (opérateur non-contractant, opérateur non-positif, opérateur non convexe, restrictions insuffisantes de l’intervalle dans lequel on recherche la solution, etc.).
Il peut arriver, il est vrai, que ce phénomène résulte d’une accumulation d’erreurs d’arrondis numériques, imputables à la programmation elle-même du code de calcul ; ce n’est toutefois pas souvent le cas.
L’examen des résidus au fil des itérations peut renseigner sur la nature du problème :
Les résidus, à partir d’un certain stade, remontent brutalement à une certaine valeur, puis reprennent leur décroissance, etc. Ce comportement survient lorsque l’algorithme tombe sur plusieurs solutions également viables sans autre précision : il converge vers l’une de ces solutions, puis « rebondit » vers une autre. Autrement dit, sans que l’on en ait conscience, il existe plusieurs équilibres possibles !
L’arrêt brutal du programme dans un calcul non-linéaire se signale souvent par un « pivot nul » lors de la résolution d’un système linéaire. Cette expression renvoie au « pivot de Gauss », qui est l’algorithme utilisé (aux variantes près) pour résoudre les systèmes linéaires. On a vu plus haut, en effet, que la plupart des algorithmes itératifs remplacent le problème à résoudre par un système linéaire.
Cette situation correspond à une structure devenue instable : en élastoplasticité ou en endommagement, cela signifie que la structure a perdu toute cohésion, aux arrondis de calcul près ; dans les problèmes de grands déplacements ou de contact, cela traduit l’apparition d’un mécanisme, c’est-à-dire la possibilité d’un mouvement de corps rigide : tous les nœuds d’interface sont glissants, et les appuis fixes sont en nombre insuffisant pour obtenir un équilibre.
Il arrive aussi que le programme s’interrompe pour des raisons n’ayant aucun rapport avec l’état de la structure : débordement d’espace-disque, voire bug de programmation. Le premier cas est simple à écarter.
Si un calcul non-linéaire ne converge pas, et que l’on n’a pas trouvé dans les explications ci-dessus d’indications utiles, il y a lieu de passer attentivement en revue les questions suivantes :
A suivre : D. Matériaux du génie civil