APDL Showcase1:制动器啸叫分析(2)
APDL Showcase1官方一共给了三种计算方法。上一篇文章 制动器啸叫分析(1) 只讲了第一种方法,而且没有写出如何使用Workbench计算。这一次我们就把这个案例剩下的两种方法以及Workbench的实现讲完。
APDL Showcase讲解相关文章链接见文末。
三种方法分别是:
1)线性非预应力模态分析 linear non-prestressed modal;
2)部分非线性摄动模态分析 partial nonlinear perturbed modal;
3)全非线性摄动模态分析 full nonlinear perturbed modal。
这三种计算方法,第一种是不加预应力做的非对称模态分析,另外两种都是预应力下的摄动模态分析。
下面简单介绍一下什么是摄动分析。就不另外开文章讲了:
线性摄动分析是一种线性分析技术,它可以基于摄动分析步之前非线性的分析结果,从非线性分析的某一个位置开始,使用当前的切线刚度矩阵继续进行线性的分析。
下面这张图是超弹性材料在做线性摄动分析时使用的当前状态的切线刚度示意图。
从图中可以看到,摄动分析的含义就是,在你前面做完一部分可能是非线性的分析以后,不再考虑任何非线性效应(包括大变形、材料非线性和接触关系的变化)而基于当前基态分析状态做一个线性分析出来。
总的来说就是,非线性分析做到一半,把当前的切线刚度阵[K]拿出来放在那不改了,做个线性分析。
对于静力分析来说,我暂时还不太清楚这种分析方法能有什么用。毕竟牛顿-拉弗森迭代直接做非线性分析就好了嘛。但对于其他分析类型,就比如这次案例中的预应力模态分析来说,摄动分析方法就有用了。在Abaqus的帮助文档里,还更详细的介绍了线性摄动分析步的细节。以下分析都属于线性摄动分析的范畴:
(1) 特征值屈曲预测
(2) 直接稳态动力学分析
(3) 模态分析(Abaqus中叫它固有频率提取)
(4) 复特征值提取,也就是我们说的包含阻尼的模态分析
(5) 瞬态模态动力学分析
(6) 响应谱分析
(7) 随即响应分析
等等……
这篇文章,我们先把两个预应力模态分析的命令流讲完,再写一下使用Workbench实现这个案例时的注意事项。
首先是partial_prestressed.dat,打开这个文件,看到求解第一次静力分析相关部分的命令流为:
下面我把讲解用中文写在代码注释里。
antype,static ! 静力分析
outres,all,all
nropt,unsym ! 和问题1一样,包含摩擦力就使用非对称的NR迭代
rescontrol,define,all,1 ! 每一步都写入重启动分析文件。因为这是静力分析,后面还要做预应力模态分析呢。
nlgeom,on ! 大变形
autots,on ! 自动时间步长,这些都没啥说的,Workbench都是默认
time,1.0 ! 结束时间1秒
esel,s,type,,124 ! 这部分,是给加了一个压力。详见后面附图。
nsle,s,all ! Select nodes attached to the element
sf,all,pres,%_loadvari4059% ! 这个奇怪的_loadvari不重要,定义是写在cdb数据文件里的。
esel,s,type,,125 ! Select element type 125
nsle,s,all ! Select nodes attached to the element
sf,all,pres,%_loadvari4061% ! 经过尝试,这地方左右两片刹车片加的是0.5Pa的压力,很小的。
nsel,all
allsel,all
cmsel,s,c1_r,
cmsel,a,c2_r,
cm,E_ROTOR,elem ! 给后面模态分析准备一个叫做E_ROTOR的单元集。这个我们之前也见过。
allsel,all
solve ! 进行一次静力分析。
finish
第一步是非线性的静力分析,在刹车片上加一个压力载荷。这个载荷的名字有些神奇,前面加了下划线以至于在APDL的GUI界面都看不到。实际上很简单,就是在图示A的这个面以及背面相同位置各加0.5Pa的压力而已。这么小的压力只是为了让刹车片和刹车盘之间建立接触(还记得在调试时讲过刹车片和刹车盘之间有0.01mm的小缝隙嘛~)。
静力分析做完以后,原dat文件里有一些/post1后处理相关的命令,我们就忽略它了。接下来是摄动模态分析:
(别嫌弃截图字小,为了能让大家看清我已经放大到需要使用自动换行才能看完整注释了)
/SOLU
antype,static,restart,,,perturb ! 从上一个静力分析的载荷步重启动,做摄动模态分析。
perturb,modal,,,, ! 摄动模态分析
cmrot,E_ROTOR,,,2 ! 标准操作,旋转接触单元来产生摩擦阻尼
solve,elform ! 生成切线刚度阵
outres,all,all
modopt,unsym,30 ! 这次也使用非对称求解器,提取30阶模态。
mxpand,30,,, ! Expand 30 modes
solve
finish
这里我们看到在摄动模态分析中,出现了两个solve命令。第一个是solve, elform,后面那个才是solve。为啥呢?
因为前面提到,摄动模态分析是在做完一个非线性分析以后,提取当前的切线刚度阵做的线性分析。所以就先要提取前面静力分析的重启动结果嘛。得到重启动结果以后,使用elform命令,生成用于摄动分析的切线刚度阵。
ANSYS的帮助文档里说了,这两段solve命令是执行摄动分析时的标配。
最后得到的结果其实和第一种分析结果基本一样。分析结束以后,使用命令
/post1
file,,rstp
就可以提取出模态结果。这条命令的意思是,读取扩展名为rstp的结果文件。
可以看到还是第21阶模态开始有非零实部特征频率。
下一个,完整非线性摄动模态分析,full_non_linear.dat。其第一次静力分析部分命令与上一个分析完全相同。
区别就在于,上一个分析中,cmrotate命令被放在了摄动模态步骤中,而这次则又使用cmrotate做了一次静力分析。
后面的摄动模态分析自然也没什么变化。
求解出来的结果呢?当然也是完全一样的。连小数点后三位都一样。
(我真的是重算了一遍,没有拿前面的图来充数233)
好的,到此,使用APDL的三种求解方法就结束了。
在Workbench环境下要做相同的分析,也很简单。如图所示,分别是直接进行模态分析,和先做静力分析,后做预应力模态分析的项目原理图。
项目设置中,有以下几点需要注意:
接触设置,对于直接做模态分析来说,需要把接触对间隙设置为“调整到刚好接触”。
为了使用CMROTATE命令对接触中的目标面进行旋转,就必须在接触对中添加Commands对象,写两行命令:
esel,s,type,,tid
cm,c1,elem
这样能够让WB环境也能选择想要的面。
3. 在Model,边界条件处,插入命令流:
nropt,unsym ! Unsymmetric Newton Raphson option
cmsel,s,c1,
cmsel,a,c2,
cm,E_ROTOR,elem ! Create a component with target elements attached to disc
allsel,all
cmrotate,e_rotor,,,2, ! Rotate the target elements to generate sliding friction contact
也就是定义E_ROTOR选择集,然后添加CMROTATE命令。
(话说这里不可以使用OMEGA指定角速度,求出来的结果不是一回事。看下图,那个被我屏蔽掉的Rotational Velocity就是错的)
4. 求解器选择阻尼求解器。
满足以上四点注意事项,就可以使用Workbench重复出这个算例的结果啦。
撒花。
APDL Showcase1的讲解到此结束。
ANSYS Workbench与APDL的计算结果不一致,我是怎么调试的
APDL Showcase1的理论基础(3)——模态提取方法简介
相关模型文件,都可以在ANSYS官网上下载到。下载方式见:
接下来,打算研究一下在Abaqus案例库里看到的,也是一个刹车盘制动啸叫案例。看看这个问题在Abaqus里是怎么做的。然后有可能继续学习一下接触对的磨损吧。
那么,下次见咯