Je développe une simulation FEM. Pour les premiers tests, j'utiliserai un maillage simple auto-écrit et une visualisation du graphe maillé. Mais je veux préparer mon programme à utiliser les données générées par un mailleur existant et à les transmettre aux outils de visualisation existants.
Existe-t-il une norme (quasi-) recommandée pour le format de fichier et le format de données interne pour les maillages (FEM)?
finite-element
mesh
graph-theory
Michael
la source
la source
Réponses:
La réponse courte est non, il n'y a pas de format standard. Mais il y en a certains, comme Gmsh pour les entrées / sorties et VTK pour les sorties.
Avant de prendre une décision, vous devez savoir ce que vous voulez faire. Si vous souhaitez avoir votre (petit) programme pendant un certain temps, vous pouvez choisir le format qui convient le mieux à vos goûts et à vos besoins. Si vous envisagez de passer à un programme "plus grand" à l'avenir, ce serait une bonne idée de commencer à gérer leurs formats de fichiers dès maintenant. Si vous prévoyez d'utiliser des pré / post-processeurs commerciaux, je vous suggère de vous en tenir à leurs formats, car ils "mettent à jour" ceux avec chaque nouvelle version et cela pourrait être une douleur dans la tête.
Ci-dessous, je liste quelques options (open source).
Prétraitement
Post-traitement
la source
vtk
(en C ++, Java ou Python), Mayavi, Paraview, VisIt ou même Chrome : P. Et, oui, vous pouvez les générer dans Gmesh, mais vous n'êtes pas sûr des groupes physiques.Vous pouvez essayer le format de fichier MSH de Gmsh ou le format de fichier neutre GAMBIT .
la source
Il existe en fait une norme pour cela: ISO / TS 10303 (commencer par les parties 1380 à 1386).
Avant d'être détournée par l'ISO, cette initiative, qui a commencé dans les années 80, était connue sous le nom de PDES / STEP. Voir https://www.pdesinc.org/index.html
Mais je ne pense pas que quiconque l'utilise beaucoup à moins de travailler dans un environnement où c'est une exigence obligatoire. Un grand nombre de comités internationaux ont fait un excellent travail pour renverser la bonne intention initiale et ont produit une norme qui tente de tout couvrir, de la description de la structure de gestion globale d'une entreprise au format correct pour écrire les dates et les heures (et non, je je ne plaisante pas).
la source
Le nombre de formats de fichiers pour FEM est ridicule, en partie en raison du fait que chaque progiciel a implémenté son propre format dans le passé.
(De xkcd .)
J'ai créé meshio pour soulager la douleur de la conversion entre les formats, donc si vous utilisez n'importe quel format pris en charge par meshio, vous devriez pouvoir facilement changer à l'avenir.
De tous les formats que je connais, VTU et XDMF sont ceux que j'utilise le plus personnellement.
la source
Outre le format de fichier MSH cité dans la réponse de Wes, j'utilise également le format de fichier MESH de Gamma3. Si vous programmez en C / C ++, il existe une bibliothèque logicielle facile à utiliser, LM6, pour le chargement / enregistrement dans ce format de fichier [1]
[1] https://www.rocq.inria.fr/gamma/gamma/Membres/CIPD/Loic.Marechal/Research/LM6.html
la source
J'appuie l'utilisation de VTK pour la sortie de fichiers. Si vous souhaitez utiliser une structure de maillage très générique, je vous indiquerai la direction de la bibliothèque CGNS (CFD General Notation System) qui est un format de maillage open source avec sa propre bibliothèque maintenue par un consortium (dont Boeing et la NASA) . La lecture d'une liste de nœuds, de propriétés, de conditions aux limites, etc. est extrêmement utile avec cette bibliothèque et la bibliothèque elle-même est très facile à compiler. La bibliothèque est en C ++, mais elle peut être liée à Fortran.
Nous l'utilisons dans notre code interne et j'ai trouvé que c'est un format très efficace. Il utilise HDF5 sous le capot pour les fichiers binaires. De plus, ANSYS, Salome, GMSH prennent tous en charge l'exportation vers ce format à des degrés divers. Voici le github: https://cgns.github.io/
la source