6盾构管片三维计算命令流-径向弹簧-不用循环语句加载耦合----重合节点模拟纵向螺栓 (1).docx
《6盾构管片三维计算命令流-径向弹簧-不用循环语句加载耦合----重合节点模拟纵向螺栓 (1).docx》由会员分享,可在线阅读,更多相关《6盾构管片三维计算命令流-径向弹簧-不用循环语句加载耦合----重合节点模拟纵向螺栓 (1).docx(13页珍藏版)》请在冰点文库上搜索。
/TITLE,shieldtunnelinMetro
/NOPR
/COM,Structural
/PREP7
ET,1,BEAM3!
管片
ET,2,link10,,,1,!
地基弹簧1
ET,3,COMBIN14,0,0,!
地基弹簧2
ET,4,COMBIN14,0,6,!
环间抗弯弹簧1外侧受拉
ET,5,COMBIN14,0,6,!
环间抗弯弹簧2内侧受拉
ET,6,COMBIN14,0,1,0!
1环纵向抗剪弹簧径向
ET,7,COMBIN14,0,2,0!
1环纵向剪切弹簧切向
ET,8,COMBIN14,0,1,0!
2环纵向抗剪弹簧径向
ET,9,COMBIN14,0,2,0!
2环纵向剪切弹簧切向
ET,10,link10,,,1,!
地基弹簧3
R,1,0.3,0.00225,0.3,,,,
R,2,0.0497,,,
R,3,1e6,,,
R,4,3e7,
R,5,5e7,
R,6,2.79e10,
R,7,2.79e10,
R,8,2.79e10,
R,9,2.79e10,
R,10,0.0497,,,
MPTEMP,1,0
MPDATA,EX,1,,50e9
MPDATA,PRXY,1,,0.2
MPTEMP,1,0
MPDATA,DENS,1,,2500
MPDATA,EX,2,,170e6
MPDATA,EX,10,,170e6
SAVE
K,1000,0,0,0,
csys,1
K,1,2.85,99,0
K,2,2.85,115,0
K,3,2.85,115,0
K,4,2.85,180,0
K,5,2.85,180,0
K,6,2.85,252,0
K,7,2.85,252,0
K,8,2.85,324,0
K,9,2.85,324,0
K,10,2.85,36,0
K,11,2.85,36,0
K,12,2.85,99,0
SAVE
Larc,1,2,1000,2.85
Larc,3,4,1000,2.85
Larc,5,6,1000,2.85
Larc,7,8,1000,2.85
Larc,9,10,1000,2.85
Larc,11,12,1000,2.85
Lgen,2,1,6,1,,-36,1.5,2000,1,0
Lgen,2,1,6,1,,-36,-1.5,4000,1,0
SAVE
csys,1
lsel,all
LESIZE,all,,1,,,1,,,
TYPE,1
MAT,1
REAL,1
lmesh,1,6,
lsel,all
numstr,node,2001
lmesh,7,12,
lsel,all
numstr,node,4001
lmesh,13,18,
/PNUM,ELEM,1
SAVE
!
生成地弹簧1
csys,1
Nsel,s,loc,x,2.85
ngen,2,1000,all,,,1!
生成节点
TYPE,2
MAT,2
REAL,2
Nsel,s,loc,x,3.85
Nsel,r,loc,y,-45,235
*get,na,node,0,count
*get,nmin,node,,num,min
bnum=nmin
*do,m,1,na,
E,bnum,bnum-1000
bnum=ndnext(bnum)
*ENDDO
TYPE,10
MAT,10
REAL,10
Nsel,s,loc,x,3.85
Nsel,r,loc,y,235,315
*get,na,node,0,count
*get,nmin,node,,num,min
bnum=nmin
*do,m,1,na,
E,bnum,bnum-1000
bnum=ndnext(bnum)
*ENDDO
!
生成地弹簧2
Nsel,s,loc,x,2.85
ngen,2,1500,all,,,0.043965844,10
TYPE,3
REAL,3
NSEL,s,node,,1501,1870
*get,na,node,0,count
*get,nmin,node,,num,min
bnum=nmin
*do,m,1,na,
E,bnum,bnum-1500
bnum=ndnext(bnum)
*ENDDO
NSEL,s,node,,3501,3870
*get,na,node,0,count
*get,nmin,node,,num,min
bnum=nmin
*do,m,1,na,
E,bnum,bnum-1500
bnum=ndnext(bnum)
*ENDDO
NSEL,s,node,,5501,5870
*get,na,node,0,count
*get,nmin,node,,num,min
bnum=nmin
*do,m,1,na,
E,bnum,bnum-1500
bnum=ndnext(bnum)
*ENDDO
!
第一个圆
csys,1
!
生成环向耦合
Nsel,s,loc,x,2.85
Nsel,r,loc,z,0
cpintf,ux,0.01,
cpintf,uy,0.01,
TYPE,4
REAL,4
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,35.9,36.1
NSEL,r,LOC,z,0,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,179.9,180.1
NSEL,r,LOC,z,0,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
TYPE,5
REAL,5
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,98.9,99.1
NSEL,r,LOC,z,0,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,114.9,115.1
NSEL,r,LOC,z,0,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-107.9,-108.1
NSEL,r,LOC,z,0,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-35.9,-36.1
NSEL,r,LOC,z,0,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
!
第二个圆
csys,1
Nsel,s,loc,x,2.85
Nsel,r,loc,z,1.5
cpintf,ux,0.01,
cpintf,uy,0.01,
TYPE,4
REAL,4
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36+35.9,-36+36.1
NSEL,r,LOC,z,1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36+179.9,-36+180.1
NSEL,r,LOC,z,1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
TYPE,5
REAL,5
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36+98.9,-36+99.1
NSEL,r,LOC,z,1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36+114.9,-36+115.1
NSEL,r,LOC,z,1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-107.9-36,-36-108.1
NSEL,r,LOC,z,1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36-35.9,-36-36.1
NSEL,r,LOC,z,1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
!
第三个圆
csys,1
Nsel,s,loc,x,2.85
Nsel,r,loc,z,-1.5
cpintf,ux,0.01,
cpintf,uy,0.01,
TYPE,4
REAL,4
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36+35.9,-36+36.1
NSEL,r,LOC,z,-1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36+179.9,-36+180.1
NSEL,r,LOC,z,-1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
TYPE,5
REAL,5
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36+98.9,-36+99.1
NSEL,r,LOC,z,-1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36+114.9,-36+115.1
NSEL,r,LOC,z,-1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36-107.9,-36-108.1
NSEL,r,LOC,z,-1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
NSEL,S,LOC,x,2.85
NSEL,r,LOC,y,-36-35.9,-36-36.1
NSEL,r,LOC,z,-1.5,
*get,i,node,0,num,max
*get,j,node,0,num,min
E,i,j
!
存储纵向螺栓节点号
csys,1
*dim,q,array,10,3,1
*do,i,1,10
K=18+(i-1)*36
Nsel,s,loc,y,k-0.1,k+0.1,
Nsel,r,loc,x,2.85
*get,n1,node,,num,min
N2=ndnext(n1)
N3=ndnext(n2)
q(i,1)=n1
q(i,2)=n2
q(i,3)=n3
*enddo
Nsel,all
csys,0
!
生成耦合节点
*do,i,1,10
NGEN,2,6000,q(i,1),,,0,0,0,
NGEN,2,7000,q(i,1),,,0,0,0,
NGEN,2,8000,q(i,1),,,0,0,0,
NGEN,2,9000,q(i,1),,,0,0,0,
*enddo
!
建立隧道纵向横向抗剪螺栓
*do,i,1,10
TYPE,6
REAL,6
E,q(i,1),q(i,1)+6000
TYPE,8
REAL,8
E,q(i,1),q(i,1)+8000
*enddo
!
建立隧道纵向竖向抗剪螺栓
*do,i,1,10
TYPE,7
REAL,7
E,q(i,1),q(i,1)+7000
TYPE,9
REAL,9
E,q(i,1),q(i,1)+9000
*enddo
!
耦合对应节点
*DO,i,1,10
Cp,next,ux,q(i,1)+6000,q(i,2),
Cp,next,uy,q(i,1)+7000,q(i,2),
Cp,next,ux,q(i,1)+8000,q(i,3),
Cp,next,uy,q(i,1)+9000,q(i,3),
*enddo
Finish
/SOLU
csys,1
NSEL,S,node,,1001,1870
NSEL,a,node,,3001,3870
NSEL,a,node,,5001,5870
D,ALL,all,,,,,,,,,
NSEL,s,node,,2001,2370
NSEL,a,node,,4001,4370
D,ALL,uz,,,,,,,,,
ACEL,0,10,0,
save
!
上部
NSEL,S,LOC,y,0,180!
选择加载节点
NSEL,r,LOC,x,2.85
esln,s,1,active
*get,gselm,elem,0,count
*get,bhmin,elem,0,num,min
k=bhmin
fcum,add,
*do,z,1,gselm
Esel,s,elem,,k,
Nsle,s,pos,1!
选择对应单元的第一个节点
*get,n1,node,0,num,max
csys,0
*get,x1,node,n1,loc,x!
返回第一个节点横坐标值
Nsle,s,pos,2
*get,n2,node,0,num,max
*get,x2,node,n2,loc,x
b=1.5*0.5*240000*(x1-x2)!
上部荷载
*set,a,ABS(b)
csys,1
NSEL,S,LOC,y,0,180
NSEL,r,LOC,x,2.85
f,n1,fy,-a,
f,n2,fy,-a,
NSEL,S,LOC,y,0,180
NSEL,r,LOC,x,2.85
csys,0
esln,s,1,active
k=elnext(k)
*enddo
!
左侧
csys,1
NSEL,S,LOC,y,90,270
NSEL,r,LOC,x,2.85
esln,s,1,active
*get,gselm,elem,0,count
*get,bhmin,elem,0,num,min
k=bhmin
*do,z,1,gselm
csys,0
Esel,s,elem,,k,
Nsle,s,pos,1
*get,n1,node,0,num,max
*get,y1,node,n1,loc,y
Nsle,s,pos,2
*get,n2,node,0,num,max
*get,y2,node,n2,loc,y
B1=1.5*0.21*(16.93-y1)*20*0.5*1000*(y1-y2)!
左侧荷载
B2=1.5*0.21*(16.93-y2)*20*0.5*1000*(y1-y2)!
左侧荷载
*set,a1,ABS(b1)
*set,a2,ABS(b2)
csys,1
NSEL,S,LOC,y,90,270
NSEL,r,LOC,x,2.85
csys,0
f,n1,fx,a1,
f,n2,fx,a2,
csys,1
NSEL,S,LOC,y,90,270
NSEL,r,LOC,x,2.85
esln,s,1,active
k=elnext(k)
*enddo
!
右侧
csys,1
NSEL,S,LOC,y,-90,90
NSEL,r,LOC,x,2.85
esln,s,1,active
*get,gselm,elem,0,count
*get,bhmin,elem,0,num,min
k=bhmin
*do,z,1,gselm
csys,0
Esel,s,elem,,k,
Nsle,s,pos,1
*get,n1,node,0,num,max
*get,y1,node,n1,loc,y
Nsle,s,pos,2
*get,n2,node,0,num,max
*get,y2,node,n2,loc,y
B1=1.5*0.21*(16.93-y1)*20*0.5*1000*(y1-y2)!
右侧荷载
B2=1.5*0.21*(16.93-y2)*20*0.5*1000*(y1-y2)!
右侧荷载
*set,a1,ABS(b1)
*set,a2,ABS(b2)
csys,1
NSEL,S,LOC,y,-90,90
NSEL,r,LOC,x,2.85
csys,0
f,n1,fx,-a1,
f,n2,fx,-a2,
csys,1
NSEL,S,LOC,y,-90,90
NSEL,r,LOC,x,2.85
esln,s,1,active
k=elnext(k)
*enddo
!
底部
csys,1
NSEL,S,LOC,y,180,360
NSEL,r,LOC,x,2.85
esln,s,1,active
*get,gselm,elem,0,count
*get,bhmin,elem,0,num,min
k=bhmin
fcum,add,
*do,z,1,gselm
csys,0
Esel,s,elem,,k,
Nsle,s,pos,1
*get,n1,node,0,num,max
*get,x1,node,n1,loc,x
Nsle,s,pos,2
*get,n2,node,0,num,max
*get,x2,node,n2,loc,x
b=1.5*0.5*260000*(x1-x2)
*set,a,ABS(b)
csys,1
NSEL,S,LOC,y,180,360
NSEL,r,LOC,x,2.85
csys,0
f,n1,fy,a,
f,n2,fy,a,
csys,1
NSEL,S,LOC,y,180,360
NSEL,r,LOC,x,2.85
esln,s,1,active
k=elnext(k)
*enddo
NROPT,FULL,,
Allsel
deltim,,,,
Outres,all,all
solve
Finish
SAVE
/POST1
PLDISP,1
NSEL,s,LOC,z,0
esln,s,1,active
esel,r,type,,1
ETABLE,M1,SMISC,6
ETABLE,M2,SMISC,12
ETABLE,N1,SMISC,1
ETABLE,N2,SMISC,7
ETABLE,Q1,SMISC,2
ETABLE,Q2,SMISC,8
PLLS,M1,M2,-1,0
PLLS,N1,N2,1,0
PLLS,Q1,Q2,1,0
esel,s,type,,6
eplot,all
ETABLE,N1,SMISC,1
PLLS,N1,N1,1,0
Finish
NSEL,S,LOC,y,2.85,
NSEL,r,LOC,x,0,
D,all,ux,,,,,,,,,