对于需要自适应网格细化的应用,所谓的四叉树和八叉树网格非常有吸引力。例如,它们在Gerris和Paramesh中使用。有谁知道这种网格的良好文件格式并支持可视化软件?另请参阅Gerris常见问题解答中的此答案。我目前知道的唯一潜在候选人是VTK HyperOctree类,但是似乎几乎没有文档。
作为网格的特定示例,考虑一个稀疏的八叉树网格,该网格由框组成,每个框包含元。我目前在Visit / Paraview中的策略是:
- 将网格写入为非结构化的VTK文件。对于较大的数据集,这是昂贵的,并且不会利用四叉树/八叉树的“结构化”。
- 将树中的相邻“框”收集到更大的块中,并编写一个块结构的网格。这涉及很多额外的代码,并且丢失了嵌入在四叉树/八叉树中的连接信息。
更新如果当前没有可行的格式可以直接编写和可视化octree网格,我将为可用于将octree编写为块结构网格的文件格式提出建议。理想情况下,此格式:
- 具有相对简单的定义/实现,理想情况下是开源的,并具有C / Fortran兼容性。
- 可以有效地处理大量的网格块(例如1000个或更多)。
- 允许轻松指定网格块的连通性,尤其是在细化边界处。
我目前正在为此目的使用Silo,但我正在寻找在上述三个方面得分更高的东西(更小,更快,更简单)。
1
为什么非结构化网格会创建太多数据?只有500万个单元。对于我来说,这是一个非常小的数据集,可以在Visit或Paraview中可视化。
—
Wolfgang Bangerth '16
因为坐标和连接性是每个单元格指定的,而不是每个框仅指定一次(例如包含512个单元格)。对于较大的数据集(例如,2000万个单元或更多),可视化变得比使用块结构的网格要慢得多,尤其是当网格的重要部分处于相同的细化级别时。
—
Jannis Teunissen '16
也许在访问支持的文件格式列表是这个问题很有用:visitusers.org/...
—
Jannis Teunissen
也许还要看看CHOMBO,SAMRAI等如何进行可视化?
—
Abhilash Reddy M 2016年
将BoxLib添加到列表中。他们开发了一个名为AMRVis的程序包以可视化AMR数据。该代码可从LBL网站获得。
—
Abhilash Reddy M 2016年