本发明涉及岩土数值模拟计算技术领域,具体是涉及一种模拟岩溶土洞形成演化的三维建模方法。
背景技术:
岩溶土洞的形成发育与土,水,岩的性质结构密切相关,土洞的形成须有开口向上的溶洞、溶隙或断裂裂隙等可容纳覆盖土体的地下空间。地下水流及自重力等动力因素可导致覆盖层土体剥落破坏,与母体分离并进入地下空间中,于是就形成了近似球体的土洞。一旦破坏开始,土洞便迅速向上扩展,直到覆盖土体应力小于土的强度,土洞便停止发展,处于暂时稳定状态。当动力条件变化时,土洞会继续扩展,最后土洞顶板整体发生垮塌,形成地面塌陷,如图1所示。目前,随着计算机计算技术的飞速发展,数值模拟越来越多的被应用到岩土工程领域中,各种数值模拟软件获得了广阔的应用空间,尤其是flac系列软件,以其强大的计算能力成为目前最主要的岩土数值模拟软件。flac系列软件的计算能力非常出众,但是建模能力不足,尤其对于较复杂的岩溶土洞形成演化过程的构建。背景技术主要采取两种办法来进行解决,一是对球形土洞形状进行简化,用正方形代替。二是用二维模型建模,但上述方法存在明显的缺点和不足:(1)数值模拟计算结果是否准确的关键之一是构建的数值计算模型与实际模型是否匹配;对岩溶土洞进行不合理的简化或等效,大大的影响了建模的准确性,进而影响了数值计算的准确性。(2)用二维模型建模,不能真实反映土洞的发育演化过程。因此,目前利用flac软件进行建模存在数值计算模型与实际模型不匹配的问题。
技术实现要素:
本发明目的是提供一种模拟岩溶土洞形成演化的三维建模方法,充分利用flac3d软件本身的建模功能和内置编程语言fish,提高三维建模的精细度和效率,解决背景技术中存在的上述问题。
本发明的技术方案是:一种模拟岩溶土洞形成演化的三维建模方法,包含如下步骤:
s1、确定建模参数,土层厚度(rad),土洞半径(len),网格节点调整参数(rad_size,ab_size):
通过现场地质勘察,在岩溶土洞区域进行原位测试,测量得到所述土层厚度、土洞半径数据;再根据网格节点的偏移量确定网格节点调整参数;
s2、建立模型,并调模型四面体节点位置:
所述建立模型的具体步骤为:
①建立由三个棱锥体组成的正方体;
②建立块体外围渐变式网格,其内部大小与步骤①建立的正方体一致;
③利用fish函数,使网格节点成放射状分布;
④对建立模型镜像,完成建模;
s3、对模型进行开挖,模拟土洞由小到大演化发育:
将所述土洞顶板概化为半球体,按照模型的网格划分以半球体形状的层体为单位由内向外一层一层开挖。
进一步地,在上述方案中,步骤s2所述建立模型是利用fish语言编制建模程序。
进一步地,在上述方案中,步骤s2所述建立模型运用的是flac3d软件进行建模的。
2、进一步地,在上述方案中,步骤s2所述利用fish函数,使网格节点成放射状分布的fish语言如下:
进一步地,在上述方案中,所述对模型进行开挖,是利用null命令,开挖球形区域,令半径=1,模拟土洞形成,然后继续利用null命令,开挖球形区域,令半径=2,以此类推,通过网格划分一层一层由内向外开挖,模拟土洞发展演化。进一步地,所述开挖在具体施工中的操作方法为:
1)生成土体的初始应力场,进行应力平衡计算,生成k0条件下的土体初始应力场;
2)开挖球体最内层土体,在最内层施加开挖面均布力;激活最内层土体的衬砌单元,在最内层土体施加收敛位移;
3)开挖球体第二层土体,移除最内层施加的均布力,在第二层土体中施加开挖面均布力,激活第二层土体的衬砌单元,在第二层土体施加收敛位移;
4)以后各层土体按以上述2)、3)类推,直至球体开挖至最后一层。
更进一步地,在具体施工中,所述开挖主要是根据施工仿真参数,采用钻孔爆破法;采用钻爆法反复循环进行开挖,每掘进一次,工作面按炮孔深度向前推进,完成一次循环作业。
更进一步地,所述施工仿真参数中包含岩溶土洞尺寸信息,以及施工所需循环进尺、机械设备仿真参数;利用不同的参数进行仿真计算会得到相应的仿真成果;通过修改、调整仿真参数可以得到最优的施工进度仿真成果。
本发明的有益效果是:本发明充分利用了flac3d软件本身的建模功能,运用fish语言编制了简单实用的建模程序,大大简化了建模流程,提高了建模效率;建模精度可根据工程实际情况灵活调整,建模精细度高,实现了岩溶土洞演化发育的三维动态建模方法。
附图说明
图1为岩溶土洞发育示意图;
图2为岩溶土洞建模示意图;
图3为三个棱锥体组成的正方体;
图4外围渐变式网格体与正方体组合示意图;
图5使网格节点调整图;
图6土洞形成前模型示意图;
图7土洞演化发育模型示意图(土洞半径1m);
图8土洞演化发育过程模型示意图(土洞半径2m)。
具体实施方式
利用fish语言编制简单实用的建模程序,具体实施例如下:
一种模拟岩溶土洞形成演化的三维建模方法,包含如下步骤:
(1)定义参数,拟模拟的最大土洞半径rad=4,模型高度和宽度len=5,具体fish语言如下:
defparm
rad=4;土洞半径
len=5;模型长宽
rad_size=12
ab_size=6
end
parm
(2)运用flac3d软件进行建模,先建立由三个棱锥体组成的正方体,正方体的边长为rad=4,如图3。再建立块体外围渐变式网格,外部边长为len=5,其内部大小与由三个棱锥体组成的正方体一致,如图4。具体fish语言如下:
genzonepyramidp0rad00p1rad0radp2radrad0p3000p4radradradsizerad_sizerad_sizerad_sizegroup1;建立棱锥体1
genzonepyramidp00rad0p1radrad0p20radradp3000p4radradradsizerad_sizerad_sizerad_sizegroup2;建立棱锥体2
genzonepyramidp000radp10radradp2rad0radp3000p4radradradsizerad_sizerad_sizerad_sizegroup3;建立棱锥体3
genzoneradbrickedgelensizerad_sizerad_sizerad_sizerad_sizerat1111.2dimradradradgroup4;块体外围渐变放射网格
(3)fish函数,使网格节点成放射状分布,如图5,具体fish语言如下:
(4)对建立模型镜像,完成建模,如图6,具体fish语言如下:
genzonerefdip90dd90
(5)利用null命令,开挖球形区域(半径=1),模拟土洞形成,如图7,具体fish语言如下:
modelnullrangeannuluscenter000radius01
(6)利用null命令,开挖球形区域(半径=2),模拟土洞发展演化,如图,8,具体fish语言如下:
modelnullrangeannuluscenter000radius12
其中,确定建模参数是通过现场地质勘察,在岩溶土洞区域进行原位测试,测量得到所述土层厚度、土洞半径数据;再根据网格节点的偏移量确定网格节点调整参数。
开挖在具体施工中的操作方法为:
1)生成土体的初始应力场,进行应力平衡计算,生成k0条件下的土体初始应力场;
2)开挖球体最内层土体,在最内层施加开挖面均布力;激活最内层土体的衬砌单元,在最内层土体施加收敛位移;
3)开挖球体第二层土体,移除最内层施加的均布力,在第二层土体中施加开挖面均布力,激活第二层土体的衬砌单元,在第二层土体施加收敛位移;
4)以后各层土体按以上述2)、3)类推,直至球体开挖至最后一层。
开挖主要是根据施工仿真参数,采用钻孔爆破法;采用钻爆法反复循环进行开挖,每掘进一次,工作面按炮孔深度向前推进,完成一次循环作业。施工仿真参数中包含岩溶土洞尺寸信息,以及施工所需循环进尺、机械设备仿真参数;利用不同的参数进行仿真计算会得到相应的仿真成果。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。