ANSYS 使用技巧24则Word格式.docx
《ANSYS 使用技巧24则Word格式.docx》由会员分享,可在线阅读,更多相关《ANSYS 使用技巧24则Word格式.docx(30页珍藏版)》请在冰豆网上搜索。
ListSections)。
ANSYS查询函数(InquiryFunction)
在ANSYS操作过程或条件语句中,常常需要知道有关模型的许多参数值,如选择集中的单元数、节点数,最大节点号等。
此时,一般可通过*GET命令来获得这些参数。
现在,对于此类问题,我们有了一个更为方便的选择,那就是查询函数—InquiryFunction。
InquiryFunction类似于ANSYS的*GET命令,它访问ANSYS数据库并返回要查询的数值,方便后续使用。
ANSYS每执行一次查询函数,便查询一次数据库,并用查询值替代该查询函数。
假如你想获得当前所选择的单元数,并把它作为*DO循环的上界。
传统的方法是使用*GET命令来获得所选择的单元数并把它赋给一个变量,则此变量可以作为*DO循环的上界来确定循环的次数
*get,ELMAX,elem,,count
*do,I,1,ELMAX
…
*enddo
现在你可以使用查询函数来完成这件事,把查询函数直接放在*DO循环内,它就可以提供所选择的单元数
*do,I,ELMIQR(0,13)
这里的ELMIQR并不是一个数组,而是一个查询函数,它返回的是现在所选择的单元数。
括弧内的数是用来确定查询函数的返回值的。
第一个数是用来标识你所想查询的特定实体(如单元、节点、线、面号等等),括弧内的第二个数是用来确定查询函数返回值的类型的(如选择状态、实体数量等)。
同本例一样,通常查询函数有两个变量,但也有一些查询函数只有一个变量,而有的却有三个变量。
查询函数的种类和数量很多,下面是一些常用、方便而快速快捷的查询函数
1AREA—arinqr(areaid,key)
areaid—查询的面,对于key=12,13,14可取为0;
key—标识关于areaidr的返回信息
=1,选择状态
=12,定义的数目
=13,选择的数目
=14,定义的最大数
=-1,材料号
=-2,单元类型
=-3,实常数
=-4,节点数
=-6,单元数
arinqr(areaid,key)的返回值
对于key=1
=0,areaid未定义
=-1,areaid未被选择
=1,areaid被选择
2KEYPOINTS—kpinqr(kpid,key)
kpid—查询的关键点,对于key=12,13,14为0
key—标识关于kpid的返回信息
=1,选择状态
=14,定义的最大数目
=-1,数料号
=-4,节点数,如果已分网
=-7,单元数,如果已分网
kpinqr(kpid,key)的返回值
=-1,未选择
=0,未定义
=1,选择
3LINE—lsinqr(lsid,key)
lsid—查询的线段,对于key=12,13,14为0
key—标识关于lsid的返回信息
=2,长度
4NODE—ndinqr(node,key)
node—节点号,对于key=12,13,14为0
key—标识关于node的返回信息
=-2,超单元标记
=-3,主自由度
=-4,激活的自由度
=-5,附着的实体模型
ndinqr(node,key)的返回值
5VOLUMES—vlinqr(vnmi,key)
vnmi—查询的体,对于key=12,13,14为0
key—标识关于vnmi的返回信息
=-8,单元形状
=-9,中节点单元
=-10,单元坐标系
vlinqr(vnmi,key)的返回值
窗体顶部
窗体底部
ANSYS是否具有混合分网的功能?
ANSYS具有混合网格剖分的功能。
例如两个粘在一起的面,可以对一个面进行三角形划分,再对另一个面进行四边形划分。
过程见下列命令:
/prep7
et,1,42
rect,,1,,1
rect,1,2,,1
aglue,all
mshape,0,2d
amesh,1
mshape,1,2d
amesh,3
利用ANSYS随机振动分析功能实现随机疲劳分析
ANSYS随机振动分析功能可以获得结构随机振动响应过程的各种统计参数(如:
均值、均方根和平均频率等),根据各种随机疲劳寿命预测理论就可以成功地预测结构的随机疲劳寿命。
本文介绍了ANSYS随机振动分析功能,以及利用该功能,按照Steinberg提出的基于高斯分布和Miner线性累计损伤定律的三区间法进行ANSYS随机疲劳计算的具体过程。
1.随机疲劳现象普遍存在
在工程应用中,汽车、飞行器、船舶以及其它各种机械或零部件,大多是在随机载荷作用下工作,当它们承受的应力水平较高,工作达到一定时间后,经常会突然发生随机疲劳破坏,往往造成灾难性的后果。
因此,预测结构或零部件的随机疲劳寿命是非常有必要的。
2.ANSYS随机振动分析功能介绍
ANSYS随机振动分析功能十分强大,主要表现在以下方面:
1.具有位移、速度、加速度、力和压力等PSD类型;
2.能够考虑a阻尼、阻尼、恒定阻尼比和频率相关阻尼比;
3.能够定义基础和节点PSD激励;
4.能够考虑多个PSD激励之间的相关程度:
共谱值、二次谱值、空间关系和波传播关系等;
5.能够得到位移、应力、应变和力的三种结果数据:
1位移解,1速度解和1加速度解;
3.利用ANSYS随机振动分析功能进行疲劳分析的一般原理
在工程界,疲劳计算广泛采用名义应力法,即以S-N曲线为依据进行寿命估算的方法,可以直接得到总寿命。
下面围绕该方法举例说明ANSYS随机疲劳分析的一般原理。
当应力历程是随机过程时,疲劳计算相对比较复杂。
但已经有许多种分析方法,这里仅介绍一种比较简单的方法,即Steinberg提出的基于高斯分布和Miner线性累计损伤定律的三区间法(应力区间如图1所示):
应力区间
发生的时间
-1~+1
68.3%的时间
-2~+2
27.1%的时间
-3~+3
4.33%的时间
99.73%
大于3的应力仅仅发生在0.27%的时间内,假定其不造成任何损伤。
在利用Miner定律进行疲劳计算时,将应力处理成上述3个水平,总体损伤的计算公式就可以写成:
其中:
:
等于或低于1水平的实际循环数目(0.6831);
等于或低于2水平的实际循环数目(0.271);
等于或低于3水平的实际循环数目(0.0433);
根据疲劳曲线查得的1、2和3应力水平分别对应许可循环的次数。
综上所述,针对Steinberg提出的基于高斯分布和Miner线性累计损伤定律的三区间法的ANSYS随机疲劳分析的一般过程是:
(1)计算感兴趣的应力分量的统计平均频率(应力速度/应力);
(2)基于期望(工作)寿命和统计平均频率,计算1
,2
和3
水平下的循环次数
、
和
;
(3)基于S-N曲线查表得到
(4)计算疲劳寿命使用系数。
显然,根据其他随机疲劳分析方法和ANSYS随机振动分析结果,我们还可以进行许多类似的疲劳分析计算。
膜元Shell41是否能作大变形分析?
膜元Shell41可以用于大变形分析。
但是膜元shell41在处理大变形问题时必须采用三角形单元,因为四边形单元会产生跷曲(warping),所以在划分网格时请选Tri。
耦合及约束方程讲座二、约束方程
约束方程提供了比耦合更通用的联系自由度的方法。
有如下形式:
这里U(I)是自由度,N是方程中项的编号。
如何生成约束方程
1.直接生成约束方程
o直接生成约束方程:
命令:
CE
GUI:
MainMenu>
Coupling/Ceqn>
ConstraintEqn
下面为一个典型的约束方程应用的例子,力矩的传递是由BEAM3单元与PLANE42单元(PLANE42单元无平面转动自由度)的连接来完成的:
图12-1建立旋转和平移自由度的关系
如果不用约束方程则节点2处表现为一个铰链。
下述方法可在梁和平面应力单元之间传递力矩,自由度之间满足下面的约束方程:
ROTZ2=(UY3-UY1)/10
0=UY3-UY1-10*ROTZ2
相应的ANSYS命令为:
CE,1,0,3,UY,1,1,UY,-1,2,ROTZ,-10
o修改约束方程
在PREP7或SOLUTION中修改约束方程中的常数项:
CECMOD
ModifyConstrEqn
MainMenu>
Loads>
Other>
Solution>
如果要修改约束方程中的其它项,必须在求解前在PREP7中用使CE命令(或相应GUI途径)。
2.自动生成约束方程
o生成刚性区域
CERIG命令通过写约束方程定义一个刚性区域。
通过连接一主节点到许多从节点来定义刚性区。
(此操作中的主自由度与减缩自由度分析的主自由度是不同的)
CERIG
RigidRegion
将CERIG命令的Ldof设置为ALL(缺省),此操作将为每对二维空间的约束节点生成三个方程。
这三个方程在总体笛卡尔空间确定三个刚体运动(UX、UY、ROTZ)。
为在二维模型上生成一个刚性区域,必须保证X─Y平面为刚性平面,并且在每个约束节点有UX、UY和ROTZ三个自由度。
类似地,此操作也可在三维空间为每对约束节点生成六个方程,在每个约束节点上必须有(UX、UY、UZ、ROTX、ROY和ROTZ)六个自由度。
输入其它标记的Ldof域将有不同的作用。
如果此区域设置为UXYZ,程序在二维(X,Y)空间将写两个约束方程,而在三维空间(X、Y、Z)将写三个约束方程。
这些方程将写成从节点的平移自由度和主节点的平移和转动自由度。
类似地,RXYZ标记允许生成忽略从节点的平移自由度的部分方程。
其它标记的Ldof将生成其它类型的约束方程。
总之,从节点只需要由Ldof标记的自由度,但主节点必须有所有的平移和转动自由度(即二维的UX、UY和ROTZ;
三维的UX、UY、UZ、ROTX、ROTY、ROTZ)。
对由没有转动自由度单元组成的模型,应当考虑增加一个虚拟的梁单元以在主节点上提供旋转自由度。
o将疏密不同的已划分网格区域连在一起
可将一个区域(网格较密)的已选节点与另一个区域(网格较稀)的已选单元用CEINTF命令(菜单途径MainMenu>
AdjacentRegions)连起来生成约束方程。
这项操作将不相容网格形式的区域“系”在一起。
在两区域的交界处,从网格稠密的区域选择节点A,从网格粗糙区域选择单元B,用区域B单元的形函数,在相关的区域A和B界面的节点处写约束方程。
ANSYS允许这些节点位置使用两公差准则。
节点在单元之外超过第一公差就认为节点不在界面上。
节点贴近单元表面的距离小于第二公差则将节点移到表面上,见下图。
对CEINTF命令有些限制:
应力或热通量可能会不连续地穿过界面。
界面区域的节点不能指定位移。
可用每节点有六个自由度的单元接合6自由度实体。
o从已有约束方程集生成约束方程集
可用CESGEN命令从已有约束方程集生成约束方程。
那么已有约束方程集内的节点编号将增加以生成另外的约束方程集。
另外约束方程集的标记和系数保持与原集的一致。
CESGEN
Coupling/Ceqn>
Genw/sameDOF
使用约束方程的注意事项
∙所有的约束方程都以小转动理论为基础。
因此,它应用在大转动分析中〔NLGEOM〕应当限制在约束方程所包含的自由度方向无重大变化的情况。
∙约束方程的出现将产生不可预料的反力和节点力结果。
∙由于相邻区域网格疏密不同,边界上的相容性仍然存在。
但是当网格越密,这种不相容的危害就越小。
耦合及约束方程讲座一、耦合
当需要迫使两个或多个自由度取得相同(但未知)值,可以将这些自由度耦合在一起。
耦合自由度集包含一个主自由度和一个或多个其它自由度。
典型的耦合自由度应用包括:
∙模型部分包含对称;
∙在两重复节点间形成销钉、铰链、万向节和滑动连接;
∙迫使模型的一部分表现为刚体。
如何生成耦合自由度集
1.在给定节点处生成并修改耦合自由度集
CP
CoupleDOFs
在生成一个耦合节点集之后,通过执行一个另外的耦合操作(保证用相同的参考编号集)将更多节点加到耦合集中来。
也可用选择逻辑来耦合所选节点的相应自由度。
用CP命令输入负的节点号来删除耦合集中的节点。
要修改一耦合自由度集(即增、删节点或改变自由度标记)可用CPNGEN命令。
(不能由GUI直接得到CPNBGEN命令)。
2.耦合重合节点。
CPINTF命令通过在每对重合节点上定义自由度标记生成一耦合集而实现对模型中重合节点的耦合。
此操作对“扣紧”几对节点(诸如一条缝处)尤为有用。
CPINTF
CoincidentNodes
3.除耦合重复节点外,还可用下列替换方法迫使节点有相同的表现方式:
o如果对重复节点所有自由度都要进行耦合,常用NUMMRG命令(GUI:
NumberingCtrls>
MergeItems)合并节点。
o可用EINTF命令(GUI:
Preprocessor>
Create>
Elements>
AtCoincidNd)通在重复节点对之间生成2节点单元来连接它们。
o用CEINTF命令(GUI:
Coupling/Ceqn>
AdjacentRegions)将两个有不相似网格模式的区域连接起来。
这项操作使一个区域的选定节点与另一个区域的选定单元连接起来生成约束方程。
生成更多的耦合集
一旦有了一个或多个耦合集,可用这些方法生成另外的耦合集:
1.用下列方法以相同的节点号但与已有模式集不同的自由度标记生成新的耦合集。
CPLGEN
Genw/SameNodes
2.用下列方法生成与已有耦合集不同(均匀增加的)节点编号但有相同的自由度标记的新的耦合集:
CPSGEN
Genw/SameDOF
使用耦合注意事项
1.每个耦合的节点都在节点坐标系下进行耦合操作。
通常应当保持节点坐标系的一致性。
2.自由度是在一个集内耦合而不是集之间的耦合。
不允许一个自由度出现在多于一个耦合集中。
3.由D或共它约束命令指定的自由度值不能包括在耦合集中。
4.在减缩自由度分析中,如果主自由度要从耦合自由度集中选取,只有主节点的自由度才能被指定为主自由度。
5.在结构分析中,耦合自由度以生成一刚体区域有时会引起明显的平衡破坏。
不重复的或不与耦合位移方向一致的一个耦合节点集会产生外加力矩但不出现在反力中。
巧用ANSYS的Toolbar
ANSYS在图形界面方面的最大特点是用户可以根据自己的目的定制自己的图形界面。
尽管ANSYS提供了专门的菜单开发工具UIDL语言,但毕竟只有少数熟练的用户能很好地使用。
但有一种方法特别适合初学者使用,那就是通过ANSYS提供的Toolbar,把ANSYS常用的命令和宏定制成按钮,这样需要反复地点取菜单来执行的常用命令,通过点击一次Toolbar按钮就可以完成了。
定制按钮的方法有两种:
菜单方式与命令方式。
菜单方式就是直接点菜单UtilityMenu>
Macro>
EditAbbreviations…或UtilityMenu>
EditToolbar…;
而命令方式就是直接执行命令*ABBR(Abbreviation的缩写)。
ANSYS的db文件自动保存你所增加的按钮,但是每次重新开始新的分析,都需要重新定义每个按钮。
如果想要在每次启动ANSYS或开始新的分析时都能自动加载这些快捷按钮,通常是把这些按钮对应的*ABBR命令放在ANSYS的启动文件star56.ans(对ANSYS5.6)中,ANSYS在每次启动时会自动加载这些命令。
ANSYS的启动文件star56.ans在ANSYS安装目录下的DOCU目录中,如c:
\ansys56\docu\star56.ans,它是一个文本文件,可以用通用的文本编辑器打开和编辑它。
其实该文件提供了一个内容很丰富的模板,它收集了许多ANSYS常用命令的缩略,只不过都把它们注释掉了,你只需去掉前面的注释符(!
),就可以在进入ANSYS后在Toolbar中看到它们。
你也可以把所有的*ABBR命令放在一个单独的文件中,然后在启动文件中加入一条命令ABBRES,用ABBRES命令的好处是你在任何时候都可以加载这些快捷按钮,这对于你如果使用由别人建的模型,而他用的是不同的Toolbar,这是因为Toolbar是保存在模型文件中(jobname.db),你可以发现采用这样的方法给你带来很大的方便。
我承认我是一个Toolbar迷,把许多命令和宏放在Toolbar中使我的工作更快和更有效率。
在我的Toolbar中,大多数按钮是直接执行ANSYS命令和宏,其中也有一些按钮是用来调入新的Toolbar实现一些新的功能。
通过将一个Toolbar嵌入到另一个Toolbar中,可以将Toolbar分成前处理和后处理等大类,也可以列出一些特别的信息有助于工作。
不过我个人的倾向不赞成用太多的嵌套Toolbar,因为点三到四层按钮与点三到四级菜单差不多。
宁可在一个Toolbar中有许多按钮,也不要有许多嵌套Toolbar。
包含43个按钮的toolbar
减少了11个按钮的toolbar
尽管最好能把所有需要的按钮一次全部调进来,但有时发现这也不是好事。
有一天我数了一下Toolbar中的按钮,竟然发现有43个按钮,尽管这不是一个世界记录,但这确实太多了,此时我才意识到我这个toolbar迷困扰于过多的按钮混乱中。
得想办法结束这种状态。
我决定摆脱这种按钮迷的状态,开始精简我的toolbar,去掉那些不太常用的按钮。
我开始研究toolbar,结果发现没有一个按钮在工作中不太常用。
我几乎每天都要用到所有这些命令,少了任何一个,我都要花时间到菜单堆里去找这些命令。
我想保持原有toolbar中的所有功能,但我要把按钮数减下来,我能做得到吗?
再瞧一下toolbar,我发现打开和关闭六种实体(keypoints,lines,areas,volumes,和elements)的编号显示共用了12个按钮,此外,还有许多按钮用来打开和关闭显示节点和单元坐标系,线的方向和局部坐标系等;
还有我用单独的按钮控制矢量模式和光栅模式显示。
结果发现有22个按钮用来决定实体的编号和符号以及显示模式的开关。
如果我能把每组开和关的按钮用一个按钮来代替,那么我可以把按钮数减少11个,这是一个很可观的数字。
我决定写一个宏,它能够确定当前的设置,然后翻转该设置,我给它取名叫numtog.mac。
在确定了程序的框架后,我开始查看关于*GET命令的帮助文档,看看是否能得到/PNUM,/PSYMB和显示模式的设置状态。
令我