ANSYS 入门教程 (24) - 网格划分控制
ANSYS 的资料 2010-08-15 09:13:49 阅读12 评论0 字号:大中小 订阅 3.2 网格划分控制
在 3.1 节中介绍了如何定义单元属性和怎样赋予几何图素这些性质,这里则介绍如何控制网格密度或大小、划分怎样的网格及如何实施划分网格等问题。 但是网格划分控制不是必须的,因为采用缺省的网格划分控制对多数模型都是合适的;如果不设置网格划分控制则 ANSYS 自动采用缺省设置对网格进行划分。
一、单元形状控制及网格类型选择
1. 单元形状控制
命令:MSHAPE, KEY, Dimension
KEY - 划分网格的单元形状参数,其值可取:
KEY=0:如果 Dimension=2D 则用四边形单元划分网格;如果 Dimension=3D 则用六面体单元划分网格。
KEY=1:如果 Dimension=2D 则用三角形单元划分网格;如果 Dimension=3D 则用四面体单元划分网格。
在设置该命令的参数时,应考虑所定义的单元类型是否支持这种单元形状。 2. 网格类型选择
命令:MSHKEY, KEY
其中 KEY 表示网格类型参数,其值可取:
KEY=0(缺省):自由网格划分(free meshing) KEY=1:映射网格划分(mapped meshing)
KEY=2:如果可能则采用映射网格划分,否则采用自由网格划分。
单元形状和网格划分类型的设置共同影响网格的生成,二者的组合不同,所生成的网格也不相同。
ANSYS支持的单元形状和网格划分类型组合
没有指定单元形状和网格划分类型时将发生的情况
3. 中间节点的位置控制 命令:MSHMID, KEY
其中 KEY 为边中间节点位置控制参数,其值可取: KEY=0(缺省):边界区域单元边上的中间节点与区域线或面的曲率一致。 KEY=1:设置所有单元边上的中间节点使单元边为直的,允许沿曲线进行粗糙的网格划分。
KEY=2:不生成中间节点,即消除单元的中间节点。
上述几条命令的应用示例如下命令流。
! EX3.4 A 两种单元形状和两种网格划分比较 finish $ /clear $ /prep7
et,1,plane82 ! 定义单元类型 k,1 $ k,2,8 $ k,3,7,6 $ k,4,1,6 ! 创建关键点
a,1,2,3,4 $ esize,1 ! 创建面、定义单元尺寸
mshape,0 $ mshkey,0 ! 四边形单元、自由网格划分
! mshape,0 $ mshkey,1 !四边形形状、映射网格划分 ! mshape,1 $ mshkey,1 !三角形形状、映射网格划分 ! mshape,1 $ mshkey,0 !三角形形状、自由网格划分
对于中间节点的位置控制比较如下命令流所示。 ! EX3.4B 中间节点位置控制网格划分比较 finish $ /clear $ /prep7
et,1,plane82 $ cyl4,,,4,,8,60 $ lesize,all,,,2 ! 定义单元类型、创建面、设置单元尺寸
mshape,0 $ mshkey,1 ! 设置四边形单元形状、映射网格划分类型
mshmid,0 !(缺省)中间节点在曲边上,与几何模型一致
!mshmid,1 ! 中间节点在直线的单元边上,与几何模型有差别
!mshmid,2 ! 无中间节点,与几何模型有差别
amesh,all ! 划分网格
二、单元尺寸控制
单元尺寸控制命令有 DESIZE、SMRTSIZE 及 AESIZE、LESIZE、KESIZE、ESIZE 等 6 个命令。
DESIZE 命令为缺省的单元尺寸控制,通常用于映射网格划分控制,也可用于自由网格划分但此时必须关闭 SMRTSIZE 命令;
SMRTSIZE 命令仅用于自由网格划分而不能用于映射网格划分。
因此可以说映射网格划分采用 DESIZE 命令,而自由网格划分采用 SMRTSIZE 命令。
1. 映射网格单元尺寸控制的 DESIZE 命令
命令:DESIZE, MINL, MINH, MXEL, ANGL, ANGH, EDGMN, EDGMX, ADJF, ADJM
MINL - 当使用低阶单元时每条线上的最小单元数,缺省为 3。 如 MINL=DEFA 则采用缺省值;
如 MINL=STAT 则列表输出当前的设置状态; 如 MINL=OFF 则关闭缺省的单元尺寸设置;
如 MNIL=ON 则重新激活缺省的单元尺寸设置(缺省时该命令是激活的)。
MINH - 当使用高阶单元时每条线上的最小单元数,缺省为 2。 ANGL - 曲线上低阶单元的最大跨角,缺省为 15°。 ANGH - 曲线上高阶单元的最大跨角,缺省为 28°。 EDGMN - 最小的单元边长,缺省则不限制。 EDGMX - 最大的单元边长,缺省则不限制。
ADJF - 仅在自由网格划分时,相近线的预定纵横比。 对 h 单元缺省为 1(等边长),对 p 单元缺省为 4。
ADJM - 仅在映射网格划分时,相邻线的预定纵横比。对h单元缺省为 4(矩形),对 p 单元缺省为 6。
DESIZE 命令的缺省设置仅在没有用 KESIZE、LESIZE、AESIZE、ESIZE 指定单元尺寸时使用,即该命令设置的级别低于上述 4 个命令(与命令的先后顺序无关)。
2. 自由网格单元尺寸控制的 SMRTSIZE 命令 命令:SMRTSIZE, SIZLVL, FAC, EXPND, TRANS, ANGL, ANGH, GRATIO, SMHLC, SMANC, MXITR, SPRX
SIZLVL - 网格划分时的总体单元尺寸等级,控制网格的疏密程度,可取: N:智能单元尺寸等级值,其值在 1(精细)~10(粗糙)之间,此时其它参数无效。
STAT - 列表输出 SMRTSIZE 设置状态。 DEFA - 恢复缺省的 SMRTSIZE 设置值。 OFF - 关闭智能化网格划分。
3. 局部网格划分单元尺寸控制
映射网格和自由网格划分的单元尺寸控制,总体上可分别采用 DESIZE 和 SMRTSIZE 命令进行设置,以获得缺省的单元尺寸和网格。但大多数情况下仍需要深入网格划分过程,以获得理想或满意的网格和单元尺寸, 这时可通过 LESIZE、KESIZE 和 ESIZE 更多地进行控制。
⑴ 线的单元尺寸定义
命令:LESIZE, NL1, SIZE, ANGSIZ, NDIV, SPACE, KFORC, LAYER1, LAYER2, KYNDIV
NL1 - 线编号,其值可取 ALL、组件名或装配名及 P 进入 GUI 选择线。
SIZE - 如 NDIV 为空,则 SIZE 为单元边长。分段数将自动根据线长计算并圆整,如 SIZE 为 0 或空,则采用 ANGSIZ 或 NDIV 参数。
ANGSIZE - 将曲线分割成许多角度,按此角度将线划分为多段。该参数仅在 SIZE 和 NDIV 为空或 0 时有效。
NDIV - 如为正则表示每条线的分段数。
SPACE - 分段的间隔比率。如为正,表示最后一个分段的长度与第 1 段长度之比(大于 1 表示单元尺寸越来越大,小于 1 表示单元尺寸越来越小)。如为负,则 |SPACE| 表示中间的分段长度与两端的分段长度之比。
KFORC - 修改线分段控制参数,仅用于 NL1=ALL 时。KFORC 可取: 0:仅修改没有指定划分段的线。 1:修改所有线。
2:仅修改划分段数小于本命令设定值的线。 3:仅修改划分段数大于本命令设定值的线。
4:仅修改 SIZE、ANGSIZ、NDIV、SPACE、LAYER1、LAYER2 不为 0 的线。
如果 KFORC=4 或 0 或空,则原有设置保持不变。
LAYER1 - 层网格控制参数,用来指定内层网格的厚度。 LAYER2 - 层网格控制参数,用于设置外层网格的厚度.
KYNDIV - 当 KYNDIV=0、NO 或 OFF 时,表示 SMRTSIZE 设置无效;如果线的分段数不匹配,则映射网格划分失败。当 KYNDIV=1、YES 或 ON 时,表示 SMRTSIZE 设置优先,即对大曲率或相邻区域优先采用 SMRTSIZE 的设置。
示例:
! 下边密上边稀
finish $ /clear $ /prep7
et,1,plane82 $ blc4,,,10,10 ! 定义单元类型、创建面 lsel,s,tan1,y $ lesize,all,,,10 ! 水平线定义 10 个分段数 lsel,s,loc,x,0 $ lesize,all,,,9,1/8 ! 左侧线定义 SPACE=1/8 lsel,s,loc,x,10 $ lesize,all,,,9,8 ! 右侧线定义 SPACE=8,左右侧线起终点方向不同
lsel,all $ mshape,0 $ mshkey,1 ! 定义单元形状和划分类型 amesh,all
! 中间密外边稀
finish $ /clear $ /prep7
et,1,plane82 $ blc4,,,10,10 ! 定义单元类型、创建面 lsel,s,tan1,y $ lesize,all,,,10,-1/5 ! 水平线中间段是两边段的