3.7 延伸和扫掠生成有限元模型
下面介绍一些相对前面方法而言更为简便的划分网格模式—拖拉、旋转和扫掠生成有限元网格模型。其中延伸方法主要用于利用二维模型和二维单元生成三维模型和三维单元,如果不指定单元,那么只会生成三维几何模型,有时它可以成为布尔操作的替代方法,而且通常更简便。扫掠方法是利用二维单元在已有的三维几何模型上生成三维单元,该方法对于从CAD中输入的实体模型通常特别有用。延伸方法与扫掠方法最大的区别在于,前者能在二维几何模型的基础上生成新的三维模型同时划分好网格,而后者必须是在完整的几何模型基础上来划分网格。
3.7.1 延伸(Extrude)生成网格
先用下面方法指定延伸(Extrude)的单元属性,如果不指定,后面的延伸操作都只会产生相应的几何模型而不会划分网格。另外值得注意的是,如果想生成网格模型,在源面(或者线)上必须划分相应的面网格(或者线网格)。
命令:EXTOPT。 GUI:Main Menu > Preprocessor > Modeling > Operate > Extrude > Elem Ext Opts。
执行上述命令后,弹出Element Extrusion Options对话框,如图3-44所示,指定想要生成的单元类型(TYPE)、材料号(MAT)、实常数(REAL)、单元坐标系(ESYS)、单元数(VAL1)、单元比率(VAL2),以及指定是否要删除源面(ACLEAR)。
图3-44 Element Extrusion Options对话框
用以下命令可以执行具体的延伸操作。
(1)面沿指定轴线旋转生成体。
命令:VROTATE。 GUI:Main Menu > Preprocessor > Modeling > Operate > Extrude > Areas > About Axis。
(2)面沿指定方向延伸生成体。
命令:VEXT。 GUI:Main Menu > Preprocessor > Modeling > Operate > Extrude > Areas > By XYZ Offset。
(3)面沿其法线生成体。
命令:VOFFST。 GUI:Main Menu > Preprocessor > Modeling > Operate > Extrude > Areas > Along Normal。
注意:当使用VEXT或者相应的GUI时,弹出Extrude Areas by XYZ Offset对话框,如图3-45所示,其中DX、DY、DZ表示延伸的方向和长度,而RX、RY、RZ表示延伸时的放大倍数,示例如图3-46所示。
图3-45 Extrude Areas by XYZ Offset对话框
图3-46 将网格面延伸生成网格体
(4)面沿指定路径延伸生成体。
命令:VDRAG。 GUI:Main Menu > Preprocessor > Modeling > Operate > Extrude > Areas > Along Lines。
(5)线沿指定轴线旋转生成面。
命令:AROTATE。 GUI:Main Menu > Preprocessor > Modeling > Operate > Extrude > Lines > About Axis。
(6)线沿指定路径延伸生成面。
命令:ADRAG。 GUI:Main Menu > Preprocessor > Modeling > Operate > Extrude > Lines > Along Lines。
(7)关键点沿指定轴线旋转生成线。
命令:LROTATE。 GUI:Main Menu > Preprocessor > Modeling > Operate > Extrude > Keypoints > About Axis。
(8)关键点沿指定路径延伸生成线。
命令:LDRAG。 GUI:Main Menu > Preprocessor > Modeling > Operate > Extrude > Keypoints > Along Lines。
如果不在EXTOPT中指定单元属性,那么上述方法只会生成相应的几何模型,有时可以将它们作为布尔操作的替代方法,如图3-47所示,可以将空心球截面绕直径旋转一定角度直接生成。
图3-47 用延伸方法生成空心圆球
3.7.2 扫掠(VSWEEP)生成网格
在激活体扫掠之前按以下步骤进行。
(1)确定体的拓扑模型能够进行扫掠,如果是下列情况之一则不能扫掠:体的一个或多个侧面包含多于一个环;体包含多于一个壳;体的拓扑源面与目标面不是相对的。
(2)确定已定义合适的二维和三维单元类型。例如,如果对源面进行预网格划分,并想扫掠成包含二次六面体的单元,应当先用二次二维面单元对源面划分网格。
(3)确定在扫掠操作中如何控制生成单元层数,即沿扫掠方向生成的单元数。可用如下方法控制。
命令:EXTOPT, ESIZE, Val1, Val2。 GUI:Main Menu > Preprocessor > Meshing > Mesh > Volume Sweep > Sweep Opts。
执行上述命令后,弹出Sweep Options对话框,如图3-48所示。该对话框中各选项的含义依次如下:是否清除源面的面网格;在无法扫掠处是否用四面体单元划分网格;程序自动选择源面和目标面还是用户手动选择;在扫掠方向生成多少单元数;在扫掠方向生成的单元尺寸比率。其中关于源面、目标面、扫掠方向和生成单元数的含义示意图如图3-49所示。
图3-48 Sweep Options对话框
图3-49 扫掠示意图
(4)确定体的源面和目标面。ANSYS在源面上使用的是面单元模式(三角形或者四边形),用六面体或者楔形单元填充体。目标面是仅与源面相对的面。
(5)有选择地对源面、目标面和边界面划分网格。
体扫掠操作的结果会因在扫掠前是否对模型的任何面(源面、目标面和边界面)划分网格而不同。典型情况是用户在扫掠之前对源面划分网格,如果不划分,则ANSYS程序会自动生成临时面单元,在确定了体扫掠模式之后就会自动清除。
在扫掠前确定是否预划分网格应当考虑以下因素。
如果想让源面用四边形或者三角形映射网格划分,那么应当预划分网格。
如果想让源面用初始单元尺寸划分网格,那么应当预划分。
如果不预划分网格,ANSYS通常用自由网格划分。
如果不预划分网格,ANSYS使用有MSHAPE设置的单元形状来确定对源面的网格划分。MSHAPE,0,2D生成四边形单元,MSHAPE,1,2D生成三角形单元。
如果与体关联的面或者线上出现硬点则扫掠操作失败,除非对包含硬点的面或者线预划分网格。
如果源面和目标面都进行预划分网格,那么面网格必须相匹配。不过,源面和目标面并不要求一定都划分成映射网格。
在扫掠之前,体的所有侧面(可以有连接线)必须是映射网格划分或者四边形网格划分,如果侧面为划分网格,则必须有一条线在源面上,还有一条线在目标面上。
有时尽管源面和目标面的拓扑结构不同,但扫掠操作依然可以成功,只需采用适当的方法即可。如图3-50所示,将模型分解成两个模型,分别从不同方向扫掠即可生成合适的网格。
图3-50 扫掠相邻体
用户可用如下方法激活体扫掠。
命令:VSWEEP, VNUM, SRCA, TRGA, LSMO。 GUI:Main Menu > Preprocessor > Meshing > Mesh > Volume Sweep > Sweep。
如果用VSWEEP命令扫掠体,须指定下列变量值:待扫掠体(VNUM)、源面(SRCA)、目标面(TRGA),另外可选用LSMO变量指定ANSYS在扫掠体操作中是否执行线的光滑处理。
如果采用GUI途径,则按下列步骤。
(1)选择主菜单中的Main Menu > Preprocessor > Meshing > Mesh > Volume Sweep > Sweep命令,弹出体扫掠选择框。
(2)选择待扫掠的体并单击Apply按钮。
(3)选择源面并单击Apply按钮。
(4)选择目标面,单击OK按钮。
如图3-51所示为一个体扫掠网格的示例,图3-51(a)、图3-51(c)表示没有预网格直接执行体扫掠的结果,图3-51(b)、图3-51(d)表示在源面上划分映射预网格然后执行体扫掠的结果,如果用户觉得这两种网格结果都不满意,则可以考虑图3-51(e)~图3-51(g)形式,步骤如下。
图3-51 体扫掠示意图
(1)清除网格(VCLEAR)。
(2)通过在想要分割的位置创建关键点对源面的线和目标面的线进行分割(LDIV),如图3-51(e)所示。
(3)按图3-51(e)将源面上增线的线分割复制到目标面的相应新增线上(新增线是步骤(2)产生的)。该步骤可以通过网格划分工具实现,可选择主菜单中的Main Menu > Preprocessor >Meshing > MeshTool命令。
(4)手工对步骤(2)修改过的边界面划分映射网格,如图3-51(f)所示。
(5)重新激活和执行体扫掠,结果如图3-51(g)所示。