尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

煤层气热流固耦合数值模拟实战:渗透率演化与模型调试要点

煤层气热流固耦合数值模拟实战:渗透率演化与模型调试要点 “变形记”这个词放在煤层气开采里其实比字面意思要丰富得多。煤储层在开采时瓦斯解吸、基质收缩、有效应力改变、温度扰动几个过程挤在一起煤体内部结构一直处于动态调整中。这种调整直接反映到渗透率上而渗透率又反过来决定产气量。搞明白这一连串互相咬合的关系就是热流固三场耦合的核心任务。这篇文章我会结合自己做煤层气数值模拟和现场数据对比的经验完整拆一遍热流固三场耦合在煤层气开采实战中的思路、方程取舍、参数标定、软件实现和调试坑点。内容主要面向地质工程师、瓦斯治理技术人员、以及刚开始做多物理场耦合模拟的研究生理论不会讲得太深但每个环节都会告诉你实际项目里是怎么落地的。1. 热流固三场耦合到底在算什么1.1 三个“场”分别对应煤储层里的什么东西煤层气开采涉及的核心物理过程有三个载体煤岩骨架、煤层中的裂隙和基质孔隙、以及孔隙里吸附和游离的甲烷。固体变形场对应的是煤岩骨架的应力应变状态。抽采开始后孔隙压力降低煤层受到的有效应力重新分布煤体会被压缩裂隙开度随之改变。这个改变不是一次性的而是随着排水降压不断推进。煤层气工程里常说的“应力敏感”本质上就是固体变形场对渗流能力的影响。流场指的是气体和水在裂隙-孔隙双孔结构中的流动。气体以吸附态为主存储在煤基质微孔表面压力降低后从基质表面解吸经扩散进入裂隙系统再以渗流形式流向井筒。这部分同时包含达西渗流和非达西效应还涉及气水两相相对渗透率的变化。温度场在煤层气开采中以前容易被忽略实际上热激励开采、注热增产、地下煤气化等工艺都会引入明显的温度扰动。温度升高会促进煤层气解吸同时煤基质受热膨胀但膨胀又会挤压裂隙反而降低渗透率。升温促进解吸和解吸导致基质收缩之间是两组方向相反的作用工程上热采的效果完全取决于这两者哪一方更占主导。1.2 为什么只做单场分析不够用早期设计煤层气井的时候工程师往往直接套用油气藏的双孔双渗模型把煤储层当常规气藏处理。这种做法的最大问题是忽略了煤岩的高度应力敏感性。常规砂岩储层在净应力变化几十兆帕的情况下渗透率下降幅度可能只有两三倍但煤储层的裂隙渗透率在有效应力小幅增加时下降一到两个数量级都很常见。反过来说煤层气解吸会引发基质收缩基质收缩引起裂隙开度增大渗透率又会回升。排采过程里这些效应同时存在而且方向不一致单靠测压数据反推根本分辨不了渗透率变化到底是被压实了还是被基质收缩撑开了。只有把固体变形、孔隙压力演化、温度影响放到一套方程里联立求解才能比较真实地还原煤储层内部的演变。我做过一个华北地区某矿区的地面井对比分析同一口井采用固定渗透率模型进行产量历史拟合后期日产气预测值比实际低约四成。把基质收缩和有效应力反馈加进去之后拟合曲线和实测数据的偏差能控制在约百分之八以内。差距这么大原因就在于煤层排采中后期基质收缩导致的渗透率改善是产气量能不能稳得住的关键因素。1.3 做三场耦合模拟解决什么问题从工程角度讲做热流固耦合主要有三个目的第一分析不同排采制度下煤储层渗透率的演化规律确定合理的降压速率避免快速降压造成严重应力损害第二评估注热、热空气驱替、原位转化等热采工艺对产气增产的实际效果判断在什么温度区间作业性价比最高第三配合水力压裂设计分析压裂液滤失、裂缝闭合、支撑剂嵌入等问题时需要准确预测裂缝壁面处的应力场和孔压分布。凡是涉及煤层气井型设计、排采制度优化、增产方案比选的项目三场耦合模拟都是现在比较可靠的分析手段。一般石油行业常用的商业软件也能做部分流固耦合模拟但温度场和吸附-变形耦合的限制比较多自定义本构方程难度也大。所以实际研究中大家更常用COMSOL Multiphysics的固体力学、Darcy渗流和传热模块耦合或者用ABAQUS配合用户子程序完成。2. 三场耦合的建模思路与方程取舍2.1 固体变形场有效应力与孔弹性方程煤储层是典型的双孔隙介质现在大多数耦合模型都把煤体简化成等效连续介质用双重孔隙模型处理基质和裂隙的差异但在宏观变形方程里仍采用单连续介质近似。固体变形的平衡方程基于经典孔弹性理论可写成[ G u_{i,jj} \frac{G}{1-2\nu} u_{j,ji} F_i \alpha p_{,i} K\alpha_T T_{,i} ]这里 (G) 是剪切模量(\nu) 是泊松比(u) 是位移矢量(\alpha) 是Biot有效应力系数(p) 为裂隙系统压力(K) 是体积模量(\alpha_T) 是热膨胀系数。等号右边第一项是孔隙压力变化引起的体积力变化。排采引起孔压下降时作用在煤骨架上的有效应力增加宏观表现为储层压缩。第二项代表温度变化引起的热应力这对注热工艺尤其重要局部加热会造成膨胀应变约束条件下产生压应力。这里特别注意Biot系数 (\alpha) 的取值。常规处理里很多人习惯取1但煤的颗粒压缩性不可忽略实验测得数值通常在0.5到0.9之间。我测过一批沁水盆地南部样品普遍在0.75左右如果直接取1会导致孔隙压力下降引起的变形被高估误差不是线性的会直接影响渗透率预测结果。2.2 渗流流场气水两相与煤基质扩散渗流流场可以分两个系统来看基质系统和裂隙系统。基质渗透率极低甲烷的运移以解吸和扩散为主裂隙是主要的渗流通道气压梯度驱动气体和水流经裂隙进入井筒。裂隙系统压力满足[ \frac{\partial}{\partial t}(\phi_f \rho_g) abla \cdot (\rho_g v_g) q_m - q_{well} ]考虑水相时还要引入饱和度方程和毛管压力关系在实际模型中可以用扩展的达西定律描述气水两相渗流。基质系统的角色则通过质量交换项 (q_m) 来体现即基质中解吸的气体向裂隙扩散的速率。传统双重孔隙模型里基质向裂隙的扩散和基质表面的解吸是控制煤层气早期产量的瓶颈。对低渗煤储层来说压降传递速度慢基质内气体扩散路径长很容易出现“解吸滞后”或者“渗流瓶颈”的现象这不是一个简单的扩散系数就能描述的还需要结合煤粒尺寸和扩散路径建立适当形状因子。基质系统内部还有一个吸附/解吸过程通常用Langmuir等温吸附描述[ V V_L \frac{p}{p P_L} ]一旦孔隙压力下降基质内吸附的甲烷逐渐解吸这个过程伴随着煤基质的体积收缩。基质收缩量可以用吸附膨胀应变与吸附量之间的关系换算很多文献采用线性或Langmuir型拟合。2.3 温度场传热方程与热源项煤储层温度场的控制方程为[ (\rho c_p){eff} \frac{\partial T}{\partial t} abla \cdot (-k{eff} abla T) (\rho c_p)f v \cdot abla T Q_h q{ads,T} ]其中 ((\rho c_p){eff}) 是煤-流体的等效体积热容(k{eff}) 是等效导热系数第二项是热传导第三项是流体流动引起的热对流。右侧的吸附热会有一定影响气体解吸是吸热反应甲烷大量解吸时会造成储层局部温度降低据文献报道和现场DTS监测数据强排采阶段井周温度下降几摄氏度是常见的。虽然幅值不大如果要做温度敏感分析这个源项不建议忽略。对于注热开采工艺边界上要给定注入温度对流换热条件同时要处理好井筒周围快速升温导致的局部热应力集中。国内做热采数值模拟时前期经常出现升温阶段孔隙压力上升过快、煤体出现拉伸破坏实际上这与注热速率过高、孔隙热水来不及排出有关模型里如果只加温度场而忽略流固耦合会得到偏乐观的结果。2.4 三场之间的交叉耦合项渗透率演化方程流固耦合建模中最关键的是渗透率动态模型。宏观上渗透率受三方面影响有效应力改变导致的裂隙闭合或张开、基质收缩导致裂隙宽度增加、温度引起的煤基质膨胀或收缩改变裂缝通道宽度。现场数据校验中渗透率与有效应力更典型的关系是指数型负指数模型是最常用的一种形式[ k k_0 e^{-c_f(\sigma_{eff} - \sigma_{eff,0}) \varepsilon_s \text{相关性项}} ]许多工程模型在计算孔弹性引起的渗透率变化时会把公式改写为裂隙宽度比的形式通常如下公式里面的 (\Delta b) 同时包含力学压缩和基质收缩项[ \frac{k}{k_0} (1 \frac{\Delta b}{b_0})^3 ]煤岩的力学试验显示裂隙开度、裂隙刚度和煤层气解吸应变之间存在复杂关系。裂隙刚度不是常数加载和卸载路径上的刚度差异很大因此严格意义上需要建立塑性力学模型在卸载阶段使用与加载阶段不同的模量。这个问题被大多数人忽略了而实际排采时煤储层的应力路径就是典型的先加载——有效应力增加——渗透率下降的过程后期又叠加基质收缩造成的“卸载”效应。我在自己做的参数反向拟合中发现如果只用一个固定裂隙刚度模量模拟后期渗透率反弹的时间和幅值明显偏低。采用分段函数加载段刚度高、基质收缩段模量低之后拟合效果大幅改善。所以实践中可以根据排采阶段把渗透率演化模型切分避免过于理想化的单段指数式。3. 模型参数选取与定标技巧3.1 煤岩力学参数不是翻报告抄一个数那么简单三场耦合模型的固体模块需要输入弹性模量、泊松比、抗压抗拉强度、内聚力、内摩擦角、Biot系数、热膨胀系数等。很多人在这个环节非常随意直接从地质报告里抄一个弹性模量就开始跑模型这是最容易翻车的地方。煤是一种横观各向同性材料层面方向和垂直层面方向的力学参数相差很大。我测试过鄂尔多斯盆地东缘的样品垂直层理方向的弹性模量有时只有平行层理方向的一半。模拟井筒周围应力场时如果忽略这种各向异性井眼稳定性判断就会出现方向性错误。煤的力学参数还受围压影响浅部煤体围压低、变形模量较小往深部围压提高后裂隙闭合宏观变形模量显著增大。在做原位条件下的模拟时不能直接用实验室单轴压缩数据最好参考三轴试验不同围压下的模量-围压关系插值使用。热膨胀系数的测定更为敏感煤基质膨胀实验和煤块体膨胀实验测出的数值差别很大前者是基质尺度效应后者是含裂隙尺度的综合表现。耦合模型中需要的是基质膨胀系数因为裂隙闭合变形已经体现在力学方程的有效应力项里了如果用煤块体的膨胀系数会重复计算对预测结果影响显著。3.2 渗透率动态模型怎么选三场耦合里最关键的方程就是渗透率随孔隙压力、应力和温度变化的演化关系。现在学术界有好多模型比如经典的Palmer-Mansoori模型、Shi-Durucan模型、Cui-Bustin模型以及国内学者针对高煤阶和中低煤阶提出的不同修正形式。实际工程建议不要太纠结于学理上的优劣而是考虑你的模拟软件能方便耦合哪种形式以及最关键的一点你手里有哪些数据可以做标定。如果你的实验室可以测定不同有效应力条件下的渗透率和基质收缩应变建议直接用带完整参数形式的指数-应变耦合模型如果只有现场试井解释的几个渗透率点那就选最简洁的负指数模型参数太少反而容易拟合出病态结果。需要重点注意的一点吸附膨胀应变与压力之间的关系要尽量用Langmuir形式拟合实测数据同一块煤对CO2、CH4、N2的吸附膨胀特性差异很大。以CO2为例煤对CO2的吸附能力大约是CH4的2到3倍造成的基质膨胀也大得多如果注CO2增采或封存项目涉及这个不能简单套用CH4的参数。3.3 初始地应力场与边界条件的处理技巧数值模型里初始条件设置的效果直接影响开挖或者开采阶段的计算稳定性。煤层埋深几百到上千米原始地应力场主要由上覆岩层自重和构造应力共同作用。水平应力大小可以通过侧压系数来定义工程上正常沉积条件下侧压系数约为 (\frac{\nu}{1-\nu}) 的量级但构造活跃区的水平应力可能远超这个值甚至出现水平主应力大于垂直主应力的逆断层应力状态。做拟合时一定先对比钻井漏失试验或压裂瞬时停泵压力数据反推最小水平主应力再用于模型初始化。孔隙压力字段也不建议设成统一常数。很多模型为了省事直接整层赋一个初始压力这对厚度不大的近水平煤层还算可接受但遇到含气量梯度明显的构造煤分层时初始孔压差异会造成产气贡献判断错误。边界条件的取法要尤其小心。有限元模型外边界如果直接固定位移抽采引起的储层压缩会被人为约束住导致额外虚拟应力积累。更合理的做法是在模型外边界采用力边界条件施加初始地应力或者设置足够大的过渡区范围保证远边界不受井周扰动影响。3.4 温度参数与地温梯度的处理如果模拟的是常规煤层气排采温度变化不大很多人直接把温度场模块关掉并把温度相关耦合项设为零这个偷懒有合理性。但一旦涉及原位注热增产或者地下煤气化温度场就成了主角。先要确定储层的初始温度场。一般的做法是按地表温度加地温梯度来推算工程上地温梯度常用2.5到3.5℃每百米。煤储层不同深度之间温度差异对煤层气吸附量影响很大深煤层原位温度可达40到50℃比实验室等温吸附测试温度高不少如果不做温度校正吸附气含量计算会偏高。煤体传热参数的实测数据比较分散导热系数大多在0.2到0.4 W/(m·K)之间和煤阶、水分、裂隙充填物关系很大。模拟注热增产时一定要把储层非均质性考虑进去以免对热前缘推进速度估计过于乐观。注意热流固耦合中温度场的时间尺度与孔压渗流明显不同。热扩散速率比压力扩散慢得多尤其在干燥煤中因此模拟注热时建议对温度场使用隐式时间积分避免时间步过小造成计算压力完全覆盖温度演化特征。否则你看到的热影响半径偏小不是物理问题而是数值时间步不匹配造成的假象。4. 数值实现COMSOL与ABAQUS的实战对比4.1 用哪个平台取决于你的问题尺度和耦合深度COMSOL Multiphysics在煤储层多物理场耦合中处于最常用位置优势是偏微分方程模块化内置固体力学、达西渗流、多孔介质传热模块可以在定义模块里直接写入自定义偏微分方程处理煤层气解吸、非达西流动、渗透率动态演化等关系。裂隙-基质物质交换项可以通过“弱形式”或“系数型偏微分方程”接口实现编写直观性比其他软件好得多。ABAQUS擅长强非线性固体力学问题自定义材料本构如塑性损伤、蠕变方面比COMSOL强大。做水力压裂过程模拟、支撑剂嵌入、剪切破坏分析时ABAQUS精度和稳定性更高但多孔流动部分相对简单传统孔压单元与专业气藏模拟软件之间的便捷性差距明显。三场耦合的完整实现需要编写用户定义场和用户定义材料子程序把渗透率随应力、应变和温度的更新写进迭代循环里技术门槛比较高。个人建议如果研究重点是储层尺度的长期排采动态、井组布署优化和排采制度评估选择COMSOL性价比最高。如果研究重点偏向单井水力裂缝扩展、裂隙剪切滑移导致渗透性增加等强不连续问题直接选ABAQUS定制开发更得心应手。两张皮搭配使用是很多研究组采用的策略大尺度用COMSOL局部机理用ABAQUS。4.2 COMSOL三场耦合建模的标准流程以下是我自己整理的建模步骤基本可以套用到绝大多数煤储层三场耦合问题。第一步是明确模拟的几何维度单井历史拟合一般采用二维轴对称模型就够了计算量小收敛性好只有研究井组井间干扰或复杂裂缝形态时才需要建立三维全井模型。第二步是定义全局参数。包括初始储层压力、温度、地应力、渗透率初始值、Langmuir吸附参数、Biot系数、裂隙刚度、热膨胀系数、吸附膨胀应变参数等。这一步的关键是保证所有单位制统一COMSOL默认按国际单位制处理原始参数从实验室报告里抄出来时经常遇到毫达西、毫米、兆帕混用的情况建议提前建立一个参数表并写好单位换算公式。第三步是建立几何模型和网格。早期我做的时候网格要么过密导致内存溢出要么过疏导致压力梯度失真。后来经验是井筒附近网格尺寸控制在0.1到0.5米以内向外逐渐几何放大到几米甚至几十米生成非结构化网格并在压降漏斗影响范围内设置边界层网格提高精度。模拟注热阶段的时间步长也需要关注压力传播初期建议以秒量级推进之后随着压力场稳定逐渐增大时间步最高不超一天。如果为了快速出结果而设置大时间步长容易出现温度前缘过冷或孔压振荡后续拟合阶段会花更多时间处理。第四步是绑定物理场固体力学模块输入密度、弹性矩阵、热膨胀系数边界上加载应力边界条件并固定模型底部达西渗流模块设定初始压力与井底流压边界条件把渗透率改为动态表达式并依赖从全局变量里读取的当前应力和解吸应变传热模块设定初始温度和换热边界条件在“多物理场”节点里分别启用“固体力学-达西渗流”耦合和“固体力学-传热”耦合使孔压和温度变化影响应力场。最后设置求解器。三场耦合属于多物理场强耦合问题建议采用全耦合方式配合瞬态求解器。时间步长范围建议从0.01天到0.5天开启自适应时间步长。若全耦合收敛困难或长时间迭代不收敛可退化为“分离式求解”方案每个时间步内先求解压力扩散、再求解变形场、再更新渗透率循环迭代。后者稳定性更好代价是增大概率违反质量守恒的累计误差长时间模拟时要仔细检查物质平衡。4.3 渗透率动态更新的实现窍门在COMSOL中实现渗透率动态演化我选择两种方式第一种是利用全局常微分方程/微分代数方程模块定义更新变量并主动赋值给达西渗流模块中的渗透率表达式。第二种是在每一时间步结束后通过事件接口修改渗透率场空间分布等下一个时间步再读取。后一种做法有明显滞后性但对有些复杂断崖式变化情况反而更稳。实际写表达式时渗透率一般写成初始渗透率乘以有效应力修正项和基质收缩修正项的乘积[ k k_0 f(\sigma_{eff}) g(\varepsilon_s) ]其中[ f(\sigma_{eff}) e^{-c_f(\sigma_{eff}-\sigma_0)} ]基质收缩部分要基于当前孔压和极限收缩应变来计算。在COMSOL里通过变量定义引用 (p)把历史最大孔压记录在状态变量中很多模型默认把膨胀量算成当前压力对应值但解吸膨胀不是完全可逆的卸压后基质膨胀并不能完全恢复到初始状态。这里有吸附滞后效应的痕迹对长期排采中后期渗透率影响需要记录最大解吸量来修正。4.4 单位统一是数值模型最容易栽的坑写过耦合模型的人都有体会报错的一大半原因都出在单位上。COMSOL虽然为了方便工程计算提供一些单位选项但自定义的本构方程、扩散表达式、吸附属性和自定义偏微分方程接口完全不管你的单位只认理想数值运算。所以我强烈建议在你的模型启动之前先在笔记里写清楚自己的三个基准单位长度用米时间用秒质量用千克。渗透率基础单位是平方米实验室里常用的毫达西需要乘以9.869233e-16才能换算吸附量如果用的是立方每吨要结合煤密度换算成千克每立方米孔隙压力单位建议统一用帕斯卡或兆帕但耦合进方程时注意幂次。温度则有另一种麻烦如果直接采用摄氏温度定义温度相关参数而传热模块的变量全部用的是开尔文相差273.15度吸附平衡计算会产生不可忽视的误差。这个问题排查起来极具迷惑性看上去数值都能运行但产气量偏高或偏低都找不到原因。5. 模型标定、验证与参数反演5.1 从单井排采数据反演关键参数无论数学模型搭建得多完善参数定不准基本等于白算。三场耦合模型涉及参数多达数十个不是所有参数都值得用历史拟合精确反演。实际处理中我会把参数分为三类直接测试参数、经验类比参数、模糊待定参数。直接测试参数如弹性模量、泊松比、初始孔隙度、Langmuir压力等通过岩心实验直接测得不确定性很小直接赋值经验类比参数如裂隙刚度、热膨胀系数等在研究区没有系统测试时可借用相似煤级矿区已有文献值作为基准值模糊待定参数是历史拟合的核心对象比如裂隙渗透率应力敏感系数、基质收缩应变极限等。选择参与反演的参数不能太多原则是宁缺毋滥。如果同时反演五个以上参数且缺乏约束条件结果往往陷入局部最优解。我是建议先用局部敏感性分析把对气水产量影响权重高的三四个参数挑出来再采用蒙特卡洛法或粒子群算法以实测日产气量和井底流压为目标进行反演。我自己喜欢把实测数据分为拟合段和验证段例如前六个月数据反演参数后面十二个月数据验证模型预测能力。否则单纯追求拟合段误差最小化容易过拟合而失去预测能力。5.2 历史拟合的评价指标不只是“曲线重合”比较模拟值和实测产出数据时常犯的错误是对着日产气曲线断言“模拟得不错”。实际上日产气曲线是平滑时间序列全局平移或峰谷滞后用肉眼难以分辨。我通常用五个定量指标辅助判断平均相对误差、均方根误差、累计产气总量相对误差、峰值流量出现时间误差和压降漏斗到达时间误差。其中累计产气总量误差是工程上最重要的硬指标如果累计气量误差超过10%一般不建议把模型用于后续预测。而峰谷到达时间误差则能有效诊断渗透率反馈是否设置得过强或过弱时间差较大说明基质收缩的启动时机与实际解吸释放不匹配需要调整Langmuir吸附体积应变曲线。试井数据的约束更为直接压降试井和恢复试井能解释出不同生产阶段的储层渗透率和表皮系数可以把不同时间点的试井解释渗透率与模拟渗透率拉出来做单点对比会比产气曲线更敏感地暴露渗透率演化趋势的偏差。5.3 温度数据在三场耦合标定里的作用被严重低估常规排采井组如果布置了光纤测温或定期井温测试孔隙压力变化导致的气体解吸吸热会引起小幅温度下降。这个数据看起来用处不大但对模型标定极有价值。因为温度变化同时受热容、热导率、气体流动速度和吸附热的控制等于提供了一个独立于压力和产量的额外约束。我在一口注热预试验井中做过这样的操作用温度下降速率来约束解吸速率得到了空隙隙形状因子和基质扩散系数的组合约束解决了单靠产量拟合时扩散参数不确定度太大的问题。6. 常见报错与调试心得6.1 不收敛先别怀疑物理先查网格和时间步跑瞬态三场耦合模型最常见的问题就是求解器在某个时间步报“找不到解”或“迭代次数达到最大”。新手通常第一反应是方程写错了其实一半以上情况是网格质量低或时间步设置雷。压力改变初期井筒附近压力梯度极陡如果井壁处网格尺寸超过0.5米很容易在几个时间步内出现孔压超调。处理方式是在井筒附近区域增加边界层网格第一层厚度降到厘米级别并让最大单步孔隙压力下降量控制在初始压力的百分之十以内求解器迭代会顺利很多。如果排除了网格和时间步问题还频繁报错就要考虑边界条件是不是给了阶跃变化。比如直接将井底流压从初始8兆帕瞬间降到0.1兆帕任何算法都会在井壁周围形成超压应力集中。工程上并不存在这样的突变所以模拟也要提供压力降落制度约束初始阶段给一个渐变形式的压力边界条件或流量边界条件让系统平稳响应。6.2 渗透率为负值或孔隙压力出现异常振荡渗透率动态更新表达式如果用除法形式且分母里有某个场变量初始化阶段目标变量为零或极小时就会导致分母爆炸。例如我最早用 (\left(1-\frac{\varepsilon_s}{\varepsilon_{s,max}}\right)) 的倒数形式写基质收缩因子时储层浅部初始吸附量接近零值时直接造成渗透率无穷大。排查这种问题时建议打开渗透率空间分布图逐帧观察异常区域配合全局变量探针监测最小值和最大值。如果看到渗透率在某个局部区域出现锯齿状振荡方向基本可以锁定为时间步长过大或迭代容差设置过松。初始孔隙压力赋值不一致也会造成这种问题。某些层段初始压力赋得比周围低模拟一开始就出现不正常的局部渗流造成一个局部区域的孔压异常下降。这时整个压力场分布都失真了后续一切指标都不可信。我的调试顺序是先单独跑稳态流场检验初始条件是否平衡再启用全部耦合项瞬态求解。6.3 温度场推进过慢或过快注热模拟经常遇到两种矛盾现象热前缘传播比理论估算明显慢很多或温度急剧扩散全层变热。前者的常见原因是忽略了热对流项只保留热传导但实际注入流体携带大量热量以对流形式推进热前缘速度主要受流体流速控制不能只靠导热系数一条腿走路。后者的问题大多出在等效容积热容参数设置上。煤和水的热容差异很大水比热容约为煤的4倍如果忽略含水饱和度影响把一个低热容值赋予全层含水量高的部位会出现温度传播过快。更稳妥的做法是用体积加权方式计算等效热容考虑含水率空间分布的非均质性。模拟注热增产还需要特别关注一个隐蔽的负反馈循环注入热水提升温度促进解吸并扩大孔压有效应力下降会导致裂隙渗透率回升同时温度升高导致基质热膨胀挤压裂隙又降低渗透率。最后如果模型不稳定地在这两种状态间来回跳跃不要奇怪说明渗透率对温度敏感系数设得太高或热膨胀系数选取偏大导致数值模型步长无法稳定穿越该复杂反馈循环。6.4 实用调参建议和快速自查清单模型计算失败时逐项检查太费时间建议形成自己的固定排查流程。我自己每次新建模型跑完前几个时间步都会强制检查以下方面可以大幅度降低后期调试时间第一确认初始地应力场与孔压场耦合后没有产生初始位移场非零现象。如果模型一开始平衡迭代就产生显著位移说明初始应力设置或者边界约束和重力设置不配套需要先做地应力平衡步骤。第二检查渗透率场的初始空间分布是否与实测方向一致。很多模型初始化渗透率设定错误造成横向极大差异给后期历史拟合埋下致命隐患而产量曲线起初看不太出来等拟合深入时才发现基础分布起点歪了。第三确认井筒处理方式是否符合矿场实际。实际煤层气井有井筒储集效应和表皮效应瞬态早期产量和压力响应受此控制。在三场耦合大模型中直接设定一个理想裸眼井筒点源会造成早期阶段模拟结果严重偏离实测建议添加一个额外的井筒储集系数或表医因子来修正。第四若一次产水量和产气量计算的趋势正确但绝对值偏差达到一个量级切忌只调整渗透率乘数来凑曲线达到表层拟合要先检查相对渗透率曲线端点值是否合理。气水两相相对渗透率曲线对产量比例的控制力比绝对渗透率强得多这部分误差经常被忽视。7. 从实验室到矿场我对三场耦合模型的几点真实体会三场耦合数值模型做到最后考验的往往不是数学推导能力而是对煤储层物理过程的直观理解和对现场数据的敏感度。同一个矿区岩心测试参数可能接近但不同煤体结构、不同解吸特性、不同地应力状态会让模型参数的最优值相差很远。我先提个建议做排采历史拟合之前先花时间把该井的排采阶段划分清楚。煤层气排采按典型规律往往分为排水降压阶段、单相流阶段和气水两相流阶段不同阶段的控制机理完全不同。排水降压早期主要是水相流动占主导孔压变化主要控制有效应力气水两相流阶段解吸显著加剧基质收缩效应开始明显发挥作用。如果从第一个时间步就启用全耦合方程很多中间过程数值误差会像滚雪球一样放大到后面反而不如分阶段逐步启动耦合项来得稳定。关于热流固三场耦合在工程中的应用前景我这里再补充一个非常落地的方向煤与瓦斯突出预测。突出本质上是含瓦斯煤体在地应力、瓦斯压力和煤体力学性质共同作用下失稳的动态过程热效应虽然在突出瞬间贡献可能不大但长期构造复杂区地温异常区域的突出危险性评估则不得不考虑温度对吸附和解吸动力学的加速影响。目前把三场耦合模型用于突出预测还处于半定量阶段主要是因为突出前煤体损伤演化的强非线性和灾变时间尺度的跨越太大常规有限元方法很难精确捕捉。我自己的处理经验是这类问题不追求预言突出发生的具体时刻而是用三场耦合模型计算不同区域的危险系数演化趋势将应力集中指标、瓦斯压力梯度指标和渗透率突变指标加权组合成综合预警指数再结合微震监测和电磁辐射数据做多参量交叉验证。技术工具始终是辅助决策的。三场耦合把煤储层内部那些看不见、测不全的物理过程数字化了方便我们做方案对比和风险评估但最终矿场采气效果依然要求你踏踏实实分析数据、修正模型、敬畏地下条件的复杂性。
返回列表