Gmsh 中空心环面的 3-D 网格划分问题

Problem with 3-D meshing of a hollow torus in Gmsh

我想创建一个空心或厚半圆环,为此,我使用以下命令:

SetFactory ("OpenCASCADE");
Torus (1) = {0,0,0, 170,30, Pi};
Torus (2) = {0,0,0, 170,20, Pi};
BooleanDifference (8) = {Volume {1}; Delete; } {Volume {2}; Delete; };

当我尝试创建 3D 网格时出现以下错误:

PLC Error: A segment and a facet intersect at point
Info: (122,229,106,391, -9.48334).
Info: Segment: [314,311] # -1 (0)
Info: Facet: [7,54,60] # 1
Error: Invalid boundary mesh (segment-facet intersection) on surface 1, intersection (122.229,106.391, -9.48334)
Error: No elements in volume 8

为什么会这样?如何修复?

您的几何定义没有问题。一切都是合法的。

但是,在 GEO 文件中,您没有指定所需的网格单元大小。而且,在这种特殊情况下,GMSH 无法使用它选择的默认四面体网格创建合适的四面体网格。

以下将允许您在空心半圆环上创建合适的四面体网格:

Mesh.CharacteristicLengthMin = 5;
Mesh.CharacteristicLengthMax = 10;


SetFactory ("OpenCASCADE");
Torus (1) = {0,0,0, 170,30, Pi};
Torus (2) = {0,0,0, 170,20, Pi};
BooleanDifference (8) = {Volume {1}; Delete; } {Volume {2}; Delete; };

在这里,我手动指定了最小和最大元素大小。我的选择是任意的,主要取决于获得视觉上吸引人的网格。

您可以在 the corresponding section of GMSH documentation.

中阅读有关指定网格元素大小(以及网格元素大小本身)的各种选项的更多信息