对于我目前的工作,我需要使用 Gmsh 重新划分给定的几何图形(目前正在尝试所有 Gmsh 版本来实现这一点)以继续我的 Abaqus 模拟。
从图中可以看出,几何有一些线和面类型的集合或物理标签。
物理表面1表示表面集。物理曲线2表示底线组等。“曲线”和“线”可以互换使用。
因此,这产生了 1 个表面集 (WPsurf) 和 4 个线集(bot、left、right、top)。
.geo 文件:
lc=20; //characteristic element length
Point(1) = {1.8689e-35,3.99916e-33,0,lc};
Point(2) = {8.33333,9.32267e-32,0,lc};
Point(3) = {16.6667,7.58404e-33,0,lc};
Point(4) = {25.0,-9.38607e-36,0,lc};
Point(5) = {6.903e-33,5.34874,0,lc};
Point(6) = {9.4089,10.8391,0,lc};
Point(7) = {16.7265,10.0288,0,lc};
Point(8) = {25.0479,9.96269,0,lc};
Line(1)={1,2};
Line(2)={2,6};
Line(3)={5,6};
Line(4)={1,5};
Line(5)={2,3};
Line(6)={3,7};
Line(7)={6,7};
Line(8)={3,4};
Line(9)={4,8};
Line(10)={7,8};
Curve Loop(1)={1,2,-3,-4};
Surface(1)={1};
Curve Loop(2)={5,6,-7,-2};
Surface(2)={2};
Curve Loop(3)={8,9,-10,-6};
Surface(3)={3};
Compound Surface{1,2,3};
Physical Surface("setWPsurf")={1,2,3};
Compound Curve{1,5,8};
Physical Curve("setWPbot")={1,5,8};
Compound Curve{4};
Physical Curve("setWPleft")={4};
Compound Curve{9};
Physical Curve("setWPright")={9};
Compound Curve{3,7,10};
Physical Curve("setWPtop")={3,7,10};
Mesh 2;
当复合线或曲面时,Gmsh 会组合构成复合的所有元素并通过所有元素进行网格划分(因此会越过元素的边缘),并且基本上能够重新划分几何图形。
蓝线表示旧的几何形状,由于单元长度 (lc) 的粗化,网格和几何形状的形状不同。
数字代表不同的线组(2=bot,3=left,4=right,5=top)。正如所希望的那样,一维元素不仅显示了新的(重新划分网格的)几何体,而且还显示了原始几何体。
另一个问题是,例如,当查看顶线时,集合(“setWPtop”)仍然连接到旧线复合,并且重新网格化的顶线根本没有集合。
再次查看 2d 元素时,问题似乎在这里消失了,因为所有新创建的 2d 元素都继承了旧标签(“setWPsurf”)。
这里,数字1代表集合“setWPsurf”。
我的问题是:
1.如何重新网格化复合几何体,同时丢失网格文件中的旧几何体?
和
2.是否有可能将旧几何体与新网格进行映射,从而为我新创建的线条提供相应的集合?
我期待任何帮助或方向。