1 引言
数值模拟的第一步是对模型进行单元和网格划分,选择正确的网格生成方法以及有效地部署该方法是数值模拟过程中的关键步骤。由于网格生成需要考虑很多因素,因此一个项目使用的方法不能照搬到另一个项目。这个笔记简要讨论了FLAC3D(也适用于3DEC)网格划分的一些注意事项。
2 方法分类
1) FLAC3D内置了三种方法来划分单元和网格,它们是:基元生成(primitives)、挤压生成(extrusions)和积木生成(building blocks)。每种方法都有明显的优点和缺点。对于网格的初始生成,它们是相互排斥的(即不能同时用基元和挤压来创建一组区域)。然而,程序提供的命令允许根据需要对来自任何方法的区段进行进一步修改、组合等等。实现模型几何形状的正确途径可能涉及到这些区域生成方法的巧妙组合。
2) 此外,FLAC3D可以从导入的文件中创建单元,例如ANSYS和Abaqus。也可以使用Griddle或其它第三方工具来生成网格,例如CUBIT, HyperMesh, TrueGrid等来划分网格。
3) FLAC3D也有一些附加的工具来生成和修改单元。对于那些几何形状复杂,但单元面与表面的精确一致性在物理上并不重要的情况,使用几何描述和网格密集化来创建八叉(octree )网格,当有复杂的不相交的地层或不均匀的表面地形时,可以使用zone generate from-topography从地形生成区域的命令。
3 划分策略
没有哪一种网格生成方法能够适应所有情况,最佳的方法极大依赖于模型的几何形状和分析目标。下面所列的是一个总的策略。
1) 如果问题具有非常简单、规则的几何形状,或者恰好符合zone create创建命令可用的形状之一,那么使用基元生成网格理论上是最快的方法。使用FISH函数可以改变初始的基元形状。对于参考点较多的实体可以在Rhino中划分网格。目前作的一项试验是在Rhino内产生所有的基元网格。
2) 如果问题的几何形状可以用二维图形来描述,或者只在三维上有微小的变化,那么就应该首先考虑使用挤压extrusions方法。导出的几何体也可以在Building Blocks模块中进行修改。
3) 如果问题比较复杂,但仍由相对规则的形状组成,那么就应该考虑使用Building Blocks方法。FLAC3D内置了许多岩土工程常见的几何模型(创建弯曲隧道的衬砌模型(Liner Model for Curved Tunnel))。
4) 如果问题非常不规则和/或涉及复杂的不规则相交面,那么就需要决定单元面与描述模型的面的准确符合对结果是否重要。通常对于不规则矿体或其他材料边界,这对模型的整体物理响应并不重要。在这种情况下,通常使用八叉octree方法。
5) 如果问题非常不规则,网格的精确一致性非常重要,那么应该考虑使用Griddle或其他第三方网格划分工具。
4 网格尺寸
不论使用何种方法划分网格,最终生成的网格影响着计算效率、模型几何的真实性以及结果的准确性。当划分网格时应考虑下面的因素:
1) 优先选择六面体单元(Hexahedral zones),因为混合离散过程对六面体单元的体积塑性变形能够做出更准确的响应;不过,如果建立复杂的几何模型时,六面体单元比四面体(tetrahedral zones)较难使用。
2) 更细的网格会带来更准确的结果,因为它们能更好地表现高应力梯度,但是计算速度随着单元数量的增加而降低。
3) 单元的长宽比不应过大,长宽比大的单元严重影响着计算结果。
4) 如果需要不同的单元大小,那么从最小到最大的变化越是渐进,效果越好。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删