做盾构隧道仿真的人,很多都在找一个东西:一套拿出来就能改、能跑、能交差的 ABAQUS 盾构隧道开挖模型。这套模型的标签很典型——一环7片管片、带螺栓、带配筋,使用毫米单位制。模型的外径按常规盾构管片取 6.2 m,环宽 1.5 m,管片厚度 350 mm,土体与管片之间的注浆层单独建了一层,开挖面、盾构推进用的掌子面压力边界也已经布置好。整台模型不是那种只能摆着看的几何,而是把混凝土、钢筋、螺栓和土体全部做成可计算网格,拿回去就能继续改参数。
我拿到这类 CAE 文件时,第一件事从来不是急着点 Submit,而是先把模型树从头到尾拆一遍。拆完以后你会很清楚地看到:这个模型是“标准环+开挖”的完整套路,一环 7 片由封顶块 K、邻接块 B、标准块 A 组成,环缝和纵缝处都有螺栓,混凝土管片里还嵌了双层钢筋网。这篇文章就按这个顺序,把怎么理解、怎么改、怎么排查坑讲清楚。
1. 拿到CAE文件先看整体:一环7片、螺栓和配筋的建模思路
1.1 一环7片管片的几何布局
盾构隧道衬砌环通常不是整圆浇筑,而是用多块管片拼装成一环。常见的分块有 6+1、7+1,这套文件用的是 7 片一环,也就是封顶块 1 片、邻接块 2 片、标准块 4 片。为什么这么分,我在实际工程里理解主要是受盾构机拼装顺序和运输吊装能力影响:标准块数量多,单块重量控制得住;封顶块作为最后封口的构件,通常做得比其他块小一些,方便从盾构机尾部插进去。
在 ABAQUS 里看几何,你会发现它并不是把一整环直接旋转切出来的,而是像我平时做的一样,先在草图画一个环形截面,再沿着隧道轴线方向拉伸成圆环。圆环的边界就是管片的外径和内径,外部直径 6200 mm,内部直径 5500 mm,径向厚度自然就是 350 mm。模型里再通过绕隧道轴线的切割平面,把整个圆环分成 7 个扇形块,分块角度没有强行做成完全等分,而是把封顶块的小角度余量分摊到邻接块和标准块上,这样封顶块比标准块更短,拼装时“最后塞进去”的位置就留给它了。
从这个布局能直接看出模型作者的建模意图:分块线是以后装配、接触定义和螺栓布置的基础。每一对相邻管片之间都有一条纵缝,纵缝截面里设了螺栓孔;环与环之间还有环缝,文件里也预留了纵向螺栓的定位。如果你要改管片尺寸,只改外径、内径和环宽的几何尺寸还不够,还要检查螺栓孔位置和分块角度,否则后续计算模型很容易出现几何干涉。
1.2 模型里“开挖”是怎么体现的
标题里有“开挖”两个字,很多人会以为 CAE 里已经做了一个会旋转的刀盘动画。其实不是,ABAQUS 里的盾构开挖模拟,本质是把隧道洞身范围内的土体逐步“杀死”,再用盾构机、注浆层和管片等几何体去填补受力路径。这个文件把土体分成了好几段,每一段对应一个分析步:某一步开始,开挖区土体通过 Model Change 被移除;同时在开挖面位置施加一个随时间变化的压力,模拟盾构机刀盘前方的土压力支撑;再往后,注浆层单元从空单元变成有材料属性的实单元,管片环随之承担地层荷载。
这就是盾构隧道开挖模型与普通结构模型最大的区别——它不是一个静止的受力状态,而是施工过程逐步推进的序列。在这套模型的 step 管理器里,你会看到 Geostatic 地应力平衡、Step-1 开挖第一部分、Step-2 开挖第二部分这样的流程。每个开挖步对应一段 1.5 m 的环宽,实际上就是模拟“拼一环、推一环”的施工节奏。
这个建模思路决定了后续所有细节:管片和注浆层不能一开始全部激活,土体也不能一开始就有洞。如果模型树里看到某个 set 名字带“remove”或“add”,不要觉得奇怪,那是为了配合 Model Change 功能建的。后面我会专门讲这部分怎么控制,因为这是新手最容易搞砸的地方。
2. 单位制是第一道门槛:mm-N-s-t怎么配
2.1 ABAQUS常见单位制对照
这套 CAE 文件用毫米单位制,但 ABAQUS 本身没有强制单位制,它只会按你输入的数值计算。问题就出在这里,不同单位制组合意味着同样的材料参数要写不同大小的数值。我十年前第一次用 ABAQUS 时,把密度、弹性模量全部用米制参数塞进毫米模型,结果算出来的自重完全离谱,自己还找了一晚上原因。
ABAQUS 常用单位制有以下几套:
| 物理量 | 毫米制 | 米制(SI) | 备注 |
|---|---|---|---|
| 长度 | mm | m | 几何和网格尺寸 |
| 力 | N | N | 集中力、轴力 |
| 时间 | s | s | 分析步时间 |
| 质量 | t(吨) | kg | 注意不是 g |
| 密度 | t/mm³ | kg/m³ | 常用材料要换算 |
| 应力/模量 | MPa(N/mm²) | Pa(N/m²) | 输入 32000 就是 32 GPa |
| 加速度 | mm/s² | m/s² | 重力输入 9800 |
这套文件里写出“㎜单位制”,关键不是几何画成毫米,而是材料卡里所有参数都必须按上面第一列来。比如 C50 混凝土,弹性模量常见值是 34.5 GPa,模型里输入 34500,单位就是 MPa;HRB400 钢筋弹性模量 200 GPa,模型里输入 200000。如果用米制,42e9 可能看起来也没问题,但一旦和几何单位混着用,CAE 不会报错,只会给你错误的位移和应力。
2.2 材料参数怎么换算,最易翻车的密度
材料参数里翻车率最高的是密度。因为毫米制里质量单位是吨,所以密度单位是 t/mm³。水的密度是 1000 kg/m³,换算成 t/mm³ 就是 1e-9。混凝土密度一般取 2500 kg/m³,模型输入 2.5e-9;钢材密度 7850 kg/m³,输入 7.85e-9。
别小看这个换算,我曾经见过有人把混凝土密度写成 2.5e-6,那等于把自重放大了 1000 倍。静态无重力算不出来,但一加重力,隧道拱底位移直接达到几厘米,管片应力也超限,整个模型看上去像要塌了。排查方法很笨但也最有效:在第一次计算前,先建一个最简单的长方体模型,给同样的密度,施加标准重力,看支座反力是否等于体积×密度×重力加速度。
还有一点要注意,重力加速度在毫米制里是 9800 mm/s²,不是 9.8。很多人在这里漏乘 1000。你可以在 CAE 的 Load 模块里给模型施加 Gravity 载荷,方向沿 Y 轴负方向,数值写 -9800,方向根据实际坐标系调整。模型文件里如果已经设好了这个参数,检查一下数值是否正确,我基本每次拿到新模型都会顺手确认。
3. 衬砌、螺栓和配筋的三类建模手法
3.1 混凝土管片:从草图到分块
混凝土管片在这个模型里用的是三维实体单元,最常用的网格类型是 C3D8R,也就是八节点六面体减缩积分单元。为什么我特别推荐六面体,而不是直接用 C3D10 四面体?因为管片是由旋转几何生成的规则环,六面体网格在厚度方向上可以控制一两层单元,径向和周向的应力梯度都能较好捕捉;四面体虽然能适应复杂形状,但在接触和螺栓预紧处容易出现局部应力奇异,单元数量也会多不少。
建模路径是:先建立管片外圆和内圆草图,形成封闭的环形截面,拉伸 1500 mm,得到整环实体。然后用若干通过隧道轴线的基准平面,把整环切分成单块管片。用 Partition Cell 功能切割后,每个管片 Cell 都还留在同一个 Part 里,但网格划分时可以通过设置不同的 Sets,把这 7 片分别选中并赋予材料。这样比建 7 个独立 Part 再装配更方便,尤其是做错缝拼装时,只需要旋转复制同一个 Part 的边界条件。
我习惯把管片的环向筋方向放在 XY 平面内,轴向筋方向沿着 Z 轴。这样施加水土压力时,能很清楚地看出内侧受拉区和外侧受拉区。如果你拿到模型后需要改管片厚度,可以把管片外径减小或内径增大,再重新划分网格,但注意螺栓孔位置和配筋位置要同步移动,否则埋入钢筋和螺栓孔会发生干涉。
3.2 螺栓和螺栓预紧:实体螺栓还是梁单元
螺栓建模在这类模型里是个矛盾点:建得太细,计算资源浪费;建得太粗,接缝受力又不像样。这套文件用的是实体螺栓模型,也就是在纵缝和环缝位置建立圆柱形螺栓体,单独赋予钢材属性,然后通过接触或绑定与管片螺栓孔连接。实体螺栓的好处是可以施加螺栓预紧力,能模拟拼装完成后螺栓对管片接缝的压紧效果。
ABAQUS 里施加螺栓预紧力有两种常用方式。第一种是采用实体螺栓,并在螺栓中间位置通过 Datum Plane 切开一个截面,在 Load 模块里选择 Bolt Load,选中切割面,输入 100 kN 之类的预紧力值。这个截面必须是由 Partition 切出来的真实截面,如果你只是用 Display Group 看了一个假截面,预紧力是加不上的。第二种方式,是把螺栓简化成 Truss 单元或 Beam 单元,两端嵌入管片混凝土,中间部分不穿过管片表面。这种办法计算快,但没法直接施加预紧力。
从工程计算的角度,如果重点分析管片受力,实体螺栓配合预紧力是更可靠的选择。预紧力的大小需要根据图纸确定,常见 M30 级别的管片螺栓,施工预紧力一般取 150 到 300 kN。模型里的数值如果跟图纸不一致,你修改时要注意在 Bolt Load 对话框里重新设置,同时把所有同类截面的预紧力保持一致,否则同一环不同接缝的受力会失调。
3.3 配筋:embedded region 嵌入钢筋网
管片配筋建模,这套文件采用的方法是 Embedded Region 嵌入法。简单说就是:混凝土实体是宿主区域,钢筋单元是嵌入元素,ABAQUS 会自动搜索每个钢筋节点处于哪个混凝土单元内部,把二者约束在一起,从而模拟钢筋和混凝土共同受力。
在 CAE 操作里,钢筋网一般被建成 Wire Part,用 Truss 单元或者 Beam 单元来离散。如果用 Truss 单元,钢筋只能承受轴向力,不能抗弯;这其实符合普通钢筋的主要受力方式,也符合盾构管片计算的主流简化。T3D2 两根节点杆单元就够用,每个节点只有平动自由度,分析效率也高。
关键步骤是设置 Embedment。在 Interaction 模块里选 Embedded Region,把钢筋 Set 作为嵌入区域,混凝土管片作为宿主区域。这时有个非常容易踩的坑:钢筋必须完全位于混凝土宿主内部,至少每一个节点都要落在某个实体单元体里。如果钢筋伸出了管片表面之外,就会报“host element not found”之类的警告,约束失效。所以建模完成后,我建议把钢筋和管片显示成半透明,逐个方向旋转检查一圈,确认钢筋网没有穿出外表面或内表面。
4. 开挖分析步与施工工序模拟
4.1 先做地应力平衡
盾构隧道模型和普通地面建筑模型不一样,土体一开始就处于自重应力状态。如果直接把土体自重加上去,不进行地应力平衡,算出来的初始位移就会非常大,管片还没受力,整个土体就已经下沉了几十毫米。这不符合实际情况,因为隧道施工前地表早已沉降稳定。
所以这个模型里第一步一定是 Geostatic 分析步。做法是:先施加土体自重和边界约束,然后在 Step 里选择 Geostatic,让 ABAQUS 在第一步内算出与自重荷载平衡的初始应力场。这样从第二步开始,土体的位移增量才真正反映开挖引起的变化。
这里有个操作细节:地应力平衡前,管片和注浆层单元应该处于 Remove 状态,也就是不参与计算;否则你等于让管片在施工前就承担土压力,结果完全失真。打开这个 CAE 文件时,第一步如果看到管片部分被“隐藏”,或者单元集里标记了 remove,不要以为是模型坏了,这是施工顺序模拟的正常设计。
4.2 model change 控制开挖掘进和注浆硬化
盾构开挖模拟的精髓在 Model Change。每一个施工步里,土体洞身范围的单元被 Remove,盾构机尾部对应的注浆层单元被 Add,管片单元再跟着激活。ABAQUS 的 Model Change 不是简单地把单元隐藏,而是真正改变单元在刚度矩阵里的参与状态:被移除的单元没有刚度、没有质量,不参与求解;被激活的单元从当前分析步开始参与计算。
使用 Model Change 时注意,要把被移除或激活的单元尽可能定义成独立的单元集合,而且每个集合对应一个完整的开挖段。比如 10 环管片,管片环 1 到环 10 分别定义成不同的集合,开挖时按顺序切换。不要指望一个集合跨越多个分析步自动变换状态,ABAQUS 的默认规则是:如果不在后续分析步里做额外操作,被移除的单元就一直不参与计算。
注浆层的硬化,工程上常用两种近似。一种是注浆单元从激活开始就具备一定弹性模量,另一种是设置随时间增长的弹性模量,模拟浆液从液态到凝固的过程。这套文件里如果用了后者,你会看到材料模块里定义了 Field 变量或温度变量来驱动模量变化。实际做参数敏感性分析时,把注浆层初期模量从 10 MPa 改到 100 MPa,管片弯矩会有明显差别,这部分值得多跑几次对比。
4.3 边界约束和荷载怎么加
隧道模型的土体范围不是无限大,四周总得有边界。这套模型的做法比较典型:土体顶部是自由面,模拟地表;四个侧面约束法向位移;底面约束全部位移。这样既能控制模型规模,又能避免边界对隧道受力造成明显干扰。
荷载方面,除了土体重力,还有开挖面的支护压力。盾构机掘进时,刀盘前方的土压力要维持稳定,否则掌子面前方土体会发生过大变形甚至坍塌。模型里一般在掌子面位置设置一个面压力,方向和隧道轴线相同,大小从静止土压力估算。这个压力不是固定的,随着埋深和水位变化,如果你拿到模型后改埋深,记得同步修改。
管片背后还要施加水压力,一般简化为垂直于衬砌外表面的面压力,沿深度线性变化。如果你用的是 ABAQUS 的 CLI 载荷或者用户子程序,可能已经把水压力写进去了;如果用纯 CAE,多半是分好几块面压力分区施加。这种线性水压会显著影响管片底部弯矩,我建议单独做一次不开挖的静力对比,检查水压施加方向是否正确。
5. 折磨人的常见报错与排查实录
5.1 质量异常和自重重力爆炸
这个模型最常见的翻车现场,是计算文件运行时,第一步还正常,第二步开始位移天量增长。我排查这种问题,第一眼看的就是密度和重力加速度。
在毫米单位制里,如果混凝土密度被误写成 2500,而不是 2.5e-9,那模型质量会变成真实质量的 1e12 倍。即使是小网格模型,自重也会把管片和土体压得完全扭曲。另一个问题是重力加速度忘了乘 1000,写成 9.8,这时候所有竖向力又都偏小 1000 倍。这两种错法都隐蔽,因为 CAE 不报错。你可以在历史变量输出里看总反力 RF,如果总反力比手算体积重力差了若干个数量级,基本就是单位制问题。
5.2 嵌入失败和宿主穿透
配筋嵌入是另一个报错重灾区。常见的提示是“embedded element is not within any host element”,意思是有钢筋节点不在混凝土单元内部。这个问题往往出现在管片圆弧边缘,钢筋网外侧端点刚好和管片外表面平齐,ABAQUS 做体积搜索时容差很小,差一点点就识别不到。
解决办法有两个。第一,把钢筋网整体向内缩 5~10 mm,让端头可靠埋进混凝土保护层内;第二,把钢筋的节点投影到混凝土单元表面以内。我做管片配筋时,会把主筋保护层厚度设置成至少 45 mm,钢筋端点缩进 10 mm 以上,基本能避免这个警告。如果嵌入后还有警告,但计算仍能完成,也要检查结果里钢筋应力是否异常,因为失效嵌固会让钢筋应力出现忽大忽小的现象。
5.3 螺栓预紧力一直不收敛
螺栓预紧是最让人头大的收敛问题之一。ABAQUS 计算 Bolt Load 时,如果接触和预紧设置顺序不对,增量步会变得非常小,甚至报“too many attempts made for this increment”。
我常用的处理手段是先做一个纯预紧分析步:在这一步里只增加非常小的预紧力,比如 1 N,目的是让螺栓与管片螺栓孔之间建立稳定的接触状态;第二步再增加实际预紧力。另一个手段是改用位移控制预紧,先在螺栓端部施加一个小的强制位移,算出接触稳定以后,再换回力控制。这招在处理 M30 大直径螺栓时特别管用。
还要强调一点:Bolt Load 必须在螺栓截面切割面上施加,如果你用的是 Solid 螺栓,中间必须预先 Partition 出一个横向截面。很多模型把截面放在螺栓中间,但切割平面没有延伸到整个圆柱,切割不完整,ABAQUS 就会提示找不到可用截面。检查分区时,要让圆柱被完整切成两段,而不是只切出表面的一条线。
5.4 增量步退化和网格畸变
盾构模型非线性强,接触多,增量步退化是家常便饭。土体部分如果采用 Mohr-Coulomb 模型,塑性流动会导致局部单元大变形,哪怕你用六面体网格,也可能在拱脚位置出现扭曲单元。这个时候不是硬调增量步上限就能解决的,而是要回到网格和材料上做文章。
对于靠近隧道的土体区域,网格要适度加密,但不要整体加密,否则计算量爆炸。我一般把隧道外 1 到 2 倍洞径范围内的土体网格设成管片网格尺寸的 1.5 到 2 倍,再往外逐步放大。注浆层厚度只有 100 到 200 mm,径向至少划分 2 到 3 层单元,否则弯曲响应会被严重低估。如果你看到拱底土体单元出现负雅可比,最先怀疑的就是网格过度扭曲,而不是材料参数。
6. 从“能算”到“算得准”的几件事
6.1 网格疏密和接触设置
模型在“能算”之后,下一个命题才是“算得准”。在这个 CAE 文件里,管片网格厚度方向我建议至少 2 到 3 层 C3D8R,环向每片管片不少于 8 个单元。太疏的网格得到的弯矩峰值会偏小,而且峰值位置不稳定,换一套网格结果能差 10% 到 20%。
接触设置方面,管片之间的纵缝和环缝接触面,法向行为用硬接触,切向用罚摩擦,摩擦系数按混凝土之间无垫片取 0.5 左右。如果你的模型里加入了橡胶密封垫,那要单独建出密封垫几何,否则会过于刚硬。管片与注浆层之间的接触,如果用绑定约束 Tie 模拟浆液与管片的黏结,注意 Tie 区域的选择要同时覆盖管片外表面和注浆层内表面,漏选任何一个面都会导致局部应力异常。
6.2 结果解读和部位
算完以后,最常看的量是管片主筋应力、混凝土受压损伤、螺栓轴力和接缝张开量。主筋应力应该重点看受拉侧的峰值,而不是只看混凝土表面应力,因为表面应力往往被局部接触点污染。ABAQUS 的 Field Output 里选择 S(应力)和 StatusVar,再用 Display Group 只显示钢筋 Set,就能直接看配筋应力分布。
螺栓轴力输出要看截面上的合力,可以用 Free Body Cut 或者定义截面输出。正常施工阶段,螺栓轴力会比预紧力略微增加或减少,但如果出现螺栓轴力大幅归零,大概率是接触状态失效或者混凝土在孔口被压碎。此时要回查管片螺栓孔周围的混凝土应力,如果远超抗压强度,说明螺栓布置或预紧力取值不合理,模型计算仍然是有效的,但工程方案本身有问题,需要反馈给设计。
7. 给拿到这套CAE文件的读者几个建议
最后分享几个我实际用这类模型的经验。第一,不要一打开就去改尺寸,先原样计算一遍,确认结果能正常收敛。你可以把分析步里所有增量步设置改成自动,先跑一个短周期的开挖,看看有没有明显的数值错误。保存一份原始 CAE 的备份,任何改动都在副本上进行,避免改完参数以后回不去初始状态。
第二,先做单环静力分析,再做多环施工过程分析。如果只想练手,可以暂时不管土体开挖,直接固定管片环,施加侧向水压力,这样能很快检验螺栓和配筋的建模是否合理。等确认这部分合格了,再把土体加回来。盾构模型最怕一上来全跑,结果排除问题时根本不知道是土体、注浆层、螺栓还是配筋出了问题。
第三,学会用 ABAQUS 的关键字编辑器检查 Model Change 和嵌入约束的定义。这些操作在 CAE 界面里看着正常,但写进 inp 文件以后很容易出现集合名称对不上、移除顺序不对等毛病。你可以在 Job 模块里写一个只包含一个分析步的快速 inp,打开 .inp 文件搜索关键词 Model Change,看看每个 Step 里有没有对应操作;这一步花不了十分钟,但能省出好几天的排查时间。
盾构隧道开挖模型做起来繁琐,但把一环 7 片管片、螺栓预紧、配筋嵌入和开挖模拟这四件事想清楚,后续改参数、换工况都会顺很多。这套 CAE 文件只要按我上面的顺序拆开,你就不会再觉得它是一个神秘的“黑盒子”了。