ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

裂隙注浆模拟实战:注浆压力、扩散半径与浆液用量深度解析

裂隙注浆模拟实战:注浆压力、扩散半径与浆液用量深度解析 早上九点半我蹲在隧洞边上看现场注浆一个孔打下去水泥浆像被裂隙吞了一样连打了三罐都没见压力起来。旁边的老师傅把手套一摘说了句让我记到现在的话“你连浆往哪跑都不知道光加压力有什么用。”那天之后我开始认真做裂隙注浆模拟从数值模型一路做到室内平行板实测前前后后折腾了两个多月把注浆压力、扩散半径、浆液用量这些参数重新捋了一遍。这篇手记就是那段时间的全记录给同样在裂隙注浆上吃过亏的工程师、研究生和现场技术员一个参考少走几步弯路。1. 立项背景什么项目逼着我做裂隙注浆模拟1.1 一个连灌三罐浆都没起压的现场问题先说那个让我栽了跟头的现场。某引水工程隧洞开挖至断层影响带掌子面右侧拱腰位置渗水流量不大但持续不断实测大约每分钟两到三升。按照常规思路注浆堵水嘛钻孔、埋管、开泵、加压水灰比从0.8调到0.6压力从0.5兆帕升到1.2兆帕单孔累计注浆量快两吨了孔口压力还是上不去返浆倒是从旁边一个裂隙里冒出来了。这个现象很典型浆液没有在目标裂隙里停留、填充、挤压而是沿着连通路径一路跑远了。我们当时判断是浆液扩散半径远超设计值但具体超到多少、沿着哪条缝跑的完全没有量化依据。靠经验猜老师傅也只能给出“裂隙太发育浆量加大”这种方向性结论至于加多少、加到什么程度没人说得清。1.2 模拟要回答的三个工程问题吃了一次亏我把问题收敛成三个这三件事也直接决定了后面模拟工作的走向第一浆液在给定裂隙开度、粗糙度和水头条件下能扩散多远扩散形态是均匀推进还是指状突进第二注浆压力沿程怎么衰减孔口压力和裂隙深处的压力差有多大第三要填满一个特定体积的裂隙网络理论上需要多少浆量和现场实际消耗的偏差在哪这三个问题有个共同点都不能直接在施工现场做大规模试验成本太高而且一次失败就影响工期。于是模拟就变成了最可行的路径——先在模型里把规律摸清楚再带着定量结论回现场做小范围验证。1.3 两条模拟路线怎么选裂隙注浆模拟有两条成熟路线一条是数值模拟把裂隙几何、浆液流变、压力边界都参数化在通用流体计算平台上求解另一条是室内物理模拟用透明平行板、相似材料试件加注浆装置直接肉眼观察浆液扩散过程。我当时的选择是两条腿走路先用数值模拟做参数敏感性分析快速覆盖大范围工况再用室内物理模拟验证两到三个关键工况用来修正数值模型里的边界条件和流变参数。先算后测两者对不上再回头找原因。这个流程跑下来比单纯堆数值模拟或者单纯做实验都要靠谱尤其当你需要把结论推广到多组裂隙组合时数值模型的效率优势非常明显。2. 浆液流变与裂隙几何两个决定模拟成败的基础参数2.1 水泥浆不是水不能拿水的规律套很多第一次做注浆模拟的人会把浆液当成高黏度水来处理这是个根本性的错误。水是牛顿流体剪应力与剪切速率成正比水泥浆是宾汉流体有一个明显的屈服应力——就像牙膏你不挤到一定力量它根本不动。这个屈服应力在注浆模拟中决定了浆液最终能不能在裂隙中停下来。扩散半径的边界其实不是压力平衡决定的而是浆液屈服应力与裂隙开度联合决定的。当浆液前沿处的剪切应力低于屈服应力浆液就彻底停止流动了。你用清水模拟得到的结果是浆液永远在流动扩散半径无限增长在有限注浆时间内算出来一个离谱的数字完全失真。2.2 两个关键指标屈服应力与塑性黏度宾汉流体的本构方程写成这样τ τ0 μp·γ其中τ是剪切应力τ0是屈服应力μp是塑性黏度γ是剪切速率。对注浆模拟而言真正要输入模型的就这两个数屈服应力和塑性黏度。很多人忽略屈服应力只测黏度导致模拟出的扩散半径普遍偏大。以我用的普通硅酸盐水泥浆为例不同水灰比下的流变参数差别非常大水灰比屈服应力塑性黏度适用场景1.0:13~6 Pa15~35 mPa·s细裂隙渗透注浆0.8:18~15 Pa40~80 mPa·s常规裂隙注浆0.6:120~40 Pa120~200 mPa·s大裂隙封堵、快速止水请注意表中数值是我在实验室用旋转黏度计实测的典型范围不同批次水泥、不同温度下会有浮动但数量级不会变。温度对塑性黏度影响很明显夏天和冬天配同一水灰比参数能差出百分之五十这一点在做数值模拟时一定要考虑。2.3 流变参数怎么测现场也能凑合测最规范的方法是拿旋转黏度计在剪切速率从低速到高速的扫描模式下记录剪切应力曲线再用宾汉模型拟合。但现场条件往往不具备这时可以做一个简化版的坍落度筒测试固定体积的浆液自然流平后测最终扩展直径再结合一个已知的经验转换关系估算屈服应力。我再多说一句搅拌时间对浆液流变参数的影响经常被忽视。同一桶浆刚拌完和静置四十分钟再拌塑性黏度能涨两倍。所以在做模拟输入参数时要用“注浆泵实际泵送时的浆液状态”测出来的值而不是刚搅拌完的值。这个细节我第一轮模拟就吃了一次亏后面会专门讲。2.4 裂隙几何开度、粗糙度与连通性裂隙几何参数中最重要的就是开度。开度直接影响浆液流动的阻力立方定律告诉我们流量与开度的三次方成正比——开度差一倍流量差八倍。在现场量开度最靠谱的方法是钻孔电视和孔内扫描取芯得到的裂隙宽度往往会因为取芯扰动而偏大。粗糙度用JRC节理粗糙度系数来描述范围通常取0到20。粗糙度对注浆模拟的影响在于它等效降低了流动开度。我们做数值建模时一般把实测开度乘以一个折减系数比如JRC在8到12时等效水力开度约为机械开度的0.6到0.8倍。这个折减系数在没有实测数据时是模拟结果不确定性的主要来源之一。裂隙网络连通性同样关键。孤立裂隙与连通裂隙对注浆过程的消耗完全不同一个连通良好的裂隙网络浆液可以顺着网络跑出很远而不起压。在现场工作时我建议至少要做一次裂隙连通性的初步判断——通过相邻钻孔压水试验的窜水响应来判断裂隙间是否存在水力联系。这一步不做后续模拟的点位布置很容易失真。3. 裂隙模型怎么建从地质素描到参数化网格3.1 先从单裂隙做起再叠加网络我的习惯是永远不要一上来就建一个复杂的随机裂隙网络除非你已经用单裂隙模型把浆液流变、压力边界和收敛性控制都摸透了。单裂隙模型是校准流变参数和边界条件的基准它简单、直观、容易对比解析解是排查模型bug的利器。先从一条开度0.5毫米、长度1米的水平裂隙开始用恒定压力入口模拟观察扩散范围随时间变化。跑通这一轮确认网格、时间步长、收敛控制都没问题再往里面加粗糙度、分支裂隙、交叉裂隙。3.2 网格剖分的取舍开度方向至少五层单元裂隙开度小网格剖分是数值模拟里最容易出问题的地方。开度方向如果只画一两层网格流动阻力会被明显低估模拟扩散速度偏快压力衰减偏慢。我做过网格独立性检验开度方向的单元层数从三层加到六层扩散半径结果变了接近三成从六层加到十层变化就控制在百分之五以内了。所以我的建议是开度方向至少画六层结构化网格优先用扫掠网格不要在裂隙面内用太细的网格去追求面内的分辨率。面内网格尺寸取开度的五到十倍就能保证计算精度和速度的平衡。对于整个裂隙网络含有几百条裂隙时对面内网格过度细化会导致节点爆炸计算时间完全不可接受。3.3 初始条件与边界条件怎么设初始状态我通常设置为裂隙内充满水压力场静水分布。这对应现场的地下水饱和状态。注浆孔的边界条件分为两种恒压注入和恒流注入选择取决于现场泵的类型。现场用的是螺杆泵近似恒流源但实际控制中为了防超压往往会设定一个压力上限因此相当于恒流压力限幅。这种边界条件在模拟软件里可以直接通过控制逻辑实现也可以在模拟过程中人为切换流量达到上限且压力持续上升时切换为恒压模式。我最初用纯恒压边界算出来的初期扩散速度比实测快很多因为现场泵送流量有上限。改成恒流限压后吻合度明显提高。出口边界条件分两种情况裂隙延伸到模型边缘直接设定为常压开放边界模拟浆液从裂隙出口流出如果裂隙网络封闭则设定为壁面边界。这里要特别提醒边界设置要与工程实际一致一个开放的裂隙末端被错误设为封闭边界压力场完全不一样模拟出的注浆压力可能高出几倍。3.4 裂隙粗糙度怎样映射进网格粗糙度在数值模型中用等效水力开度折减来近似这是最实用的做法。具体操作是把实测剖面的JRC值换算成粗糙度折减系数然后对裂隙面上每个网格的局部开度赋予一个随机波动值幅度控制在等效开度的百分之十到二十。这种方法计算成本低又能体现粗糙度对流动路径的影响。后来做双裂隙交叉模型时我在交叉点附近做了局部加密把交叉区域面内网格尺寸加密到开度的三倍用于分辨交叉处流动汇聚对局部压力的影响。这个处理很关键因为交叉点是压力梯度最陡、也最容易出现涡流死区的位置。4. 数值模拟实施两相流模型与结果解读4.1 选择两相流模型别把空气问题忽略掉注浆是一个驱替过程浆液进入裂隙把原来的水或空气挤出去。如果模型里只有浆液单相就忽略了前置空气/水的阻力模拟出来的扩散速度肯定偏快。我在第一版模型里偷了懒把裂隙内初始状态直接设为真空浆液自由扩散结果扩散半径比实测大了一半以上。正确的做法是采用两相流模型追踪浆液与被驱替流体之间的界面。最常用的是VOF方法把浆液和水/空气两相同时计算界面通过相体积分数捕捉。VOF的优势是界面清晰计算稳定特别适合注浆这种存在明显界面的驱替过程。湍流模型方面我按照雷诺数判断选择了层流。对于0.5毫米开度、流速0.1米每秒、浆液密度1400千克每立方米、塑性黏度0.05帕秒的工况雷诺数大约只有1.4妥妥的层流区域。你拿一个CFD软件去算层流注浆比上湍流模型简单得多收敛也快得多。4.2 监测点布置与收敛控制模拟不是算完看云图就结束了需要布监测点。我的习惯是在注浆孔中心、距离中心5厘米、10厘米、20厘米处各布置一个压力监测点再加上浆液前沿位置的时程记录。这些监测点的数据用来和后续物理模拟以及现场孔内压力计的记录做对比。时间步长设置也有讲究VOF界面每个时间步推进不应超过一个网格尺寸否则界面会发散。实际计算中我用的初始时间步是0.01秒自适应控制在10的负5次方到0.1秒之间。收敛判据上残差设置到10的负4次方基本够了再往下压纯属浪费时间。压力速度耦合算法用默认的PISO或SIMPLE类都是成熟的关键是确保每个时间步内各物理量残差真正下降而不是被松弛因子掩盖。4.3 从云图与曲线里读出的三条规律第一个规律浆液前沿按扩散距离的平方根规律推进这意味着初期扩散快后期越来越慢。从工程角度看注浆前两分钟决定了大半个扩散范围泵送时间超过某个阈值后继续注浆只能改变近孔区域的压密程度对扩大扩散范围作用有限。第二个规律压力沿程衰减是非线性的。裂隙入口处压力最高距离每增加一个数量级压力下降越明显。实际工程中孔底压力计读数与孔口压力差可以达到30%以上不看沿程分布直接拿孔口压力推断裂隙深处压力会高估。第三个规律屈服应力对最终扩散半径的决定性远超塑性黏度。我做了一组敏感性分析屈服应力从5帕提高到15帕最终扩散半径缩小了约40%而塑性黏度从30提高到60毫帕秒扩散半径只缩小了约15%。这说明在注浆材料选择上提高屈服应力比提高黏度更有效——现场想控制浆液乱跑与其换更稠的浆不如选屈服应力更高、触变性更强的配比。5. 室内物模对照透明平行板裂隙的一次实测5.1 自制试验装置有机玻璃平行板数值模拟做完一轮我心里其实没底因为所有参数都是自己输入的缺乏实测验证。于是参照岩土工程领域常见的做法搭了一套简易物理模型两块透明有机玻璃板中间用精密垫片控制间距模拟单裂隙开度侧面用螺栓拧紧防止注浆过程中漏浆。这个装置的核心就是开度可控。我配了0.5毫米、1.0毫米、2.0毫米三种垫片分别对应细裂隙、中裂隙和宽裂隙。为了观察粗糙度影响还在一块玻璃板表面用砂纸均匀打磨出了中等粗糙度纹理对应的JRC大约在8到10。5.2 注浆过程记录用手机录像再用图像识别辅助注浆采用小型手持螺杆泵压力通过泵体自带压力表读取同时在注浆口接了一个数显压力计。浆液用的是0.8水灰比水泥浆加了一点红色颜料便于观察界面位置。整个扩散过程用手机固定机位录像每秒二十五帧后期每隔两秒截一帧测量浆液前沿扩散半径随时间的变化。试验结果在趋势上和数值模拟一致初期扩散快后期逐渐变缓最终在某一半径处完全停止。停止半径和数值模拟结果非常接近偏差在8%左右这个吻合度对工程应用来说是可以接受的。5.3 数值与实测对不齐问题出在哪最大的偏差出现在前期30秒内的扩散速度实测比数值模拟慢了约20%。排查了几轮最终锁定三个原因。第一个原因是浆液在泵送管内存在初始压降孔口真实压力低于泵表读数。这个误差在泵表上完全看不出来解决办法是在注浆口近端另装压力传感器实测入口压力。第二个原因是平行板表面即使打磨过等效水力开度也小于机械开度。我按机械开度建模实际上流动阻力偏大导致速度偏慢。用校准试验反推得到等效水力开度约为机械开度的0.7倍和前面提到的JRC折减系数范围吻合。第三个原因比较隐蔽水泥浆在静止一段时间后出现轻微触变性初始泵送时需要克服的结构屈服应力比动态屈服应力高。随着泵送继续结构被破坏流变参数降到动态值。这个现象在旋转黏度计上表现为滞后环在注浆过程中则表现为启动压力高于稳定流动压力。5.4 物模试验的价值校核而不是替代物理模拟并不能替代数值模拟它的核心价值是提供一个可重复的、低成本的校准基准。有了物模数据数值模型里的边界条件、等效开度、流变参数才能得到验证和修正。在我后续的模拟工作中每一轮数值计算前都会先跑一组平行板试验用实测结果校准有效参数再上复杂裂隙网络模型。这个过程虽然多花两天时间但避免了拿着一套没有实测支撑的参数去盲目预测工程结果。6. 从模拟到现场参数外推的可行边界6.1 用模拟结果反推现场注浆参数单裂隙模拟加物模校准跑通后我把注意力转回最初那个“连灌三罐不起压”的现场问题。模拟给出的结论很明确0.5毫米开度、水灰比0.8浆液、屈服应力10帕时在0.4兆帕注浆压力下扩散半径大约1.2米在0.8兆帕下扩散半径大约1.8米。压力翻倍扩散半径增量远小于翻倍这正是屈服应力起主导作用的表现。这个结果给了现场两个操作性建议第一压力从0.5兆帕提到1.2兆帕并不会让浆液无限扩散但要警惕沿连通裂隙窜浆第二要想控制扩散半径在1.5米以内注浆压力应控制在0.6兆帕左右同时延长低压注入阶段的持续时间让浆液在屈服应力作用下充分填充裂隙。6.2 浆液用量估算与偏差修正浆液理论用量可以按裂隙体积估算V π × R² × b × φ。R是扩散半径b是平均开度φ是裂隙体积填充率。以扩散半径1.5米、平均开度1毫米、填充率0.8计算理论浆液体积约5.7升。而现场实际单孔消耗超过一吨约600升以上是理论值的上百倍。这个巨大的差异恰好说明了模拟的价值它帮你把“真实裂隙网络存在大量未被探明的开度、连通路径和空腔”这件事量化出来。六百倍的理论偏差意味着即使注浆控制得当大部分浆液仍进入了未探明的裂隙网络或超远扩散区域。这也解释了为什么现场单凭经验无法判断浆液去向。6.3 哪些结论能直接外推哪些必须现场校准根据我的经验模拟结论中外推可靠性最高的是扩散半径随时间的变化规律、压力沿程衰减的趋势、屈服应力对扩散范围的控制作用。这些属于物理规律层面的结论在不同的尺度和边界条件下基本成立。必须现场校准的部分是绝对扩散半径的数值、浆液消耗量、特定裂隙网络下的窜浆路径。这些高度依赖局部地质条件不能拿来主义。我的做法是先用模拟给出一个控制范围然后在现场做小规模验证注浆实测压力响应和返浆情况反推模型的参数修正系数。6.4 一个可以快速复算的扩散半径估算在无法跑完整数值模拟时可以用一个简化公式快速估算扩散半径。对宾汉流体在平行板裂隙中的径向流动最终扩散半径Rf近似满足Rf ≈ (ΔP × b / (2τ0)) × 0.5这里ΔP是注浆压力与裂隙末端压力之差b是等效水力开度τ0是屈服应力。带入现场参数ΔP0.6兆帕b0.7毫米τ010帕估算Rf约1.05米与数值模拟结果在同一量级。这个公式精度不高但足以在注浆车旁边快速判断“该不该加压力”。更精确的估算可以考虑浆液在流动过程中的黏度消耗我用一个简短的脚本做了参数扫描import numpy as np # 快速估算注浆扩散半径 dP 0.6e6 # 注浆压力与末端压力差Pa b 0.7e-3 # 等效水力开度m tau0 10.0 # 屈服应力Pa Rf dP * b / (2 * tau0) / 2 print(估算扩散半径, round(Rf, 2), m)脚本本身很简单重点是参数取值。开度一定要用等效水力开度而不是现场测的机械开度屈服应力一定要用泵送状态下的动态值而不是刚搅拌完的峰值。7. 模拟过程中的坑与心得7.1 流变参数“测了等于没测”的三个原因第一轮模拟我拿到的流变参数是第三方实验室测的测出来屈服应力12帕塑性黏度55毫帕秒看起来很正常。但模拟结果和现场怎么都对不上。后来复盘发现样品在送样、静置、运输过程中已经发生了明显的水化实测状态和现场泵送状态完全不是一回事。第二个原因是温度。浆液流变参数对温度敏感实验室恒温20度测出的值在现场35度的注浆管路里完全不适用。最稳妥的办法就是现场取样、现场测至少要用保温桶送到最近实验室在2小时内完成测试。第三个原因是剪切历史。刚从搅拌机出来的浆液经历了强烈剪切结构处于破坏状态流变参数低静置一段时间后结构恢复参数升高。模拟输入的流变参数应该对应“浆液在裂隙内实际流动时的状态”即中等剪切历史下的参数这个细节决定了模拟扩散半径的准确性。7.2 网格依赖把我坑了一次我做第二版复杂裂隙网络模型时为了节省计算时间把开度方向网格压缩到三层面内网格也放大了两倍。结果模拟出的总注浆量比预估值低了近一半压力衰减也异常平缓。后来做了系统的网格独立性检验才发现三层网格严重低估了流动阻力。把开度方向加到六层后面内网格适当加密后结果才趋于稳定最终注浆量回复到合理范围。这个经验教训就是省什么都不能省开度方向的网格层数裂隙本来就很薄你再把它分粗了等于把一条实实在在的窄缝算成了一条宽缝。7.3 最难的不是建模是确定等效水力开度整个模拟过程中不确定性最大、影响也最直接的参数既不是浆液流变也不是注浆压力而是等效水力开度。开度在立方定律里是三次方关系误差一点结果误差一大截。现场钻孔电视测的是机械开度而实际流动需要的是等效水力开度两者之间差一个粗糙度折减系数。这个系数又和JRC、充填物、应力状态都有关系。我的建议是在正式模拟前用压水试验实测一段已知裂隙的渗透系数反算等效水力开度用这个值作为数值模拟的输入。磨刀不误砍柴工这一步千万别省。7.4 触变性浆液的模拟陷阱最后再说说触变性。现场为了提高浆液抗冲刷能力经常会加一些触变剂。触变浆液在静置时结构强度高泵送剪切后强度降低。这在注浆过程中意味着泵停后浆液在裂隙内迅速恢复结构不容易被地下水冲走但泵刚启动时压力会异常升高造成假象。在数值模拟里标准的宾汉模型无法反映这种时间依赖的流变行为。如果现场用的是触变浆液我建议在模型里做一个简化处理启动阶段采用恢复后的屈服应力值稳定流动阶段采用动态屈服应力值两者之间通过一个时间函数切换。这样虽然不能精确描述滞后环但至少能抓住启动压力偏高、随后回落的宏观特征。写在最后的操作建议如果只让我给一条实操建议那就是先做单裂隙数值模拟再做平行板物模校准最后再上复杂模型外推现场。这套流程看起来绕远路实际上是最快出可靠结论的路径。我做第一轮模拟时跳过物模直接上复杂模型结果被网格和流变参数的问题纠缠了快两周老老实实回到单裂隙和平行板校准后复杂模型只用三天就跑出了和现场量级吻合的结果。裂隙注浆模拟的终点不是出一张漂亮的扩散云图而是回答“浆去哪了、压力够不够、量用了多少”这三个现场真正关心的问题。带着这个目标去做每个参数都会有意义每一步操作都有方向。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进