ARTICLE · INTELLIGENCE

战地情报 · 详情页

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

COMSOL双重介质注浆模拟关键技术:从裂隙建模到浆液扩散

COMSOL双重介质注浆模拟关键技术:从裂隙建模到浆液扩散 裂隙的走向、开度、粗糙度高度离散好的DFN工具可以把裂隙密度、迹长分布、倾角分布作为输入产出一套符合统计规律的裂隙网络。对注浆模拟来说DFN的优势在于能直接体现浆液沿控制性裂隙优先扩散的通道效应比等效连续介质模型更接近真实代价是建模和网格的复杂度都会上几个台阶。3.2 网格划分中的形状比与边界层控制建模完成只是第一步网格才是注浆模型里最影响命运的环节。裂隙的开度通常只有零点几到几毫米而同一模型里基质岩块的尺寸可能是米级两者相差两到三个数量级。如果网格都被细化到毫米级自由度数量会直接爆炸求解器跑完一轮的时间让人无法接受。我的经验是分区域控制网格裂隙区域沿开度方向至少划分2~4层网格保证流场梯度能被捕捉实验表明少于2层时裂隙内的流速剖面会严重失真。裂隙与基质交界面使用边界层网格加密这直接决定串流量的计算精度。基质内部远离裂隙的区域使用自由三角形/四面体粗网格只在浆液可能波及的范围内加密。网格尺寸过渡COMSOL的网格序列设置里可以控制最大单元增长率我一般控制在1.3以内避免单元尺寸跳变太突然导致数值振荡。网格质量检查也是必做的。我习惯在求解前先查看最小单元质量低于0.3的区域必须重新处理否则非线性迭代会首先在那里崩溃。常见的问题出现在裂隙尖端和两条裂隙的交叉点这两个位置的几何奇异导致单元被拉长或压扁需要手动在交叉点处设置更小的局部尺寸。3.3 浆液前沿怎么处理移动网格还是固定网格每次讨论注浆模型都会有人问浆液前锋面怎么跟踪。COMSOL里两条技术路线都需要掌握。固定网格法是最常用的方案。浆液与水作为两种流体共存于同一个网格域中通过追踪浆液体积分数或浓度场的空间分布来确定前沿位置。这样做的好处是网格不需要移动软件稳定性高适合大尺度工程模型。移动网格法ALEArbitrary Lagrangian-Eulerian是更精细的方案网格节点跟随浆液前沿一起移动界面被显式表达。好处是界面处物理量梯度不会被网格离散抹平适合研究单个裂隙中浆液指进现象这类机理问题。但代价非常大网格必须事先预留变形空间当浆液扩散到裂隙分叉点或发生突进时网格拓扑容易反转求解很容易发散。热词里的“comsol移动网格”“comsol相场突变”很多人都在找说明这方向需求量大但真正做成功的人少。我在实际项目中的做法是工程尺度模型用固定网格相场或水平集接口追踪前沿机理性单裂隙模型用移动网格层流接口。两种方法在前后处理上都很成熟关键是别一上来就试图用移动网格搞定所有情况那只会让自己卡在网格翻转上进退两难。4. 控制方程与参数实现从立方定律到窜流项4.1 裂隙中的宾汉姆流动浆液不是水裂隙流场的经验公式首选立方定律它假设两壁面是光滑平行板牛顿流体的体积流量q与开度b的三次方成正比q -(b³ / (12μ)) · ∇p这项公式在描述地下水渗流时相当准确误差通常在可接受范围。但注浆浆液是典型的宾汉姆流体具有剪切增稠特性。宾汉姆流体在低剪切速率下表现出类固体行为需要应力超过其屈服应力才会流动。这就带来一个注浆工程里非常重要的现象启动压力梯度。浆液在裂隙中流动时并不是整个裂隙面都在流动而是中间一个“栓塞区”像活塞一样被推动两壁附近存在不流动的边界层。栓塞区的存在使得流量与压力梯度的关系偏离立方定律呈线性-非线性交替的S型关系。COMSOL中实现宾汉姆流体可以使用“流体动力学”模块的广义牛顿流体选项输入粘度-剪切速率关系。我这里给一个工程中常用的宾汉姆本构表达式供参考剪切应力大于屈服应力τ₀时μ_eff μₚ τ₀/γ̇剪切应力小于τ₀时流体内部以弹性状态处理需要加入极小粘度防止数值奇异。参数μₚ是塑性粘度Pa·sτ₀是屈服应力Paγ̇是剪切速率1/s。水泥基浆液典型值为μₚ在0.01~0.5 Pa·s之间τ₀在1~15 Pa之间。这几个参数直接影响浆液在裂隙内能走多远是最值得实测的输入数据不要随便搜个文献值就填进去。4.2 多孔基质中的达西流与毛细渗透裂隙周边的岩块基质孔隙度有限渗透系数比较低浆液能否渗进去取决于两个条件。第一个条件是基质是否含水饱和。饱水基质的孔压会抵抗浆液挤入即使孔隙度足够大水分排不出去浆液也就进不去。第二个条件是孔隙尺寸与浆液颗粒粒径的关系。水泥颗粒直径通常在微米量级如果基质孔隙直径小于颗粒直径的3倍颗粒就无法进入只有水相可能渗进去形成“滤饼”效应。从这个角度看基质中的浆液渗吸更像是一个毛细驱动的两相渗流过程。达西定律依然是基础控制方程v -(K/μ) · ∇p这里K是渗透率与孔隙度的关系可以通过Kozeny-Carman方程估算。基质渗透率通常极低典型值在10⁻¹⁵~10⁻¹² m²之间所以浆液在基质的扩散半径往往只有毫米到厘米级。很多初学者把数学模型做出来后发现基质里几乎没浆液就怀疑自己算错了。其实这是正常现象注浆工程中模型运行后显示“基质浆液侵入范围极窄”或者“根本进不去”与现场取芯观察一致——浆液优先沿着裂隙通道扩散基质部分往往是干的。4.3 双重介质耦合的心脏窜流项裂隙系统与基质系统不是彼此孤立的它们之间持续的流体交换才是双重介质模型的核心。这里引入“窜流项”概念单位时间通过单位面积从基质流向裂隙或反向的流量记为Q用谱形式表示Q σ(p_m - p_f) / μ其中p_m是基质孔隙压力p_f是裂隙水压力μ是流体粘度σ称为渗流形状因子它不仅与裂隙、基质各自的几何形状有关还与两者接触面积有关。在COMSOL里这项是通过在裂隙域的边界条件上施加非零通量来实现的也可以借助“达西接口”中的“裂隙”特征直接建立基质-裂隙耦合把裂隙当做一个嵌入多孔介质中的低维对象模型平台会自动生成两者间的耦合关系。这一块值得多说两句。有些模型把根部裂隙与基质的水压强制设为相等认为这样简化方便。但这在数学上等同于传统等效连续介质模型双重介质的渗流延迟效应就被抹掉了。实测中裂隙与基质的压力往往不等裂隙水压扰动快基质孔隙水压反应迟钝这一滞后节点在注浆过程尤为明显。保留窜流滞后就是保留双重介质区别于均匀介质的关键特征。5. 浆液时变性与两相驱替几个最容易被忽略的机制5.1 粘度随时间增长水泥浆不能当普通液体算注浆浆液从搅拌开始就在水化反应塑性粘度和屈服应力随时间单调增长这个过程称为时变性。模拟中如果假设粘度恒定出来的扩散半径会明显偏大导致工程设计中注浆孔间距判断失误。COMSOL中实现粘度时变性最直接的方法是定义粘度μ为时间的函数例如μ(t) μ₀ · (1 a·t)^bμ₀为浆液初始粘度a和b为速率参数通常在对数坐标系下通过流变实验拟合得到。如果把时间参数做成分段线性生函数还可以更精确模拟现场搅拌到泵送到位的过程。不过要留意粘度随时间增长会导致非线性程度显著上升特别是在浆液推进的前沿非常容易被粘度突变触发数值振荡。后面的章节我会专门讲对策。5.2 水-浆液两相界面的COMSOL实现方案初凝时裂隙中饱含地下水浆液从注入孔进入后会逐渐顶替地下水向前推移。这个过程本质上是不混溶两相流动界面的演化规律决定了注浆扩散形态。COMSOL中追踪界面有三种常用做法相场法Phase Field用相场变量在界面上做连续过渡界面厚度参数ε需要与网格尺寸匹配取值不当容易产生非物理的界面扩散。热词里的“comsol相场突变”应该就是指这种界面重构中的瞬态振荡现象这通常可以用更小的ε加更细的网格、或者切换到自适应网格来缓解。水平集法Level Set相较相场更鲁棒界面更新更快对多相界面追踪非常方便也是两相流模块中最常用的方案。浓度追踪法Transport of Diluted Species把浆液视作溶解在水中的示踪剂直接解对流-扩散方程。好处是计算开销小缺点是界面模糊不能严格处理两相互不相溶的情形。我的习惯是优先尝试水平集法原因上面几条都提到了计算资源开销克制界面追踪精度足够不容易出现相场法的扩散伪影。如果电脑配置特别好模型尺度又小可以考虑升级为相场法但如果算到一半发散还是换回水平集更省心。5.3 泵压恒定还是泵量恒定这是个物理不等式注浆过程中泵站控制方式分为压力控制和流量控制两种。一个很有意思的事实换挡前后同样的地层的注入行为完全是两个物理过程。压力恒定随着浆液在地层中扩散半径扩大流动阻力逐渐增大若泵压恒定可推进的体积速度会自动减小模拟得到的浆液表面会从高速推进逐步进入慢速扩张。流量恒定恒定注入率泵持续以固定体积流量泵送浆液地面压力会随时间不断攀升。模拟中如果假设流量恒定而实际采取压力控制会导致扩散半径偏大、注浆压力偏高设计出来的注浆泵可能与施工实际发生脱节。COMSOL中的边界条件设置并不复杂压力边界用“孔压边界”直接指定泵压值流量边界用“法向流入速度”指定注入速度二者的本质区分来源于对泵送系统的合理简化而不是软件操作本身。建模前务必和现场施工人员确认采用的是哪种控制方式这一设定错了整个模型的意义就丢掉了一半。6. 求解与收敛我在COMSOL里踩过的真实大坑6.1 非线性陡增引发的发散问题我拆过很多个自己跑崩的模型总结下来90%都是以下几个原因粘度时变性太强水泥浆后期粘度增长极快甚至可能增长2~3个数量级牛顿迭代的雅可比矩阵很快变得病态。解决办法是把“主动时变粘度”拆成多步扫描先算一个恒粘度模型作为初值再逐步开大时变因子。裂隙尖端网格奇异前面强调过裂隙尖端的应力集中会同时放大在流场解上导致孔压奇异性这里需要局部加密。两相界面尖角翻转当浆液前沿碰到两条裂隙分叉点时界面曲率半径很小水平集方程中的对流项容易出现迎风不足产生非物理振荡。在三秒钟量级的时间步长下经常出现压力场负值负孔压即吸力——这在水-浆液体系中物理上不可能只能靠缩小时间步加高阶格式解决。6.2 时间步长与自适应策略Courant数入门两相流模拟中高频震荡的临界点往往集中在时间步长过大和空间分辨率不足同时出现时。Courant数定义C u · Δt / Δx其中u是特征流速Δt是时间步长Δx是特征网格尺寸。对于水平集方法Courant数通常必须控制在0.25~0.5以下。也就是说当你把网格加密一倍时间步长也必须缩小到原来的一半否则数值误差不会变好反而會恶化。COMSOL的自适应时间步长功能会自动调整但收紧程度往往不够。我的经验是在“求解器配置→瞬态”中将自适应时间步的下限设得比默认值更小同时开启最大步长限制避免软件在粘度突变阶段大跨度跳跃。6.3 模型验证的三条进路仿真模型的可靠性必须独立于仿真本身进行检验这里分享三条我常用的验证路径解析解验证针对单裂隙模型忽略基质窜流时将等离子体模型退化为经典立方定律宾汉姆启动压力解把数值结果与解析解做对比用来确认数值耗散没有过大。网格收敛性检验取同一模型分别做1倍、2倍、4倍网格加密观察关键响应指标如总注浆量、扩散半径是否收敛到同一数值。若加密后结果变化超过5%说明网格还未达到独立。现场试验对标真实注浆时在孔内埋设压力传感器和流量计同一孔段结束后把模型预测的注浆量与实测值对标。这是最终裁决数据累积多了模型的可信度自然就有底气了。我见过太多人把精力全放在模型精美、参数详实却拿不出一个和现场数据对标的结果这样的模型只能算自我感动。工程模型的唯一目标就是辅助决策必须经得起和实测数据死磕。7. 从CAD模型到工程决策注浆模型能改什么、不能改什么7.1 模型输出的意义不止于扩散半径很多工程师做完模型后最关注的就是“浆液能跑多远”然后拿着扩散半径的表去定孔距。但我认为模型的深层价值在于以下几个方面注浆量估算模型自动统计浆液覆盖的体积减去基质孔隙体积能够预估单孔注浆量这对材料备料和综合造价控制意义很大。注浆压力-时间曲线对比不同时刻的孔口压力与泵送流量的变化关系可以预测现场堵管或地层劈裂的风险时段。窜流速率分布模型能告诉我们浆液是从哪条裂隙进入基质最多的这种水文地质条件场就很清楚地指导我们哪些区域该用浓浆快速封堵哪些区域更适合稀浆慢渗。7.2 参数灵敏度什么值得花力气测准模型有几十个参数输入不可能也不必要每个都细细标定。按照对结果影响从大到小排序参数类别参数示例灵敏度判断裂隙参数裂隙开度b、裂隙密度、空间连通性极高直接影响浆液主通道浆液流变参数μ₀、τ₀、时变系数极高决定扩散能力基质参数基质渗透率、孔隙度中基质毕竟是辅路边界条件泵压/流量、注浆点位置极高设定错了结果必然错数值参数网格尺寸、时间步长、Courant数低前提已收敛所以摸清裂隙的统计分布和浆液的流变曲线是注浆模拟取得可靠成果的两条命根子这两个方面舍不得花钱做试验后面模型做得再漂亮也难以让真正懂行的人信服。7.3 专业化拓展方向第一个方向是把变形耦合加进来。注浆压力不是完全无损的高压会在裂隙边缘激发应力集中可能引起裂隙面稍微张开或者闭合进一步反过来影响流动通道。这一步需要耦合固体力学模块增加“流固耦合”标签计算量会上一个台阶但模型能回答的问题从“浆液跑到哪了”变成“注浆会不会把地层劈开”。第二个方向是DFN升级从手摆一条主裂隙升级到全随机裂隙网络再配合实测的岩芯记录、声发射定位数据把裂隙网络调校到和现场统计参数高度一致的状态这样的模型辨识度会陡增。第三个方向是反演优化。利用现场实测的注浆压力-流量曲线反向推算模型中的未知参数如裂隙平均开度、浆液屈服应力实现“工程数据和仿真相乘”。这种做法未来肯定会成为注浆辅助设计的主流。成果表达与实操卡片文章的内容密度已经不小了为了真正方便大家拿到就能上手我这里把最常用的一个模型参数卡片放在最后它覆盖从钻孔注浆到浆液扩散的全过程所需的必要参数参数取值建议备注裂隙开度 b0.2~2 mm注浆有效裂隙通道往往开度稍大裂隙密度0.5~2 条/m依据现场岩芯RQD数据调整多孔基质渗透率1×10⁻¹⁵~1×10⁻¹² m²实测压水试验获取孔隙度 n0.05~0.25完整岩块或弱风化区取小值浆液初始粘度 μ₀20~100 mPa·s水灰比0.8~1.0的水泥浆常见区间屈服应力 τ₀2~15 Pa需要流变仪实测泵压0.5~3 MPa现场泵压表读数泵送流量10~50 L/min现场流量计实测计算时间600~3600 s对比注浆过程的总时长设置结语做双重介质注浆模型这几年我最大的体会是COMSOL只是把岩土工程师脑子里那些模糊的水文地质概念清晰化的工具它的价值不在于算出某一条裂隙里流速是0.8 m/s还是1.2 m/s而在于逼着你思考浆液在这个地层里到底是怎么流的、哪里是主通道、哪里是死角。裂隙与多孔基质并存的世界里没有一个模型能完全复刻地层真相但一个好的双重介质模型足以把注浆设计从“拍脑袋”推向“有数据支撑”。这个过程本身就非常有价值。我建议第一次学习的人不要一开始就追求参数丰富震撼先用一个2D单裂隙基质的小模型跑通流程再逐步加入随机裂隙网络、时变粘度和两相界面。等这两座山都翻过去了你会发现眼前的岩体在你眼里已经变成了另一副透明立体的模样——裂隙是脉络基质是血肉浆液在其中穿行的过程值得你投入时间去琢磨。最后给个非常实用的小技巧COMSOL的模型文件建议上交之前先用“检查网格”和“模型报告”跑一遍把网格质量和方程收敛情况都确认好再打包交付这会省下你和评审专家之间大量的沟通成本。祝各位都能用模型把裂隙里的浆液看清楚、算明白。
RELATED READING

延伸阅读

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