# MANITOO : Solveur Orienté Objet d'Equations Non Linéaires par Méthode Asymptotique Numérique

A Lejeune, Fabien Béchet, H Boudaoud, Y Gaillard, N Mathieu, F Richard, E

Sadoulet- Reboul, P Ventura, M Potier-Ferry

► To cite this version:

A Lejeune, Fabien Béchet, H Boudaoud, Y Gaillard, N Mathieu, et al., MANITOO: Solveur Orienté Objet d'Equations Non Linéaires par Méthode Asymptotique Numérique. 14ème Colloque National en Calcul de Structures (CSMA 2019), May 2019, Giens, France. http://hal-03237549

HAL Id: hal-03237549

https://hal.univ-lorraine.fr/hal-03237549v1

Submitted on 26 May 2021

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# MANITOO : Solveur Orienté Objet d'Equations Non Linéaires par Méthode Asymptotique Numérique

A. Lejeune<fnref n="1" />, F. Béchet<fnref n="2" />, H. Boudaoud<fnref n="3" />, Y. Gaillard <fnref n="1" />, N. Mathieu<fnref n="4" />, F. Richard <fnref n="1" />, E. Sadoulet-Reboul <fnref n="1" />, P. Ventura <fnref n="4" />, M. Potier-Ferry <fnref n="4" />

**Résumé** — MANITOO est une implémentation orientée objet en C++ permettant la résolution de problèmes non-linéaires par Méthode Asymptotique Numérique. Principalement dédiée à la simulation par éléments finis en mécanique des milieux continus, on présente ici les principales caractéristiques.

**Mots clés** — Méthode Asymptotique Numérique, Éléments Finis, Balance Harmonique, Contact

## 1 Introduction

Depuis le milieu des années 1990, la méthode asymptotique numérique[4], [3], [5] a largement été appliquée à la résolution de problèmes à fortes non-linéarités en mécanique des milieux continus(voir par exemple [1]). La plupart des travaux préconisent une écriture des problèmes sous forme quadratique. Depuis 2008, la librairie MANITOO [6] propose de s'affranchir de cette contrainte et de résoudre des problèmes grandes tailles avec des temps de calculs et d'occupation mémoire acceptables et maitrisés. La solution MANITOO est basée essentiellement sur l'implémentation par conception orientée objet (surcharge d'opérateurs, héritage de classes) et méta-programmation de la méthode asymptotique numérique. Le choix a été fait de s'inspirer de l'approche DIAMANT [2] autorisant l'automatisation des développements en série de Taylor. Nous avons opté pour une méthode de différentiation automatique en mode direct par surcharge d'opérateurs [6] avec recalcul des variables intermédiaires. Ainsi, l'implémentation de nouvelles méthodes et de nouveaux problèmes ne nécessite plus l'écriture de fastidieux et parfois acrobatiques développements en série. La différentiation automatique est également utilisée pour obtenir directement la matrice tangente cohérente.

Nous présentons dans ce qui suit un survol des problèmes traités, de fonctionnalités disponibles et de quelques exemples traités via MANITOO.

## 2 Problèmes traités

### 2.1 Equilibre quasi-statique

MANITOO permet initialement de traiter tout problème de la forme

$$R(U, \lambda) = 0$$

avec *R* une forme non linéaire suffisamment régulière et *λ* une variable scalaire. La solution (*U*, *λ*) est cherchée sous la forme d'un développement en série de Taylor suivant un paramètre de chemin *a*. Ceci conduit à la résolution de *K* systèmes linéaires (avec *K* l'ordre de troncature) :

<footnote n="1">¹ DMA/FEMTO-ST, UMR 6174, Université de Franche-Comté, COMUE UBFC,
{ arnaud.lejeune, yves.gaillard, fabrice.richard, emeline.sadoulet-reboul}@univ-fcomte.fr</footnote>

<footnote n="2">² LAMIH, UMR 8201, Université Polytechnique Hauts-de-France, fabien.bechet@uphf.fr</footnote>

<footnote n="3">³ ERPI, Université de Lorraine, hakim.boudaoud@univ-lorraine.fr</footnote>

<footnote n="4">⁴ LEM3, Université de Lorraine, {norman.mathieu, pascal.ventura, michel.potier-ferry}@univ-lorraine.fr</footnote>
$$L_T^U (U_0, \lambda_0) U_1 + L_T^\lambda (U_0, \lambda_0) \lambda_1 = 0$$

$$L_T^U (U_0, \lambda_0) U_2 + L_T^\lambda (U_0, \lambda_0) \lambda_2 = -R_2^{nl} (U_0, U_1; \lambda_0, \lambda_1)$$

$\vdots$

$$L_T^U (U_0, \lambda_0) U_K + L_T^\lambda (U_0, \lambda_0) \lambda_K = -R_K^{nl} (U_0, U_1, \dots, U_{K-1}; \lambda_0, \lambda_1, \dots, \lambda_{K-1})$$

avec $L_T^u = \frac{\partial R}{\partial u}$ l'opérateur tangent par rapport à $U$ et $L_T^\lambda = \frac{\partial R}{\partial \lambda}$ l'opérateur tangent par rapport à $\lambda$ et $R_K^{nl}$ la contribution non-linéaire de $R_n$.

## 2.2 Prise en compte de lois locales

Par ailleurs, MANITOO autorise également la résolution de problèmes avec équations locales impli-cites ou explicites [7], le problème à résoudre devenant :

$$R(U, Y, \lambda) = 0$$

avec $Y$ une variable (scalaire, vectorielle ou tensorielle) locale définie via une fonction explicite $Y = f(U, \lambda)$ ou implicite $g(Y, U, \lambda) = 0$. On a ainsi un cadre suffisamment générique permettant de couvrir nombre de modélisations rencontrées en sciences pour l'ingénieur et notamment les modèles avec lois de comportement non-linéaires et/ou contact sans frottement.

Plus récemment, une extension dans le cas d'équations locales différentielles a été présentée [?]. Ainsi, on peut considérer les problèmes de la forme :

A l'instar de l'ensemble des formulations traitées par MANITOO, les fonctions locales se doivent de satisfaire les conditions de régularités réclamées par la MAN.

## 2.3 Un peu de dynamique par balance harmonique

Nous avons également implémenté le couplage MAN/Balance Harmonique disponible par ailleurs dans d'autres codes de laboratoire. Classiquement l'équation dynamique à traiter est exprimée sous la forme :

$$[M]\ddot{q}(t) + [C]\dot{q}(t) + [K]q(t) + f_{nl}(q, \dot{q}, t) = f_e(t)$$

avec $[M]$, $[C]$ et $[K]$ les matrices de masse, d'amortissement et de rigidité. $f_e$ est la sollicitation appliquée à la structure qui et supposée périodique. Les non-linéarités sont incluses dans la fonction $f_{nl}$ qui peut dépendre du temps, des déplacements ou des vitesses. La méthode de la balance harmonique consiste à chercher la solution sous forme de série de Fourier tronquée :

$$q(t) = Q_{sta} + \sum_{k=1}^{n} Q_k^c \cos(k\omega t) + Q_k^s \sin(k\omega t)$$

avec $Q_{sta}$ la contribution statique, $Q_k^c$ et $Q_k^s$ sont les k-ièmes coefficients associés aux cosinus et sinus de la série de Fourier. Soit $N$ la taille du modèle éléments finis et $n$ le nombre d'harmoniques, on se ramène aisément à un système de taille $(N(2n+1)) \times (N(2n+1))$ :

$$R(Q, \omega) = [Z(\omega)]Q + F(Q, \omega) - F_e(\omega) = 0$$

La particularité de notre approche a été de gérer informatiquement le passage de la formulation temporelle à cette expression dans le domaine fréquentiel via une implémentation par surcharge d'opérateurs. On obtient alors un système non linéaire d'inconnues $(Q, \omega)$ avec $Q = (Q_{sta}, Q_0^c, Q_0^s, Q_1^c, Q_1^s, \dots, Q_n^c, Q_n^s)$ et $Q_\#$ de taille $N$. La MAN est appliquée sur le système non-linéaire dans le domaine fréquentiel.
# 3 Quelques fonctionnalités

## 3.1 Continuation

La continuation est une étape essentielle d'un algorithme MAN. En première approche, la longueur de la branche solution est déterminée par le domaine de validité $a_{max}$. La solution en fin de branche est donnée par :

$$U(a_{max}) = U_0 + \sum_{i=1}^{K} a_{max}^{i} U_i$$

$$\lambda(a_{max}) = \lambda_0 + \sum_{i=1}^{K} a_{max}^{i} \lambda_i$$

avec $(U_0, \lambda_0)$ la solution en début de pas.

Il a été montré que l'on pouvait accélérer la convergence l'algorithmé MAN et aller au-delà du domaine de validité par utilisation des approximants de Padé [5]. MANITOO propose deux classes de continuation : l'une de base et l'autre par approximant de Padé.

## 3.2 Discrétisation par éléments finis

L'évaluation en 2007 des différentes plateformes éléments finis alors disponibles ne permettaient pas de traiter à la fois des problèmes 1D, 2D linéaire ou quadratiques de forme triangulaire ou quadrangulaire, 3D et de type coque de Buchter-Ramm-Roehl tout en intégrant une implémentation de la Méthode Asymptotique Numérique. Le choix a donc été fait de développer notre propre bibliothèque d'éléments finis. Aujourd'hui les éléments finis suivants sont présents dans MANITOO :

- 1D

- 2D : Triangle linéaire à 3 noeuds et quadratique à 6 noeuds, Quadrangle linéaire à 4 noeuds et quadratique à 8 noeuds

- Plaque de Von Karman

- Coque de Buchter-Ramm-Roehl avec prise en compte d'une déformation additionnelle transverse (Enhanced Assumed Strain)

- 3D : Brique à 8 noeuds

Chaque élément fini est construit à partir de la dimension, de la forme, de l'ordre d'interpolation et d'une classe d'intégration numérique.

## 3.3 Résolution de systèmes linéaires

Pour chaque pas de l'algorithmé MAN, on résout autant de systèmes linéaires que d'ordre de la série de Taylor considérée. Chaque système linéaire d'un ordre donné, diffère de celui de l'ordre précédent par modification du second membre. Cette propriété particulière est exploitée lors de l'utilisation des librairies de systèmes linéaires. Un interfaçage avec les librairies suivantes a été implémenté :

- superLU

- Petsc

- Mumps

- Tnt

# 4 Quelques illustrations

## 4.1 Planage d'un tôle mince

Les deux premières étapes du planage (mise sous tension et imbrication) d'une tôle mince ont été simulées avec MANITOO. Cela a permis de valider la prise en compte de lois locales implicites représentant les équations relatives à la prise en compte du contact. Les rouleaux sont considérés comme des solides rigides représentés via des surfaces paramétriques. La discrétisation est réalisée avec des éléments coque de Buchter-Ramm-Roehl. L'influence de la position des rouleaux lors de la phase d'imbrication sur les niveaux de contraintes est illustrée sur les figures FIG et FIG
<figure><img src="image_2.png" /><figcaption>FIGURE 1 – Giens sous le soleil</figcaption></figure>

## 4.2 MAN et lois locales différentielles

citer Assidi et Viscoelasticite

## 4.3 MAN et ALE

citer bechet

## 4.4 MAN et balance harmonique

citer eccomas

# 5 Evolutions et perspectives

Cette communication se veut comme un survol non-exhaustif des problèmes traités avec la librairie MANITOO. Initialement conçu comme un code de laboratoire pour pérenniser et capitaliser les développements autour de la MAN, MANITOO offre aujourd'hui un riche panel de fonctionnalités et a prouvé sa capacité à simuler des problèmes issus de l'ingénierie.

L'ajout de méthodes de détection de bifurcation et des développements les plus récents par la communauté de la MAN permettrait de consolider cet outil. Cela passe par un travail de nettoyage et d'amélioration de l'architecture. L'intégration d'un langage type UFL[8] pour communiquer avec l'utilisateur apporterait également une souplesse d'utilisation pour les usagers les plus proches de l'applicatif. De plus, le couplage avec les outils de pré- et post-traitement doit être renforcé pour proposer une solution logicielle moins académique.

## Références

[1] H. Abichou, H. Zahrouni, M. Potier-Ferry, *Asymptotic numerical method for problems coupling several non-linearities*, Comput. Methods Appl. Mech. Engrg. 191 (2002) 5795-5810

[2] I. Charpentier, M. Potier-Ferry, *Différentiation automatique de la méthode asymptotique numérique typée : l'approche Diamant*, Comptes Rendus Mécanique 336,3 (2008) 336-340

[3] B. Cochelin, *A path-following technique via an asymptotic-numerical method*, Comput. Struct. 53 (1994) 1181-1192

[4] B. Cochelin, N. Damil, M. Potier-Ferry, *The asymptotic-numerical method : an efficient perturbation technique for non-linear structural mechanics*, Rev. Europ. Elements Finis 3 (1994) 281-297

[5] B. Cochelin, N. Damil, M. Potier-Ferry *Méthode asymptotique numérique*, Hermes, 2007

[6] A. Lejeune, F. Béchet, H. Boudaoud, N. Mathieu, M. Potier-Ferry, *Object-oriented design to automate a high order non-linear solver based on asymptotic numerical method*, Adv. in Eng. Soft., 48 (2012) 70-88
[7] A. Lejeune, H. Boudaoud, M. Potier-Ferry, I. Charpentier, H. Zahrouni Automatic solver for non-linear partial differential equations with implicit local laws. *Application to unilateral contact*, Int. J. Num. Mthds Eng., 94 (2013) 850-867

[8] Fenics project, *Unified Forming Language*, https://fenics.readthedocs.io/projects/ufl/en/latest/manual.html