用ANSYS进行四连杆机构的有限元分析
作者:谭辉
日期:08年3月6日
分析目的
1、利用ANSYS对典型的四连杆机构进行分析,主要包含各点的轨迹分
析,例如X和Y方向的位移等。
2、为五连杆和六连杆机构的分析提供可行的分析方法以及原型代码。
问题简述
分析主动杆1绕节点1旋转一周时节点4的运动轨迹,杆2和杆3为从动杆,具体问题见下图:
分析思路
1、根据分析目的,在ANSYS选用link1单元进行单元建模,主要考虑
是link1单元具有X和Y方向的自由度,可以获得各个节点的位移轨迹。
之后可以用梁单元等实现更高级的分析目的,例如获得杆上的力,位移,
加速度等相关信息。
2、该模型结构简单,可以利用直接建模方法进行有限元系统建模,主
要命令:N,E。
3、利用自由度耦合对重合节点进行建模,例如节点2和节点3、节点4
和节点5进行建模,主要命令:cpintf,利用该命令可以一次性将重合节
点生成自由度耦合。
4、利用表数组对于杆1(主动杆)的节点2进行瞬态边界条件的载荷施
加,分析类型为瞬态分析,主要命令:*dim,d等。
5、生成节点位移的对应变量,从而获得节点4的随时间的位移曲线,
主要命令:nsol,plvar等。
命令流如下
行号命令符号注释
结束上一次的分析
1finish
!
清除数据库,并读取启动配置文件2/clear,start
!
3
!
设置图形显示的背景颜色
4/color,pbak,on,1,5
!
5
!
6/units,si
!
设置单位制:国际单位制
7*afun,deg
!
设置三角函数运算采用度为单位
8
!
9/prep7
!
进入前处理模块
10et,1,link1
!
设置单元类型:link1
11mp,ex,1,2.07e11
!
设置材料的弹性模量
12r,1,1
!
设置单元的实常数,面积为1
13n,1,0,0,0
!
在(0,0,0)处建立节点1
14n,2,3,0,0
!
在(3,0,0)处建立节点2
15n,3,3,0,0
!在(3,0,0)处建立节点3,和节点2重合
16n,4,8,7,0
!
在(8,7,0)处建立节点4
17n,5,8,7,0
!在(8,7,0)处建立节点4,和节点4重合
18n,6,10,0,0
!
在(10,0,0)处建立节点6
19e,1,2
!
建立单元1(连接节点1和2)
20e,3,4
!
建立单元2(连接节点3和4)
21e,5,6
!
建立单元3(连接节点5和6)
22
!
23cpintf,all,1e-3
!对于重合节点一次性的建立耦合自由度,容差1e-3
24
!
25/pnum,node,1
!
显示节点编号
26/pnum,elem,1
!
显示单元编号
27eplot
!
显示单元
28finish
!
退出前处理模块
29
!
30/solu
!
进入求解模块
31antype,trans
!
设置分析类型为瞬态分析
32time,1
!
设置分析结束时间为1
33deltim,0.01
!
设置时间步长为0.01
34timint,on,all
!
打开时间积分
35
!
36*dim,node_2_ux,table,100,1,1
!设置节点2的X方向的时间-位移的表数据:node_2_ux
37*dim,node_2_uy,table,100,1,1
!设置节点2的Y方向的时间-位移的表数据:node_2_uy
38*d o,i,1,100,1
!
进入表数据赋值循环
39node_2_ux(i,0,1)=0.01*i
!设定节点2的X方向位移的时间序列:0.01,0.02,0.03 ……
40nod e_2_ux(i,1,1)=distnd(1,2)*cos(3.6*i)-distnd(1,
2) !
设定节点2的X方向的位移序列
41node_2_uy(i,0,1)=0.01*i
!设定节点2的Y方向位移的时间序列:0.01,0.02,0.03 ……
42node_2_uy(i,1,1)=distnd(1,2)*sin(3.6*i)
!
设定节点2的Y方向的位移序列
43*end do
!
结束循环
44
!
45d,1,all,0
!
设定节点1的所有自由度为0
46d,6,all,0
!
设定节点6的所有自由度为0
47
!
48d,2,ux,%node_2_ux%
!将节点2的X方向的位移赋值为表数组:node_2_ux
49d,2,uy,%node_2_uy%
!将节点2的Y方向的位移赋值为表数组:node_2_uy
50
!
51alls
!
选择所有的对象
52outres,all,all
!
计算并输出所有的数据
53solve
!
执行求解
54finish
!
退出求解模块
55
!
56/post26
!
进入时间序列后处理模块
57nsol,2,3,u,x
!将节点3的X方向的位移设置为2#变量
58nsol,3,3,u,y
!将节点3的Y方向的位移设置为3#变量
59nsol,4,4,u,x
!将节点4的X方向的位移设置为4#变量
60nsol,5,4,u,y
!将节点4的Y方向的位移设置为5#变量
61plvar,2,3,4,5
!打印2#、3#、4#和5#变量随时间的变化曲线
62/image,save,trans_curve,jpg
!保存当前的曲线图形到文件:trans_curve.jpg,方便用户看图
63finish
!
退出时间序列后处理模块
64
!
65/post1
!
进入通用后处理模块
66/dscale,1,1
!
设置模型变形的显示比例为1
67pldisp,2
!
显示变形状态
68finish
!
退出通用后处理模块
69
!
70/exit,save
!
退出并保存数据库
几点思考
1、为什么最终显示的变形和原来的图形完全重合了?
答:因为杆1旋转了360度,在最后的载荷步计算完成和就和原来最初的模型重合了,但是可以用antime命令显示动画,就可以看出运动的效果。
2、为什么要设定求解时间步长,他和表数组的长度有没有关系?
答:有关系,设定合理的求解时间步长,对于瞬态分析求解十分必要,与其对应的表数组长度应为:求解时间/时间步长,这样才能将时间步长和表数组的时间序列一一对应,因此不建议采用自动时间步长(autots)。
3、上述程序是如何实现在时间为1时旋转360度的?
答:利用在cos和sin函数中在循环变量前乘系数的方式实现的,系数=旋转度数/表数组的长度;如果要实现时间1时旋转270度,则循环变量前乘以系数2.7(表数组的长度为100)。
4、对于五连杆和六连杆机构,我该怎么办?
答:建模过程基本一致,需要注意在重合的节点处建立2个节点;其次对于五连杆以及六连杆机构需要认真地分析自由度和限制条件,否则计算结果明显不对。