网格(用于FEM)的常见文件/数据格式是什么?


13

我正在开发FEM模拟。对于早期测试,我将使用简单的自写网格器和网格图的可视化。但是我想准备程序以使用现有网格划分器生成的数据,并将其输出到现有的可视化工具。

是否有针对(FEM)网格的文件格式和内部数据格式的建议(准)标准?


4
Exodus II用于读取网格,VTK用于写入输出。
stali 2016年

Answers:


8

简短的答案是“否”,没有标准格式。但是有一些常见的用法,例如Gmsh用于输入/输出和VTK用于输出。

在做出决定之前,您需要了解您想做什么。如果您想暂时使用(小型)程序,则可以选择最适合您的口味和需求的格式。如果您打算将来更改为“更大”的程序,最好立即开始管理其文件格式。如果您打算使用商业预处理器/后处理器,那么我建议您坚持使用它们的格式,因为它们会使用每个新版本“更新”那些格式,这可能会让人头疼。

在下面,我列出了一些(开源)选项。

前处理

后期处理

  • 使用Paraview / Mayavi进行可视化。然后使用VTK文件格式。您可以在此处查看Paraview用户指南。
  • 您也可以在Gmsh中进行后处理。
  • Salome-Meca是后处理的另一种选择,它可以与VTK完美配合。

我认为VTK对我来说是正确的格式:1.我可以将其用作网格的输入和后期处理的输出。2.有一个处理它的库。3.这似乎很常见,例如gmesh可以生成它。这些假设可以吗?
迈克尔

1
1.您需要考虑在模型中包含材料属性,BC和约束。我不确定如何在VTK中实现这些功能,但是您可能会找到解决方法。2.是的,但这取决于您选择的编程语言。3.是的,这很普遍。您可以直接使用vtk(在C ++,Java或Python中),Mayavi,Paraview,VisIt甚至Chrome:P。而且,是的,您可以在Gmesh中生成它们,尽管不确定物理组。
nicoguaro


3

实际上有一个标准:ISO / TS 10303(从1380到1386部分开始)。

在被ISO劫持之前,该计划始于1980年代,被称为PDES / STEP。参见https://www.pdesinc.org/index.html

但是我相信除非有人在强制性要求的环境中工作,否则没有人会使用它。许多国际委员会在颠覆最初的良好意图方面做得非常出色,并制定了一个标准,试图涵盖从描述公司的整体管理结构到编写日期和时间的正确格式的所有内容(我没有,不是在开玩笑)。


3

FEM的文件格式数量可笑,部分原因是每个软件包过去都实现了自己的格式。

在此处输入图片说明

(来自xkcd。)

我创建了meshio来减轻在格式之间进行转换的麻烦,因此,如果您使用meshio支持的任何格式,那么将来应该可以轻松进行切换。

在我所知道的所有格式中,VTU和XDMF是我个人使用最多的格式。



0

我第二次使用VTK进行文件输出。如果您想使用非常通用的网格结构,我将向您介绍CGNS库(CFD通用符号系统)的方向,它是一种开源网格格式,具有由财团(包括波音和NASA)维护的自己的库。使用该库读取节点,属性,边界条件等列表非常有用,并且库本身很容易编译。该库是C ++,但可以与Fortran链接。

我们在内部代码中使用了它,我发现它是一种非常有效的格式。它在后台使用HDF5来存储二进制文件。此外,ANSYS,Salome,GMSH均在不同程度上支持该格式的导出。这是github:https : //cgns.github.io/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.