接触分析中用usermat定义基体材料,计算结果不对,求救!
浏览:64558 回答:2
usermat用ansys自带的例子。按说是和 tb,biso 一个效果,可为甚么用到接触分析当中同样的设置tb,biso可以计算,但usermat就算不出来接触?如图真相两图中模型一样,接触面在正中y=0面,两部分左边都约束ux,下半部分底部约束uy,上半部分上边受压(uy=-0.04)
图1 使用usermat计算结果的位移云图图中红色位移为0,蓝色位移为-0.04,可以看到两部分根本没有接触,上半部分整体位移了-0.04与下半部分重叠了一些。
图2 使用tb,biso计算结果的位移云图
可以看到,由于上下两部分在接触面上相接,整个模型呈典型的受压状态。底边为0,上边-0.04。
怎么会这样?难道接触不能用usermat定义基体?
finish
/clear
/config,NRES,5000
/PREP7
/PNUM,KP,1
/PNUM,LINE,1
/PNUM,AREA,1
/pnum,node,0
/pnum,elem,0
/DSCALE,1,1.0
et,1,183
KEYOPT,1,3,2
et,2,172
KEYOPT,2,2,1
keyopt,2,12,4
et,3,169
*set,INnum,50
*set,Smax,600
*set,DeltaN,1e-3
*set,DeltaT,1e-3
mp,ex,1,2.1e5
mp,nuxy,1,0.3
tb,biso,1,1,4
tbtemp,1.0
tbdata,1,1e3,100
!mp,mu,1,0
!tb,user,1,,4
!tbdata,1,2.1e5, 0.3, 1000,100, ! E, posn, sigy, H
TB,CZM,2,1,,CBDD
TBDATA,1,Smax,DeltaN,,,1/INnum/20
mp,mu,2,0.1
*set,a,10
*set,b,5
k,,0,0
k,,a,0
k,,a,b
k,,0,b
l,1,2
l,2,3
l,3,4
l,4,1
al,all
lesize,all,1
mshape,0,2d
mshkey,1
type,1
mat,1
allsel
amap,1,1,2,3,4
lsel,s,,,1
nsll,s,1
esln,all
EREFINE, all,,,1,Clean, off
numcmp,all
allsel
numcmp,all
arsym,y,all
!nummrg,all,,,,low
!!!!!!!!!!!!!!!!!!!!!!
lsel,s,,,1
nsll,s,1
esln,s
mat,2
type,2
esurf,all
lsel,s,,,5
nsll,s,1
esln,s
mat,2
type,3
esurf,all
/SOL
antype,0
NLGEOM,1
NSUBST,INnum
outres,erase
outres,all,1
autots,0
time,1
nsel,s,loc,y,-b
d,all,uy
allsel
nsel,r,loc,x,0
d,all,ux
allsel
nsel,s,loc,y,b
!nsel,r,loc,x,0
d,all,uy,-0.04
allsel
solve
/POST1
SET,LAST
/EFACET,1
PLNSOL, s,Y, 0,1.0

图1 使用usermat计算结果的位移云图图中红色位移为0,蓝色位移为-0.04,可以看到两部分根本没有接触,上半部分整体位移了-0.04与下半部分重叠了一些。

图2 使用tb,biso计算结果的位移云图
可以看到,由于上下两部分在接触面上相接,整个模型呈典型的受压状态。底边为0,上边-0.04。
怎么会这样?难道接触不能用usermat定义基体?
finish
/clear
/config,NRES,5000
/PREP7
/PNUM,KP,1
/PNUM,LINE,1
/PNUM,AREA,1
/pnum,node,0
/pnum,elem,0
/DSCALE,1,1.0
et,1,183
KEYOPT,1,3,2
et,2,172
KEYOPT,2,2,1
keyopt,2,12,4
et,3,169
*set,INnum,50
*set,Smax,600
*set,DeltaN,1e-3
*set,DeltaT,1e-3
mp,ex,1,2.1e5
mp,nuxy,1,0.3
tb,biso,1,1,4
tbtemp,1.0
tbdata,1,1e3,100
!mp,mu,1,0
!tb,user,1,,4
!tbdata,1,2.1e5, 0.3, 1000,100, ! E, posn, sigy, H
TB,CZM,2,1,,CBDD
TBDATA,1,Smax,DeltaN,,,1/INnum/20
mp,mu,2,0.1
*set,a,10
*set,b,5
k,,0,0
k,,a,0
k,,a,b
k,,0,b
l,1,2
l,2,3
l,3,4
l,4,1
al,all
lesize,all,1
mshape,0,2d
mshkey,1
type,1
mat,1
allsel
amap,1,1,2,3,4
lsel,s,,,1
nsll,s,1
esln,all
EREFINE, all,,,1,Clean, off
numcmp,all
allsel
numcmp,all
arsym,y,all
!nummrg,all,,,,low
!!!!!!!!!!!!!!!!!!!!!!
lsel,s,,,1
nsll,s,1
esln,s
mat,2
type,2
esurf,all
lsel,s,,,5
nsll,s,1
esln,s
mat,2
type,3
esurf,all
/SOL
antype,0
NLGEOM,1
NSUBST,INnum
outres,erase
outres,all,1
autots,0
time,1
nsel,s,loc,y,-b
d,all,uy
allsel
nsel,r,loc,x,0
d,all,ux
allsel
nsel,s,loc,y,b
!nsel,r,loc,x,0
d,all,uy,-0.04
allsel
solve
/POST1
SET,LAST
/EFACET,1
PLNSOL, s,Y, 0,1.0
你的意思是使用tb,user定义力学性能参数外,还需要写入mp,ex,和mp,nuxy?
关于usermat有个问题一直没想明白,一般是主程序计算了应变增量,然后调用usermat更新应力和一致切线算子矩阵,但是,每个载荷子步的第一次计算的时候,主程序使用的是怎样的单元刚度矩阵?这是不是说我们在使用usermat的时候需要给出弹性参数以方便ansys主程序的第一次计算?