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; };
在这里,我手动指定了最小和最大元素大小。我的选择是任意的,主要取决于获得视觉上吸引人的网格。
中阅读有关指定网格元素大小(以及网格元素大小本身)的各种选项的更多信息
我想创建一个空心或厚半圆环,为此,我使用以下命令:
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; };
在这里,我手动指定了最小和最大元素大小。我的选择是任意的,主要取决于获得视觉上吸引人的网格。
中阅读有关指定网格元素大小(以及网格元素大小本身)的各种选项的更多信息