使用BlockRanger(BR)产生结构化网格

1 引言

在《Griddle划分非结构化网格(FLAC3D和3DEC)》中首先使用Cylinder和Mesh命令初步划分三角形网格,然后使用GSurf和GVol命令生成非结构化以六面体为主的网格。对于这样一个圆柱体,如果想使用BlockRanger产生结构化的网格是不可能的,因为BlockRanger只能对四面、五面或六面的实体(不是表面网格)进行操作,而圆柱体只有三个面。如果非要进行这样的操作,则会产生错误信息"遇到不支持的实体(只支持六面体、棱柱体、四面体和扫掠形的实体)。请检查高亮显示实体的拓扑结构"。


另一方面,使用Cylinder命令产生的网格是一个整体,用Itasca语言讲,它是一个Group, 如果在圆柱体内想设置两种或两种以上的材料,显然这种方法是行不通的。因此需要使用不同的技术来达到这一目的。


BlockRanger是Griddle的全六面体结构化网格生成器,它的操作原理与非结构化网格器GVol不同。 为了在圆柱体内创建一个结构化的网格,必须将初始实体细分为适合BlockRanger的形状。

使用BlockRanger(BR)产生结构化网格的图1

(1) BlockRanger (BR) 对实体划分成结构化的六面体网格

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

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

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

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

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

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

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

(9) NonManifoldMerge---Rhino命令合并表面网格,创建单一的非流形网格

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

基本的想法是首先产生圆柱体的底面形状,划分为不同区域,然后拉伸形成圆柱体。


2 产生底面形状

(1) 首先使用Line和Arc命令产生圆形1/4的几何形状,然后使用Join命令把这些线段和圆弧连接成为一个整体;

使用BlockRanger(BR)产生结构化网格的图2

(2) 以0点作为旋转中心,使用Rotate命令旋转-90°,90°,180°,从而产生出一个完整的圆形;

(3) 使用Polyline命令画出圆内的正方形;

(4) 使用ColorizeObjects命令对这个5个对象随机着色。至此底面形状完成。


3 产生圆柱体

使用ExtrudeCrv命令把底面拉长,形成一个圆柱体。为了以防出现裸漏的边,使用Cap命令产生封闭的实体。使用边分析工具检查(Surface>Edge Tools>Show Edges)。再次使用ColorizeObjects命令让圆柱体着色。


4 产生网格

使用BR命令产生网格,BlockRanger共有5个选项:

MeshSettings

GenerateSurfaceMesh=None  

OutputFormat=FLAC3D  

FormatType=Binary  

AutoOutputName=N/A

选择GenerateSurfaceMesh = BySolid, MeshSettings>MaxEdgeLength = 0.85。在FLAC3D导入产生出的网格,如下图所示。

使用BlockRanger(BR)产生结构化网格的图3


默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏 2
关注