基于ANSYS11的齿轮啮合仿真
刚接触ANSYS11.0对于其多体动力学仿真功能进行一点探索.相对于ANSYS10.0,新版本的一个重要改进就是多体动力学仿真,可以实现运动副的大位移大转动分析.
本人作了一个简单的直齿轮副的啮合冲击多柔体动力学仿真,与大家共同分享新版的特点.
附件中是三个动画文件.
[attach]129054[/attach]
基于ANSYS11的齿轮啮合仿真
示例图[attach]129055[/attach] 主动轮(上)被动轮(下)的转动位移曲线:
[attach]129069[/attach] 主动轮和被动轮的转速曲线(转速以线性递增方式加载在主动轮上):
[attach]129070[/attach] 主动轮和被动轮的旋转加速度曲线:
[attach]129071[/attach] 谢了,我会继续努力 做得不错,向你学习
回复 #1 fengfzg 的帖子
楼主在可以的范围内能尽可能多的介绍一下你的做法会更有利于大家的学习!:)回复 #1 fengfzg 的帖子
把命令流给出来吧!!可以学习一下!!多谢 :) 楼主多交流一下经验 光看动画没发学习啊 这个问题也是我正在搞的东西那,具体的做法也上传上就好了 用那个模块做的啊?一点体会
很早就想用ANSYS11做一下Multybody Dynamic 多体动力学仿真。但相关的资料太少,只有Help中的例子,但它是关于曲柄连杆机构的,且未做详细的介绍。就对着这个简单的例子试着做了一下齿轮啮合的仿真。
有一点点体会,与大家交流。
经过多次探索,终于发现,加旋转速度的关键在于joint elems上边界条件的施加也就是用DJ这个命令,在11版中DJ命令增加了速度选项,而在10版中没有速度选项只有位移选项。一直以来碰到的问题总算在11版中得到了解决,感到很庆幸,要是11版不出来,我就没法做下去了。还有一个相对转速的问题,在施加转速时,加在joint elems上的转速是相对转速,也就是一个节点相对于另一个节点的转速,一开始加转速时计算出来的转向是反的,后来检查了一下,原来定义的I和J节点虽然坐标位置相同,局部坐标也相同,但一个是参考点,一个不是,一般定义的时候是将第一个即I点为参考点,另一个即J点是相对于参考点I的。
还遇到一个问题,就是如何将参考点固定不动(帮助文件中说参考点不能直接固支),这样相对运动就会很明显,一开始,我将参考点与beam单元连接,再于beam单元另一端固支,但是beam单元有一定的刚度会产生变形。
再进一步研读Help才知道,其实I点可以指定为ground点,ground点是指接地点,定义单元的时候为空就行了,比如定义I点接地,命令:E,,J就可以了,也就是说把I点的位置空着,List element显示单元由0,J结点组成。
走了几次弯路,终于有了一点眉目,原来加转速就这么简单,不需要用beam去连接,直接为空接地就行了!!!!
又遇到一个小问题,是转速怎么反过来了?查看Log文件才知道,少加了一个逗号,在GUI中用了“,J”其实在命令log中变成了"E,J"而不是"E,,J"把第二点当成了ground点了。
[[i] 本帖最后由 fengfzg 于 2007-8-2 09:36 编辑 [/i]] [attach]131705[/attach]
使用MPC184-Revolute单元作为转动副
[attach]131723[/attach]注意the grounded node的设置
[attach]131724[/attach] 我用ansys9.0做得,但是看不出来转动啊,根本没有你这个效果。难道只有11.0才能做转动吗?回复 #18 zhlinzh 的帖子
关键在于DJ命令的不同,在10.0版及其以前版本中,此命令无法定义joint element 中各节点的相对速度和相对加速度。只有11.0中才有。 再进一步研读Help才知道,其实I点可以指定为ground点,ground点是指接地点,定义单元的时候为空就行了,比如定义I点接地,命令:E,,J就可以了,也就是说把I点的位置空着,List element显示单元由0,J结点组成。由于MPC184要求定义的I和J节点坐标位置相同。I点接地的话,J点不也与I点一样吗?
实际上,在节点坐标位置相同的地方能建2个节点吗?不是重合了吗? 还是有命令流,比较好交流!
回复 #20 haohaosir 的帖子
这个问题提得很好,本人在之前很长一段时间也与你一样认为节点坐标位置相同的地方不能建2个节点。其实这是一个相当大的误区,你可以相象一下在实体建模中共点、共线、共面而不同实体的现象很多,为何在有限元中就无法容许这种现象存在呢?只要不影响计算就行了,点集单元的选取只要自成体系,有重合节也未尝不可。在MPC184单元中有许多运动副单元定义的节点都是重合的,可以看一下HELP中的说明就可以理解了。 fengfzg兄,其实你的那个动画早就看过,确实做的很好,有点不明白,你的主动和被动齿轮是怎么实现的啊,是两个都驱动还是用一个驱动另一个呢?我以前做过一个,可是没成功,我是约束一个驱动另一个,结果确实也转动了,可是两个捏合后被驱动的齿轮被反弹了,这是不是接触设置的问题呢?希望你能给我讲解一下.可以在我的空间给我留言,谢谢 fengfzg兄:最好能提供命令流。这样很多不清楚的地方都能搞明白。
如果不好上传,请发给我。
拜托!
[email=dingzy666666@126.com]dingzy666666@126.com[/email]
回复 #23 fenglei213 的帖子
你的问题我在没使用ANSYS11之前也碰到过,接触的定义一般不会错,可能的错误是施加在主动齿轮轴上的转速是初始转速而不是持续转速,过了0时刻,主动齿轮主没有驱动了,只有自由转动,经过与被动齿轮的碰撞,当然会反弹了。因此转速驱动要持续加,在ANSYS11中用DJ命令。另外被动齿轮不应该固支,这不符合实际,轴心应该为转动副,并施加反扭矩。例子中转动副施加的边界条件如下,可以作为参考:
!定义joint element 的边界条件
DJ,44115,OMGZ,-10 !施加主动齿轮转速约束,其中44115号单元是主动齿轮的joint element
FJ,44116,MZ,-100 !施加被动齿轮转矩约束,其中44116号单元是被动齿轮的joint element 从你的动画看:齿轮转轴处是空心的。如何建Joint?
能否把建Joint相关的命令流提供一下?
谢谢!
MPC184从没用过。
整理出命令流以便大家参考,共同提高
经版主的提醒以及大家的反映,觉得应该将命令流贴出来交流比较好。部分命令流如下:
/PREP7
!导入网格文件和IGES文件
CDOPT,IGES
CDREAD,ALL,'gearmesh','cdb',,'gearmesh','iges' !当前目录下的gearmesh.cdb和gearmesh.iges文件
!定义材料类型
MPTEMP,1,0
MPDATA,EX,1,,2.1e11
MPDATA,PRXY,1,,0.3
MPDATA,DENS,1,,7.8e3
EMODIF,all,MAT,1,
!通过接触向导建立主动齿轮的Rigid Body
......
说明一点,IGES文件和网格文件,通过ANSYS中间文件导入,也就是说,模型和网格可以不用在ANSYS中建立,复杂的模型可以用其它软件建好再导入(本人并不看好ANSYS的实体建模能力和复杂网格划分功能)。在这里我就没有网格文件和IGES文件的命令流。
完整的命令流(除了后处理部分,我想这是各取所需的,不用贴了)参见附件。[attach]132449[/attach]
回复 #26 haohaosir 的帖子
我把轴作为刚性体(Rigid Body),以减少计算。可以参考命令流以及Help。 太谢谢了!“在这里我就没有网格文件和IGES文件的命令流。”
如果这2个文件不大的话,能否上传呢?
或发给我。[email=dingzy666666@126.com]dingzy666666@126.com[/email]
再次表示感谢! Create a pilot node (主动齿轮轴中心控制点,节点号50000)
TSHAP,PILO
E,50000
另外,请问节点50000是原cdb文件的模型里没有的吗?
为什么没有输入节点50000的坐标呢?
E,50000 是建单元而不是建节点呀? 1、 !生成主动齿轮joint element
TYPE, 6
MAT, 1
ESYS, 11
SECNUM, 2
TSHAP,PILO
E, 50000 !If the first node of the joint element is a grounded node, then the element definition is: E,,J
最后一句似乎为 E,,50000 ;对吗?
2、好象建了很多接触。是不是在整个瞬态过程中会接触的表面都要建立接触对?即使开始时刻还没有接触上。
3、MPC184 要建立2个一样的局部坐标系,有什么道理?
回复 #30 haohaosir 的帖子
E,5000 是建刚性接触单元。5000节点是cdb文件中已有的。 fengfzg兄,你好,对于你的慷慨给予肯定,非常感谢,我将仔细研读你的命令流.
希望斑竹给fengfzg兄加分~~~
回复 #31 haohaosir 的帖子
1、你的看法是对的,最后一句确实应为 E,,50000。我之所以在这里用E,I而不用E,,J是因为用E,,J命令ANSYS会出警告信息,麻烦;我用E,I只要把相应的转速和转矩反向就行了,可参考我的命令流。你可以试一试,若有何高见,不妨拿出来交流一下。2、接触对的建立是根据计算所需的,只要在整个计算过程中保持接触对的完备就行了,我在这个例子中为了方便就将所有的齿对都定义为接触了。
3、MPC184 单元中不同的节点要建立相同或不同的局部坐标系(可以相同,参照第一个节点坐标系) 太谢谢了!
如果网格cdb文件和IGES文件不大的话,能否上传呢?
或发给我。
[email=dingzy666666@126.com]dingzy666666@126.com[/email]
再次表示感谢!
上传ANSYS中间文件
文件较大,压缩后可以发上来,一共三个压缩包。[attach]132796[/attach]
[attach]132797[/attach]
[attach]132798[/attach]
[[i] 本帖最后由 fengfzg 于 2007-8-11 13:16 编辑 [/i]] 非常感谢!
好好学习一下。
我还没有11.0,先了解了解。 对于没有11.0版本的来说,能否采用下面的办法加转速(角速度)?
[b]Main Menu>Solution>Define Loads>Apply>Structural>Inertia>Angular Veloc>On Components>Pick Nodes[/b]
回复 #1 fengfzg 的帖子
good work!做得很不错啊
回复 #39 haohaosir 的帖子
不能用此种方法,因为Inertia>Angular Veloc加的是初始转速,而不是持续转速。用此种方法加的初始转速只是在0时刻有效,过了0时刻,转动就没有驱动,转速取决于阻尼和反扭矩等。而在11.0版的DJ命令中,加的是持续驱动的转速,而不管阻尼和反扭矩如何,转速都是DJ定义的转速,可以从结果图中明显看出。页:
[1]
2