首先简单说一下用于梁-实体MPC接触的conta175单元。这是一个只有单一节点的单元,所以创建的时候只需要用E,而不是ESURF!!我这一个习惯性的ESURF废了我将近一个多小时,我说怎么用GUI都搞出来的东西,命令流怎么就总提示 No surface elements were generated呢,只有一个节点,自然没有surface elements啦,囧啊。
再有,虽然ansys帮助文档中,对于175的keyopt(3)和keyopt(4)有推荐值,但对于MPC算法而言,接触刚度什么的都是浮云,不用理会,只需按照如下小例中的方法设定即可。
finish
/clear
/prep7
et,1,solid95 !实体单元
mp,ex,1,3.5e4
mp,nuxy,1,0.2
mp,dens,1,2600et,2,beam44 !梁单元
mp,ex,2,3.2e4
mp,dens,2,2500
mp,prxy,2,0.1667et,3,175 !contact175 接触单元,准备做梁-实体的MPC
KEYOPT,3,2,2 !使用MPC多点约束算法
KEYOPT,3,12,5 !设置接触行为是;绑定粘结et,4,170 !Target170
r,1 !空实常数,用于赋给实体
r,2 !空实常数,用于识别接触对block,-3,0,0,2,-4,4 !创建实体
type,1,
mat,1
real,1
esize,0.5
mshape,0
mshkey,1
vmesh,all*get,nodemax,node,0,num,max !创建梁
n,nodemax+1,0.1,1,0
ngen,6,1,nodemax+1,,,1
type,2
mat,2
sectype,1,beam,csolid,pier
secdata,0.3
secnum,1
*do,i,1,5
e,nodemax+i,nodemax+i+1
*enddo
allsel,all
/eshape,1
/VIEW,1,1,2,3
eplot!开始创建MPC
nsel,s,loc,x,0
nsel,u,,,nodemax+1
nplot
type,4
real,2
esurf !生成实体接触点上的Target单元nsel,s,,,nodemax+1
nplot
type,3
real,2
e,nodemax+1 !生成梁端部接触点上的contact单元/solu
allsel,all
asel,s,loc,y,0
da,all,all
allsel,all
f,nodemax+6,fy,-2
solve/post1
plnsol,s,1
梁端节点和实体可以有公共节点,也可以没有
结果显示,梁顺利地把荷载传递到实体上
---------------------
再说一个小问题:
@隔壁王二不曾偷 同学留言:
我在试单个梁单元或者很少梁单元与实体刚接时没有任何问题,但是很多梁单元和一个面刚接时计算结果却跟理论上结果完全不同,我查看了一下局部刚接的地方,完全没有应力集中,推测是没有刚接成功,不知您是否有过多个梁单元和实体刚接的经历呢?希望您能够给我解答这个问题,谢谢!
之所以有这个问题,其实就是已经经过简化的,我做的是一个换热器,把换热器的管板简化成实心板,换热管简化成梁单元,然后进行刚接,加载求解能够计算,但是刚接的地方是没有应力集中的,理论上是应该有的,因此怀疑并没有刚接成功。而且结果和全实体单元计算的结果并不吻合,所以才有此问,很是困惑
大家看看,这个怎么解决呢?