Lettre d’information
La plus récente est affichée ci-dessous.
Les suivantes sont accessibles en cliquant sur les différents numéros.
1 | ... | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | ... | 100
Lettre d'information du 9 juillet 2009
Version imprimableLettre d'information de Code_Aster
Propagation de fissures avec la méthode X-FEM
La méthode X-FEM permet d’introduire une fissure dans une structure saine. Elle est implémentée dans Code_Aster depuis plusieurs années et commence à être utilisée au sein de l’ingénierie d’EDF dans les analyses de nocivité de défaut.
La définition de la fissure ne se fait donc pas grâce au maillage de la structure, mais par le calcul de deux level sets : une level set normale permettant de situer la surface de la fissure, et une level set tangente permettant de situer le fond de fissure. De ce fait, la simulation de la propagation d’une fissure est équivalente à simuler la propagation des deux level sets.
La nouvelle commande PROPA_FISS permet de faire propager une fissure 3d quelconque par calculs successifs de nouvelles level sets par projection sur la nouvelle géométrie discrétisée de la fissure. PROPA_FISS nécessite d’avoir calculé au préalable les valeurs des facteurs d’intensité des contraintes en chaque point du fond de fissure. En 2d, les résultats sont très satisfaisants. En 3d, cette méthode se heurte encore à des difficultés pour des propagations hors-plan.
![]() |
Plaque trouée en traction verticale |
![]() |
Plaque avec deux inclusions rigides en traction horizontale |
Code_Aster présent au congrès NAFEMS 2009
![]() |
Code_Aster était présent à la manifestation mondiale NAFEMS World Congress 2009 en Crête. Ce congrès est le rendez-vous des différents acteurs de la simulation numérique : industriels utilisateurs de codes, bureaux d’études, universitaires et développeurs de code.
Amélioration du parallélisme dans Code_Aster grâce au solveur linéaire MUMPS
Dans le cadre des simulations thermo-mécaniques avec Code_Aster, l’essentiel des coûts calcul provient de la construction et de la résolution des systèmes linéaires. Ces systèmes sont souvent enfouis au plus profond d’autres algorithmes ou méthodes d’analyse : schéma non-linéaire, intégration en temps, analyse modale… Pour améliorer les performances de ces étapes, Code_Aster propose plusieurs stratégies :
- Un "parallélisme informatique" mis en œuvre pour distribuer des calculs Aster indépendants (plusieurs fichiers de commande) ou distribuer des calculs élémentaires et, éventuellement, les assemblages matriciels/vectoriels associés (au sein d’un même fichier de commande).
- Un "parallélisme numérique" mise en œuvre dans les algorithmes de résolution de système linéaire (multifrontale Aster en OpenMP[R6.02.02], le produit MUMPS[R6.02.03] et librairie PETSc[R6.01.02] en MPI).
- Un "parallélisme plus mécanique" avec la méthode de décomposition de domaine FETI[R6.01.03] ou, prochainement, un préconditionneur multigrille adapté aux modélisations du code. Ces fonctionnalités restent encore du domaine de la recherche.
Ces différents niveaux de parallélisme peuvent éventuellement se cumuler pour gagner en efficacité et/ou accroître le portion parallélisée d’un calcul. Cette distribution des données (et donc de leurs traitements associés) entre les processeurs permet ainsi gagner en "temps elapsed" d’exécution et en quantité de mémoire RAM requise par processeur.
Actuellement un chantier logiciel important concerne l’intégration la plus optimale et la plus large possible du solveur direct MUMPS.
EDF R&D collabore d’ailleurs activement avec l’équipe de développement du produit (notamment via l’ANR SOLSTICE). En améliorant le couplage Code_Aster/MUMPS et en upgradant la version de MUMPS (de la 4.7.3 à la 4.8.4), des gains appréciables ont pu être dégagés en consommation RAM par processeurs (en dizaines de pourcents). Et ce, sans trop pénaliser les temps d’exécution. Ceux-ci sont dégradés de seulement quelques pourcents suivant la bande passante des disques et suivant l’importance de la phase de descente-remontée dans le calcul total (cf. figures).
D’autre part cette nouvelle version de MUMPS corrige quelques bugs liés à ses déchargements sur disque des blocs de la matrice factorisée (mot-clé Aster SOLVEUR/OUT_OF_CORE=’OUI’) et elle homogénéifie les pré-traitements qui sont opérés sur la matrice suivant les modes d’utilisation de MUMPS (notamment la phase de scaling ; mot-clé SOLVEUR/PRETRAITEMENTS).
![]() |
Désormais MUMPS est utilisé quotidiennement sur des études (rupture, THM…) non seulement pour exploiter ses fonctionnalités numériques avancées (pivotage, estimation d’erreurs, raffinement itératif) mais aussi (et surtout), pour gagner en temps d’exécution et en mémoire RAM grâce au parallélisme et à l’Out-Of-Core.
Code_Aster Libre version 10.0 (sources) disponible en téléchargement
La version de développement de Code_Aster Libre version 10.0 est disponible en téléchargement. Il s’agit de la version stabilisée en mai 2009.
Le format de diffusion reste le même : une unique archive contenant Code_Aster et tous les outils annexes sous forme de code source.
Outre Code_Aster, on retrouve les dernières mises à jour disponibles : astk 1.7.4 (interface graphique de lancement d’Aster), Eficas 1.16 (éditeur graphique de fichiers de commandes), Homard 9.5 (outil de raffinement et déraffinement de maillages), la bibliothèque med 2.3.5 (échange de maillages et de champs avec des codes tiers), metis-edf-4.1 (outil de renumérotation), mumps 4.7.3 (solveur direct) etc.
Les pré-requis sont :
- une version récente de Python (2.4 ou 2.5),
- un compilateur fortran,
- un compilateur C/C++.
Pour l’installation, consultez le fichier README, puis
python setup.py install
.
Il est conseillé d’utiliser les compilateurs Intel s’ils sont disponibles pour Code_Aster, Mumps et Metis et les compilateurs GNU pour les autres produits embarqués.