ANSYS命令流
FINISH
/clear
/filename,tunnel_tx
/PREP7
!总体参数
ONAME='OUT' !节点内力输出文件名称"***"
PI=ACOS(-1) !返回π值
!二衬承受围岩压力比例
hzblq=1!二衬承受围岩压力比例(明洞)
!计算需输入的参数
cqhd=0.8!二衬厚度
Bkd=10.5 !坑道宽度(包括初支)
hkd=6.5!坑道高度(包括初支)
cqtm=30e9 !衬砌弹性模量
cqzd=25e3 !衬砌重度
dycd=0.5 !衬砌单元计算长度(每个单元)
!围岩有关参数
FAIc=35*PI/180 明洞周边土体内摩擦角
Wyzd=22e3 !明洞周边土体容重
FAIc1=35*PI/180 回填土内摩擦角
Wyzd1=12e3 ! 回填土容重
Hp=4.0 !洞顶回填土厚度
pstg=0 ! M10回填土底部距离边墙底部
!明洞隧道侧压力系数λ
rmtq=0.487325 !明洞隧道周边土体侧压力系数λ
rmtq1=0.487325 !明洞隧道回填土侧压力系数λ
!高速公路车辆荷载
qq1=50e3 !此值是均布车辆荷载和人均均布荷载组成
jzhz=0
jBhz=0E3 !此值是由集中荷载按30度扩散角计算而得
QQQ1=qq1+jBhz
!明洞隧道荷载计算(车道均布荷载换算成相应的土体高度计算侧压力)
qq=Wyzd1*Hp !明洞隧道回填土竖直荷载(已考虑承载比例)
eq1=rmtq1*wyzd1*(hp+QQQ1/wyzd1)*hzblq !明洞隧道回填土水平荷载最小值(已考虑承载比例)
eq2=rmtq1*wyzd1*(hp+hkd-pstg+QQQ1/wyzd1)*hzblq !明洞隧道回填土水平荷载最大值(已考虑承载比例)
eq3=rmtq*wyzd*((wyzd1/wyzd)*(hp+hkd+QQQ1/wyzd1-pstg))*hzblq !明洞隧道水平荷载最小值(已考虑承载比例)
eq4=rmtq*wyzd*(pstg+(wyzd1/wyzd)*(hp+hkd+QQQ1/wyzd1-pstg))*hzblq !明洞隧道水平荷载最大值(已考虑承载比例)
!单元,材料,实常数定义
!单元定义
ET,1,BEAM3 !1号单元为梁单元,模拟衬砌
ET,2,LINK10 !2号单元为弹簧连杆,模拟弹性抗力
KEYOPT,2,2,0 !2号单元参数设定
KEYOPT,2,3,1 !2号单元参数设定
ET,3,SURF153 !3号单元为表面荷载单元,加载用
!材料定义
MP,EX,1, cqtm !第1种材料弹性模量
MP,NUXY,1,0.2 !第1种材料泊松比
MP,DENS,1, cqzd !第1种材料重度
!第2种材料弹性模量
MP,EX,2,dycd*100E6
!第3种材料弹性模量
MP,EX,3,0 !第3种材料弹性模量
!实常数定义
TYPE,1
MAT,1
R,1 ,cqhd,cqhd**3/12,cqhd !第1种材料实常数
TYPE,2
r,2,dycd !第2种材料实常数
type,3
r,3 !第3种材料实常数
!***********读入节点信息***********
NREAD,'jjl','txt',' '
!***********读入节点信息***********
!**********************建立衬砌梁单元*********
TYPE, 1
MAT, 1
Real,1
eSYS, 0
*DO,I,1,63
E,I,I+1
*ENDDO
E,64,1
!**********************建立连杆单元*********
TYPE, 2
MAT, 2
REAL, 2
ESYS, 0
*DO,II,1,64
E,II,II+100
*ENDDO
allsel
eplot
!创建单元组
!创建衬砌单元组
esel,s,type,,1
cm,e-cq,elem
!创建连杆单元组
esel,s,type,,2
cm,e-lgx,elem
!创建荷载单元组
!创建右侧荷载单元
!**********************建立连表面荷载单元*********
TYPE, 3
MAT, 3
Real,3
ESYS, 0
*DO,I,21,36
E,I,I+1
*ENDDO
ESEL,S,TYPE,,3
eplot
cm,e-hz-y,elem
!创建左侧荷载单元
!**********************建立连表面荷载单元*********
TYPE, 3
MAT, 3
Real,3
ESYS, 0
*DO,I,5,20
E,I,I+1
*ENDDO
ESEL,S,TYPE,,3
eplot
cmsel,u,e-hz-y
cm,e-hz-z,elem
!创建右侧下方荷载单元
TYPE, 3
MAT, 3
Real,3
ESYS, 0
*DO,I,37,43
E,I,I+1
*ENDDO
ESEL,S,TYPE,,3
eplot
cmsel,u,e-hz-y
cmsel,u,e-hz-z
cm,e-hz-yx,elem
!创建左侧下方荷载单元
TYPE,3
MAT, 3
Real,3
ESYS, 0
*DO,I,1,4
E,I,I+1
*ENDDO
E,1,64
E,64,63
E,63,62
ESEL,S,TYPE,,3
eplot
cmsel,u,e-hz-y
cmsel,u,e-hz-z
cmsel,u,e-hz-yx
cm,e-hz-zx,elem
!创建上部竖向荷载单元
TYPE, 3
MAT, 3
Real,3
ESYS, 0
*DO,I,5,20
E,I,I+1
*ENDDO
*DO,I,21,36
E,I,I+1
*ENDDO
ESEL,S,TYPE,,3
eplot
cmsel,u,e-hz-y
cmsel,u,e-hz-z
cmsel,u,e-hz-yx
cmsel,u,e-hz-zx
cm,e-hz-sc,elem
!创建上部竖向集中车辆扩散影响荷载单元
TYPE, 3
MAT, 3
Real,3
ESYS, 0
*DO,I,5,20
E,I,I+1
*ENDDO
*DO,I,21,36
E,I,I+1
*ENDDO
ESEL,S,TYPE,,3
eplot
cmsel,u,e-hz-y
cmsel,u,e-hz-z
cmsel,u,e-hz-yx
cmsel,u,e-hz-zx
cmsel,u,e-hz-sc
cm,e-hz-sJ,elem
!求衬砌单元节点X、Y的极值
cmsel,s,e-cq
ALLSEL,BELOW,ELEM
cm,n-cq,node
*get,xmax,node,,mxloc,x
*get,xmin,node,,mnloc,x
*get,ymax,node,,mxloc,y
*get,ymin,node,,mnloc,y
xmax1=nx(5)
xmax2=nx(63)
ymax1=ny(5)
ymax2=ny(63)
!将连杆外侧节点设为固定端
NSEL,ALL
cmsel,u,n-cq
d,all,all
allsel
eplot
*DIM,Xy,ARRAY,64,2 !定义2个数组
*DIM,Nodes,ARRAY,100
*GET,Nd,NODE,0,NUM,MIN !得到最小的节点编号
*DO,I,1,64,1
Nodes(I)=Nd !将节点列表放到数组NODES中
Xy(I,1)=NX(Nd) !取出节点的X坐标
Xy(I,2)=NY(Nd) !取出节点的Y坐标
Nd=NDNEXT(Nd) !读出下一个节点编号
*ENDDO
cmsel,s,e-cq
*GET,NELM,ELEM,0,COUNT !得到所选择的单元总数
*DIM,Elems,ARRAY,NELM !定义2个数组
*DIM,Ndlst,ARRAY,NELM,2
*GET,El,ELEM,0,NUM,MIN !得到最小的单元编号
*DO,I,1,NELM,1
Elems(I)=El !将单元编号存入到数组ELEMS中
*DO,J,1,2
Ndlst(I,J)=NELEM(El,J) !读出单元的2个节点编号
*ENDDO
El=ELNEXT(El) !读出下一个单元编号
*ENDDO
ALLSEL
finish
save,tunnel_model
/solu
ANTYPE,0 !分析类型为静态
NLGEOM,0
ACEL,0,1,0,
FCUM,ADD,1,
SFCUM,PRES,ADD,1,1,
!加拱部围岩垂直荷载
F,1,FY,-jzhz
SFGRAD,PRES, ,X,0,22*0.9075/5.25*1000,
cmsel,s,e-hz-sc !选择上部荷载单元
SFE,all,4,PRES,,qq+QQ1+JBHZ,1,-1E10
!cmsel,s,e-hz-sJ !选择上部荷载单元
!SFE,all,4,PRES,,JBHZ,1,-1E10
eqtd=(eq2-eq1)/(ymax-ymax1) !求浅埋隧道水平力梯度
SFGRAD,PRES, ,Y,ymax,-eqtd,
cmsel,s,e-hz-z !选择左边荷载单元
sfe,all,4,pres,,eq1,1e10,1
cmsel,s,e-hz-y !选择右边荷载单元
sfe,all,4,pres,,eq1,-1e10,1
eqtd1=(eq4-eq3)/(ymax1-ymax2) !求浅埋隧道水平力梯度
SFGRAD,PRES, ,Y,ymax1,-eqtd1,
cmsel,s,e-hz-zx !选择左边下荷载单元
sfe,all,4,pres,,eq3,1e10,1
cmsel,s,e-hz-yx !选择右边下荷载单元
sfe,all,4,pres,,eq3,-1e10,1
TIME,1
/STATUS,SOLU
NSUBST,10,0,0
ALLSEL
SOLVE
finish
!后处理
/POST1
!创建结果文件
cmsel,s,e-cq
ETAB,WJ11,SMISC,6
ETAB,WJ12,SMISC,12
ETAB,ZL11,SMISC,1
ETAB,ZL12,SMISC,7
ETAB,JL11,SMISC,2
ETAB,JL12,SMISC,8
!显示结果图形并保存图形
plls,wj11,wj12,-1!显示并保存弯距图
/ui,copy,save,jpeg,full,color,reverse,portrait,yes,100
plls,zl11,zl12,-1 !显示并保存轴力图
/ui,copy,save,jpeg,full,color,reverse,portrait,yes,100
plls,jl11,jl12,-1 !显示并保存剪力图
/ui,copy,save,jpeg,full,color,reverse,portrait,yes,100
*DIM,jdnl,ARRAY,100,7
*DO,I,1,100,1
jdnl(i,1)=ndlst(i,1)
*GET,jdnl(i,2),elem,%i%,SMISC,6 !i端轴力
*GET,jdnl(i,3),elem,%i%,SMISC,12 !j端轴力
*GET,jdnl(i,4),elem,%i%,SMISC,1 !i端弯矩
*GET,jdnl(i,5),elem,%i%,SMISC,7 !J端弯矩
*GET,jdnl(i,6),elem,%i%,SMISC,2 !i端剪力
*GET,jdnl(i,7),elem,%i%,SMISC,8 !J端剪力
*ENDDO
*cfopen,oname,sqq
*vwrite,
(//)
*vwrite
('*********************************衬砌节点弯矩、轴力,剪力结果输出***********************')
*vwrite,
(//)
*vwrite,
('**************************************************************************************')
*vwrite,
('单元编号',4x'I端弯矩',4x,'J端弯矩',6x,'I端轴力',6x,'J端轴力',6x,'I端剪力',6x,'J端剪力')
*vwrite,jdnl(1,1),jdnl(1,2),jdnl(1,3),jdnl(1,4),jdnl(1,5),jdnl(1,6),jdnl(1,7)
(f4.0,2x,f12.4,1x,f14.4,1x,f14.4,1x,f14.4,1x,f14.4,1x,f14.4)
*vwrite,
('**************************************************************************************')
*cfclos