rodge 发表于 2008-4-6 17:40

施加弯矩扭矩方法总结

应该说venture在(原创)图文并茂加力矩中很好的介绍了力矩的施加方法,但该帖子中所介绍的主要是一种方法,而且也缺少命令流。故通过查找网上的资料,并进行验证,对此加以总结:
施加弯矩扭矩的方法其实不只三种,有很多种方法,在这里介绍其中的5种,并进行比较:
1.将矩转换成一对的力偶,直接施加在对应的节点上面。
2.在构件中心部位建立一个节点,定义为mass21单元,然后跟其他受力节点耦合,形成刚性区域,就是用cerig命令。然后直接加转矩到主节点,即中心节点上面。
3.使用mpc184单元。是在构件中心部位建立一个节点,跟其他受力节点分别形成多根刚性梁,从而形成刚性面。最后也是直接加载荷到中心节点上面,通过刚性梁来传递载荷。
4.通过rbe3命令。该方法与方法2很接近。
5.基于表面边界法:主要通过定义一个接触表面和一个目标节点接触来实现,弯矩荷载可以通过在目标节点上用“F”命令施加。

对于方法1,通过转换为集中力或均布力,比如施加扭矩,把端面节点改成柱坐标,然后等效为施加环向的节点力;而施加弯矩,可以将力矩转化为端面的剪切均布力;但这种方法比较容易出现应力集中现象;
方法2,定义局部刚性区域,施加过程venture讲的很详细,这里就不在赘述。根据他的例子,我在下面给出了一段命令流。该方法有个不足,它在端面额外的增加了一定的刚度,只能适用于小变形分析。
方法3,相对方法2来说,采用刚性梁单元,适用范围更广一些,对于大应变分析也能很好的适用。但在小应变分析下,方法2和方法3没有什么区别。
方法4,定义一个主节点,施加了分布力面,应该说跟实际比较接近一点,但端面的结果好像不是很理想,结果有点偏大,在远离端面处的位置跟实际很符合。
方法5,它具体的受力形式有如下两种:
刚性表面边界(Rigid surface constraint)-认为接触面是刚性的,没有变形,和通过节点耦合命令CERIG比较相似;
分布力边界(Force-distributed constraint)-允许接触面的变形,和边界定义命令RBE3相似。
使用这种方法,需要用KEYOPT(2) = 2打开接触单元的MPC(多点接触边界)算法,

下面针对venture给出的例题,用不同的方法来实现的命令流。
方法1不介绍了,方法2:
/PREP7
ET,1,95
ET,2,21
KEYOPT,2,3,0
R,1,1E-6
MP,EX,1,2.01e5
MP,PRXY,1,0.3

CYLIND,15,10,0,200,0,360,
wpro,,90,
vsbw,all
wpro,,,90
vsbw,all
WPCSYS,-1,0
K,17 , , ,210
lsel,s,,,13,16,1
lesize,all, , ,8, , , , ,1
lsel,s,,,22
lesize,all, , ,4, , , , ,1
lsel,s, , ,17,20,1
lsel,a, , ,26,27,1
lsel,a, , ,30,31,1
lesize,all, , ,20,0.4, , , ,1
alls
vmesh,all
!!!!!下面一段开始各个方法有所不同,由于前面的建模一样,后面的例子就不再给出
ksel,s,,,17
type,2
real,1
kmesh,all
allsel
nsel,s,loc,z,200,210
npolt
CERIG,node(0,0,210),ALL,ALL, , , ,
!!!!!CERIG命令定义局部刚性区域
allsel
/SOLU
f,node(0,0,210),mz,10e5
FINISH
!!!!!以下一段边界条件的施加各种方法一样,后面例子也不再赘述
/SOL
nsel,s,loc,z,0
d,all,all
allsel
solve

方法3:使用MPC184单元定义刚性梁
……
et,2,184
keyopt,2,1,1
nsel,s,loc,z,200
n,15000 ,0,0,210
type,2
*get,nnum,node,0,count
*get,ND,node,0,num,min
*do,i,2,nnum
!!!!节点个数是nnum,只需要生成nnum个mpc单元
E, 15000,ND
ND=NDNEXT(ND)
*enddo
allsel
/SOLU
f,node(0,0,210),mz,10e5
FINISH

……
方法4:rbe3命令
……
ET,2,21
KEYOPT,2,3,0
R,1,1E-6
K,17 , , ,210
ksel,s,,,17
type,2
real,1
kmesh,all
allsel
nsel,s,loc,z,200
*get,nnum,node,0,count
*get,ND,node,0,num,min
*dim,sla,array,nnum
*dim,sla2,array,nnum
*do,i,1,nnum
sla(i)=ND
sla2(i)=ND
ND=NDNEXT(ND)
*enddo
allsel
rbe3,node(0,0,210),all, sla,sla2
/SOLU
f,node(0,0,210),mz,10e5

FINISH
……









方法5:定义刚性接触面
……
n,15000 ,0,0,200
MAT,1
R,3 REAL,3
ET,2,170ET,3,175KEYOPT,3,12,5
KEYOPT,3,4,1KEYOPT,3,2,2KEYOPT,2,2,0KEYOPT,2,4,111111
TYPE,2
! Create a pilot node
TSHAP,PILO
E,15000 ! Generate the contact surface
ASEL,S,,,14 ASEL,A,,,19 ASEL,A,,,24 ASEL,A,,,28 CM,_CONTACT,AREATYPE,3
NSLA,S,1ESLN,S,0ESURF
ALLSEL
allsel
/SOLU
f,node(0,0,210),mz,10e5
FINISH
…...



[ 本帖最后由 rodge 于 2008-4-6 18:13 编辑 ]

16443 发表于 2008-4-7 11:19

这个不错,应该置顶!
不用有很多人天天问怎么加力矩了。

paradiseboy 发表于 2008-5-5 15:44

受教了。
之前做轴类零件的扭转分析,都是采用第一种方法,就是把圆柱端面圆周的节点转换到圆柱坐标系中,然后施加y方向的力载荷。用这种方法确实容易产生集中应力,但是实现起来比较方便。

我也提供一种方法:在分析齿轮的接触分析中用过,效果还可以。用ANSYS/LS-DYNA做动态非线性分析仿真中,可以用shell163单元,作为刚体,可直接施加载荷。

xgxpizza 发表于 2009-4-9 18:13

回复 板凳 paradiseboy 的帖子

三楼能用LSDYNA做下么?贴下K文件,谢谢了,正在学习中。。。。

xiongzai210 发表于 2009-5-3 21:50

有谁知不知道空调管路上的力怎么加?力矩还是力?

zhouxman 发表于 2009-5-3 22:19

按照 这样做好像还是有外扩的现象?为什么

hitlxl 发表于 2009-5-18 14:02

我自己也做了一个模型,还有把1楼的命令流也执行了一遍,但是都存在一定外扩现象?为什么?目前还没有找到原因,有解决了的大侠帮忙分析一下!

dwj111 发表于 2009-5-22 10:35

用刚性单元不行,结果不是很正确的甚至根本就是错误的,有时会报错。一个节点上有两个以上刚性梁,没法计算的。我倒是是有一套方法,不过这里不能贴啦

jxxansys 发表于 2009-6-6 23:09

实际机械中弯矩、扭矩都是通过施加集中力或压力来实现的。
所以讨论对实体单元模型施加弯矩、扭矩是没有任何意义的!

graduates 发表于 2009-9-13 16:07

如果是受沿梁长均布扭转荷载作用,应该怎么加呢?

perfect200 发表于 2009-10-7 23:06

刚性单元和实际完全不符合,第一种方法感觉比较符合实际,但感觉没有方向性,每个柱面的应力都一样啊,如果加两个垂直的弯矩如何实现

zhouxman 发表于 2009-10-8 10:03

原帖由 jxxansys 于 2009-6-6 23:09 发表 http://www.chinavib.com/forum/images/common/back.gif
实际机械中弯矩、扭矩都是通过施加集中力或压力来实现的。
所以讨论对实体单元模型施加弯矩、扭矩是没有任何意义的!



楼上的说的好
如果所选的实体单元没有转动自由度 计算其扭矩 有意义么???

perfect200 发表于 2009-10-8 17:54

还有,我运行后怎么没有负值啊

bluecmy 发表于 2010-3-16 15:57

第二个方法用在提单元上会报错呀

noahsark 发表于 2011-4-10 20:07

这个要顶啊
页: [1] 2
查看完整版本: 施加弯矩扭矩方法总结