我试图从gmsh中的一个简单的几何形状构建一个大的结构,我想使用一个结构化的(四边形)网格。我首先创建这个形状,然后根据需要复制和翻译它,以构建我的最终结构。
问题是,即使我将原始形状的线条和表面定义为超限,一旦复制和翻译它,这个属性就会丢失。检查这个正方形的示例代码:
Point(1) = {0, 0, 0, 1};
Point(2) = {0, 1, 0, 1};
Point(3) = {1, 1, 0, 1};
Point(4) = {1, 0, 0, 1};
Line(1) = {1, 2};
Line(2) = {2, 3};
Line(3) = {3, 4};
Line(4) = {4, 1};
Line Loop(5) = {1, 2, 3, 4};
Plane Surface(6) = {5};
Transfinite Line {1, 2, 3, 4} = 10 Using Progression 1;
Transfinite Surface {6};
Recombine Surface {6};
Translate {0, 1, 0} {
Duplicata { Surface{6}; }
}我使用结构化网格获取原始的正方形,但复制的网格不具有此属性。当我复制表面时,是否有可能保留结构化网格?
编辑:似乎没有可能复制一个结构化的卷或表面。问题是,这些性质直接关系到网格本身,而不是几何。网格不能被复制。
发布于 2018-04-28 17:23:18
这是可能的。
您可以使用GMSH Geometry.CopyMeshingMethod属性,该属性负责复制复制或转换的几何实体的网格方法。默认情况下,它被关闭。要打开它,只需将下面的行添加到GEO文件的开头。
Geometry.CopyMeshingMethod = 1;现在,比较一下:

在GMSH 3.0.5上进行了测试,但应该适用于任何现代版本。
发布于 2022-09-26 07:18:18
这个修复(使用"Geometry.CopyMeshingMethod = 1;")起作用,除非您使用OpenCASCADE来定义几何。
只需将“SetFactory(”OpenCASCADE“)”包含在脚本的开头,就会发现它失败了。
https://stackoverflow.com/questions/49197879
复制相似问题