# Couplage non-intrusif: réanalyse locale et calcul haute performance

Mickaël Duval, Jean-Charles Passieux, Michel Salaün

► To cite this version:

Mickaël Duval, Jean-Charles Passieux, Michel Salaün. Couplage non-intrusif: réanalyse locale et calcul haute performance. 12e Colloque national en calcul des structures, CSMA, May 2015, Giens, France. hal-01514294

HAL Id: hal-01514294

https://hal.science/hal-01514294v1

Submitted on 26 Apr 2017

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 CC0 1.0 - Universal - International License
# Couplage non-intrusif: réanalyse locale et calcul haute performance

M. Duval<fnref n="1" />, J.C. Passieux<fnref n="1" />, M. Salaün<fnref n="1" />

**Résumé** — Le couplage non-intrusif permet de prendre en compte efficacement des modifications locales (non-linéarités, conditions limites, géométrie) dans un modèle initial linéaire pré-existent sans que ce dernier ne soit affecté. Ce concept est étendu au cas des non-linéarités apparaissant de manière généralisée à l'échelle globale. Dans ce cas un ensemble de patchs recouvre l'intégralité du domaine, et le couplage peut être assimilé à une méthode de décomposition de domaine non-linéaire s'appuyant sur un logiciel industriel séquentiel.

**Mots clés** — Éléments finis, Couplage, Multi-échelle, Non-intrusif, Décomposition de domaine

## 1 Introduction

Le principe du couplage non-intrusif est de dissocier les échelles globale et locale, et de prendre en compte un comportement mécanique localisé au sein d'un modèle global initial sans modification de son opérateur numérique correspondant (c'est-à-dire sans modification du code ou logiciel correspondant). D'un point de vue pratique, cela revient à utiliser deux solveurs différents, l'un dédié à la structure, l'autre au comportement local. L'objet de cette présentation est de présenter des développements récents autour du couplage non-intrusif. Des améliorations de l'algorithme initial (Quasi-Newton et relaxation dynamique) sont analysées comparativement sur la base de plusieurs cas test pertinents (propagation de fissures locales, contact, plasticité localisée, modification des conditions aux limites et de la géométrie). Enfin, une méthode originale de décomposition de domaine non-linéaire est proposée en s'appuyant sur la stratégie de couplage global/local non intrusif. Pour ce faire le modèle global (linéaire) est partitionné en un ensemble de patchs (modèles non-linéaires) qui forment une partition du domaine d'étude. Cette méthode permet de résoudre un problème non-linéaire en parallèle à partir d'instances séquentielles d'un logiciel industriel. Cette méthode étant destinée à l'analyse à grande échelle, nous montrons son extensibilité. La méthode est implémentée au travers d'un langage de haut niveau (Python). Les calculs mécaniques sont réalisés par appels à un logiciel industriel (Code_Aster), et le couplage est effectué via des communications MPI.

## 2 Algorithme de couplage non-intrusif

Considérons un modèle global linéaire élastique défini sur le domaine $\Omega = \Omega_G \cup \Omega_{\tilde{G}}$, et un modèle local non-linéaire défini sur le domaine $\Omega_L$ (cf. Fig. 1). L'objectif est alors de remplacer le modèle linéaire sur la zone d'intérêt $\Omega_{\tilde{G}}$ par le modèle local sur $\Omega_L$, sans pour autant altérer l'opérateur numérique associé au modèle global initial sur $\Omega$ (la matrice de raideur $K$). Du point de vue théorique, le couplage non-intrusif revient à chercher une solution globale $U$ et une solution locale $U_L$ vérifiant chacune l'équilibre mécanique sur $\Omega$ et $\Omega_L$ respectivement, tout en assurant un équilibre mécanique à l'interface $\Gamma$, à savoir $F_{\Omega_G/\Omega_{\tilde{G}}} + F_{\Omega_L/\Omega_G} = 0$.

En pratique, l'idée est d'atteindre l'équilibre entre les modèles sur l'interface par le moyen d'un algorithme itératif, similaire à ceux utilisés dans les méthodes de décomposition de domaine, via la résolution alternée d'un problème de Dirichlet (resp. Neumann) sur le domaine local (resp. global) jusqu'à convergence (cf. [4, 5]).

En notant $f(U) = F_{\Omega_G/\Omega_{\tilde{G}}} + F_{\Omega_L/\Omega_G}$ la fonction qui évalue le résidu d'effort à l'interface à partir de la donnée d'un déplacement global $U$, on peut montrer (cf. [3]) que $\nabla f = K + (S_L - S_{\tilde{G}})$ où $S_L$ (resp. $S_{\tilde{G}}$) est ici le complément de Schur primal sur $\Omega_L$ (resp. $\Omega_{\tilde{G}}$).

<footnote n="1">¹ Université de Toulouse, ICA (Institut Clément Ader), INSA/UPS/Mines Albi/ISAE - 3 rue Caroline Aigle, 31400 Toulouse
mickael.duval@univ-tlse3.fr, passieux@insa-toulouse.fr, msalaun@isae.fr</footnote>
L'algorithme de couplage s'apparentera alors à une de méthode Newton appliquée à l'équation $f(U) = 0$. Le caractère non-intrusif de la méthode se traduit par une utilisation en boîte noire du logiciel de résolution du problème global sur $\Omega$ et interdit par conséquent tout calcul du complément de Schur $S_{\tilde{G}}$.

L'algorithme s'écrit alors sous la forme d'une méthode de Newton modifiée pour laquelle on considère $\nabla f \approx K$.

$$U^{k+1} = U^k - K^{-1}f(U^k) \quad (1)$$

Sous cette forme, l'inconvénient majeur de cette méthode est sa très faible vitesse de convergence.

En effet, le fait d'approcher $\nabla f$ par $K$, et de ne pas mettre à jour cette valeur au fil des itérations

conduit à une convergence ralentie (voire une divergence), et ce d'autant plus que l'écart de raideur entre $\Omega_{\tilde{G}}$ et $\Omega_L$ est grand (i.e. $\|S_{\tilde{G}} - S_L\|$ est grand). Pour pallier cet inconvénient, il est alors possible d'utiliser des méthodes de Quasi-Newton pour approcher $\nabla f$ sans pour autant avoir besoin de calculer les compléments de Schur $S_L$ et $S_{\tilde{G}}$. L'approche utilisée ici est une correction symétrique de rang un (SR1) appliquée à la matrice $K$ à chaque itération (cf. [4]). Celle-ci permet une mise à jour de la solution sans modification directe de la matrice, conservant ainsi le caractère non-intrusif de la méthode.

<figure><img src="image_2.png" /><figcaption>FIGURE 1 – Algorithme de couplage non-intrusif</figcaption></figure>

# 3 Exemples d'applications

## 3.1 Modifications géométriques locales

<figure><img src="image_3.png" /><figcaption>FIGURE 2 – Modification non-intrusive de la géométrie initiale</figcaption></figure>

Une des applications possibles de la méthode de couplage non-intrusif concerne la réanalyse locale de modèle (cf. [1]). En effet, dans de nombreuses situations réelles, il est parfois nécessaire de modifier un modèle précédemment créé (dans le cadre d'une étude préliminaire par exemple). Cela peut être pour prendre en compte une modification du comportement mécanique, de la géométrie du modèle, ou encore de son maillage éléments finis. Cependant, la prise en compte de tels changements implique souvent la création d'un nouveau modèle et génère ainsi une charge de travail supplémentaire (que ce soit en temps de préparation du modèle et en temps de résolution). Le couplage non-intrusif permet alors ici de prendre en compte une modification locale de la géométrie initiale sans que cela ne requière la création d'un nouveau modèle complet (cf. Fig 2). Seul un modèle local (ici en deux parties disjointes) est généré (ici, en plus de la géométrie, le chargement et le comportement mécanique sont aussi localement modifiés). En appliquant l'algorithme décrit dans la section précédente, il est alors possible d'atteindre l'équilibre entre les modèles local et global, et ainsi obtenir une solution complète, qui est strictement égale à la solution que l'on aurait obtenue en considérant un modèle monolithique.
Un tel couplage a deux avantages majeurs :

* le modèle global n'est pas modifié, tant au niveau de sa géométrie, de son maillage et de ses opérateurs numériques, ce qui peut représenter une économie très importante quand ce dernier est de grande dimension,

* le comportement non-linéaire étant confiné dans le modèle local, on concentre alors l'effort de calcul uniquement là où cela est nécessaire (cela suppose donc une connaissance *a priori* de la zone sur laquelle le patch local doit être placé).

Bien entendu, le prix à payer est alors de devoir
utiliser un algorithme itératif. Toutefois, le sur-
coût engendré par la répétition des itérations de
l'algorithme peut vite s'effacer dès lors que le
coût de calcul d'une itération (résolution globale
linéaire et résolution locale non-linéaire) devient
négligeable devant le coût de calcul qu'engen-
drerait un calcul non-linéaire sur le modèle com-
plet. Aussi, l'utilisation de la correction de Quasi-
Newton (SR1) au niveau de l'algorithme de point
fixe permet d'atteindre une précision acceptable
en seulement quelques itérations (cf. Fig 3).

<figure><img src="image_4.png" /><figcaption>FIGURE 3 – Convergence de l’algorithme</figcaption></figure>

3.2 Décomposition de domaine non linéaire

<figure><img src="image_5.png" /><figcaption>(a) Partition du maillage global de la structure</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>FIGURE 4 – Algorithme de couplage non-intrusif : décomposition de domaine non-linéaire</figcaption></figure>

Dans la section précédente, on a considéré que le comportement de la structure pouvait être représenté
à une échelle globale par un modèle linéaire : seules quelques zones localisées nécessitaient l'emploi d'un
modèle non-linéaire. En pratique, il peut exister des situations pour lesquelles cette hypothèse est fausse,
et pour lesquelles l'emploi d'un modèle non-linéaire sur l'ensemble de la structure s'avère nécessaire.
Or, pour de très grandes structures, un calcul monolithique peut s'avérer très coûteux en temps de calcul.
L'idée des méthodes de décomposition de domaine (cf. [2]) est alors de partitionner la géométrie (et le
maillage) globale afin de distribuer la résolution sur chaque sous-domaine (cf. Fig. 4a). On utilise ici
l'algorithme de couplage non-intrusif de la façon suivante (cf. Fig. 4b) :

* Un modèle linéarisé est utilisé pour la résolution à l'échelle globale. Les déplacements issus de la solution correspondante seront utilisés comme condition de Dirichlet sur la frontière des domaines locaux.

* Un modèle local non-linéaire est utilisé sur chaque sous-domaine (patch local). Les efforts de réaction seront utilisés pour calculer le résidu d'effort sur la structure, et ainsi corriger la solution globale à chaque itération.

Autrement dit le modèle global, linéaire, sert ici de problème macroscopique destiné à garantir l'exten-
sibilité de la méthode en propageant la correction du déplacement global sur chaque patch.

D'un point de vue pratique, l'algorithme utilisé ici ne diffère de celui présenté dans la partie précédente
que par la seule particularité propre à la décomposition de domaine, à savoir que l'ensemble des patchs locaux forment une partition du modèle global initial.

A noter que, cette fois encore, l'utilisation de la mise à jour de Quasi-Newton permet à la fois une convergence plus rapide de l'algorithme et une meilleure extensibilité en fonction du nombre de sous-domaines (cf. Fig. 5).

# 4 Conclusion

Dans cet article, une approche de couplage non-intrusive a été présentée. Cette méthode permet de prendre en compte des caractéristiques locales dans un modèle éléments finis pré-existent sans nécessiter de modification des opérateurs numériques correspondants. Le principal objectif de

la méthode est de rendre plus facile l'analyse de structures, car la préparation des modèles de simulation peut parfois demander plus de temps que le calcul lui-même. Grâce à cet algorithme, nous avons pu mettre en place une réanalyse locale basée sur une modification de la géométrie et du comportement mécanique du modèle initial, en utilisant Code_Aster (EDF R&D) pour les calculs mécaniques et des communications MPI pour le couplage d'interface. Tout le processus est enveloppé dans une API Python. La mise en œuvre de l'algorithme distribué que nous avons proposé ici permet des calculs multi-patchs aisément parallélisable.

Ce travail est soutenu par l'Agence Nationale de la Recherche (ANR-12-MONU-0002 ICARE). Les auteurs remercient également le mésocentre de calcul de Midi-Pyrénées (CALMIP) pour l'allocation des ressources HPC (projet 2014-P1431).

<figure><img src="image_7.png" /><figcaption>FIGURE 5 – Décomposition de domaine non-linéaire : extensibilité</figcaption></figure>

# Références

[1] M.A. Akgün, J.H. Garcelon, and R.T. Haftka. *Fast exact linear and non-linear structural reanalysis and the Sherman-Morrison-Woodbury formulas*, International Journal for Numerical Methods in Engineering, 50(7):1587-1606, 2001.

[2] P. Cresta, O. Allix, C. Rey, S. Guinard. *Nonlinear localization strategies for domain decomposition methods : Application to post-buckling analyses*, Computer Methods in Applied Mechanics and Engineering 196(8):1436-1446, 2007.

[3] M. Duval, J.-C. Passieux, M. Salaün, S. Guinard. *Non-intrusive coupling : recent advances and scalable nonlinear domain decomposition*, Archives of Computational Methods in Engineering, Online first, 2014.

[4] L. Gendre, O. Allix, P. Gosselet, and F. Comte. *Non-intrusive and exact global/local techniques for structural problems with local plasticity*, Computational Mechanics, 44(2):233-245, 2009.

[5] J.D. Whitcomb. *Iterative global/local finite element analysis*, Computers & Structures, 40(4):1027-1031, 1991.