3.3 网格划分的控制
网格划分控制能建立用在实体模型划分网格的因素,例如单元形状、中间节点位置、单元大小等。此步骤是整个分析中最重要的步骤之一,因为此阶段得到的有限元网格将对分析的准确性和经济性起决定作用。
3.3.1 ANSYS网格划分工具(MeshTool)
ANSYS网格划分工具(GUI路径:Main Menu > Preprocessor > Meshing > MeshTool)提供了最常用的网格划分控制和最常用的网格划分操作的便捷途径。其功能主要包括以下方面。
控制SmartSizing水平。
设置单元尺寸控制。
指定单元形状。
指定网格划分类型(自由或映射)。
对实体模型图元划分网格。
清除网格。
细化网格。
3.3.2 单元形状
ANSYS程序允许在同一个划分区域出现多种单元形状,例如同一区域的面单元可以是四边形也可以是三角形,但建议尽量不要在同一个模型中混用六面体和四面体单元。
下面简单介绍单元形状的退化,如图3-4所示,用户在划分网格时,应该尽量避免使用退化单元。
图3-4 四边形单元形状的退化
用下列方法指定单元形状。
命令:MSHAPE, KEY, Dimension。 GUI:Main Menu > Preprocessor > Meshing > MeshTool。 Main Menu > Preprocessor > Meshing > Mesher Opts。 Main Menu > Preprocessor > Meshing > Mesh > Volumes > Mapped > 4 to 6 sided。
如果正在使用MSHAPE命令,维数(2D或3D)的值表明待划分的网格模型的维数,KEY值(0或1)表示划分网格的形状。
KEY=0,如果Dimension=2D, ANSYS将用四边形单元划分网格,如果Dimension=3D, ANSYS将用六面体单元划分网格。
KEY=1,如果Dimension=2D, ANSYS将用三角形单元划分网格,如果Dimension=3D, ANSYS将用四面体单元划分网格。
有些情况下,MSHAPE命令及合适的网格划分命令(AMESH、YMESH或相应的GUI路径:Main Menu > Preprocessor > Meshing > Mesh > Meshing Option)就是对模型划分网格的全部所需。每个单元的大小由指定的默认单元大小(AMRTSIZE或DSIZE)确定。例如图3-5左边的模型用VMESH命令生成右边的网格。
图3-5 默认单元尺寸
3.3.3 选择自由或映射网格划分
除了指定单元形状之外,还需指定对模型进行网格划分的类型(自由划分或映射划分),方法如下。
命令:MSHKEY。 GUI:Main Menu > Preprocessor > Meshing > MeshTool。 Main Menu > Preprocessor > Meshing > Mesher Opts。
单元形状(MSHAPE)和网格划分类型(MSHEKEY)的设置共同影响网格的生成,如表3-1所示为ANSYS程序支持的单元形状和网格划分类型。
表3-1 ANSYS支持的单元形状和网格划分类型
3.3.4 控制单元边中节点的位置
当使用二次单元划分网格时,可以控制中间节点的位置,有以下两种选择。
边界区域单元在中间节点沿着边界线或者面的弯曲方向,这是默认设置。
设置所有单元的中间节点和单元边是直的,此选项允许沿曲线进行粗糙的网格划分,但是模型的弯曲并不与之相配。
可用如下方法控制中间节点的位置。
命令:MSHMID。 GUI:Main Menu > Preprocessor > Meshing > Mesher Opts。
3.3.5 划分自由网格时的单元尺寸控制(SmartSizing)
默认情况下,DESIZE命令方法控制单元大小在自由网格划分中的使用,但一般推荐使用SmartSizing,为打开SmartSizing,只要在SMARTSIZE命令中指定单元大小即可。
ANSYS中有两种SmartSizing控制,即基本的和高级的。
(1)基本的控制
利用基本的控制,可以简单地指定网格划分的粗细程度,从1(细网格)到10(粗网格),程序会自动设置一系列独立的控制值用来生成想要的网格大小,方法如下。
命令:SMRTSIZE, SIZLVL。 GUI:Main Menu > Preprocessor > Meshing > MeshTool。
如图3-6所示为利用几个不同的SmartSizing设置所生成的网格。
图3-6 对同一模型面SmartSize的划分结果
(2)高级的控制
ANSYS还允许用户使用高级方法专门设置人工控制网格质量,方法如下。
命令:SMRTSIZE and ESIZE。 GUI:Main Menu > Preprocessor > Meshing > Size Cntrls > SmartSize > Adv Opts。
3.3.6 映射网格划分中单元的默认尺寸
DESIZE命令(GUI路径:Main Menu > Preprocessor > Meshing > Size Cntrls >Global > Other)常用来控制映射网格划分的单元尺寸,同时也可用在自由网格划分的默认设置,但是对于自由网格划分,建议使用SmartSizing(SMRTSIZE)。
对于较大的模型,通过DESIZE命令查看默认的网格尺寸是明智的,可通过显示线的分割来观察将要划分的网格情况。预查看网格划分的步骤如下。
(1)建立实体模型。
(2)选择单元类型。
(3)选择容许的单元形状(MSHAPE)。
(4)选择网格划分类型,即自由或映射(MSHKEY)。
(5)输入LESIZE、ALL(通过DESIZE规定调整线的分割数)。
(6)显示线(LPLOT)。
下面结合如图3-7所示实例来说明。
图3-7 粗糙的网格
如果觉得网格太粗糙,可用通过改变单元尺寸或者线上的单元份数来加密网格,方法如下。
GUI:Main Menu > Preprocessor > Meshing > Size Cntrls >Layers > Picked Lines。
弹出Elements Sizes on Picked Lines拾取菜单,用鼠标单击拾取屏幕上的相应线段,单击OK按钮,弹出Area Layer-Mesh Controls on Picked Lines对话框,如图3-8所示,在SIZE Element edge length后面的文本框中输入具体数值(即单元的尺寸),或者在NDIV No.of line divisions后面的文本框中输入正整数(即所选择的线段上的单元份数),单击OK按钮。然后重新划分网格,效果如图3-9所示。
图3-8 Area Layer-Mesh Controls on Picked Lines对话框
图3-9 预览改进的网格
3.3.7 局部网格划分控制
在许多情况下,对结构的物理性质而言用默认单元尺寸生成的网格不合适,例如有应力集中或奇异的模型。在这个情况下,需要将网格局部细化,详细说明如下。
(1)通过表面的边界所用的单元尺寸控制总体的单元尺寸,或者控制每条线划分的单元数。
命令:ESIZE。 GUI:Main Menu > Preprocessor > Meshing > Size Cntrls >Global > Size。
(2)控制关键点附近的单元尺寸。
命令:KESIZE。 GUI:Main Menu > Preprocessor > Meshing > Size Cntrls >Keypoints > All KPs。 Main Menu > Preprocessor > Meshing > Size Cntrls >Keypoints > Picked KPs。 Main Menu > Preprocessor > Meshing > Size Cntrls >Keypoints > Clr Size。
(3)控制给定线上的单元数。
命令:LESIZE。 GUI:Main Menu > Preprocessor > Meshing > Size Cntrls >Lines > All Lines。 Main Menu > Preprocessor > Meshing > Size Cntrls >Lines > Picked Lines。 Main Menu > Preprocessor > Meshing > Size Cntrls >Lines > Clr Size。
以上叙述的所有定义尺寸的方法都可以一起使用,但遵循一定的优先级别,具体说明如下。
用DESIZE定义单元尺寸时,对任何给定线,沿线定义的单元尺寸优先级是用LESIZE指定的为最高级,KESIZE次之,ESIZE再次之,DESIZE为最低级。
用SMRTSIZE定义单元尺寸时,优先级是LESIZE为最高级,KESIZE次之,SMRTSIZE为最低级。
3.3.8 内部网格划分控制
前面关于网格尺寸的讨论集中在实体模型边界的外部单元尺寸的定义(LESIZE和ESIZE等),然而也可以在面的内部(即非边界处)没有可以引导网格划分的尺寸线处控制网格划分,方法如下。
命令:MOPT。 GUI:Main Menu > Preprocessor > Meshing > Size Cntrls >Global > Area Cntrls。
1.控制网格的扩展
MOPT命令中的Lab=EXPND选项可以用来引导在一个面的边界处将网格划分较细,而内部则较粗,如图3-10所示。
图3-10 网格扩展示意图
在图3-10中,左边网格是由ESIZE命令(GUI路径:Main Menu > Preprocessor > Meshing > Size Cntrls >Global > Size)对面进行设定生成的,右边网格是利用MOPT命令的扩展功能(Lab=EXPND)生成的,其区别显而易见。
2.控制网格过渡
图3-10(b)中的网格还可以进一步改善,MOPT命令中的Lab=TRANS项可以用来控制网格从细到粗的过渡,如图3-11所示。
图3-11 控制网格的过渡(MOPT, EXPND,1.5)
3.控制ANSYS的网格划分器
可用MOPT命令控制表面网格划分器(三角形和四边形)和四面体网格划分器,使ANSYS执行网格划分操作(AMESH和VMESH)。
命令:MOPT。 GUI:Main Menu > Preprocessor > Meshing > Mesher Opts。
执行上述命令后弹出的Mesher Options对话框如图3-12所示,在该对话框中,AMESH后面的下拉列表框中的选项对应三角形表面网格划分,包括Program chooses(默认)、main、Alternate和Alternate2共4个选项;QMESH后面的下拉列表框中的选项对应四边形表面网格划分,包括Program chooses(默认)、main和Alternate共3个选项,其中main又称为Q-Morph(quad-morphing)网格划分器,多数情况下能得到高质量的单元,如图3-13所示,另外,Q-Morph网格划分器要求面的边界线的分割总数是偶数,否则将产生三角形单元;VMESH后面的下拉列表框中的选项对应四面体网格划分,包括Program chooses(默认)、Alternate和main这3个选项。
图3-12 网格化选项对话框
图3-13 网格划分器
4.控制四面体单元的改进
ANSYS程序允许对四面体单元做进一步改进,方法如下。
命令:MOPT, TIMP, Value。 GUI:Main Menu > Preprocessor > Meshing > Mesher Opts。
弹出的Mesher Options对话框如图3-12所示,在该对话框中,TIMP后面的下拉列表框表示四面体单元改进的程度,从1~6,1表示提供最小的改进,5表示对线性四面体单元提供最大的改进,6表示对二次四面体单元提供最大的改进。
3.3.9 生成过渡棱锥单元
ANSYS程序在下列情况下会生成过渡的棱锥单元。
用户准备对体用四面体单元划分网格,待划分的体直接与已用六面体单元划分网格的体相连。
用户准备用四面体单元划分网格,而目标体上至少有一个面已经用四边形网格划分。
如图3-14所示为一个过渡网格的示例。
图3-14 过渡网格示例
当对体用四面体单元进行网格划分时,为生成过渡棱锥单元,应事先满足以下条件。
设定单元属性时,需确定给体分配的单元类型可以退化为棱锥形状。
设置网格划分时,激活过渡单元表面让三维单元退化。
激活过渡单元(默认)的方法如下。
命令:MOPT, PYRA, ON。 GUI:Main Menu > Preprocessor > Meshing > Mesher Opts。
生成退化三维单元的方法如下。
命令:MSHAPE,1,3D。 GUI:Main Menu > Preprocessor > Meshing > Mesher Opts。
3.3.10 将退化的四面体单元转化为非退化的形式
在模型中生成过渡的棱锥单元之后,可将模型中的20节点退化四面体单元转化成相应的10节点非退化单元,方法如下。
命令:TCHG, ELEM1, ELEM2, ETYPE2。 GUI:Main Menu > Preprocessor > Meshing > Modify Mesh > Change Tets。
不论是使用命令方法还是GUI路径,用户都应按表3-2转换合并的单元。
表3-2 允许ELEM1和ELEM2单元合并
执行单元转化的好处在于节省内存空间,加快求解速度。
3.3.11 执行层网格划分
ANSYS程序的层网格划分功能(当前只能对二维面)能生成线性梯度的自由网格:
(1)沿线只有均匀的单元尺寸(或适当的变化)。
(2)垂直于线的方向单元尺寸和数量有急剧过渡。
这样的网格适于模拟CFD边界层的影响以及电磁表面层的影响等。
用户可以通过ANSYS GUI也可以通过命令对选定的线设置层网格划分控制。如果用GUI路径,则选择主菜单中的Main Menu > Preprocessor > Meshing > Mesh Tool命令,显示网格划分工具,单击Layer相邻的设置按钮,打开选择线对话框,接下来是Area Layer Mesh Controls on Picked Lines对话框,可在其上指定单元尺寸(SIZE)和线分割数(NDIV)、线间距比率(SPACE)、内部网格的厚度(LAYER1)和外部网格的厚度(LAYER2)。
注意:LAYER1的单元是均匀尺寸的,等于在线上给定的单元尺寸;LAYER2的单元尺寸会从LAYER1的尺寸缓慢增加到总体单元的尺寸;另外,LAYER1的厚度可以用数值指定也可以利用尺寸系数(表示网格层数),如果是数值,则应该大于或等于给定线的单元尺寸,如果是尺寸系数,则应该大于1,如图3-15所示为层网格的示例。
图3-15 层网格示例
如果想删除选定线上的层网格划分控制,选择网格划分工具控制器上包含Layer的清除按钮即可。
用户也可以用LESIZE命令定义层网格划分控制和其他单元特性,在此不再赘述。
用下列方法可查看层网格划分尺寸规格。
命令:LLIST。 GUI:Utility Menu > List > Lines。