ANSYS命令流教程

  • 格式:docx
  • 大小:798.28 KB
  • 文档页数:11

引用ANSYS 入门教程(26) - 网格划分高级技术(b)四、单元有效性检查不良的单元形状会导致不准确的结果,然而并没有判别单元形状好坏的通用标准,也就是说一种单元形状对一个分析可能导致不准确的结果,但可能对另一种分析的结果又是可接受的。

在计算过程中,ANSYS可能不出现单元形状警告信息,也可能会出现很多个单元形状警告信息,这都不能说明单元形状就一定会导致准确或不准确的结果,因此单元形状的好坏和结果的准确性完全依赖用户的判断和分析。

1. 单元形状参数限值设置命令:SHPP, Lab, VALUE1, VALUE2ANSYS 单元形状检查是缺省的,但控制单元形状检查的参数可以修改。

⑴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, LevlSele - 拟检查的单元。

如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, NINCNX1,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 $ /prep7et,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 ! 对上述线设置网格划分个数为8lsel,r,length,,r0 ! 选择上述线中长度为半径的线lesize,all,,,8,0.1,1 ! 设置这些线的网格划分数和间隔比amesh,all $ allsel ! 圆面B 划分网格2. 圆环圆环面的网格划分与圆面类似,但因由4 条边组成,可更加方便地对网格进行控制。

下面取1/4 圆环面进行单元划分。

! EX3.13 圆环的网格划分finish $ /clear $ /prep7et,1,plane82 $ r0=10 ! 定义单元类型和圆半径参数cyl4,,,r0/3,,r0,90 $ cyl4,2*r0,,r0/10,,r0,90 ! 创建两个1/4 环面asel,s,loc,x,-r0,r0 ! 选择环面Alsla,s$lesize,all,,,8 ! 选择环面A 的所有线,定义网分数lsel,r,length,,r0*2/3 $ lesize,all,,,3,,1 ! 选择径向线,网分数修改为3mshape,0,2d $ mshkey,1 $ amesh,all ! 定义单元形状、划分类型、划分单元ALLSEL $ asel,s,loc,x,2*r0,4*r0 ! 选择环面Blesize,5,,,12 $ lesize,7,,,6 ! 定义外周线和内周线网分数分别为12 和6lsel,s,length,,r0*9/10 $ lesize,all,,,7 ! 选择径向线,网分数为7amesh,all ! 划分环面B 的单元网格3. 圆柱柱体的网格划分方法与圆面类似,空心柱体的网格划分方法同环面类似,而柱面则可直接划分网格。

例如:! EX3.14 圆柱面和圆柱体的网格划分! 圆柱面的网格划分finish $ /clear $ /prep7r0=10 $ h0=50 $ et,1,shell63 ! 定义参数和单元类型cyl4,,,r0 $ adele,1 $ cm,l1cm,line ! 创建面,删除面保留线,定义组件Licmk,50 $ k,51,,,h0 $ l,50,51 $ adrag,l1cm,,,,,,5 ! 创建拖拉路径并拖拉线创建柱面(L1cm - 组件名)lsel,s,loc,z,0 $ lesize,all,,,6 ! 每条圆周线网格划分数为6lsel,s,length,,h0 $ lesize,all,,,8 ! 每条柱面侧线网格划分数为8 mshape,0,2d $ mshkey,1 $ amesh,all ! 定义单元形状、网格划分类型、划分网格!圆柱体finish $ /clear $ /prep7r0=10 $ h0=50 $ et,1,solid95 ! 定义参数和单元类型cyl4,,,r0,,,,h0 ! 创建圆柱体wprota,,90 $ vsbw,all ! 切分圆柱体wprota,,,90 $ vsbw,all ! 再切分圆柱体mshape,0,3d $ mshkey,1 ! 定义单元形状、网格划分类型lsel,s,loc,z,0 $ lesize,all,,,6 ! 每条圆周线网格划分数为6lsel,s,length,,h0 $ lesize,all,,,8 ! 每条柱面侧线网格划分数为8vmesh,all4. 圆锥和圆台圆锥体的网格划分应以1/4 圆锥进行,然后利用对称命令创建其余体和网格。