1. 引言
大多数情况下,FLAC2D和FLAC3D的网格可以由其自身提供的功能实现,复杂的三维网格可以通过Griddle创建或者由其它第三方软件导入,例如Abaqus,Ansys和Midas。本文讨论了Gmsh网格导入到FLAC2D和FLAC3D的思路。导入过程很简单,不需要作额外解释。
2. Gmsh函数和方法
下面简要总结了本文使用的Gmsh函数和方法。
Gmsh的基本函数如下:
(1) gmsh.initialize()
(2) gmsh.clear()
(3) gmsh.write("xxx.msh")
Gmsh的gmsh.option方法如下:
(1) setNumber
(2) setColor
(3) getColor
Gmsh的gmsh.model.geo方法如下:
(6) synchronize()
(7) extrude
(8) revolve
(9) twist
Gmsh的gmsh.model方法如下:
(1) add
(2) addPhysicalGroup
(3) setPhysicalName
Gmsh的gmsh.model.mesh方法如下
(1) generate()
3. 二维网格导入到FLAC2D
Gmsh产生的二维网格只能导入到FLAC2D中,不能导入到FLAC3D中。当在Gmsh中生成网格后,导出为stl文件(test.stl),在FLAC2D中作为sketch导入stl文件,然后从背景geometry文件中自动产生边,产生块体,划分单元。
sketch edge create auto
sketch block create automatic
zone generate from-sketch
4. 三维网格导入FLAC3D
Gmsh产生的三维网格保存为Abaqus的inp文件(cube.inp),在FLAC3D中导入,导入时自动产生网格点,单元以及分组。不过,FLAC3D导入Abaqus网格对单元类型有所限制,目前可接受的单元类型有c3d4, c3d5, c3d6和c3d8。这个例子对应于FLAC3D的单元类型为Tetra(绿色和青色)和Wedge(红的),可以通过FLAC3D的type来观察。