1. 引言
本文主要比较了Rhino内置的网格划分方法与Griddle的网格划分方法,比较对象是一个半径为2,高度为10的圆柱体。最后比较了Cubit的网格划分方法。
2. GSurf网格划分
Griddle的网格划分命令GSurf可根据所需参数创建高质量的三角形、四边形或全四边形的曲面网格,它通过指定最大边长和最小边长来划分网格。GSurf共有5个选项, 设置前三项的值,后两项保持默认值:
Mode=QuadDom
MinEdgeLength=0.5
MaxEdgeLength=0.5
RidgeAngle=20
AdvancedParameters
GSurf生成的网格是“各向同性”的网络,也就是说每个方向的尺寸基本上相同。如果想改变网格的尺寸,需要使用其它Rhino方法来重载网格边的尺寸。Griddle手册的第12~15页讨论了改变网格尺寸的方法,但这个手册写得过于简单,没有讨论改变网格尺寸后如何使用GVol产生体积网格,事实上这是一件很麻烦的事情。
Number of quadrilaterals: 626
Number of triangles: 2
接下来使用_GVol命令产生体积网格。GVol共有4个选项:
MeshSettings=Tet
OutputFormat=FLAC3D
FormatType=Binary
AutoOutputName=N/A
设置MeshSettings的Mode=HexDom,其它选项保持默认值:
Mode=HexDom
MaxGradation=0.5
TargetSize=0
Optimization=5
ShapeQuality=0.75
IniErrorCheck=Yes
3. QuadRemesh网格划分
Rhino内置的QuadRemesh命令可以用四边面重构网格,即产生四面体网格。
它的边长控制有两种方法:定义边长和定义四面体的数量。
(1) 定义边长
设置“目标边缘长度”定义边长,为了与上面的方法作比较,输入0.5。在FLAC3D中生成了1607个gridpoints,1709 zones以及534个faces。
Hexahedra: 1146 (67.06% of total, 94.63% of volume)
Prisms: 44 (2.57% of total, 1.08% of volume)
Pyramids: 334 (19.54% of total, 3.39% of volume)
Tetrahedra: 185 (10.83% of total, 0.90% of volume)
(2) 定义数量
Hexahedra: 7446 (72.99% of total, 95.95% of volume)
Prisms: 275 (2.70% of total, 1.04% of volume)
Pyramids: 1491 (14.62% of total, 2.25% of volume)
Tetrahedra: 989 (9.70% of total, 0.76% of volume)
4. 比较结果
下图所示的是上述三种方法生成网格的比较。QuadRemesh命令比Griddle手册建议的改变网格尺寸的方法好,不过顾名思义,QuadRemesh仅对FLAC3D使用的四面体有效,因而对3DEC的网格生成没有帮助。
5. Cubit网格划分
create Cylinder height 10 radius 2
Volume 1 scheme sweep
Volume 1 size 0.5
mesh volume 1
共产生出1360个纯Hex单元,比较顶面网格的形状可以看出,网格形状更均匀【sculpt parallel 网格质量控制(12)】。生成的网格可以直接导入到FLAC3D中【多种岩土数值模拟软件导入Cubit四面体网格(tetmesh)的测试】。
quality volume 1 shape global draw mesh
quality volume 1 scaled jacobian global draw mesh
quality hex all scaled jacobian
quality hex all aspect ratio top 10