1 开挖土层和嵌入隧道管片
在建立初始模型后,导入所需材料。为模拟真实世界中开挖隧道时地面上存在的荷载,如城市地铁隧道上部的建筑物等,在模型中施加等效的荷载。此后,以第一步建立的初始模型所有单元坐标(sX,sY,sZ)为基础,调用fun文件夹中的mfs.getColumeFilter(sX,sY,sZ,dipD,dipA,radius,height)函数,设定倾向(dipD)、倾角(dipA)、半径(radius)和高度(height),确定模型中的隧洞大小以及位置,将位置在隧洞内的单元所对应的值记为1(其余为0),并保存在columnFilter矩阵内。之后通过find(columnFilter)函数确定隧洞范围内单元的编号(delId),并通过d.delElement(delId)删除已提取出的隧洞内单元,建立隧洞。
使用d.addElement(1,ringObj)命令将通过makeRing()函数建立的结构体ringObj对应单元添加到模型中,并使用d.addGroup('ring',ringId)将添加的单元设置为一个组,完成开挖土层和隧道管片的嵌入。