我正在使用tetgen,但遇到了麻烦。我想创建一个网格,从给定的表面三角形开始。我不想更改给定的三角形。
特别是,我正在研究这样一个领域:有一个带有内部孔的外部立方盒(也有一个盒)。我拥有的三角形是内表面和外表面中的一个。我想在两个曲面之间建立网格。不幸的是,我没有成功。
我使用的输入是这种类型的:
节点数3、0、1(无区域,但有标记)
-节点列表
构面数,1(标记)
面列表
1(1孔)
-孔的坐标
0(无区域)
构面列表是内部和外部两个表面的三角形的列表。我考虑了这种领域最简单的网格。而且我确信我给tetgen的输入是“正确的”。我已经在matlab上显示了它,它与我想要的输入一致。也许我想要的不是tetgen想要的...
然而,tetgen发现不相交的相交三角形。他们共享一面,但我认为方面可以共享一面!还是我错了?也许某些三角形是共面的?
从概念上讲,我认为我的输入中有问题,但我不明白是什么。
当我打电话给tetgen时,我使用“ -Y”开关以避免表面变化。我分别尝试过-p和-q开关,分别是togheter或。但是总是发生相同的错误。
有人可以帮我吗?
非常感谢你。
最佳答案
由于您的输入几何非常简单,只有两个嵌套的多维数据集,我相信这不应该是tetgen的问题。
要确保输入正确,请首先尝试使用tetgen的-d选项。
另一种方法是使用其他工具为tetgen创建输入,例如Gmsh。
关于c++ - Tetgen:从曲面的给定三角形开始,创建一个新的网格,而不改变曲面的连通性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34369569/