首先,要确定模型中各部分的生死过程。在施工前,要明确,所有的混凝土壁是不存在的,而所有的岩体都是存在的,所以要先“杀死”所有壳单元部分,并将死单元的节点全部约束。然后求解,得到开挖前的初始状态。
选择单元:Utility Menu>Select>Entities。
单元生/死路径:Main Menu>Solution>Load Step Opts>Other>Birth&Death>Kill Elements。
约束节点:Main Menu>Solution>Define Loads>Apply>Structural>Displacement>On Nodes。
求解:Main Menu>Solution>Solve>CurrentLS。
命令流如下:
ESEL,S,TYPE,,3 !选择壳单元
EKILL,ALL !杀死壳单元
ESEL,ALL
ESEL,S,LIVE !选择活的单元
NSLE,S !选择活单元上的节点
NSEL,INVERT !反向选择,即选择死单元上的节点
D,ALL,ALL,0 !将死单元上的节点约束所有位移
NSEL,ALL
ESEL,ALL
/PBC,ALL,,1 !显示边界条件
GPLOT
SOLVE !求解
初步计算结果下的变形如图19-13所示,应力分布如图19-14所示。
图19-13 竖向位移云图
图19-14 竖向应力云图
接下来进行正式的开挖过程。开挖过程的每一步,都要杀死一部分洞内岩石单元。路径:Main Menu>Solution>LoadStep Opts>Other>Birth&Death>Kill Elements。
随后,激活相应部分的壳单元。路径:Main Menu>Solution>Load Step Opts>Other>Birth&Death>Activate Elem。然后通过Utility Menu>Select>Entities,选择当前活着的所有单元,反选得到杀死了的单元。这时需要在求解前将死单元上的所有节点再次全部约束起来。
之后就可以开始求解了。每一步开挖都遵循此过程,总共分5段开挖,每段挖10m。
第1步开挖:
/SOLU
ESEL,S,MAT,,3 !选择挖去的岩石,杀死
NSLE,S
NSEL,R,LOC,Z,0.1,-10.1
ESLN,R,1
EKILL,ALL
ESEL,S,TYPE,,3
NSLE,S
NSEL,R,LOC,Z,0.1,-10.1
ESLN,R,1
EALIVE,ALL !激活挖去的岩石对应的壳单元
NSLE,S
DDELE,ALL,ALL !并将其节点上的约束删除
ESEL,ALL
ESEL,S,LIVE !选择活单元
NSLE,S
NSEL,INVERT !反向选择
D,ALL,ALL,0 !将死单元上的节点约束所有自由度
NSEL,ALL
ESEL,ALL
SOLVE !求解
FINI !退出求解器
/POST1 !进入通用后处理器
SET,LAST !选择最后一步
ESEL,S,LIVE !选择活单元
ESEL,R,TYPE,,3 !选择活单元中的3单元
PLNSOL,U,Y,0,1 !绘制Y位移
PLNSOL,S,Y,0,1 !绘制Y应力
FINI
得到第1步开挖的隧道计算结果,第1步开挖UY云图如图19-15所示,第1步开挖SY云图如图19-16所示。
图19-15 第1步开挖UY云图
图19-16 第1步开挖SY云图
接下来进行第2步的开挖,命令流如下。
/SOLU
ESEL,S,MAT,,3 !选择挖去的岩石,杀死
NSLE,S
NSEL,R,LOC,Z,0.1-10,-20.1
ESLN,R,1
EKILL,ALL
ESEL,S,TYPE,,3 !激活挖去的岩石对应的壳单元
NSLE,S!并将其节点上的约束删除
NSEL,R,LOC,Z,0.1-10,-20.1
ESLN,R,1
EALIVE,ALL
NSLE,S
DDELE,ALL,ALL
ESEL,ALL
ESEL,S,LIVE !选择活单元
NSLE,S
NSEL,INVERT !反向选择(www.daowen.com)
D,ALL,ALL,0 !将死单元上的节点约束所有自由度
NSEL,ALL
ESEL,ALL
SOLVE
FINI
/POST1
SET,LAST
ESEL,S,LIVE
ESEL,R,TYPE,,3
PLNSOL,U,Y,0,1
PLNSOL,S,Y,0,1
FINI
得到第2步开挖后的隧道计算结果,第2步开挖UY云图如图19-17所示,第2步开挖MISES应力如图19-18所示。
图19-17 第2步开挖UY云图
图19-18 第2步开挖MISES应力
第3~5步开挖过程相似。第5步开挖命令流如下。
/SOLU
ESEL,S,MAT,,3
NSLE,S !选择挖去的岩石,杀死
NSEL,R,LOC,Z,0.1-40,-50.1
ESLN,R,1
EKILL,ALL
ESEL,S,TYPE,,3
NSLE,S
NSEL,R,LOC,Z,0.1-40,-50.1
ESLN,R,1
EALIVE,ALL !激活挖去的岩石对应的壳单元
NSLE,S
DDELE,ALL,ALL !并将其节点上的约束删除
ESEL,ALL
ESEL,S,LIVE
NSLE,S
NSEL,INVERT !反向选择
D,ALL,ALL,0 !将死单元上的节点约束所有自由度
NSEL,ALL
ESEL,ALL
SOLVE
FINI
/POST1
SET,LAST
ESEL,S,LIVE
ESEL,R,TYPE,,3
PLNSOL,U,Y,0,1
PLNSOL,S,EQV,0,1.0 !VONMISES应力
FINI
得到第5步开挖后的隧道计算结果,第5步开挖UY云图如图19-19所示,第5步开挖MISES应力如图19-20所示。
图19-19 第5步开挖UY云图
图19-20 第5步开挖MISES应力
用户也可通过APDL的循环语句功能,完成开挖过程。命令流如下。
∗DO,II,1,5,1 !开始5次循环
ESEL,S,MAT,,3 !选择要挖去的岩石单元
NSLE,S!选择岩石单元上的节点
NSEL,R,LOC,Z,0.1-(II-1)∗10, !选择第II步要开挖的部分
-(10.1+(II-1)∗10) !杀死单元
ESLN,R,1 !依节点选择单元
EKILL,ALL !选择挖去的岩石对应的壳单元
ESEL,S,TYPE,,3
NSLE,S
NSEL,R,LOC,Z,0.1-(II-1)∗10,
-(10.1+(II-1)∗10) !激活挖去的岩石对应的壳单元
ESLN,R,1
EALIVE,ALL !将激活的单元上的节点约束删除
NSLE,S
DDELE,ALL,ALL !选择活单元
ESEL,ALL
ESEL,S,LIVE !反向选择
NSLE,S !将死单元上的节点约束所有自由度
NSEL,INVERT
D,ALL,ALL,0
NSEL,ALL !求解
ESEL,ALL !结束
SOLVE
∗ENDDO
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。