当前位置:文档之家› ansys技巧总结_接触分析命令流

ansys技巧总结_接触分析命令流

求助各位高人:我是作有限元接触分析的,当我对三个圆柱(内接触和外接触,其中两个是空心圆柱)做三维有限元分析时,在建模时很简单,不过在建立接触组元和接触对时,会出现几个错误,全都是没有选择线某某,如果不理会这些错误,在加载时,会产生无数的错误,全都是在某某线上的某某节点没有选择上,导致最后无法求解,我该怎么办,请各位大侠务必在百忙之中抽空帮帮我,本人万分感激!
其简单的命令流如下:
/prep7
et,1,solid45
et,2,contac49,,,1
mp,ex,1,2.14e5
mp,nuxy,1,0.25
r,2,2.14e5,,,,0.001
csys,1
k,1
k,2,5
k,3,5,60
k,4,5,90
k,5,3,90
kgen,2,1,5,1,,,20,100
l,1,5
l,2,3
l,101,105
l,102,103
lesize,all,,,6
lplot
l,1,101
*repeat,5,1,1
lesize,5,,,9
*repeat,5,1
local,11,1,,5
l,3,5
l,103,105
csys,1
v,1,2,3,5,101,102,103,105
v,5,3,4,4,105,103,104,104
mshk,1
msha,0,3d
esize,,6
vmesh,1,2
local,12,1,,20,,-90
k,6,15
k,7,15,10
k,8,15,170
k,9,15,180
k,10,7.5
k,11,7.5,180
k,12,7.5,10
k,13,7.5,170
csys,12
l,12,13
l,7,8
kgen,2,6,13,1,,,20,100
l,112,113
l,107,108
lplot
/pnum,line,1
/pnum,area,1
/pnum,volu,1
lplot
lsel,s,,,18,21
lplot
lesize,all,,,30
/pnum,kp,1
kplot
l,6,106
*repeat,8,1,1
l,8,9
l,6,7
l,11,13
l,10,12
l,108,109
l,106,107
l,111,113
l,110,112
v,7,8,13,12,107,108,113,112
v,8,9,11,13,108,109,111,113
v,6,7,12,10,106,107,112,110
esize,,9
vmesh,3,5
csys,1
k,14,35
k,15,35,90
k,16,42,90
k,17,42
k,18,35,85
k,19,42,85
kgen,2,14,19,1,,,20,100
l,14,18
l,17,19
l,114,118
l,117,119
lsel,s,,,46,49
lesize,all,,,50
l,14,114
*repeat,5,1,1
lesize,50,,,9
*repeat,5,1
v,14,17,19,18,114,117,119,118
v,15,16,19,18,115,116,119,118
esize,,9
vmesh,6,7
finish
/prep7
mp,mu,2,0.07
r,4,2.14e5,,,,0.001
asel,s,,,23
nsla,,1
cm,contact1,node
asel,s,,,8
nsla,,1
cm,target1,node
asel,s,,,18
nsla,,1
cm,contact2,node
asel,s,,,36
nsla,,1
cm,target2,node
real,2
mat,2
type,2
gcgen,contact1,target1
real,4
gcgen,contact2,target2
csys,0
nsel,s,loc,x
d,all,ux
asel,s,,,28
nsla,,1
d,all,all
asel,s,,,29,35,6
nsla,,1
nrotat,all
d,all,all
asel,s,,,2
nsla,,1
cp,1,uy,all
*get,nc,node,,num,min
/solu
pred,on
autot,on
nsubst,10,100,5
d,nc,uy,0.005
solve
ddele,nc,uy
f,nc,fy,3.2*1010/300
lnsr,on
nropt,full,on
solve
关于约束有两种:
1)自身的约束,对称约束
你是提取实体的一部份,要用到对称约束对剖面约束
apply->displacement->symmetry B.C.->on area 选中六个剖面即可,它不让你选ux,uy
2)施加的约束
如限制中空圆柱棍子和高速轴横向移动和固定外套
要分开加。

ANSYS57中的VM191 不能显示摩察力,这可能与单元有关,48,49(点对面)单员不能显示摩察力

但169(面到面)可以。
如果你只是对系统分析,等效应力就可以了。
如果你想得出磨察力
可用编程提取
具体你可看王国强的接触分析!

系统间的等效应力可理解为系统间的接触应力。
而且ansys只能给出每个节点的切向和法向力,但不能给个合力。
求磨察力,可通过和磨察力平横的力来求
也可通过编程来求
具体是:
先得到接触单元的状态
ETABLE,NSTAT,NMISC,1
在求里
fn:法向力
fs:滑动力
具体看单元输出表。

EL Element Number Y Y

FS1 Tangential force in element direction 1 (elastic or sliding) 2 2
FS2 Tangential force in element direction 2 (elastic or sliding) 2 2
FSLIM Friction limit force 2 2
MU Coefficient of friction 2 2

王国强的有限元分析(非常基础的那本),第130页的例子可看看。
要说的是求种的求磨察力和法向力,还没有一个好的方法。
你只想进行结构分析,等效应力够了,它是磨察力和法向力纵合的。
你要想具体得出种的磨察力和种的法向力,要自已编程。
我给你一个别人做过的东西
接触面上的压力总和怎样得到
第三版,欢迎指正!
!calculate mean contact pressure
!file name : pressure.txt
!command: /input,pressure,txt
!pave is the mean contact pressure
esel,s,type,,3 !contact element 172
*get,nelm,elem,0,count
*get,el,elem,0,num,min
*dim,pel,,nelm,1
*dim,sfel,,nelm,1
pfsum=0
pfsumx=0
pfsumy=0
sfsum=0
sfsumx=0
sfsumy=0
asum=0
asumx=0
asumy=0
pave=0 !the average contact pressure
numcont=0 !the number of contact elements
cnfxsum=0
cnfysum=0
pi=4*atan(1)
*do,i,1,nelm
*GET,stat1,ELEM,el,NMISC,19,1,2 !stat1, contact element status
*if,stat1,ge,2,then !if stat1>=2, it is in close contact,else it's open
!*GET,ael,ELEM,el,AREA
!For axisymmetric model
*GET,lel,ELEM,el,LENG
nd1=nelem(el,1)
nd2=nelem(el,2)
sintheta=(ny(nd2)+uy(nd2)-ny(nd1)-uy(nd1))/lel
costheta=(nx(nd2)+ux(nd2)-nx(nd1)-ux(nd1))/lel
r1=nx(nd1)+ux(nd1)
r2=nx(nd2)+ux(nd2)
!ael=pi*(r1+r2)*lel
ael=(r1+r2)*lel
!*
!calculate force in x and y direction
*GET,lelx,ELEM,el,LPROJ,X
*GET,lely,ELEM,el,LPROJ,Y
aely=(r1+r2)*lely
aelx=(r1+r2)*lelx
!*
*GET,pel( i ),ELEM,el,SMISC, 5,1,2 !get normal contact pressure of contact element el.
*GET,sfel( i ),ELEM,el,SMISC, 3,4 !get tangential contact stress of contact element el.
*GET,cnfx,ELEM,el,NMISC, 21 !get Contact element el force-x component.
*GET,cnfy,ELEM,el,NMISC, 22 !get Contact element el force-y component.
cnfxsum=cnfxsum+cnfx
cnfysum=cnfysum+cnfy
!*
asum=asum+ael
pfsum=pfsum+ael*pel( i )
sfsum=sfsum+ael*sfel( i )
!sum of the forces in x and y directions
asumx=asumx+aelx
asumy=asumy+aely
pfsumx=pfsumx+ael*pel( i )*sintheta
pfsumy=pfsumy+ael*pel( i )*costheta
sfsumx=sfsumx+aelx*sfel( i )*costheta
sfsumy=sfsumy+aely*sfel( i

)*sintheta
!*
numcont=numcont+1
*endif
el=elnext(el)
*enddo
!average and total forces
pave=pfsum/asum
pfsum=pi*pfsum
sfave=sfsum/asum
sfsum=pi*sfsum
!average and total forces in x and y directions
pavex=pfsumx/asumx !平均法向接触力x向分量
pfsumx=pi*pfsumx !法向接触力x向分量
pavey=pfsumy/asumy !平均法向接触力y向分量
pfsumy=pi*pfsumy !法向接触力y向分量
sfavex=sfsumx/asumx !平均摩擦力x向分量
sfsumx=pi*sfsumx !摩擦力x向分量
sfavey=sfsumy/asumy !平均摩擦力y向分量
sfsumy=pi*sfsumy !摩擦力y向分量
!*
cnfxsum=cnfxsum !x向接触力(摩擦力和法向接触力的x向分量)
cnfysum=cnfysum !y向接触力(摩擦力和法向接触力的y向分量)

第四版,欢迎指正!
!calculate mean contact pressure
!file nameressure.txt
!command: /input,pressure,txt
!pave is the mean contact pressure
esel,s,type,,3 !contact element 172
*get,nelm,elem,0,count
*get,el,elem,0,num,min
*dim,pel,,nelm,1
*dim,sfel,,nelm,1
pfsum=0
pfsumx=0
pfsumy=0
sfsum=0
sfsumx=0
sfsumy=0
asum=0
asumx=0
asumy=0
pave=0 !the average contact pressure
numcont=0 !the number of contact elements
cnfxsum=0
cnfysum=0
pi=4*atan(1)
*do,i,1,nelm
*GET,stat1,ELEM,el,NMISC,19,1,2 !stat1, contact element status
*if,stat1,ge,2,then !if stat1>=2, it is in close contact,else it's open
!*GET,ael,ELEM,el,AREA
!For axisymmetric model
*GET,lel,ELEM,el,LENG
nd1=nelem(el,1)
nd2=nelem(el,2)
dx1=nx(nd2)+ux(nd2)-nx(nd1)-ux(nd1)
dy1=ny(nd2)+uy(nd2)-ny(nd1)-uy(nd1)
lel=sqrt(dx1*dx1+dy1*dy1)
sintheta=dy1/lel
costheta=dx1/lel
r1=nx(nd1)+ux(nd1)
r2=nx(nd2)+ux(nd2)
!ael=pi*(r1+r2)*lel
ael=(r1+r2)*lel
!*
!calculate force in x and y direction
lelx=abs(dx1)
lely=abs(dy1)
aely=(r1+r2)*lely
aelx=(r1+r2)*lelx
!*
*GET,pel( i ),ELEM,el,SMISC, 5,1,2 !get normal contact pressure of contact element el.
*GET,sfel( i ),ELEM,el,SMISC, 3,4 !get tangential contact stress of contact element el.
*GET,cnfx,ELEM,el,NMISC, 21 !get Contact element el force-x component.
*GET,cnfy,ELEM,el,NMISC, 22 !get Contact element el force-y component.
cnfxsum=cnfxsum+cnfx
cnfysum=cnfysum+cnfy
!*
asum=asum+ael
pfsum=pfsum+ael*pel( i )
sfsum=sfsum+ael*sfel( i )
!sum of the forces in x and y directions
asumx=asumx+aelx
asumy=asumy+aely
pfsumx=pfsumx+ael*pel( i )*sintheta
pfsumy=pfsumy+ael*pel( i )*costheta
sfsumx=sfsumx+ael*sfel( i )*costheta
sfsumy=sfsumy+ael*sfel( i )*sintheta
!*
numcont=numcont+1
*endif
el=elnext(el)
*enddo
!average and total forces
pave=pfsum/asum
pfsum=pi*pfsum
sfave=sfsum/asum
sfsum=pi*sfsum
!average and total forces in x and y directions
pavex=pfsumx/asumy
pfsumx=pi*pfsumx
pavey=pfsumy/asumx
pfsumy=pi*pfsumy
sfavex=sfsumx/asumy
sfsumx=pi*sfsumx
sfavey=sfsumy/asumx
sfsumy=pi*sfsumy
!*
cnfxsum=cnfxsum
cnfysum=cnfysum


相关主题
文本预览
相关文档 最新文档