ANSYS建立刚性域解决多个节点之间约束问题

和朋友探讨将多个节点约束起来的方法时,想起了多年前在硕士毕业论文中用到的刚性域。

当需要让一组节点具有共同自由度的时候,通常采用的方法是利用CP命令将节点进行耦合,但问题来了,耦合是“一对一”的,即一个节点只能存在于一个耦合对里 ,否则计算的时候会报错。那么若要实现多对一的“自由度绑定”应该如何处理呢?

在处理对实体单元建立的箱梁截面施加弯矩的问题上,可以利用cerig命令,将截面所有节点的自由度绑定到平面外的一个节点上,使该截面的位移、转角都和该节点的相同——由此就可以把对截面施加弯矩转变成对节点施加弯矩——这样通过节点力F命令就可以搞定了。

et,4,21 !首先建立mass21单元,用来建立刚性域
……
KPMAX= !设置当前最大关键点编号为变量,清空该变量
*get,KPMAX,kp,0,num,max !得到当前最大关键点编号
k,KPMAX+1,x,y,z !建立一个新的关键点,并给出关键点的坐标(在要建立刚性域的相关节点旁边)
ksel,s,,,KPMAX+1 ! 选择刚刚建立的关键点
kplot
type,4 !设置单元属性
real,1 !这是一个空的实常数
kmesh,all !划分网格,形成节点
allsel
nsel,s,loc,x,x,y+dy !选择欲建立刚性域的节点组(这里是一个平面内的所有节点)
nplot 
CERIG,node(x,y,0),ALL,ALL, , , , !建立刚性域,node()里是刚才建立的那个节点的坐标

命令说明

CERIG, MASTE, SLAVE, Ldof, Ldof2, Ldof3, Ldof4, Ldof5

参数:MASTE,主要节点;

SLAVE, 从属节点;

Ldof,约束方程从属节点所使用的自由度。选项:ALL、UXYZ、RXYZ、UX、UY、UZ、ROTX、ROTY、ROTZ

ALL:对于3D单元,生成基于UX、UY、UZ、ROTX、ROTY、ROTZ的6个约束方程;若是2D单元,生成基于UX、UY、ROTZ的三个约束方程。

UXYZ:平移自由度。对于3D单元,生成基于从属节点UX、UY、UZ自由度和主节点UX、UY、UZ、ROTX、ROTY、ROTZ自由度的三个约束方程;对于2D单元,生成基于从属节点UX、UY自由度和主节点UX、UY、ROTZ自由度的一个方程。

RXYZ:转动自由度。对于3D单元,生成基于ROTX、ROTY、ROTZ的三个方程;对于2D单元,生成基于ROTZ的一个约束方程。

UX、UY、UZ、ROTX、ROTY、ROTZ 节点的六个自由度

这是对箱梁截面建立了刚性域之后的效果:

2014-12-22_000443

2014-12-22_000508

这里又引出了另一个问题,既然刚性域的功能是“自动生成约束方程”,那么直接用建立刚性域的方法,将下图各个两单元中的5,6,7,8四个节点自由度全部约束起来,可否用刚性域来实现呢?

QQ图片20141221234403

有空的时候玩玩,朋友去实践了,静候他的佳音^_^

*欢迎转载,转载请标明来源:十千牛,文章地址: http://10kn.com/ansys-cerig/

欢迎关注十千牛微信公众号

说不定我这一生涓滴意念,侥幸汇成河,而且是一条大长河

Leave a Reply

Your email address will not be published. Required fields are marked *