非结构化网格上的可扩展并行网格/amr

计算科学 并行计算 网格生成 自适应网格细化 非结构化网格 域分解
2021-12-04 13:53:02

我正在尝试为非结构化网格编写可扩展的并行 AMR。这似乎有三种方法

a)在每个处理器上存储一些全局网格信息,并使用 parmetis 分区(我追求的最简单的方法)。我以前从未使用过 ParMetis(只是 metis),所以我不知道如何能够并行读取给定的网格文件进行分区,然后以并行可读的格式存储文件。

b) 将全局网格存储在 rank=0 上,使用 Metis,然后分散。我不喜欢这种方法,因为它比 (a) 更复杂,而且您仍然需要一个能够存储整个网格的节点。

c) 使用像 p4est 这样的方法,它只适用于结构化的四边形/六边形。我不确定每个处理器上存储了多少全局信息,但它看起来相当可扩展。p4est 中用于网格编码的技术是否也可以用于非结构化网格。在我看来,即使一个只存储一个整数,比如表示一个元素属于哪个处理器,迟早由于无法在一个节点上存储该信息,可伸缩性将受到限制。我认为在p4est中所做的就是对一个粗网格进行分区(可以存储在每个节点上),并在分区后进行细化,但是这种方法不能用于非结构化AMR,对吗?

感谢您的任何意见。

0个回答
没有发现任何回复~