Triangle : mailleur 2D

Fiche PLUME
  • Création ou MAJ importante : 15/07/2010
  • Correction mineure : 19/07/2010
  • Auteur : Sylvain Faure - Laboratoire de Mathématiques Orsay (CNRS, Université Paris-Sud XI)
  • Responsable thématique : Violaine Louvet (Institut Camille Jordan)
  • Relecteur 1 : Romaric David
  • Relecteur 2 : Loïc Gouarin
Mots clés
Description
Fonctionnalités générales

Ce petit programme, écrit en C, permet de mailler par des triangles un domaine bidimensionnel (avec ou sans trous). La génération de base des triangles est effectuée par une triangulation de Delaunay à partir d'un nuage de points. Il est également possible de générer le diagramme de Voronoi, de contraindre le maillage à utiliser certaines arêtes ou certains points via un PSLG (Planar Straight Line Graph) et de faire du raffinement de maillage local.
Ce logiciel est très facile à compiler et à utiliser en ligne de commande. Deux commandes sont à la disposition des utilisateurs : "triangle" pour mailler et "showme" pour visualiser les maillages créés.
Efficace et très basique, il peut être utilisé pour des calculs 2D et il convient bien pour des étudiants n'ayant jamais utilisé de mailleurs auparavant.

Interopérabilité

Pour décrire le domaine à mailler, on donne en entrée un fichier .poly (ou éventuellement un fichier .node) contenant une description des contours du domaine et éventuellement des trous ou régions à labelliser de façon spécifique.

Après exécution de la commande triangle, on obtient les fichiers suivants :

  • un fichier .poly complété,
  • un fichier .node contenant les coordonnées, attributs et marqueurs de frontière de chaque sommet,
  • un fichier .ele contenant les numéros des sommets et les attributs de chaque triangle,
  • un fichier .area contenant l'aire de chaque triangle,
  • un fichier .edge contenant les numéros des sommets et les marqueurs de frontière de chaque arête,
  • un fichier .neigh contenant les numéros des 3 triangles voisins de chaque triangle.

Exemple : pour mailler un carré on écrit un fichier carre.poly contenant

4 2 0 1 #nb_sommets dimension=2 attributs marqueur_frontiere=0ou1
1 0 0
2 0 1
3 1 0
4 1 1
4 2 1 # nb_segments dimension=2 marqueur_frontiere=0ou1
1 1 2
2 2 4
3 4 3
4 3 1
0 # nb_trous

et on utilise la commande "triangle -qevnpa.001 carre.poly" pour obtenir un maillage constitué de triangles d'aire maximale 0.001...

Contexte d'utilisation dans mon laboratoire/service
  • Génération de maillage triangulaire 2D
  • Enseignement
Limitations, difficultés, fonctionnalités importantes non couvertes

C'est un logiciel très élémentaire, quelques lignes écrites en langage C, pas d'interopérabilité avec d'autres mailleurs, pas d'interface utilisateur,... C'est aussi ce qui peut faire sa force lorsque l'on cherche quelque chose de simple.

Environnement du logiciel
Plates-formes

Aucun binaire, le logiciel écrit en langage C doit être compilé

Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Un développeur à l'origine du logiciel :

Jonathan Richard Shewchuk
Computer Science Division
University of California at Berkeley
Berkeley, California 94720-1776

Eléments de pérennité

Aucun développement nouveau depuis 2005

Références d'utilisateurs institutionnels

University of California at Berkeley
Université Paris-Sud
Ecole Polytechnique

Environnement utilisateur
Documentation utilisateur
Divers (astuces, actualités, sécurité)
Contributions