Mélina

Fiche logiciel validé
  • Création ou MAJ importante : 03/11/10
  • Correction mineure : 03/11/10
Mots-clés
Pour aller plus loin

Mélina : bibliothèque de calculs éléments finis

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations : Mélina
Description
Fonctionnalités générales

Mélina fournit un ensemble de procédures Fortran pour la résolution de problèmes variationnels. Des éléments finis nodaux de type Lagrange sont définis en 1D, 2D (triangles et quadrangles) et 3D (tétraèdres, prismes et hexaèdres) jusqu'à des degrés très élevés (par exemple P6 pour les triangles et Q20 pour les quadrangles). Les routines d'assemblage (uni- et multi-inconnue) sont intégrées, ainsi que les méthodes de résolution de systèmes linéaires et de recherche de modes propres.

De nombreuses contributions ont été ajoutées depuis la création du code dans les années 1990 : couplage avec des formulations intégrales, méthode des éléments finis localisés, implémentation de PML, etc. Les applications sont nombreuses et variées : en électromagnétisme (Helmholtz extérieur, Maxwell 2D/3D, Galbrun), mécanique et fluides, élasticité, optimisation de formes.

La résolution d'un problème variationnel requiert l'écriture de 3 fichiers. La formulation variationnelle est définie en langage naturel dans le fichier Directives, la résolution proprement dite (résolution du système linéaire, résolution itérative non-linéaire ou schéma temporel le cas échéant) dans le programme principal Fortran, et les fonctions utilisateurs dans un deuxième fichier fortran. Ces seules étapes suffisent pour la majorité des utilisations.

Pour une utilisation avancée, il est possible de définir de nouveaux intégrands (pour une formulation spécifique) ou éléments finis (en spécifiant le support et les fonctions de base) en créant quelques fichiers prévus à cet effet. De même les méthodes standards de résolution de systèmes linéaires ou de recherche de valeurs propres sont intégrées à Mélina, mais l'utilisateur a la possibilité d'utiliser ses propres routines.

Mélina dispose d'un utilitaire de création de maillages 2D simples, mais ne fournit pas de mailleur générique. L'importation au format Modulef; ou mGmsh est prévue. Pour la visualisation des résultats, l'outil grame est intégré (nécessitant pgplot), ainsi que des sorties vers Matlab, Medit et Paraview.

Interopérabilité

Import de maillages Modulef, Gmsh
Export graphique vers Matlab et Medit, Paraview

Contexte d'utilisation dans mon laboratoire/service

Mélina est un code de recherche évolutif et modulaire. S'il est possible de l'utiliser pour résoudre des problèmes industriels, là n'est pas sa vocation première. Il est conçu pour une grande adaptabilité, plutôt qu'optimisé pour un problème donné. Le fait de pouvoir prendre en compte n'importe quelle formulation variationnelle (et non pas des problèmes pré-définis) laisse une grande liberté à l'utilisateur. De plus, la présence d'éléments finis de haut (voire très haut) degré (et la possibilité d'utiliser des maillages courbes) rendent Mélina particulièrement adapté à la résolution de certains problèmes délicats. Dans ce contexte, il a été utilisé avec succès pour la prise en compte de singularités et couches limites ou encore dans l'approximation de modes propres fortement oscillants.

Limitations, difficultés, fonctionnalités importantes non couvertes

Nécessité d'un mailleur extérieur.

Environnement du logiciel
Plates-formes

Unix (Sun, AIX, SGI), Linux (Redhat/Fedora, Debian, Ubuntu), Mac OS X, Windows (avec Cygwin)

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement
Eléments de pérennité

Mélina est utilisé depuis de nombreuses années au sein de différents laboratoires : à l'université de Rennes et à l'ENSTA, mais aussi à l'antenne de Bretagne de l'ENS Cachan, à l'université de Dijon, de Tunis, etc.

La bibliothèque est développée principalement par Daniel Martin (Université de Rennes 1), épaulé de contributeurs (Éric Lunéville, Colin Chambeyron à l'ENSTA). Une version C++ est en cours de réalisation avec l'aide de Yvon Lafranche (Université de Rennes 1) et Éric Darrigrand (Université de Rennes 1), incluant de nouvelles fonctionnalités comme les équations intégrales. Des utilisateurs confirmés apportent aussi des contributions régulières : Anne-Sophie Bonnet-BenDhia (POEMS), Ludovic Goudenège (ENS Cachan Bretagne), Guillaume Legendre (Université Paris Dauphine), Grégory Vial (ENS Cachan Bretagne).

La vitalité de la communauté Mélina est assurée par des ateliers récurrents, soutenus par le CNRS et les universités concernées.

Références d'utilisateurs institutionnels

Une liste de travaux de recherche utilisant Mélina est disponible sur le site.

Environnement utilisateur
Documentation utilisateur
Contributions

Tout utilisateur peut joindre Daniel Martin par mail pour un rapport de bogue, une demande de modification ou une contribution.