⑦ 可扫掠零半径轴,即源面和目标面相邻。 4. 其它命令生成体单元及其区别
与 VSWEEP 命令比较, VROTAT、VEXT、VOFFST、VDRAG 等拉伸命令也可生成类似于扫掠生成的单元网格,但它们是有区别的:
① VSWEEP 是在未划分网格的既有体上,通过扫掠产生单元网格;而上述拉伸命令在生产体的同时生成单元网格。
② VSWEEP 可在执行前不划分面的网格,而拉伸命令则必须划分网格否则不生成网格。 ③ 拉伸命令执行前必须设置 ESIZE 命令中的 NDIV 参数。
例如下面为 VROTAT、VEXT、VOFFST、VDRAG 几个命令生成单元网格。 ! EX3.11 拉伸类命令生成体单元网格 finish $ /clear $ /prep7
et,1,82 $ et,2,95 ! 定义 2D 和 3D 单元类型 blc4,,,4,4 $ blc4,6,,4,4 ! 在不同位置创建 4 个面 blc4,12,,4,4 $ blc4,18,,4,4
esize,1 $ amesh,all ! 定义单元尺寸并划分所有面的单元网格 esize,,8 ! 为下面 4 个命令定义 NDIV vrotat,1,,,,,,1,4,90 ! 旋转面 1,生成体和单元 vext,2,,,,,10,0.5,0.5 ! 延伸面 2,生成体和单元 voffst,3,10 ! 偏移面 3,生成体和单元 vdrag,4,,,,,,35 ! 拖拉面 4,生成体和单元
网格划分高级技术 (b)
四、 单元有效性检查
不良的单元形状会导致不准确的结果,然而并没有判别单元形状好坏的通用标准,也就是说一种单元形状对一个分析可能导致不准确的结果,但可能对另一种分析的 结果又是可接受的。在计算过程中,ANSYS可能不出现单元形状警告信息,也可能会出现很多个单元形状警告信息,这都不能说明单元形状就一定会导致准确或 不准确的结果,因此单元形状的好坏和结果的准确性完全依赖用户的判断和分析。 1. 单元形状参数限值设置
命令:SHPP, Lab, VALUE1, VALUE2
ANSYS 单元形状检查是缺省的,但控制单元形状检查的参数可以修改。 ⑴ Lab = ON: 激活单元形状检查。VALUE1 可取: ANGD:SHELL28 单元角度检查。
ASPECT: 单元纵横比检查。如四边形单元警告限值为 20,错误限值为 1E6;
PARAL: 对边平行度检查。如无中间节点的四边形该项的警告限值为 70°,如超过 150° 则给出错误信息。 MAXANG: 最大角度检查。无中间节点的四边形单元该项警告限值为 155°,而其错误限值为 179.9°;
JACRAT: 雅可比率检查。简单地说,雅可比率表达了“单元”模拟“实际”的计算可靠性,比率越高越不可靠。如 h 单元的警告限值
为 30,超过 30 单元形状就很不理想(与母单元形状相差甚远)。
WARP: 歪曲率检查。对于四边形面单元、壳单元或体单元的面等,当其严重歪曲时造成不好的单元形状,此值越高表示单元歪曲越严 重。
也可用 ALL 关闭或激活所有选项。 ⑵ Lab = WARN: 仅激活警告模式,对超过错误限制的单元只给出警告信息而不致网格划分失败。而 Lab=ON 则一旦超过错误限制时将导致网格划分失败。 ⑶ Lab = OFF: 完全关闭单元形状检查,可通过设置 VALUE1 的值而关闭个别形状检查。如 VALUE1 可取 ANGD、ASPECT、PARAL、
MAXANG、JACRAT、WARP 及 ALL 等。
⑷ Lab = STATUS: 列表输出当前形状检查限制参数及检查结果情况。 ⑸ Lab = SUMMARY: 列表输出所选择单元的形状检查结果。 ⑹ Lab = DEFAULT: 恢复单元形状检查限值的缺省值。
⑺ Lab = OBJECT: 是否将单元形状检查结果保存于内存中的控制参数;如 VALUE1=1、YES 或 ON(缺省)则保存在内存中;如
VALUE1=0、NO 或 OFF 则不保存在内存中。
⑻ Lab = LSTET: 检查雅可比率时选择在积分点还是角点取样控制;如 VALUE= 1、YES 或 ON 则选择积分点;如 VALUE1=0、NO 或
OFF(缺省)则选择角点取样。
⑼ Lab = MODIFY: 重新设置一个形状参数检查限值,此时 VALUE1 为修改的形状参数限值的数据位置,而 VALUE2 则为修改的新限值。
如拟修改纵横比率检查的警告限值,通过 SHPP,STATUS 列表可以看出,该数据的位置为 1,缺省设置为 20.0。可用
SHPP, MODIFY, 1, 1000 将此限值修改为 1000。
如拟修改h单元的雅可比率警告限值,通过 SHPP,STATUS 列表查得该数据的位置为 31,其缺省设置为 30.0。可用
SHPP, MODIFY, 31, 100 将此限值修改为 100。
使用 shpp,defa 将恢复系统的缺省限值设置。
⑽ Lab = FLAT: 确定显示非零或非常数 Z 坐标单元的警告和错误限值。
2. 网格检查命令
⑴ 逐个单元数据完整性检查 命令:CHECK, Sele, Levl
Sele - 拟检查的单元。如 Sele 为空,检查所有单元数据;
Levl - 仅当 Sele=ESEL 时,其值可取 WARN(选择生成警告和错误信息的单元)和 ERR(仅检查生成错误信息的单元,这是
缺省选项)。
该命令对每个单元的数据完整性和单元形状进行检查,也是在求解之前自动进行的检查。如单元材料、实常数、约束及单元形状等,然后在输出窗口列出结果。 ⑵ 网格连通性检查 命令:MCHECK, Lab
其中 Lab=ESEL,该选项可不选泽正确的单元,仅选择有问题的单元。 CHECK 命令对单个单元进行检查,而 MCHECK 则根据单元的连接方式检查网格潜在的问题,如单元的交叠等。其检查内容主要有:
① 方向:当两个面单元共线时,检查每个单元的节点顺序是否与其法线方向一致; ② 体:当两个体单元共面时,检查每个单元的完整体符号是否一致; ③ 封闭面:检查形成封闭面的单元外表面,以防网格中出现“裂缝”;
④ 网格空洞:当环绕内部空腔的单元面数量很少时,有可能出现遗漏的单元从而形成空洞。
五、网格修改
如果对生成的网格不满意,可用下列方法改变网格: ① 重新设置单元尺寸,并划分网格(只有 GUI 才可); ② 清除网格,重新设置单元尺寸,并划分网格; ③ 细化局部网格;
④ 改进网格(仅实用于四面体网格)。 1. 清除网格
关键点网格清除命令:KCLEAR, NP1, NP2, NINC 线网格清除命令:LCLEAR, NL1, NL2, NINC 面网格清除命令:ACLEAR, NA1, NA2, NINC 体网格清除命令:VCLEAR, NV1, NV2, NINC
NX1,NX2,NINC - 为图素范围和编号增量,NX1 可取 ALL 或组件名。
该系列命令用于清除既有网格,并可重新对线设置单元网格划分数目或尺寸,然后再重新对几何模型进行网格划分。
2. 细化局部网格
节点附近细化命令:NREFINE, NN1, NN2, NINC, LEVEL, DEPTH, POST, RETAIN 单元附近细化命令:EREFINE, NE1, NE2, NINC, LEVEL, DEPTH, POST, RETAIN 关键点附近细化命令:KREFINE, NP1, NP2, NINC, LEVEL, DEPTH, POST, RETAIN 线附近细化命令:LREFINE, NL1, NL2, NINC, LEVEL, DEPTH, POST, RETAIN 面附近细化命令:AREFINE, NA1, NA2, NINC, LEVEL, DEPTH, POST, RETAIN Nx1,Nx2,NINC - 图素编号范围与编号增量。
LEVEL - 细化等级,其取值范围 1(缺省)~5,值越高网格越密。 当 LEVEL=1 时,则采用单元边长的 1/2 进行细化生成新的单元。 DEPTH - 从所选图素向外根据单元数设置网格细化的深度,缺省为 1。 POST - 单元细化时质量处理控制参数。
如 POST=SMOOTH,进行光滑处理,且可能会改变节点位置; 如 POST=CLEAN(缺省),进行光滑处理,可能会删除存在的单元而重新细分,且节点位置也会改变; 如 POST=OFF 则不进行任何处理,即节点位置不变也不删除重分。
RETAIN - 所有单元都是四边形网格,在细化时,如 RETAIN=ON(缺省)则细化网格也为四边形网格,而不管单元质量如何;
如 RETAIN=OFF 则允许用三角形网格,以保证网格质量。 但对于下列情况则不能细化:
① 含有初始条件的节点、耦合节点、约束方程的节点等; ② 含有边界条件、荷载的节点或单元;
③ 六面体单元、楔形单元和金字塔单元不能细化。
3.4 网格划分实例 - 基本模型的网格划分
1. 圆
圆面的网格划分一般可将圆切分为四等份或八等份,实现映射网格划分。 ! EX3.12 圆的网格划分 finish $ /clear $ /prep7
et,1,plane82 $ r0=10 ! 定义单元类型和圆半径参数
cyl4,,,r0 $ cyl4,3*r0,,,,r0 ! 创建两个圆面 A 和 B,拟分别进行不同的网格划分 wprota,,90 $ asbw,all ! 将圆面水平切分 wprota,,,90 $ asbw,all ! 将圆面 A 竖向切分
wpoff,,,3*r0 $ asbw,all ! 移动工作平面,将圆面 B 竖向切分 wpcsys,-1 !工作平面复位但不改变视图方向 asel,s,loc,x,-r0,r0 ! 选择圆面 A 的所有面
lsla,s ! 选择与圆面 A 相关的所有线
lesize,all,,,8 ! 对上述线设置网格划分个数为 8(三条边时相等且为偶数) mshape,0,2d $ mshkey,1 ! 设置四边形单元、映射网格划分 amesh,all ! 圆面 A 划分网格
asel,s,loc,x,2*r0,4*r0 ! 选择圆面B的所有面
lsla,s ! 选择与圆面 B 相关的所有线
lesize,all,,,8 ! 对上述线设置网格划分个数为 8 lsel,r,length,,r0 ! 选择上述线中长度为半径的线 lesize,all,,,8,0.1,1 ! 设置这些线的网格划分数和间隔比 amesh,all $ allsel ! 圆面 B 划分网格
相关推荐: