u1.02.00 Introduction à code_aster#
Avertissement :
Dans ce document on décrit la philosophie et les domaines d’application de code_aster, sans développer en détail les fonctionnalités disponibles.
Ce document est une première prise de contact avec code_aster et a été donc écrit avec un souci de concision. Il n’a pas pour vocation de répertorier toutes les modélisations ou types d’analyse possibles avec code_aster, et ne se substitue pas à la plaquette de présentation qui en dresse un panorama plus exhaustif.
Toutes les informations, fournies ici ou dans les différents manuels, sont données pour décrire, avec le maximum de précision, le contenu de code_aster. Elles n’ont pas pour ambition de délivrer une formation à la modélisation numérique du comportement des structures mécaniques. code_aster n’est que l’implantation de méthodes décrites et démontrées dans différents ouvrages auquel l’ingénieur devra se reporter, en complément de la documentation de référence, si nécessaire. Les manuels de code_aster supposent acquise par ailleurs une formation à la mécanique des solides et à la méthode des éléments finis.
Table des matières
La méthode de résolution#
Pour la résolution des différents problèmes évoqués, la principale méthode de discrétisation spatiale implantée actuellement dans code_aster est la méthode des éléments finis.
Une implantation paramétrée de la méthode des éléments finis#
Un effort particulier a été fait pour paramétrer l’implantation de la méthode des éléments finis. Les options de calcul nécessaires à chaque méthode d’analyse (statique, quasi-statique, dynamique) et à chaque phénomène (mécanique, thermique, acoustique) sont traitées globalement pour toute la structure, quelles que soient les modélisations retenues pour une étude particulière.
Parmi les possibilités offertes par cette architecture, citons:
L’indépendance entre la topologie de discrétisation (MAILLAGE) et les propriétés d’interpolation des éléments finis affectés à ces mailles (MODELE) d’où la diversité des modélisations utilisables sur un même maillage;
La diversité des relations de comportement et des propriétés des matériaux utilisables dans un même modèle;
Le traitement des conditions aux limites et des chargements par des éléments finis spécifiques de bord, pour permettre leur localisation sans ambiguïté, notamment pour les milieux continus;
Une procédure systématique permettant de traiter la dépendance des propriétés de matériaux et des conditions aux limites à différents paramètres (température, temps, variable d’espace…) à l’aide de FONCTION ou de FORMULE définies en Python.
Des structures de données permettant d’utiliser toutes les modélisations avec les différents algorithmes de résolution.
Une bibliothèque d’éléments finis étendue#
La bibliothèque d’éléments finis est paramétrée pour permettre l’affectation, aux différentes mailles reconnues, des formulations discrétisées des phénomènes disponibles.
Les milieux continus#
On appelle milieu continu une portion de structure tridimensionnelle ou bidimensionnelle, traitée comme un volume.
Les modélisations 3D sont les formes les plus simples de milieu continu, car elles ne font appel à aucune hypothèse supplémentaire. Dans les modélisations 2D, on supprime une équation, mais on doit rajouter des hypothèses: par exemple de déformations planes ou de contraintes planes en mécanique, d’axisymétrie en thermique et en mécanique.
Les composants de structure#
Les éléments structuraux sont construits en intégrant des hypothèses sur le comportement cinématique tridimensionnel (représentant plus ou moins bien les phénomènes de flexion, torsion, cisaillement, gauchissement…). On peut les classer en trois catégories:
Les éléments à feuillet moyen (plaques, coques): chaque type d’élément repose sur des hypothèses de variation des inconnues dans l’épaisseur, qui permet de calculer la valeur en tout point à partir de celle prise sur le feuillet moyen (et éventuellement les faces inférieure et supérieure en thermique);
Les éléments à fibre moyenne (barres, poutres, tuyaux, câbles): les hypothèses relient pour chaque section transverse la valeur des inconnues en tout point à celle prise sur la fibre moyenne;
Les éléments discrets (masses, ressorts, amortisseurs…): ils permettent d’introduire sur des mailles ponctuelles ou des segments des caractéristiques exprimées dans un repère quelconque.
Ces composants nécessitent l’usage de la commande AFFE_CARA_ELEM pour définir leurs caractéristiques.
Les raccords de modélisations#
L’implantation retenue pour la méthode des éléments finis permet de traiter des structures modélisées avec différents types d’éléments mécaniques (milieux continus ou éléments structuraux). Le raccord d’éléments finis s’appuyant sur des degrés de liberté différents, en un même nœud, peut être fait en écrivant des relations linéaires adaptées à la nature du raccord. Une méthodologie particulière a été mise au point pour transmettre aussi correctement que possible (au sens des moindres carrés) les torseurs d’effort. On peut ainsi représenter de manière satisfaisante le raccord entre un milieu 3D et des poutres, des plaques, des coques ou des tuyaux, ainsi que les raccords coque-poutre, coque-tuyau ou poutre-tuyau.
Les milieux discontinus#
Il existe également des éléments prenant en compte les discontinuités (eg: fissure)
Par la méthode des level-sets (éléments XFEM) avec modélisation du contact et du frottement;
Par les méthodes CZM (Cohesive Zone Models) avec modélisation du contact en refermeture et de l’endommagement en ouverture;
Les éléments à discontinuité interne;
Les modélisations hétérogènes#
Des techniques d’homogénéisation permettent de représenter à moindre coût un réseau de tubes baignant dans un fluide incompressible, des coques composites multicouches, ou des poutres multi‑fibres.
Solveurs et algèbre linéaire#
Concernant les méthodes de numérotation des inconnues, de stockage des matrices assemblées et de résolution des systèmes linéaires sur lesquels s’appuient les différents algorithmes, on dispose aujourd’hui de plusieurs méthodes: solveur direct ou itératif, séquentiel ou parallèle.
En «natif» dans code_aster:
Solveurs directs: méthode multi-frontale (parallélisé OpenMP) et méthode \({\mathit{LDL}}^{T}\) .
Solveur itératif: gradient conjugué préconditionné.
Ces méthodes sont associées à des algorithmes de renumérotation des degrés de liberté permettant d’optimiser la taille mémoire nécessaire pour stocker les matrices.
En externe, il est possible d’utiliser les solveurs suivants:
MUMPS: solveurs direct parallélisé MPI out-of-core;
PeTSC: bibliothèque de solveurs itératifs, parallélisées MPI;
Pour le calcul modal: méthodes de Lanczos, Sorensen, les méthodes par puissance inverse, pour les problèmes réels et complexes, symétrique ou non.
Les outils d’étude#
Compléments et opérations sur le maillage#
La notion de maillage utilisée par code_aster est réduit très simple: liste des nœuds et de leurs coordonnées, liste des mailles et de leur topologie (connectivités). A ces entités est rajoutée la notion des groupes de nœuds et de groupe de mailles. Ces groupes permettent d’affecter différentes caractéristiques de modélisation (éléments finis, matériaux, conditions aux limites, chargements…) et de conduire le dépouillement des résultats (extraction sélective de composantes).
L’utilisateur peut créer des groupes de nœuds ou de mailles à tout moment dans le déroulement du calcul, grâce à des critères logiques ou géométriques. On peut également modifier la structure de données contenant le maillage: changement de repère, ajout de nœuds supplémentaires sur des mailles, création de nouvelles mailles ou groupes de mailles, destruction de mailles, etc. L’ajout et l’ablation de matière peuvent être donc modélisés simplement.
La construction d’un maillage complexe ne peut se faire que via l’utilisation d’un outil plus adapté à cet usage comme Salome et ses mailleurs intégrés (Netgen, BLSurf, Hexotic, etc.) ou GMSH.
Catalogue de données matériau#
Un catalogue de données matériau sous AQ donne accès aux valeurs des paramètres de lois de comportement pour différents matériaux couramment utilisés dans les études. Les caractéristiques matériaux peuvent être directement incluses dans le fichier de commandes grâce à un opérateur spécifique. Pour la version libre, tout l’appareillage du catalogue est disponible mais la base est vide.
Traitement et exploitation des résultats#
Opérations sur les champs#
Les champs calculés peuvent être utilisés dans toutes sortes de combinaisons algébriques. En analyse linéaire, on peut ainsi par exemple déduire la réponse à un chargement complexe des réponses aux chargements unitaires sur lesquels il se décomposent.
Relevé de valeurs#
Des opérations d’extraction des champs de résultats sont disponibles sur des nœuds ou des mailles. Il est également possible de définir un chemin d’observation quelconque indépendant du maillage initial. Différents calculs sont proposés sur les champs extraits (moyenne, écart-type, invariants tensoriels, passage en axes locaux, etc.). Pour les évolutions temporelles ou fréquentielles, il est possible d’extraire la déformée à un instant (une fréquence) ou la réponse d’une grandeur particulière.
Impression des résultats#
Les résultats peuvent être imprimés sous une forme aisément consultable ou au format des outils de visualisation (MED, I-DEAS, GMSH). code_aster communique avec Salomé à l’aide du format MED.
On peut également tracer des courbes à différents formats (postscript ou d’autres formats d’images) à l’aide du traceur xmgrace.
Contrôle de la qualité des résultats#
De nombreuses fonctionnalités permettent de contrôler la qualité des résultats d’une étude ou d’en faciliter sa mise en œuvre.
Estimateurs d’erreur et maillage adaptatif#
Deux catégories d’estimateur d’erreur sont disponibles. Couplés avec le logiciel de raffinement/ déraffinement HOMARD (chaînage interne à code_aster par l’intermédiaire de macros-commande), ils permettent d’adapter le maillage en cours de calcul afin d’atteindre une précision donnée, pour un coût calcul optimal.
Vérification de la qualité d’une base modale#
Des critères de vérification de la qualité d’une base modale permettent de s’assurer que le nombre de modes propres retenus permet de représenter correctement les phénomènes que l’on souhaite étudier.
Utilisation de maillages incompatibles#
Des opérateurs de projection permettent de poursuivre sur un second maillage un calcul effectué sur un premier maillage. On peut ainsi utiliser des maillages différents en thermique et en mécanique (en incluant par exemple un bloc fissure dans la structure uniquement au moment de son analyse en exploitation, après avoir calculé sur un maillage plus simple les contraintes résiduelles dues à son mode de fabrication).
Redécoupage automatique du pas de temps et pilotage du chargement#
En cas de non convergence de l’algorithme global de résolution, l’utilisateur peut demander à ce que le code engage de lui même un redécoupage des pas de temps afin de permettre la convergence. Un mécanisme de gestion par événements est également disponible.
Par ailleurs, il est aussi possible, afin de faciliter la convergence des calculs, de piloter l’application progressive du chargement par la valeur d’un degré de liberté ou d’une déformation (méthodes de continuation).
Indicateurs de décharge et de perte de radialité#
Ces indicateurs permettent a posteriori de vérifier la validité des hypothèses formulées sur le comportement non linéaire d’une structure, et la pertinence du mode d’application du chargement retenu (pas de charge).
Les outils-dédiés#
Définition et mode opératoire#
On appelle outil-dédiés des outils très liés au métier d’exploitant de matériels de production et distribution électrique, et utilisant code_aster comme solveur. Les outils-dédiés peuvent avoir une intégration plus ou moins forte à code_aster. On distingue deux cas de figure:
Intégration au fichier de commandes code_aster en tant que macro-commande (incluant la création du maillage à partir de données géométriques simples et appel à un mailleur externe);
Production par un outil séparé (pré-post processeur autonome) de fichiers de commandes pilotant le calcul code_aster, et traitement dans cet outil des fichiers des résultats récupérés.
Les modes d’échanges#
code_aster peut recevoir en données des fichiers provenant de calculs préalablement effectués par des logiciels externes. Il peut également exporter ses résultats sous un format exploitable par d’autres outils. Pour certains types d’analyses (par exemple interaction sol-structure ou sol-fluide-structure avec le logiciel MISS3D) les deux types de chaînage peuvent être activés.
Les échanges avec d’autres logiciels se font actuellement soit au format MED, soit dans un format spécifique au logiciel chaîné. Plusieurs commandes de code_aster permettent la lecture ou l’écriture des objets à transmettre (champs de résultats, matrices, chargements…). Dans certains cas (MISS3D), des macro-commandes facilitent la mise en œuvre d’un calcul chaîné.
Les logiciels interfacés avec code_aster#
Les logiciels de maillage interfacés avec code_aster sont salome_meca, Gibi (sous-ensemble de CASTEM2000), I‑DEAS ou GMSH. Pour la visualisation des résultats, on peut utiliser salome_meca, I-DEAS ou GMSH.