Gmsh-奇葩网格划分软件
1. 软件的功能控制都要使用脚本语言或者编程来完成。
2. 输入文件.geo实际上是一个脚本文件。文本格式编辑保存。
3. 脚本文件内容
几何模型定义
点
Point(1) = {0, 0, 0, lc};
1是tag,0-0-0是坐标,lc是该点附近的网格特征长度。Lc越小网格越密。可以自己试试lc=0.01,0.1,0.5的区别。
Point(2) = {.1, 0, 0, lc};
Point(3) = {.1, .3, 0, lc};
Point(4) = {0, .3, 0, lc};
定义了xoy平面的四个点。
线
Line(1) = {1, 2};
Line(2) = {3, 2};
Line(3) = {3, 4};
Line(4) = {4, 1};
定义了四条线。
面
首先要定义一个曲线环curve loop(软件要求如此,别问为什么)。
Curve Loop(1) = {4, 1, -2, 3}; //为什么是-2,因为前头的曲线2定义的方向是从点3指向点2
然后定义平面
Plane Surface(1) = {1};
然后就可以画网格了
Mesh 2; //2表示划分2维网格
Save "t1.msh";
--------------------
体的画法可以如下:
Extrude {0, 0, 0.1} { Surface{1}; } //将表面1沿着z方向伸出0.1,形成一个长方体。
否则,只能按照点线面体的方法一点一点来画。
4. 用gmsh打开即可。或者在命令行输入gmsh 你的geo文件名.geo即可。
todo:
1. 表面法线方向如何批量修改,或者如何控制。