Contributions of non-intrusive coupling in nonlinear structural mechanics
Apports du couplage non-intrusif en mécanique non-linéaire des structures
Résumé
This PhD thesis, part of the ANR ICARE project, aims at developing methods for complex analysis of large scale structures. The scientific challenge is to investigate very localised areas, but potentially critical as of mechanical systems resilience. Classically, representation models, discretizations, mechanical behaviour models and numerical tools are used at both global and local scales for simulation needs of graduated complexity. Global problem is handled by a generic code with topology (plate formulation, geometric approximation...) and behaviour (homogenization) simplifications while local analysis needs implementation of specialized tools (routines, dedicated codes) for an accurate representation of the geometry and behaviour. The main goal of this thesis is to develop an efficient non-intrusive coupling tool for multi-scale and multi-model structural analysis. Constraints of non-intrusiveness result in the non-modification of the stiffness operator, connectivity and the global model solver, allowing to work in a closed source software environment. First, we provide a detailed study of global/local non-intrusive coupling algorithm. Making use of several relevant examples (cracking, elastic-plastic behaviour, contact...), we show the efficiency and the flexibility of such coupling method. A comparative analysis of several optimisation tools is also carried on, and the interacting multiple patchs situation is handled. Then, non-intrusive coupling is extended to globally non-linear cases, and a domain decomposition method with non-linear relocalization is proposed. Such methods allowed us to run a parallel computation using only sequential software, on a high performance computing cluster. Finally, we apply the coupling algorithm to mesh refinement with patches of finite elements. We develop an explicit residual based error estimator suitable for multi-scale solutions arising from the non-intrusive coupling, and apply it inside an error driven local mesh refinement procedure. Through this work, a software tool for non-intrusive coupling was developed, based on data exchange between codes (Message Passing Interface protocol). Developments are integrated into a Python wrapper, whose role is to connect several instances of Code_Aster, the structural analysis code developed by EDF R&D, which will be used in the following work.
Le projet ANR ICARE, dans lequel s'inscrit cette thèse, vise au développement de méthodes pour l'analyse de structures complexes et de grande taille.
Le défi scientifique consiste à investiguer des zones très localisées, mais potentiellement critiques vis-à-vis de la tenue mécanique d'ensemble. Classiquement, sont mis en œuvre aux échelles globale et locale des représentations, discrétisations, modèles de comportement et outils numériques adaptés à des besoins de simulation gradués en complexité. Le problème global est traité avec un code généraliste dans le cadre d'idéalisations topologiques (formulation plaque, simplification géométrique) et comportementale (homogénéisation); l'analyse locale quant à elle demande la mise en œuvre d'outils spécialisés (routines, codes dédiés) pour une représentation fidèle de la géométrie et du comportement.
L'objectif de cette thèse consiste à développer un outil efficace de couplage non-intrusif pour la simulation multi-échelles / multi-modèles en calcul de structures.
Les contraintes de non-intrusivité se traduisent par la non modification de l'opérateur de rigidité, de la connectivité et du solveur du modèle global, ce qui permet de travailler dans un environnement logiciel fermé.
Dans un premier temps, on propose une étude détaillée de l'algorithme de couplage global/local non-intrusif. Sur la base d'exemples et de cas-test représentatifs en calcul de structures (fissuration, plasticité, contact...), on démontre l'efficacité et la flexibilité d'un tel couplage. Aussi, une analyse comparative de plusieurs outils d'optimisation} de l'algorithme est menée, et le cas de patchs multiples en interaction est traité.
Ensuite le concept de couplage non-intrusif est étendu au cas de non-linéarités globales, et une méthode de calcul parallèle par décomposition de domaine avec relocalisation non-linéaire est développée. Cette méthode nous a permis de paralléliser un code industriel séquentiel sur un mésocentre de calcul intensif.
Enfin, on applique la méthode de couplage au raffinement de maillage par patchs d'éléments finis. On propose un estimateur d'erreur en résidu explicite adapté au calcul de solutions multi-échelles via l'algorithme de couplage. Puis, sur la base de cet estimateur, on met en œuvre une procédure non-intrusive de raffinement local de maillage.
Au travers de ces travaux, un outil logiciel de couplage non-intrusif a été mis au point, basé sur l'échange de données entre différents codes de calcul (protocole Message Passing Interface). Les développements effectués sont intégrés dans une surcouche Python, dont le rôle est de coupler plusieurs instances de Code_Aster, le code d'analyse de structures développé par EDF R&D, lequel sera utilisé dans l'ensemble des travaux présentés.