如何解决gmsh网格生成错误

问题描述 投票:1回答:1

我正在尝试对具有各种长宽比的10个椭圆进行3D网格划分,以进行OpenFOAM仿真。我注意到当我尝试生成3D网格时,我也遇到了3个网格错误。3条错误消息是:

  1. 错误:无法恢复曲线1000(表面1上)的边缘405(1/1219),>
  2. 错误:在表面1026中找不到挤压的节点(0.9090634994349311,-0.0009576995469135237,1)
  3. 错误:第1卷中没有元素
  4. 这些消息出现在大多数椭圆上,其余的都没有问题。

我对gmsh相当陌生,所以我很乐意解释导致这些错误的原因以及如何解决这些错误。

我计划使用更复杂/无定形的形状,因此我需要知道这些形状的网格划分将很可靠。使用此设置实现鲁棒网格划分的任何技巧也将不胜感激。

这里是其中一种形状的3D网格文件(如果需要,可以提供更多的形状:]

Point(1000) = { 0.14286, 0.0, 0.00000000, 0.005};
Point(1001) = { 0.14256, 0.06407, 0.00000000, 0.005};
Point(1002) = { 0.14168, 0.12788, 0.00000000, 0.005};
Point(1003) = { 0.14022, 0.19116, 0.00000000, 0.005};
Point(1004) = { 0.13818, 0.25365, 0.00000000, 0.005};
Point(1005) = { 0.13558, 0.31511, 0.00000000, 0.005};
Point(1006) = { 0.13242, 0.37527, 0.00000000, 0.005};
Point(1007) = { 0.12871, 0.43388, 0.00000000, 0.005};
Point(1008) = { 0.12447, 0.49072, 0.00000000, 0.005};
Point(1009) = { 0.11973, 0.54553, 0.00000000, 0.005};
Point(1010) = { 0.11449, 0.59811, 0.00000000, 0.005};
Point(1011) = { 0.10878, 0.64823, 0.00000000, 0.005};
Point(1012) = { 0.10262, 0.69568, 0.00000000, 0.005};
Point(1013) = { 0.096043, 0.74028, 0.00000000, 0.005};
Point(1014) = { 0.08907, 0.78183, 0.00000000, 0.005};
Point(1015) = { 0.081731, 0.82017, 0.00000000, 0.005};
Point(1016) = { 0.074056, 0.85514, 0.00000000, 0.005};
Point(1017) = { 0.066077, 0.8866, 0.00000000, 0.005};
Point(1018) = { 0.057826, 0.91441, 0.00000000, 0.005};
Point(1019) = { 0.049338, 0.93847, 0.00000000, 0.005};
Point(1020) = { 0.040647, 0.95867, 0.00000000, 0.005};
Point(1021) = { 0.031789, 0.97493, 0.00000000, 0.005};
Point(1022) = { 0.0228, 0.98718, 0.00000000, 0.005};
Point(1023) = { 0.013718, 0.99538, 0.00000000, 0.005};
Point(1024) = { 0.0045788, 0.99949, 0.00000000, 0.005};
Point(1025) = { -0.0045788, 0.99949, 0.00000000, 0.005};
Point(1026) = { -0.013718, 0.99538, 0.00000000, 0.005};
Point(1027) = { -0.0228, 0.98718, 0.00000000, 0.005};
Point(1028) = { -0.031789, 0.97493, 0.00000000, 0.005};
Point(1029) = { -0.040647, 0.95867, 0.00000000, 0.005};
Point(1030) = { -0.049338, 0.93847, 0.00000000, 0.005};
Point(1031) = { -0.057826, 0.91441, 0.00000000, 0.005};
Point(1032) = { -0.066077, 0.8866, 0.00000000, 0.005};
Point(1033) = { -0.074056, 0.85514, 0.00000000, 0.005};
Point(1034) = { -0.081731, 0.82017, 0.00000000, 0.005};
Point(1035) = { -0.08907, 0.78183, 0.00000000, 0.005};
Point(1036) = { -0.096043, 0.74028, 0.00000000, 0.005};
Point(1037) = { -0.10262, 0.69568, 0.00000000, 0.005};
Point(1038) = { -0.10878, 0.64823, 0.00000000, 0.005};
Point(1039) = { -0.11449, 0.59811, 0.00000000, 0.005};
Point(1040) = { -0.11973, 0.54553, 0.00000000, 0.005};
Point(1041) = { -0.12447, 0.49072, 0.00000000, 0.005};
Point(1042) = { -0.12871, 0.43388, 0.00000000, 0.005};
Point(1043) = { -0.13242, 0.37527, 0.00000000, 0.005};
Point(1044) = { -0.13558, 0.31511, 0.00000000, 0.005};
Point(1045) = { -0.13818, 0.25365, 0.00000000, 0.005};
Point(1046) = { -0.14022, 0.19116, 0.00000000, 0.005};
Point(1047) = { -0.14168, 0.12788, 0.00000000, 0.005};
Point(1048) = { -0.14256, 0.06407, 0.00000000, 0.005};
Point(1049) = { -0.14286, 1.2246e-16, 0.00000000, 0.005};
Point(1050) = { -0.14256, -0.06407, 0.00000000, 0.005};
Point(1051) = { -0.14168, -0.12788, 0.00000000, 0.005};
Point(1052) = { -0.14022, -0.19116, 0.00000000, 0.005};
Point(1053) = { -0.13818, -0.25365, 0.00000000, 0.005};
Point(1054) = { -0.13558, -0.31511, 0.00000000, 0.005};
Point(1055) = { -0.13242, -0.37527, 0.00000000, 0.005};
Point(1056) = { -0.12871, -0.43388, 0.00000000, 0.005};
Point(1057) = { -0.12447, -0.49072, 0.00000000, 0.005};
Point(1058) = { -0.11973, -0.54553, 0.00000000, 0.005};
Point(1059) = { -0.11449, -0.59811, 0.00000000, 0.005};
Point(1060) = { -0.10878, -0.64823, 0.00000000, 0.005};
Point(1061) = { -0.10262, -0.69568, 0.00000000, 0.005};
Point(1062) = { -0.096043, -0.74028, 0.00000000, 0.005};
Point(1063) = { -0.08907, -0.78183, 0.00000000, 0.005};
Point(1064) = { -0.081731, -0.82017, 0.00000000, 0.005};
Point(1065) = { -0.074056, -0.85514, 0.00000000, 0.005};
Point(1066) = { -0.066077, -0.8866, 0.00000000, 0.005};
Point(1067) = { -0.057826, -0.91441, 0.00000000, 0.005};
Point(1068) = { -0.049338, -0.93847, 0.00000000, 0.005};
Point(1069) = { -0.040647, -0.95867, 0.00000000, 0.005};
Point(1070) = { -0.031789, -0.97493, 0.00000000, 0.005};
Point(1071) = { -0.0228, -0.98718, 0.00000000, 0.005};
Point(1072) = { -0.013718, -0.99538, 0.00000000, 0.005};
Point(1073) = { -0.0045788, -0.99949, 0.00000000, 0.005};
Point(1074) = { 0.0045788, -0.99949, 0.00000000, 0.005};
Point(1075) = { 0.013718, -0.99538, 0.00000000, 0.005};
Point(1076) = { 0.0228, -0.98718, 0.00000000, 0.005};
Point(1077) = { 0.031789, -0.97493, 0.00000000, 0.005};
Point(1078) = { 0.040647, -0.95867, 0.00000000, 0.005};
Point(1079) = { 0.049338, -0.93847, 0.00000000, 0.005};
Point(1080) = { 0.057826, -0.91441, 0.00000000, 0.005};
Point(1081) = { 0.066077, -0.8866, 0.00000000, 0.005};
Point(1082) = { 0.074056, -0.85514, 0.00000000, 0.005};
Point(1083) = { 0.081731, -0.82017, 0.00000000, 0.005};
Point(1084) = { 0.08907, -0.78183, 0.00000000, 0.005};
Point(1085) = { 0.096043, -0.74028, 0.00000000, 0.005};
Point(1086) = { 0.10262, -0.69568, 0.00000000, 0.005};
Point(1087) = { 0.10878, -0.64823, 0.00000000, 0.005};
Point(1088) = { 0.11449, -0.59811, 0.00000000, 0.005};
Point(1089) = { 0.11973, -0.54553, 0.00000000, 0.005};
Point(1090) = { 0.12447, -0.49072, 0.00000000, 0.005};
Point(1091) = { 0.12871, -0.43388, 0.00000000, 0.005};
Point(1092) = { 0.13242, -0.37527, 0.00000000, 0.005};
Point(1093) = { 0.13558, -0.31511, 0.00000000, 0.005};
Point(1094) = { 0.13818, -0.25365, 0.00000000, 0.005};
Point(1095) = { 0.14022, -0.19116, 0.00000000, 0.005};
Point(1096) = { 0.14168, -0.12788, 0.00000000, 0.005};
Point(1097) = { 0.14256, -0.06407, 0.00000000, 0.005};
Point(1098) = { 0.14286, -2.4493e-16, 0.00000000, 0.005};


Spline(1000) = {1000:1098,1000};

edge_lc = 0.2;
Point(1900) = { 5, 5, 0, edge_lc};
Point(1901) = { 5, -5, 0, edge_lc};
Point(1902) = { -5, -5, 0, edge_lc};
Point(1903) = { -5, 5, 0, edge_lc};

Line(1) = {1900,1901};
Line(2) = {1901,1902};
Line(3) = {1902,1903};
Line(4) = {1903,1900};

Line Loop (1) = {1,2,3,4};
Line Loop (2) = {1000};
Plane Surface(1) = {1,2};

Extrude {0, 0, 1} {
  Surface{1};
  Layers{1};
  Recombine;
}
Physical Surface("back") = {1027};
Physical Surface("front") = {1};
Physical Surface("top") = {1022};
Physical Surface("exit") = {1010};
Physical Surface("bottom") = {1014};
Physical Surface("inlet") = {1018};
Physical Surface("aerofoil") = {1026};
Physical Volume("internal") = {1};

我正在尝试对具有各种长宽比的10个椭圆进行3D网格划分,以进行OpenFOAM仿真。我注意到当我尝试生成3D网格时,我也遇到了3个网格错误。 3错误...

python mesh finite-element-analysis openfoam
1个回答
0
投票

发生问题,因为Spline(1000)现在是一个闭环。这是不理想的。在GMSH中,更希望将形成闭环的行定义为至少两个单独的对象,然后将它们添加到相应的Line Loop

© www.soinside.com 2019 - 2024. All rights reserved.