采用ANSYS对隧道模型进行建模时,未出现报错,但算得的结果存在问题,需如何调试?
代码:
/clear !更新数据库
/prep7 !进入前处理器
et,1,solid 185 !设置单元类型
!土体材料参数
UIMP, 1, EX, PRXY, DENS, 60e6*10, 0.25, 2000 !4层参数(中砂)
UIMP, 2, EX, PRXY, DENS, 34.5e9, 0.25, 2500 !管片材料参数,管片衬砌按各向同性计算
!定义厚度、半径与中心点
KW_d = 5*2 !!!!!!开挖直径
CQ_t = 0.5 !!!!!!衬砌厚度
Z_DS = -35-KW_d/2 !!!!!!洞室中心位置
D_DS = KW_d !!!!!!洞室周围影响深度(为洞室直径)
t_MODEL = 40 !!!!!!模型厚度
!定义模型网格划分尺寸
ESIZE_1 = 1 !!!!!!钢衬、钢衬内部部分、钢筋
ESIZE_2 = 0.1 !!!!!!衬砌部分
ESIZE_3 = 2.0 !!!!!!洞室周围影响深度范围部分
ESIZE_4 = 2.0 !!!!!!其他围岩部分
!定义特征位置数组
XD_NUM=5 !!!!!!宽度方向
YD_NUM=2 !!!!!!厚度方向
ZD_NUM=5 !!!!!!高度方向
*DIM,XD,ARRAY,XD_NUM,1,1, , ,
*DIM,YD,ARRAY,YD_NUM,1,1, , ,
*DIM,ZD,ARRAY,ZD_NUM,1,1, , ,
!X轴位置
XD(1,1,1) = -100/2 !!!!!!围岩左边缘
XD(2,1,1) = -D_DS !!!!!!洞室作用左范围
XD(3,1,1) = 0 !!!!!!洞室中心位置
XD(4,1,1) = D_DS !!!!!!洞室作用右范围
XD(5,1,1) = 100/2 !!!!!!围岩右边缘
!Y轴位置
YD(1,1,1) = 0
YD(2,1,1) = t_MODEL !!!!!!模型厚度
!Z轴位置
ZD(1,1,1) = 0
ZD(2,1,1) = Z_DS+10 !!!!!!!!一层土深度
ZD(3,1,1) = Z_DS !!!!!!!!二层土深度
ZD(4,1,1) = Z_DS-10 !!!!!!!!三层土深度
ZD(5,1,1) = -70 !!!!!!!!九层土深度
!定义点
*DO,jj,1,YD_NUM
*DO,kk,1,ZD_NUM
*DO,ii,1,XD_NUM
K,ii+(kk-1)*XD_NUM+(jj-1)*XD_NUM*ZD_NUM,XD(ii,1,1),YD(jj,1,1),ZD(kk,1,1)
*enddo
*enddo
*enddo
!定义岩层体
*DO,jj,1,YD_NUM-1
*DO,kk,1,ZD_NUM-1
*DO,ii,1,XD_NUM-1
K1_NUM=ii+(kk-1)*XD_NUM+(jj-1)*XD_NUM*ZD_NUM
V, K1_NUM, K1_NUM+1, K1_NUM+XD_NUM+1, K1_NUM+XD_NUM, K1_NUM+XD_NUM*ZD_NUM, K1_NUM+1+XD_NUM*ZD_NUM, K1_NUM+XD_NUM+1+XD_NUM*ZD_NUM, K1_NUM+XD_NUM+XD_NUM*ZD_NUM
*enddo
*enddo
*enddo
!洞室坐标轴的建立
WPLANE,-1,XD(3,1,1),0,Z_DS,XD(3+1,1,1),0,Z_DS,XD(3,1,1),0,0 !!!!!!建立洞室1极坐标系,中心在洞室断面中心
CSWPLA,11,1,1,1,
csys,0
wpcsys,-1
!洞室内开挖体建立
csys,11
wpcsys,-1
*DO,j,1,2
*DO,i,1,4
K,i+100*j+10000,KW_d/2-CQ_t,90*(i-1),-t_MODEL*(j-1)
K,i+110*j+10000,KW_d/2,90*(i-1),-t_MODEL*(j-1)
*enddo
*enddo
V, 1+100+10000, 2+100+10000, 3+100+10000, 4+100+10000, 1+200+10000, 2+200+10000, 3+200+10000, 4+200+10000 !!!!!衬砌内部部分
V, 1+110+10000, 2+110+10000, 3+110+10000, 4+110+10000, 1+220+10000, 2+220+10000, 3+220+10000, 4+220+10000 !!!!!衬砌+内部部分
!洞室圆柱体切分
VPTN,ALL !洞室内部相互切分
nummrg,all !合并所有元素
numcmp,all !压缩所有元素编号
!!定义切分角
*DIM,DIV_A_DS1,ARRAY,4,1,1, , ,
pi = atan(1)*4
DIV_A_DS1(1,1,1) = ATAN( ( ZD(2,1,1)-ZD(3,1,1) ) / ( XD(4,1,1)-XD(3,1,1) ) )/pi*180
DIV_A_DS1(2,1,1) = 180-ATAN( ( ZD(2,1,1)-ZD(3,1,1) ) / ( XD(3,1,1)-XD(2,1,1) ) )/pi*180
DIV_A_DS1(3,1,1) = 180+ATAN( ( ZD(3,1,1)-ZD(4,1,1) ) / ( XD(3,1,1)-XD(2,1,1) ) )/pi*180
DIV_A_DS1(4,1,1) = 360-ATAN( ( ZD(3,1,1)-ZD(4,1,1) ) / ( XD(4,1,1)-XD(3,1,1) ) )/pi*180
!!!!切割
!!洞室
csys,0
wpcsys,-1
VSEL,S,LOC,X,XD(3,1,1),XD(4,1,1)
VSEL,R,LOC,Z,ZD(2,1,1),ZD(3,1,1)
csys,11
wpcsys,-1
wprota,DIV_A_DS1(1,1,1)
wprota,,90
VSBW,ALL
csys,0
wpcsys,-1
VSEL,S,LOC,X,XD(2,1,1),XD(3,1,1)
VSEL,R,LOC,Z,ZD(2,1,1),ZD(3,1,1)
csys,11
wpcsys,-1
wprota,DIV_A_DS1(2,1,1)
wprota,,90
VSBW,ALL
csys,0
wpcsys,-1
VSEL,S,LOC,X,XD(2,1,1),XD(3,1,1)
VSEL,R,LOC,Z,ZD(3,1,1),ZD(4,1,1)
csys,11
wpcsys,-1
wprota,DIV_A_DS1(3,1,1)
wprota,,90
VSBW,ALL
csys,0
wpcsys,-1
VSEL,S,LOC,X,XD(3,1,1),XD(4,1,1)
VSEL,R,LOC,Z,ZD(3,1,1),ZD(4,1,1)
csys,11
wpcsys,-1
wprota,DIV_A_DS1(4,1,1)
wprota,,90
VSBW,ALL
nummrg,all !合并所有元素
numcmp,all !压缩所有元素编号
!!!!划分网格前组件
csys,11
WPCSYS,-1
VSEL,S,LOC,X,0,KW_d/2-CQ_t-0.3
CM,V_KW1_01_NB,VOLU !衬砌内部
VSEL,S,LOC,X,KW_d/2-CQ_t-0.3,KW_d/2
CM,V_KW1_02_CQ,VOLU !衬砌
ALLSEL,ALL
csys,0
wpcsys,-1
!!!!划分网格
!!厚度方向设定单元尺寸
ALLSEL,ALL
*DO,I,1,1
LSEL,S,LOC,Y,YD(I,1,1)+1,YD(I+1,1,1)-1
LESIZE,ALL,2, , , , , , ,0
*ENDDO
!!开挖围岩网格与组件
ESIZE,ESIZE_1,,
mat,1
type,1
CMSEL,S,V_KW1_01_NB,VOLU
VMESH,ALL
ESIZE,ESIZE_2,,
mat,1
type,1
CMSEL,S,V_KW1_02_CQ,VOLU
VMESH,ALL
CMSEL,S,V_KW1_01_NB,VOLU
CMSEL,A,V_KW1_02_CQ,VOLU
CM,V_KW1,VOLU
!!加密区围岩网格与组件
ESIZE,ESIZE_3,,
mat,1
type,1
VSEL,S,LOC,X,XD(2,1,1),XD(4,1,1)
VSEL,R,LOC,Z,ZD(2,1,1),ZD(4,1,1)
VMESH,ALL
!!土层网格与组件
ESIZE,ESIZE_4,,
mat,1
type,1
VSEL,S,LOC,Z,ZD(1,1,1),ZD(5,1,1)
VMESH,ALL
CMSEL,U,V_KW1,VOLU
CM,V_TC_1,VOLU
!!衬砌网格与组件
CMSEL,S,V_KW1_02_CQ,VOLU
!VGEN,2,ALL, , , , , , ,0 !!!!!!复制开挖部分
!CMSEL,U,V_KW1_02_CQ,VOLU
CM,V_CQ1,VOLU
!ALLSEL,BELOW,VOLU
!MPCHG,7,ALL,
CMSEL,S,V_CQ1,VOLU
ALLSEL,BELOW,VOLU
CM,E_CQ1,ELEM
CMSEL,S,V_KW1,VOLU
ALLSEL,BELOW,VOLU
CM,E_KW1,ELEM
ALLSEL,ALL
CSYS,0
WPCSYS,-1
NSEL,S,LOC,X,XD(1,1,1)
NSEL,A,LOC,X,XD(5,1,1)
CM,N-X,NODE
NSEL,S,LOC,Y,YD(1,1,1)
NSEL,A,LOC,Y,YD(2,1,1)
CM,N-Y,NODE
NSEL,S,LOC,Z,ZD(5,1,1)
CM,N-Z,NODE
CSYS,0
WPCSYS,-1
allsel,all
/PNUM,MAT,1 !!!!!!开启材料查看
/NUMBER,1 !!!!!!指定编号颜色查看
/VIEW,1,,-1
/REPLOT,
Finish !返回上一次主菜单
/solu !进入求解器
csys,0 !改变坐标系
/view,1,1,0.5,1 !改变视图显示方向
/replot !重新绘制
eplot !显示单元图
save !保存数据库
nsubst,10 !指定荷载子步
nlgeom,on !指定大变形
nropt,full !指定newton-lapnace迭代
pred,on !启用非线性求解预测器
lnsrch,on !启用线性搜索
outres,all,last !选择将每一子步的最后一个迭代计算步结果保存
!施加约束条件
!施加约束条件
D,N-X, , , , , ,UX, , , , , !施加X方向约束
D,N-Y, , , , , , ,UY, , , , !施加Y方向约束
D,N-Z, , , , , ,UX,UY,UZ, , , !施加Z方向约束
allsel,all
acel,0,0,-9.8 !施加重力
step=0 !用于记录计算步的参数
save !存储数据库
!求解自重应力场。
time,1 !第1个荷载步(时间步)
solve !求解
save !存储数据库
finish !返回上一次主菜单
/solu !进入求解器
antype,,rest !重新启动
step=1
time,2 !第三次计算
AUTOTS,1
DELTIM,0.1,0.001,0.2,1
!!杀死单元
CMSEL,S,E_KW1,ELEM
CMSEL,U,E_CQ1,ELEM
ekill,all !杀死核心土单元
allsel,all
CMSEL,S,E_CQ1,ELEM
mpchg,2,all !改变管片单元材料参数
allsel,all
solve !求解
save !存储数据库
/POST1
LCDEF,1,1, , ! 定义“自重工况”(STEP=1)
LCDEF,2,2, , ! 定义“开挖后工况”(STEP=2)
LCASE,2, ! 加载工况2(此时单元状态为“开挖后”,隧道单元已死)
ESEL,S,LIVE ! 选择工况2的活单元(与开挖后状态一致)
LCOPER,SUB,1, , , ! 执行“工况2(开挖后) - 工况1(自重)”
PLNSOL,U,Z,0,1 ! 绘制Z向位移差值云图
结果图:
