网格划分软件:元素和边界之间的连通性

计算科学 网格生成 高维 非结构化网格
2021-12-14 17:54:06

我正在实现一种算法,该算法为具有给定 3d 基础的圆柱体生成 4d 网格。这意味着,我有一个 3d 网格,我想为相应的时空圆柱生成一个 4d 网格。目前我正在将 netgen 用于 3d 网格。我能够生成 4d 顶点和新的 4d 元素(五边形)。这是通过对每个 3d 元素应用某种元素级过程来完成的。但是,我还需要边界元素(在 4d 情况下是四面体)。

问题是由 netgen 生成的 3d 网格的边界元素没有连接到 3d 元素。我只有一组三角形索引。

但是我需要知道给定的 3d 元素是否在边界处有一些面(以及哪个面)。如果我知道这一点,我可以在逐元素过程中使用它并创建一个 4d 边界元素列表。但据我所知,我只有一个 3d 边界元素列表,其中包含 3d 网格的每个边界三角形的顶点索引。

任何人都可以暗示如何做到这一点,可能是使用另一个网格软件,或者以某种方式?

或者可能有一个软件可以为时空圆柱体生成 4d 网格,例如,以 3d 球体为基础?

我将不胜感激任何评论。

1个回答

给定每个元素的顶点索引,您可以通过按字典顺序对面进行排序来有效地检索面邻接,然后共享面的元素对在排序的面列表中是连续的。边界元素是那些具有仅在列表中出现一次的构面的元素。

我对这个问题 [1] 的回答中给出了更详细的程序(对于表面网格,可以很容易地适应体积网格)。

[1]生成元素边数的网格选项(tetgen-triangle)