首页/文章/ 详情

Griddle---数值模拟的高级网格划分工具

1年前浏览3035

1 引言

大多数数值方法,包括有限元、有限体积元和其他方法,都需要将问题域表示为由各种形状的单元组成的几何网格。单元的数量和质量决定了计算结果的准确性和模拟需要的时间。现代三维地质力学模拟通常涉及到具有相当复杂几何形状的大型模型,因此生成一个合理的网格,成为数值建模的主要挑战之一,一方面需要虑到所有的主要几何特征,另一方面需要在单元类型、单元质量以及网格尺寸作出平衡。


在FLAC3D和3DEC发展初期,建立网格模型是一件非常复杂的任务,差不多占整个模拟过程总工作量的70~80%。目前的FLAC3D和3DEC已经内置了许多网格生成辅助工具,除了可以导入FLAC3D(*f3grid)数据外,也可以导入ABAQUS的*.inp文件和ANSYS的*lis文件。此外,FLAC3D内置了22种"Buildings Blocks",可以快速构建常见的边坡,隧道和地下开挖数值模型,不过当问题的几何形状较为复杂时,需要使用Griddle建立模型。

本课程基于Rhinoceros CAD软件和Griddle网格划分插件介绍有关网格划分技术的一般信息、数值网格的类型以及体积网格的生成实例,例如弯曲的复杂形状的隧道,有交叉断层的露天矿;工作流程包括使用各种CAD工具建立模型,把初始设计导入到Rhino中,然后使用Griddle工具进行多步骤的网格划分过程。划分过程的结果是一个体积网格,可以在FLAC3D、3DEC、ABAQUS或其他数值模拟软件中使用。

Griddle简介

Griddle不是一个独立的应用程序,它是Rhino的一个插件, 一个表面网格划分和体积网格生成工具,它的主要用途是为FLAC3D和3DEC模型进行网格划分。在Griddle完成网格划分后,可直接输入到FLAC3D和3DEC中。基本的工作流程是在Rhino生成几何形状的基础之上,Griddle进行表面网格和体积网格划分,然后输出为网格数据文件。不过,它也与其它一些工程模拟软件有接口,包括ABAQUS、ANSYS、NASTRAN、LS-DYNA、VRML和CSV。

由于Griddle(V2.00.12, 10/08/2021)是Rhino的一个插件,因此必须安装Rhino才能使用,不过,低版本的Rhino不能成功安装Griddle 2.0。例如,SR7(6.7.18199.22081, 2018/7/18)就发现与Griddle不兼容,不能载入Griddle.rhp;网上广泛流传的一个可用版本是V6.35。Rhino 7基本上没有问题,测试了V7 SR11 (7.11.21293.9001)能够成功安装上Griddle;目前测试安装的是Rhino的最新版本Version 7 SR12 (7.12.21313.6341, 2021-11-09)。


3 Griddle组件

使用Rhino工具创建和处理点、点云、曲线、曲面、网格和实体,生成复杂的隧道模型,还可以定义施工阶段,从AutoCAD导入几何图形;使用偏移、阵列和轨道工具为衬砌、桩基、钢筋混凝土和岩石锚杆添加结构元,然后将这些生成的模型直接导入FLAC3D或3DEC。Griddle可以快速地对非常复杂的地质和工程结构进行网格化, 如断层和节理。这些结构,包括自由的内表面,在FLAC3D中自动取为网格面,在3DEC模型中被自动取为节理;快速形成高质量的模型域; 细化表面网格; 修复质量差的网格; 创建非结构化的体积网格填不漏水的区域;结构化的体积网格填充Rhino实体; 为对象分配名称,这些名称在FLAC3D和3DEC中作为组名。

Griddle插件共有10个可操作的组件,如下图所示。Griddle使用网格划分工具BlockRanger创建结构化的六面体网格,用网格划分工具GVol创建非结构化的四面体或六面体网格。结构化网格的特点是单元之间有规则的连接,而非结构化的网格则由不规则的连接来识别。相对而言,结构化网格比非结构化网格能提供更精确的应力计算结果。然而,非结构化网格的生成速度通常要快得多;它们可以为任何复杂的几何体创建,而且它们对尖锐的边缘和角落更为有效。具体地,这10个组件从左到右分别为:

(1) BlockRanger---对实体划分成结构性六面体网格【使用BlockRanger(BR)产生结构化网格

(2) GInt---对表面网格相交的部分进行调整

(3) GSurf---非结构化的表面网格划分,以指定的参数创建非结构化表面网格

(4) GVol 非结构化的四面体/六面体为主的网格划分

(5) GHeal 一组用于识别和修复表面网格问题的工具 

(6) GExtract 一组根据用户指定的准则提取部分表面网格的工具

(7) GExtend 一组用于沿指定边界扩展表面网格的工具 

(8) GExtrude 一组沿其边界挤压表面网格的工具,用来创建一个不漏水的区域

(9) NonManifoldMerge---Rhino命令合并表面网格,创建单一的非流形网格【NonManifoldMerge--非流行复合曲面(non-manifold polysurface)

(10) ColorizeObjects---为对象分配随机颜色

4 非结构化网格

结构化网格只能包含六面体,结构化网格在拓扑结构上是均匀的网格,单元之间有规则的连接,这样使得复杂外形的边界网格难以生成;而非结构化网格可以包含四面体,没有规则的拓扑结构,网格节点的分布是随机的。相对而言,结构化网格比非结构化网格能提供更精确的应力计算结果,但非结构化网格的生成速度要快得多FLAC3D使用2D Extruder可以产生相对简单的非结构化网格,对于复杂的几何形状,使用Griddle生成网格

为了产生非结构化网格,需要使用GSurfGVol这两个组件。下面简要描述Griddle生成FLAC3D和3DEC的非结构化网格。

(1) 首先需要产生出几何形状,Rhino的操作方式与AutoCAD的操作方式基本相同。使用_Cylinder命令产生一个半径为2,高度为10的圆柱体,使用_Mesh命令三角化圆柱体的表面,

网格的密度可以根据下面的显示框调节。


(2) 使用_GSurf命令重新划分初始的三角形网格。GSurf共有5个选项, 设置前三项的值,后两项保持默认值:

Mode=QuadDom

MinEdgeLength=0.5  

MaxEdgeLength=0.5

RidgeAngle=20  

AdvancedParameters


(3) 使用_GVol命令产生体积网格。GVol共有4个选项:

MeshSettings=Tet  

OutputFormat=FLAC3D  

FormatType=Binary  

AutoOutputName=N/A 

设置MeshSettingsMode=HexDom,其它选项保持默认值:

Mode=HexDom

MaxGradation=0.5  

TargetSize=0  

Optimization=5  

ShapeQuality=0.75  

IniErrorCheck=Yes

产生的网格文件默认值为cylinder_GVol_Binary.f3grid,共生成1433个单元和1542网格点。值得注意的是,虽然我们设置要生成六面体单元(HecDom),但实际生成的不完全是六面体,

六面体: 1095 (76.41% of total, 94.58% of volume)

棱柱体: 69 (4.82% of total, 2.56% of volume)

金字塔体: 155 (10.82% of total, 2.10% of volume)

四面体: 114 (7.96% of total, 0.77% of volume)。

在FLAC3D中输入生成的网格,如下图所示。


(4) 对于3DEC,Griddle不能输出六面体单元,只能输出四面体单元,由于默认的文件格式是二进制文件,因而在3DEC中导入的速度比使用block zone list poly 命令输入的速度要快很多(粘合块体模拟BBM---Bonded Block Modeling)。


来源:计算岩土力学
MeshingLS-DYNAAutoCADFLAC3D3DEC曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-11-27
最近编辑:1年前
计算岩土力学
传播岩土工程教育理念、工程分析...
获赞 143粉丝 1041文章 1776课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈