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

标签 mesh discretization

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

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 中阅读有关指定网格元素大小(以及网格元素大小本身)的各种选项的更多信息。 .

关于mesh - Gmsh 中空心环面的 3-D 网格划分问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61127204/

相关文章:

Python 网格生成

c++ - 匹配 OpenCV C++ 的 PPF 3D 模型

numerical-methods - 乘风破浪 双曲偏微分方程的数值方案、lorena barba 类(class)、需要帮助

java - 如何在 Banjo 中为变量设置任意数量的值

scikit-learn - Scikit Learn - 随机森林 : How continuous feature is handled?

criteria - 半边塌陷

python - 在python中使用VTK找到3D空间中两个圆柱体的交集

qt - QML,将多个网格组合成单个实体