预应力简支梁弹性分析--体线独立耦合法示例
!-----------------------------------------
/prep7
eg=2e5
ag=140
eh=4e4
r0=9345
yyl=200000
et,1,link8
et,2,solid95
r,1,ag,yyl/eg/ag*1.036258
r,2
mp,ex,1,eg
mp,prxy,1,0.3
mp,ex,2,eh
mp,prxy,2,0.2
blc4,,,100,200,3000
/view,1,1,1,1
/ang,1
vplot
!------------定义力筋线
ksel,all
*get,kp0,kp,0,num,max
lsel,none
k,kp0+1,50,160
k,kp0+2,50,160,3000
k,kp0+3,50,800,1500
larc,kp0+1,kp0+2,kp0+3,r0
kdele,kp0+3
*get,line1,line,0,num,min
!-------------定义约束
lsel,s,loc,z,0
lsel,r,loc,y,0
dl,all,,uy
lsel,s,loc,z,3000
lsel,r,loc,y,0
dl,all,,all
allsel,all
!-----------单元划分
lsel,s,,,line1
latt,1,1,1
lesize,all,,,50
lmesh,all
vsel,all
vatt,2,2,2
lsel,s,loc,z,0
lsel,r,loc,y,10,140
lesize,all,,,8
lsel,s,loc,z,0
lsel,u,loc,y,10,140
lesize,all,,,4
lsel,s,loc,y,0
lsel,r,loc,x,0
lesize,all,,,50
vsweep,all
allsel,all
!耦合自由度
lsel,s,,,line1
nsll,s,1
cm,cmljnod,node
*get,max1,node,0,count
*dim,ojd,,max1
*dim,jd,,max1
*get,nod1,node,0,num,min
ojd(1)=nod1
*do,i,2,max1
ojd(i)=ndnext(ojd(i-1))
*enddo
allsel,all
nsel,all
cmsel,u,cmljnod
*do,i,1,max1
nod1=ojd(i)
j=nnear(nod1)
jd(i)=j
*enddo
nsel,all
ji=1
*do,i,1,max1
cp,ji,ux,ojd(i),jd(i)
cp,ji+1,uy,ojd(i),jd(i)
cp,ji+2,uz,ojd(i),jd(i)
ji=ji+3
*enddo
allsel,all
ji=
i=
max1=
nod1=
ojd=
jd=
j=
ag=
eg=
eh=
kp0=
r0=
yyl=
line1=
finish
/solu
solve
finish
/post1
pldisp,1
etable,sigi,ls,1
plls,sigi,sigi,1 |