版主案例丨隧道开挖实例(一)——标准隧道开挖模拟【转载】
2016-11-09 by:CAE仿真在线 来源:互联网
感谢“bananaliuchao”分享“隧道开挖实例(一)——标准隧道开挖模拟”
2016/08/24 update:
有些宝宝反映说CAE无法正常运行。这主要有两个原因:
1. 文件中考虑了两种初始的开挖状态,一个是从边界就开始一环环开挖,另一个是从第15环开始一环环开挖(为了消除边界的影响)。宝宝们根据自己的需求,在Interaction里面进行修改就是了,有点动手能力好不好哇~
2. 为了考虑注浆硬化等因素,还需导出inp文件进行修改,这个后续小胖会专门做一个教程。我放CAE的目的只是为了大家在建模的时候有个参考哇~包括每一步的设置等。
还有宝宝问这么多分析步还有set还有model change还有荷载的施加,一个个弄不累死了。小胖说:当然不可能!Python给了你是玩的吗?当然要用Python进行参数化建模啦!后边我会讲一些建模中有用的命令,敬请期待。
正文开始
小胖读博的前几年净跟有限元开挖模拟较劲了。想当年客串救火队员的时候,也是一个月内上手ABAQUS并拿出项目报告,每天没事就翻Simwe和帮助文件,现在想想也是蛮拼的。
正题开始前,说句题外话。ABAQUS虽然好,但水比较深。浅尝辄止的学习很难在实际工程中得到满意的分析结果。如果时间比较紧,推荐使用Plaxis和Midas。
///////////////////////////////程序猿装逼分割线///////////////////////////////////////
好吧,那我们开始吧。
话说有限元模拟隧道开挖有好多种方法。有应力释放法(手贱想加参考文献了....),收敛位移法,以及“什么乱七八糟的因素都考虑”的方法,etc。目前大家最喜欢用的是最后一种方法。这种方法最早始于2004年左右发表的一篇文章(还是不加参考文献了),基本是伴随着商软的发展和可视化技术的提高而逐渐发展和流行的。前面两种方法也有其市场,小胖会在以后择机为大家总结一下。今天我们主要讨论最后一种方法。先放张隧道开挖的示意图镇楼,以盾构隧道为例。
有经验的宝宝一眼就能看出隧道开挖模拟的实质——就是应力释放和支护的过程。因此,大名鼎鼎的“单元生死法”就出现了。其实这个技术只是名字唬人,我们来看看ABAQUS的帮助文件怎么说的:
具体代码是怎么个方法实现的,小胖没在达索工作过,母鸡啊~~~
该方法中土体的开挖、盾构机的前进,衬砌及注浆层的激活都是通过model change来实现的。CAE中可在interaction中进行设定,inp中通过“*model change, type = element”实现。一个简单的模拟过程如下图所示。
上面就是一个典型的盾构隧道开挖模拟的过程,目前是最广泛采用的模拟方法。或许有一些变种,比如考虑了盾构机的锥度,注浆的时空效应等,但都大同小异。
下边以上海长江西路隧道浦东试掘进段为背景,简单说一下模拟的过程和需要注意的地方。
(一)几何及网格
小胖从ABAQUS 6.5一直用到2016,不得不承认,其CAE界面越做越好,bug越来越少。但说实话,网格的划分方面并没有太大的进步。似乎达索也并没有发展这方面的打算。毕竟网格划分方面HyperMesh已经是一个bug级的存在,而其他专业的网格划分软件如Cubit、Gambit等也随便爆ABAQUS一整条街,这方面除了收购,估计也没别的好办法了。
小胖习惯使用ABAQUS+HyperMesh+ABAQUS流程,即在ABAQUS生成模型的几何文件,推荐使用igs格式,将几何文件导出至HyperMesh进行网格的划分。然后将网格信息以inp文件的格式由HM导出,然后ABAQUS导入,最后装配至一个Assembly。这只是个人习惯,宝宝们在生成几何文件时也可以使用AutoCAD、Catia等。
导入网格的模型在ABAQUS中属于Orphan类型,无法使用很多针对几何的python命令。在选择surface时,推荐大家采用by angle模式,可以大大提高建模效率。小胖已为大家附上模型的HM文件以及CAE文件(6.12版本),大家可以按照文章开头的方法获取。下图为生成的模型概况。
(二)材料参数
模型土体采用修正剑桥模型。关于修正剑桥模型的相关内容,宝宝们可以参考小号的历史文章,已经比较详细了。需要注意几点:
1. 模型中盾壳(shield)简化为一个钢壳子,为了考虑整个盾构机的重量,人为增加了该材料的密度,见下图
2. 个别土层为砂性土,因此采用Mohr-Coulomb屈服准则,所以初级宝宝们千万不要再问“一个模型中能不能用不同的塑性本构呀”这种中二问题了。
3. 为了考虑注浆层的凝固过程,采用了场变量的方法调整注浆单元的弹性模量,见下图。后期在inp文件中,需要在浆液硬化的那一步添加关键字“*field, variable=1”,具体的操作方法,宝宝自行百度,一搜一大坨。
4. 由于shield采用了壳单元,而网格又是从HM中导入的,因此需要特别检查壳单元的厚度方向是否一致,如下图所示可以显示出shell单元的厚度
(三)装配
如果采用修正剑桥模型,需要定义初始地应力,而初始地应力的定义一般有两种方式,即CAE中predefined field定义,以及input文件中采用“*initial condition, type=stress, input=xxx.csv”。不论哪种定义方式,都默认z方向为竖向地应力的方向,因此宝宝们要养成在assembly中将模型整体旋转至z轴竖向的方向。先Convert Constraints,然后就可以Rotate啦~
(四)分析步
1. 分析步推荐采用Soils,考虑孔压,采用C3D8P单元。注意,小胖在文章末尾给出的文献中说(当然是我自己写的,你们在想什么~~~~!)大变形分析和小应变分析结果差不多。这在分析隧道施工扰动时是适用的,但在分析极限状态时(e.g. 开挖面失稳,边坡失稳)绝对不能再用small strain分析,就是下边图中的那个Nlgeom,off就是small strain啦。请宝宝们切记切记。
2. 如果你打算用Geostatic分析步,恭喜,你上道了。但注意下图中的设置。依据小胖的经验,对于标准的隧道开挖,几何简单,采用1e-5的位移准则是可以的。但如果比较复杂的模型,宝宝们也不要太吝啬,放宽到0.5 mm以下也是可以的。毕竟我们玩的是大尺度模拟,半个毫米都不一定能测得出来。在平衡地应力的过程中,Automatic和Fixed可以交替尝试一下。注意,Automatic只有100个increment,因此如果100到了还没平衡好,宝宝可以在上次计算的应力基础上再平衡一次。
(五)荷载和接触
1. 荷载没什么好说的,重力,支护力,注浆压力。其中,开挖面支护力一般是沿深度线性变化,可以参考下图设置。边界条件不说了,如果哪位宝宝还不会,出门左转淘宝当当买本书看两眼就行了。
2. Predefined field。这是一个比较重要的设置。以前CAE是不care你初始状态定义的。后来学乖了。在这里,你可以设置初始孔隙比、初始孔压、初始地应力,都是很基础的设置。这里有一个比较方便的平衡地应力的方法。前文提到Geostatic中Automatic平衡100步有可能搞不定,这时不要灰心,保持前一个文件的odb,新建一个job,在Predefined field中stress进行设置,如下图
选择“从odb文件中”:
选择刚才计算好的odb文件,step应该是第一步(1),Increment选择上一个job计算终止的增量步即可。
(六)单元设置
没啥好说的。因为衬砌单元画了三层,因此基本可以放心地使用减缩积分单元。注浆层单元只画了一层,因此采用C3D8I。
(七)后处理
推荐采用python批量提取数据作图。本篇不再赘述。后边有机会小胖会专门总结一下,也挺有意思的。
参考文献:
Pile and pile group response to tunnelling using a large diameter slurry shield – Case study in Shanghai
这是小胖的一篇论文,没有权限的宝宝可以去以下地址下载:
https://www.researchgate.net/publication/260994981_Pile_and_pile_group_response_to_tunnelling_using_a_large_diameter_slurry_shield_-_Case_study_in_Shanghai
相关标签搜索:版主案例丨隧道开挖实例(一)——标准隧道开挖模拟【转载】 HyperWorks有限元分析培训 HyperMesh网格划分培训 hyperMesh视频教程 HyperWorks学习教程 HyperWorks培训教程 HyperWorks资料下载 HyperMesh代做 HyperMesh基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 Abaqus培训