Gmsh的网格剖分模块

第6章 网格剖分模块
Gmsh的网格剖分模块集中了几种1维,2维,3维的网格剖分算法,他们都能产生适合于有限元的网格:
2维的非结构化算法产生三角单元或者三角单元与四方形(当使用拼接曲面时)。3维的非结构化算法产生四面体单元。
3维的结构化算法(超限或拉伸)默认产生三角单元,但是通过recombine命令,能得到四方形。3维结构化算法产生四面体,六面体,三菱柱、椎体,取决于曲面网格的类型。
通过使用Mesh.SubdivisionAlgorihm选项,所有的网格都可再细分为完全的四方形或六面体单元。但是,要注意到是,非结构化方法产生的初始网格,经过细化后,单元的质量可能非常差。
 
6.1 选择正确的非结构化算法
Gmsh有不同的2维的非结构化算法和不同3维的非结构化算法可供选择。每种算法有它的优点和缺点。对于所有的2维非结构化算法,会首先使用分治法产生初始的Delaunay网格,包含了所有的点。使用边交换的方法,调整不符合delaunay特性的边。之后,可使用3个不同的算法来产生最终的网格:
   1、网格自适应算法,基于局部网格调整。这个技巧使用边交换、分割、叠合:长的边被分割,短的边被叠合,如果交换边后得到更好的网格就交换边。
   2、Delaunay算法。依次对具有最大外接圆的单元,插入新的点在其外接圆心上。然后重新连接网格,使用各向异质的Delaunay准则。
   3、波前法。
各个算法特性列表如下:
           自动化程度              性能             单元质量
自适应         1                      3                2
Delaunay       2                      1                2
波前           3                      2                1
对于非常复杂的曲面,自适应方法是最好的,当单元质量非常重要时,可试试波前法。对于非常大的平面上的网格生成,Delaunay算法是最快的。
 
对于3维的非结构化算法:
1、Delaunay算法分成2步,首先,使用H.Si的四面体算法,对模型中的所有体的合集,产生初始的网格,然后,使用2维Delaunay算法的三维版本。
2、波前法,使用J.Schoeberl的Netgen算法
 
Delaunay算法是最自动化和最快的,也是唯一的支持通过区域属性控制单元大小的算法。但是,这个算法有时候会修改表面网格,所以,对于结构和非结构杂交的网格,可能不合适。而在这种情况下,可试试波前法。2种算法产生的单元质量都是差不多的,单元质量非常重要时,可以使用网格优化器。
6.2 基本和物体的实体
 
6.3 网格命令
网格模块的命令大多数允许修改网格单元的尺寸,指定结构化网格的参数。实际的网格剖分“动作”(比如,剖分线,剖分面,剖分体)是不同在脚本文件中使用的。他们必须在GUI界面上或者命令行参数中使用。
6.3.1 指定单元尺寸
有3种方式:
1、如果mesh.CharacteristicLenghFromPoints是打开状态(这也是默认的),你可以简单的指定期望的网格单元尺寸,在模型的几何点上(通过点命令:)。
2、如果mesh.CharacteristicLengthFromCurvature是打开状态(非默认的),网格会适应几何体的曲率。注意,这个特性在gmsh2.5中还是试验性的。
3、可以指定一般的网格尺寸,通过fields。有各种各样的field:
 
6.3.2 结构化网格
.......
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yueliang2100

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值