ANSYS第3章网格划分技术及技巧(完全版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ANSYS 入门教程 (5) - 网格划分技术及技巧之
网格划分技术及技巧、网格划分控制及网格划分高级技术
第 3 章网格划分技术及技巧
3.1 定义单元属性
单元类型 / 实常数 / 材料属性 / 梁截面 / 设置几何模型的单元属性
3.2 网格划分控制
单元形状控制及网格类型选择 / 单元尺寸控制 / 部网格划分控制 / 划分网格
3.3 网格划分高级技术
面映射网格划分 / 体映射网格划分 / 扫掠生成体网格 / 单元有效性检查 / 网格修改
3.4 网格划分实例
基本模型的网格划分 / 复杂面模型的网格划分 / 复杂体模型的网格划分
创建几何模型后,必须生成有限元模型才能分析计算,生成有限元模型的方法就是对几何模型进行网格划分,网格划分主要过程包括三
个步骤:
⑴定义单元属性
单元属性包括:单元类型、实常数、材料特性、单元坐标系和截面号等。
⑵定义网格控制选项
★对几何图素边界划分网格的大小和数目进行设置;
★没有固定的网格密度可供参考;
★可通过评估结果来评价网格的密度是否合理。
⑶生成网格
★执行网格划分,生成有限元模型;
★可清除已经生成的网格并重新划分;
★局部进行细化。
3.1 定义单元属性
一、定义单元类型
1. 定义单元类型
命令:
ET, ITYPE, Ename, KOP1, KOP2, KOP3, KOP4, KOP5, KOP6, INOPR ITYPE - 用户定义的单元类型的参考号。
Ename - ANSYS 单元库中给定的单元名或编号,它由一个类别前缀和惟一的编号组成,类别前缀可以省略,而仅使用单元编号。
KOP1~KOP6 - 单元描述选项,此值在单元库中有明确的定义,可参考单元手册。
也可通过命令KEYOPT进行设置。
INOPR - 如果此值为 1 则不输出该类单元的所有结果。
例如:
et,1,link8 ! 定义 LINK8 单元,其参考号为 1;也可用 ET,1,8
定义
et,3,beam4 ! 定义 BEAM4 单元,其参考号为 3;也可用 ET,3,4 定义
2. 单元类型的 KEYOPT
命令:KEYOPT, ITYPE, KNUM, VALUE
ITYPE - 由ET命令定义的单元类型参考号。
KNUM - 要定义的 KEYOPT 顺序号。
VALUE - KEYOPT 值。
该命令可在定义单元类型后,分别设置各类单元的 KEYOPT 参数。
例如:
et,1,beam4 ! 定义 BEAM4 单元的参考号为 1
et,3,beam189 ! 定义 BEAM189 单元的参考号为 3
keyopt,1,2,1 ! BEAM4 单元考虑应力刚度时关闭一致切线刚度矩阵keyopt,3,1,1 ! 考虑 BEAM189 的第 7 个自由度,即翘曲自由度
! 当然这些参数也可在 ET 命令中一并定义,如上述四条命令与下列两条命令等效:
et,1,beam4,,1
et,3,beam189,1
3. 自由度集
命令:DOF, Lab1, Lab2, Lab3, Lab4, Lab5, Lab6, Lab7, Lab8, Lab9, Lab10
4. 改变单元类型
命令:ETCHG, Cnv
5. 单元类型的删除与列表
删除命令:ETDELE, ITYP1, ITYP2, INC
列表命令:ETLIST, ITYP1, ITYP2, INC
二、定义实常数
1. 定义实常数
命令:R,NSET,R1,R2,R3,R4,R5,R6
续:RMORE,R7,R8,R9,R10,R11,R12
......
其中:
NSET - 实常数组号(任意),如果与既有组号相同,则覆盖既有组号定义的实常数。
R1~R12 - 该组实常数的值。
使用 R 命令只能一次定义 6 个值,如果多于 6 个值则采用续行命令 RMORE 增加另外的值。
每重复执行 RMORE 一次,则该组实常数增加 6 个值,如 7~12、13~18、19~24 等。
★各类单元有不同的实常数值,其值的输入必须按单元说明中的顺序;
★如果实常数值多于单元所需要的,则仅使用需要的值;如果少于所需要的,则以零值补充。
★一种单元可有多组实常数,也有一些单元不需要实常数 (如实体单元)。
例如 BEAM4 单元,需要的实常数值有 12 个:
AREA、IZZ、IYY、TKZ、TKY、THETA 和 ISTRN、IXX、SHEARZ、SHEARY、SPIN、ADDMAS
设采用直径为 0.1m 的圆杆,其实常数可定义为:
D=0.1
PI=acos(-1)
a0=pi*d*d/4
I0=pi*D**4/64
IX=pi*D**4/32
R,3,a0,i0,i0,d,d,0 ! 定义第 3 组实常数的 AREA、IZZ、IYY、TKZ、TKY、THETA
Rmore,0,ix,0,0,0,2.0 ! 定义第 3 组实常数的其它实常数值
2. 变厚度壳实常数定义
命令:RTHICK,Par,ILOC,JLOC,KLOC,LLOC
Par - 节点厚度的数组参数(以节点号引用),如 mythick(19) 表示在节点 19 的壳体厚度。
ILOC - 单元I节点的厚度在实常数组中的位置,缺省为 1。
JLOC---单元J节点的厚度在实常数组中的位置,缺省为 2。
KLOC---单元K节点的厚度在实常数组中的位置,缺省为 3。
LLOC---单元L节点的厚度在实常数组中的位置,缺省为 4。
该命令后面的四个参数顺序与节点厚度的关系比较复杂,例如设某个单元:节点厚度数组为 MYTH;单元节点顺序: I J K L;节点编号: NI NJ NK NL; RTHICK 命令参数:3 2 4 1;IJKL 节点厚度: MYTH(NL)、MYTH(NJ)、MYTH(NI)、MYTH(NK)。
典型的如壳厚度为位置的函数,其命令流如下:
finish $ /clear $ /PREP7
ET,1,63 $ blc4,,,10,10 $ ESIZE,0.5 $ AMESH,1
MXNODE = NDINQR(0,14) ! 得到最大节点号
*DIM,THICK,,MXNODE ! 定义数组,以存放节点厚度
*DO,i,1,MXNODE ! 以节点号循环对厚度数组赋值
THICK(i) = 0.5 + 0.2*NX(i) + 0.02*NY(i)**2
*ENDDO
! 结束循环
RTHICK,THICK(1),1,2,3,4 ! 赋壳厚度
/ESHAPE,1.0 $ eplot !带厚度显示壳单元
3. 实常数组的删除与列表
删除命令:RDELE, NSET1, NSET2, NINC
列表命令:RLIST, NSET1, NSET2, NINC
其中 NSET1,NSET2,NINC - 实常数组编号围和编号增量,
缺省时 NSET2 等于 NSET1 且 NINC=1。
NSET1 也可为 ALL。
三、材料属性
每一组材料属性有一个材料参考号,用于识别各个材料特性组。
一个模型中可有多种材料特性组。
1. 定义线性材料属性
命令:MP,Lab,MAT,C0,C1,C2,C3,C4
Lab - 材料性能标识,其值可取:
EX:弹性模量(也可为 EY、EZ)。
ALPX:线膨胀系数(也可为 ALPY、ALPZ)。
PRXY:主泊松比(也可为 PRYZ、PRXZ)。
NUXY:次泊松比(也可为 NUYZ、NUXZ)。
GXY:剪切模量(也可为 GYZ、GXZ)。
DAMP:用于阻尼的K矩阵乘子,即阻尼比。
DMPR:均质材料阻尼系数。
MU:摩擦系数。
DENS:质量密度。
MAT - 材料参考号,缺省为当前的 MAT 号(由 MAT 命令确定)。
C0 - 材料属性值,如果该属性是温度的多项式函数,则此值为多项式的常数项。
C1~C4 - 分别为多项式中的一次、二次、三次、四次项系数,如为 0 或空,则定义一个常数的材料性能。
2. 定义线性材料属性的温度表
命令:MPTEMP, STLOC, T1, T2, T3, T4, T5, T6
3. 定义与温度对应的线性材料特性
命令:MPDATA, Lab, MAT, STLOC, C1, C2, C3, C4, C5, C6
4. 复制线性材料属性组
命令:MPCOPY, --, MATF, MATT
5. 改变指定单元的材料参考号
命令:MPCHG, MAT, ELEM
6. 线性材料属性列表和删除
列表命令:MPLIST, MAT1, MAT2, INC, Lab, TEVL
删除命令:MPDELE, Lab, MAT1, MAT2,I NC
7. 修改与线胀系数相关的温度
命令:MPAMOD, MAT, DEFTEMP
8. 计算生成线性材料温度表
命令:MPTGEN, STLOC, NUM, TSTRT, TINC
9. 绘制线性材料特性曲线
命令:MPPLOT, Lab, MAT, TMIN, TMAX, PMIN, PMAX
10. 设置材料库读写的缺省路径
命令:/MPLIB, R-W_opt, PATH
11. 读入材料库文件
命令:MPREAD, Fname, Ext, --, LIB
12. 将材料属性写入文件
命令:MPWRITE, Fname, Ext, --, LIB, MAT
13. 激活非线性材料属性的数据表
命令:TB, Lab, MAT, NTEMP, NPTS, TBOPT, EOSOPT
14. 定义 TB 温度值
命令:TBTEMP, TEMP, KMOD
15. 定义 TB 数据表中的数据
命令:TBDATA, STLOC, C1, C2, C3, C4, C5, C6
16. 定义非线性数据曲线上的一个点
命令:TBPT, Oper, X, Y
17. 非线性材料数据表的删除和列表
删除命令:TBDELE, Lab, MAT1, MAT2, INC
列表命令:TBLIST, Lab, MAT
18. 非线性材料数据表的绘图
命令:TBPLOT, Lab, MAT, TBOPT, TEMP, SEGN
四、梁截面
★ BEAM18x 单元,需定义单元的横截面(称为梁截面);
★ BEAM44也可使用梁截面也可输入截面特性实常数;
★仅 BEAM18x 可使用多种材料组成的截面;
★仅 BEAM18x 可使用变截面梁截面,而 BEAM44 可输入实常数。
1. 定义截面类型和截面 ID
命令:SECTYPE,SECID,Type,Subtype,Name,REFINEKEY
SECID - 截面识别号,也称为截面 ID 号。
Type - 截面用途类型,其值可取:
BEAM:定义梁截面,应用于等截面时,见下文。
TAPER:定义渐变梁截面(变截面梁)。
SHELL:定义壳
PRETENSION:定义预紧截面
JOINT:连接截面,如万向铰。
Subtype - 截面类型,对于不同的 Type 该截面类型不同,如:
当 Type=BEAM 时,Subtype 可取:
RECT:矩形截面; QUAD:四边形截面; CSOLID:实心圆形截面; CTUBE:圆管截面;CHAN:槽形截面; I:工字形截面; Z:Z形截面; L:L形截面;
T:T形截面; HATS:帽形截面; HREC:空心矩形或箱形; ASEC:任意截面;MESH:自定义截面
当 Type=JOINT(有刚度可大角度旋转)时,Subtype 可取:
UNIV:万向铰; REVO:销铰或单向铰;
Name - 8 个字符的截面名,字符可包含字母和数字。
REFINEKEY - 设置薄壁梁截面网格的精细水平,有 0(缺省)~5(最精细)六个水平。
2. 定义梁截面几何数据(Type = BEAM)
命令:SECDATA, VAL1, VAL2, VAL3, VAL4, VAL5, VAL6, VAL7, VAL8, VAL9, VAL10 其中 VAL1~VAL10 为数值,如厚度、边长、沿边长的栅格数等,每种截面的值是不同的。
ANSYS 定义了 11 种常用的截面类型,每种截面输入数据如下:
⑴ Subtype = RECT:矩形截面
输入数据:B,H,Nb,Nh
B - 截面宽度。
H - 截面高度。
Nb - 沿宽度 B 的栅格数(cell),缺省为 2。
Nh - 沿高度 H 的栅格数,缺省为 2。
⑵ Subtype = QUAD:四边形截面
输入数据:yI, zI, yJ, zJ, yK, zK, yL, zL, Ng, Nh yI,zI,yJ,zJ,yK,zK,yL,zL - 各点坐标值。
Ng,Nh - 沿 g 和 h 的栅格数,缺省均为 2。
如果输入一个相同的坐标,可以退化为三角形。
⑶ Subtype = CSOLID:实心圆截面
输入数据:R, N, T
R - 半径。
N - 圆周方向划分的段数,缺省为 8。
T - 半径方向划分的段数,缺省为 2。
⑷ Subtype=CTUBE:圆管截面
输入数据:Ri, R0, N
Ri - 管的半径。
R0 - 管的外半径。
N - 沿圆周的栅格数,缺省为 8。
⑸ Subtype = CHAN:槽形截面
输入数据:W1, W2, W3, t1, t2, t3
W1,W2 - 翼缘宽度。
W3 - 全高。
t1,t2 - 翼缘厚度。
t3 - 腹板厚度
⑹ Subtype = I:工字形截面
输入数据:W1,W2,W3,t1,t2,t3
W1,W2 - 翼缘宽度。
W3 - 全高。
t1,t2 - 翼缘厚度。
t3 - 腹板厚度
⑺ Subtype = Z: Z 形截面
输入数据:W1, W2, W3, t1, t2, t3
W1,W2 - 翼缘宽度。
W3 - 全高。
t1,t2 - 翼缘厚度。
t3 - 腹板厚度
⑻ Subtype = L: L 形截面
输入数据:W1, W2, t1, t2
W1,W2 - 腿长。
t1,t2 - 腿厚度。
⑼ Subtype = T:T 形截面
输入数据:W1,W2,t1,t2
W1 - 翼缘宽长。
W2 - 全高。
t1 - 翼缘厚度。
t2 - 腹板厚度。
⑽ Subtype = HATS:帽形截面
输入数据:W1,W2,W3,W4,t1,t2,t3,t4,t5
W1,W2 - 帽沿宽度。
W3 - 帽顶宽度。
W4 - 全高。
t1,t2 - 帽沿厚度。
t3 - 帽顶厚度。
t4,t5 - 腹板厚度。
⑾ Subtype = HREC:空心矩形截面或箱形截面
输入数据:W1,W2,t1,t2,t3,t4
W1 - 截面全宽。
W2 - 截面全高。
t1,t2,t3,t4 - 壁厚。
⑿ Subtype = ASEC:任意截面
输入数据:A, Iyy, Iyz, Izz, Iw, J, CGy, CGz, SHy, SHz
A - 截面面积。
Iyy - 绕 y 轴惯性矩。
Iyz - 惯性积。
Izz - 绕 z 轴惯性矩。
Iw - 翘曲常数。
J - 扭转常数。
Cgy - 质心的 y 坐标。
CGz - 质心的 z 坐标。
SHy - 剪切中心的 y 坐标。
SHz - 剪切中心的 z 坐标。
⒀ Subtype = MESH:自定义截面
当截面不是常用的 11 个截面时,可采用自定义截面。
自定义截面具有很大的灵活性,可定义任意形状的截面,材料也可不同,因此对于梁截面该自定义截面可满足各种情况下的使用要求。
自定义截面要使用 SECWRITE 命令和 SECREAD 命令。
梁截面定义示例:
finish $ /clear $ /prep7
sectype,1,beam,rect ! 定义矩形截面,ID=1 secdata,2,3
sectype,2,beam,quad ! 定义四边形截面,ID=2 secdata,-1,-1,1.2,-1.2,1.4,1.3,-1.1,1.2
sectype,3,beam,csolid ! 定义实心圆截面,ID=3 secdata,4
sectype,4,beam,ctube ! 定义圆管截面,ID=4 secdata,8,9
sectype,5,beam,chan ! 定义槽形截面,ID=5 secdata,80,90,160,10,12,8
sectype,6,beam,i ! 定义工字形截面,ID=6
secdata,80,60,150,10,8,12
sectype,7,beam,z ! 定义 Z 形截面,ID=7
secdata,70,80,120,10,10,8
sectype,8,beam,l ! 定义 L 形截面,ID=8
secdata,120,70,8.5,8.5
sectype,9,beam,t ! 定义 T 形截面,ID=9
secdata,120,140,10,12
sectype,10,beam,hats ! 定义帽形截面,ID=10 secdata,40,50,60,130,10,12,16,10,10
sectype,11,beam,hrec ! 定义箱形截面,ID=11 secdata,40,50,10,10,10,10
! 可采用 SECPLOT,ID(ID 输入相应的号)查看截面及数据。
3. 定义变截面梁几何数据(Type = TAPER)
命令:SECDATA, Sec_IDn, XLOC, YLOC, ZLOC
Sec_IDn - 已经定义的梁截面识别号,用于端点 1(I)和 2(J)截面 ID。
XLOC,YLOC,ZLOC -
整体坐标系中
Sec_IDn 的位置坐标。
变截面梁的定义首先需要定义两个梁截面,然后根据拟定义的变截面梁再定义各个梁截面 ID 所在的空间位置。
两端的两个截面拓扑关系相同,即必须具有相同的 Subtype 类型、相同的栅格数和相同的材料号。
例如下面给出了工字形截面的变截面应用示例。
finish $ /clear $ /prep7
sectype,1,beam,I
secdata,160,120,200,10,10,8 ! 定义梁截面 ID=1 及其数据sectype,2,beam,I
secdata,320,240,300,16,16,12 ! 定义梁截面 ID=2 及其数据
! 创建 3 个关键点和一条线
k,1 $ k,2,800,300 $ k,100,400,400 $ l,1,2
sectype,3,taper ! 定义变截面梁Id=3
secdata,1,kx(1),ky(1),kz(1) ! 一个端点的截面采用 ID1,位置用坐标给出
secdata,2,kx(2),ky(2),kz(2) ! 另一端点的截面采用 ID2,位置用坐标给出
et,1,beam189 $ mp,ex,1,2.1e5 $ mp,prxy,1,0.3 ! 定义单元及材料属性
lesize,all,,,8 $ latt,1,,1,,100,,3 $ lmesh,all! 网分控制、为线赋单元属性、网分
/eshape,1 $ eplot ! 查
看单元形状
4. 定义截面偏移
当 Type=BEAM 时命令:
SECOFFSET, Location, OFFSETY, OFFSETZ, CG-Y, CG-Z, SH-Y, SH-Z
Location - 偏移有 4 个选择位置,分别为:
CENT:梁节点偏移到质心(缺省)。
SHRC:梁节点偏移到剪心。
ORIGIN:梁节点偏移到横截面原点。
USER:梁节点偏移到用户指定位置(相对横截面原点),由OFFSETY,OFFSETZ 确定。
OFFSETY,OFFSETZ - 仅当 Location=USER 时,梁节点相对于横截面原点的偏移量。
CG-Y, CG-Z,SH-Y,SH-Z - 用于覆盖程序自动计算的质心和剪心位置。
高级用户可用其创建复合材料的横截面模型。
还可使用SECCONTROL 命令控制横截面剪切刚度。
当 Type=SHELL 时命令:
SECOFFSET, Location,OFFSET
Location - 偏移也有 4 个选择位置,分别为:
TOP:壳节点偏移到顶面。
MID:壳节点偏移到中面。
BOT:壳节点偏移到底面。
USER:用户定义,偏移梁由 OFFSET 指定。
OFFSET - 仅当 Location=USER 时,相对于中面的偏移距离。
5. 梁截面特性列表
命令:SLIST, SFIRST, SLAST, SINC, Details, Type
6. 删除所定义的截面
命令:SDELETE, SFIRST, SLAST, SINC, KNOCLEAN
其中 KNOCLEAN 为预紧单元清除参数,如为 0 则删除预紧单元并通过 PMESH 再形成;如为 1 则不删除预紧单元。
其余参数同 SLIST 命令。
7. 绘制所定义截面
命令:SECPLOT, SECID, VAL1, VAL2
SECID - 截面 ID 号。
VAL1,VAL2 - 输出控制参数。
对 BEAM:VAL1 = 0 则不显示栅格;VAL1 = 1 则现实栅格。
对 SHELL:VAL1 和 VAL2 表示显示层号的围。
8. 自定义截面的存盘和读入
存盘命令:SECWRITE, Fname, Ext, --, ELEM_TYPE
读入命令:SECREAD, Fname, Ext, --, Option
Fname - 文件名及其路径(可达 248 个字符)。
Ext - 文件名的扩展名,缺省为“SECT”。
ELEM_TYPE - 单元类型属性指示器,此参数意义不大。
Option - 从何处读入的控制参数。
如 Option=LIBRARY(缺省)则从截面库中读入截面数据。
如 Option=MESH 则从用户网分的截面文件中读入,该文件包含了栅格和栅点等数据。
创建自定义截面的基本步骤有:
① 创建 2D 面,可完全表达截面形状。
② 定义且仅能定义 PLANE82 或 MESH2000 单元,如果有多种材料则定义材料号。
③ 定义网分控制并划分网格。
④ 用 SECWRITE 命令写入文件。
⑤ 用 SECTYPE 和 SECREAD 命令定义截面 ID 等。
示例:
截面由两种材料组成,其分界线如图中所示,其自定义截面命令流如下:
! EX3.2 自定义多种材料截面
finish $ /clear $ /prep7
Ro=1.5 $ Ri=1.0 ! 定义两个半径
csys,1 $ cyl4,,,ri $ cyl4,,,ro ! 设置柱坐标系,创建两个圆面aptn,all ! 作面分割运算
wprota,,90$asbwa,all ! 切分面wprota,,,90 $ asbw,all $ wpcsys ! 切分面
et,1,plane82 ! 定义单元类型为 PLANE82
mymat1=4 $ mymat2=7 ! 定义两个材料参数,分别赋值 4 和 7
mp,ex,mymat1,1.0 $ mp,ex,mymat2,2.0 ! 定义材料参考号,具体特性可任意asel,s,loc,x,0,ri $ aatt,mymat1,,1 ! 部圆面为材料 mymat1 asel,s,loc,x,ri,ro $ aatt,mymat2,,1 ! 外部环面为材料 mymat2 allsel$esize,0.25 $ mshape,0,2d ! 定义网格控制、单元形状mshkey,1 $ amesh,all ! 定义网格划分方式并网分
secwrite,mycsolid,sect ! 将截面写入mycsolid.sect 文件
! 下面准备读入截面并使用
finish $ /clear $ /prep7
et,1,beam189 ! 定义单元类型为 BEAM189
mym1=4 $ mym2=7 ! 定义两个材料参数,此值与 MYMAT 对应
mp,ex,mym1,3.0e10
mp,prxy,mym1,0.167 ! 定义材料参考号 MYM1 和具体特性值
mp,ex,mym2,2.1e11
mp,prxy,mym2,0.3 ! 定义材料参考号 MYM2 和具体特性值
sectype,1,beam,mesh ! 定义用户梁截面
secread,mycsolid,sect,,mesh ! 读入 mysolid.sect 文件
k,1$k,2,,,10 $ l,1,2 $ lesize,all,,,20 ! 创建关键点和线,及线的网格划分控制
latt,,,1,,,,1 ! 此处采用了缺省材料参考号,即便指定材料参考
号也不起作用
lmesh,all $ /eshape,1 ! 划分网格,打开单元形状
/pnum,mat,1$ eplot ! 显示单元材料参考号,并显示单元
特别注意的是材料参考号在 SECWRITE 之前就确定了,而在使用该截面时只能使用相同的材料参考号。
但在前者中可任意设置材料特性值,也就是说在前者中的材料具体特性值没有意义,仅材料参考号有意义。
9. 定义层壳单元的数据(Type=SHELL)
命令:SECDATA, TK, MAT, THETA, NUMPT
该命令仅使用于 SHELL131、SHELL132、SHELL181、SHELL208、SHELL209 单元。
10. 定义预紧截面的数据(Type= PRETENSION)
命令:SECDATA, node, nx, ny, nz
修改预紧截面数据可采用 SECMODIF 命令。
11. 定义连接数据(Type=JOINT)
当 Subtype= REVO 时命令:SECDATA ,,,angle1
当 Subtype= UNIV 时命令:SECDATA ,,,angle1,,angle3
五、设置几何模型的单元属性
前面介绍了如何定义单元类型、实常数、材料属性、梁截面等单元属性,但与几何模型还没有任何关系。
如何将这些属性与几何模型关联呢?这就是对几何模型进行单元属性的设置,即将这些属性赋予几何模型。
赋予几何模型单元属性,仅 4 个命令:
KATT, LATT, AATT, VATT(简称 xATT 命令)。
1. 设置关键点单元属性
命令:KATT, MAT, REAL, TYPE,ESYS
其中 MAT, REAL, TYPE, ESYS 分别为材料号、实常数号、单元类型号、坐标系编号。
该命令为所选择的所有关键点设置单元属性,而通过这些关键点复制生成的关键点也具有相同的属性。
如果关键点在划分网格时没有设置属性,则其属性由当前的“ MAT、REAL、TYPE、ESYS”等命令设置。
在划分网格前如要改变其属性,只需重新执行 KATT 命令设置,
如果其命令参数为 0 或空,则删除相关的属性。
如果 MAT,REAL,TYPE,ESYS 参数中任意一个定义为 -1,则设置保持不变。
2. 设置线的单元属性
命令:LATT, MAT, REAL, TYPE, --, KB, KE, SECNUM
MAT,REAL,TYPE - 同 KATT 中的参数。
KB,KE - 线始端和末端的方位关键点。
ANSYS 在对梁划分网格时,使用方
位关键点确定梁截面的方向。
对于梁截面沿线保持同一方位时,可仅使用 KB 定位;预扭曲梁(麻花状)可能需要两个方位关键点定位。
SECNUM - 梁截面 ID 号。
该命令为所选择的线设置单元属性,但由 KB 和 KE 指定的值仅限于所选择的线,因此通过这些线复制生成的线则不具有这些属性(即 KB 或 KE 不能一同复制)。
但如不使用 KB 和 KE 时,通过这些线复制生成的线具有同样的属性。
不指定单元属性、修改其单元属性与 KATT 命令类似,可参照处理。
在命令 LATT 中如果没有指定 KB 和 KE 则采用缺省的截面方位,缺省截面方位的确定方法是截面的xoz坐标平面总是垂直总体直角坐标系的 XOY 平面,且截面至少有一个坐标轴与总体坐标轴方向相同或接近。
如果使用 KB 和 KE 确定截面方位,则始点截面 yoz 平面垂直于 KP1、KP2 和 KB 组成的平面且截面的 z 轴指向 KB 侧;同理,末端截面截面 yoz 平面也垂直于 KP1、KP2 和KE 组成的平面且截面的 z 轴指向 KE 侧。
如果 KB 和 KE 在不同的方向,则截面方位是变化的,沿线形成麻花状截面。
finish $ /clear $ /prep7
et,1,beam189 $ mp,ex,1,2.1e5 $ mp,prxy,1,0.3 ! 定义单元类型和材料属性sectype,1,beam,i$secdata,100,40,160,10,10,8 ! 定义梁截面 ID=1 和截面数据
l0=1000 $ dl=500 $ dxc=400 ! 定义几个参数
k,1 $ k,2,,,l0 $ l,1,2 ! 创建关键点和线
k,100,,dl $ k,200,dxc,-dl $ k,300,2*dxc,dl ! 定义定位关键点
k,301,2*dxc+dl $ k,400 $ k,500,8*dxc
lgen,5,1,,,dxc
! 复制生成5条线
lsel,s,,,1 $latt,1,,1,,100,,1 ! 线 1 定位点 KB=100
lsel,s,,,2 $latt,1,,1,,200,,1 ! 线 2 定位点 KB=200
lsel,s,,,3 $latt,1,,1,,300,301,1 ! 线 3 定位点KB=300, KE=301
lsel,s,,,4 $latt,1,,1,,400,,1 ! 线 4 定位点 KB=400
lsel,s,,,5 $latt,1,,1,,500,,1 ! 线 5 定位点 KB=500
lsel,all $ lesize,all,,,50 ! 定义网格划分控制
lmesh,all $ /eshape,1 $ eplot ! 划分网格并
显示
3. 设置面的单元属性
命令:AATT, MAT, REAL, TYPE, ESYS, SECN
MAT,REAL,TYPE - 同 KATT 中的参数。
SECN - 截面 ID 号(由 SECTYPE 命令定义)。
该命令为所选择的面设置单元属性,通过这些面复制生成的面也具有同样的属性。
4. 设置体的单元属性
命令:VATT, MAT, REAL, TYPE, ESYS
其中参数与 KATT 命令中的参数意义相同。
上述 4 个命令中,LATT 略复杂些,主要是定义梁截面的方位,其余命令则相对容易。
xATT 命令都是对所选择的没有划分网格的几何图素设置的单元属性,一旦划分网格,不容许再用 xATT 命令设置属性。
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 ! 水平线中间段是两边段的 1/5 lsel,s,tan1,x $ lesize,all,,,9,-1/8 ! 竖直线中间段是两边段的 1/8 lsel,all $ mshape,0 $ mshkey,1 ! 定义单元形状和划分类型amesh,all
⑵关键点最近处单元边长定义
命令:KESIZE, NPT, SIZE, FACT1, FACT2
NPT - 关键点编号,也可为 ALL、P、组件名或装配名。
SIZE - 沿线接近关键点 NPT 处单元的边长(覆盖任何较低级的尺寸设置)。
如 SIZE=0,则使用 FACT1 和 FACT2 参数。
FACT1 - 比例因子,作用于以前既有的 SIZE 上,仅在本 SIZE=0 或空时有效。
FACT2 - 比例因子,作用于与关键点 NPT 相连的线上设置的最小分段数。