1. 煤层气藏注CO₂开发的工程背景与挑战
煤层气作为一种非常规天然气资源,其开发过程与传统油气藏存在显著差异。煤层既是烃源岩又是储集层,气体主要以吸附态存在于煤基质微孔隙表面。这种特殊赋存状态决定了注气增产技术的必要性——通过注入CO₂置换吸附态CH₄,既能提高采收率又能实现碳封存。
但在实际工程中,注CO₂过程会引发复杂的多物理场耦合效应:
- 热场:CO₂吸附热效应导致局部温度变化(通常每摩尔CO₂吸附释放25-40kJ热量)
- 流场:煤基质收缩/膨胀改变渗透率(渗透率变化可达1-2个数量级)
- 应力场:有效应力变化引发煤体变形(体积应变通常在0.1%-1.5%范围)
这种THM(Thermo-Hydro-Mechanical)耦合问题用传统数值模拟工具难以准确刻画。以某山西沁水盆地项目为例,现场监测显示注气后近井地带温度波动达8-12℃,渗透率变化超过300%,导致产能预测偏差高达40%。这正是我们需要COMSOL这类多物理场仿真平台的根本原因。
关键认知:煤的吸附膨胀系数(α)与温度敏感系数(β)是控制三场耦合强度的关键参数,典型值为α=0.02-0.05MPa⁻¹,β=0.005-0.015K⁻¹
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. COMSOL多物理场建模的核心技术路线
2.1 模型架构设计
采用COMSOL的"多物理场→耦合接口→自定义PDE"三级建模策略:
-
基础物理场接口:
- 达西定律模块(单相/两相流)
- 固体力学模块(线弹性/弹塑性本构)
- 热传导模块(考虑热对流项)
-
耦合接口配置:
matlab复制% 吸附应变耦合项示例 epsilon_swell = alpha*(C_CO2 - C_CO2_initial); % 渗透率动态模型 k = k0*exp(gamma*(epsilon_vol - alpha*DeltaC + beta*DeltaT)); -
自定义PDE补充:
对于Langmuir吸附等特殊过程,需通过系数型PDE形式引入:code复制∂C/∂t = ∇·(D∇C) - ρ_coal*q_max*[b/(1+bP)^2]*(∂P/∂t)
2.2 关键参数获取与验证
建议采用阶梯式参数确定法:
- 实验室尺度:通过HPVA(高压体积吸附仪)获取Langmuir参数(某无烟煤典型值:VL=28.5m³/t, PL=2.1MPa)
- 岩心尺度:三轴渗透率实验测定应变-渗透率关系(如γ=3.5-5.2)
- 现场尺度:利用井底流压数据反演储层平均参数
实测数据与模拟结果的误差控制:吸附量误差<8%,压力传播误差<15%,温度场误差<3℃
3. 完整建模流程详解(以5-spot井网为例)
3.1 几何建模与网格划分
采用"先整体后局部"的建模策略:
- 创建300m×300m×15m的煤层区块
- 设置1口注气井+4口生产井的井筒结构
- 应用边界层网格技术:
- 近井区:0.1m最小单元尺寸
- 过渡区:0.5m单元尺寸
- 外围区:2m单元尺寸
matlab复制% 网格控制参数示例
mesh1 = createMesh('face',[0.1 0.5 2],'growthrate',1.2);
3.2 物理场设置要点
-
流动场:
- 非达西流考虑Forchheimer修正
- 相对渗透率采用Brooks-Corey模型
matlab复制
krg = (Sg - Sgr)^ng; krw = (Sw - Swr)^nw; -
固体力学场:
- 设置应变-渗透率动态耦合
- 考虑各向异性弹性模量(Eh/Ev=1.5-2.5)
-
温度场:
- 添加吸附热源项
- 设置岩层热传导边界
3.3 耦合项实现技巧
-
使用"变量"功能定义交叉耦合项:
matlab复制% 吸附应变变量 epsilon_ads = alpha*C_CO2/(1 + b*P); % 热膨胀应变 epsilon_thermal = beta*(T - T0); -
通过"弱贡献"功能处理非线性项:
matlab复制test(epsilon)*k*grad(u) % 非线性渗透率项
4. 典型模拟结果分析与工程解读
4.1 动态演化特征
某案例模拟显示:
- 注气前3个月:近井地带温度升高5-8℃(吸附放热主导)
- 6-12个月:温度场趋于稳定,出现明显热对流效应
- 渗透率变化呈现"先降后升"特征:
- 初期下降15%(基质膨胀)
- 后期回升30%(裂隙网络扩展)
4.2 关键指标对比
| 参数 | 单场模型 | 三场耦合模型 | 现场数据 |
|---|---|---|---|
| 累计产气量 | 2.8×10⁶m³ | 3.4×10⁶m³ | 3.2×10⁶m³ |
| 突破时间 | 58天 | 82天 | 76天 |
| 井底温度波动 | - | +7.5℃ | +6.8℃ |
4.3 参数敏感性分析
采用Morris筛选法识别关键参数:
- 吸附应变系数α:影响权重35%
- 温度敏感系数β:影响权重28%
- 渗透率应变系数γ:影响权重22%
5. 实战经验与常见问题排查
5.1 收敛性优化技巧
-
时间步长控制:
- 初始阶段:0.1天步长
- 稳定期:自动步长(最大5天)
matlab复制solver = createSolver('time','range',[0 3650],'initstep',0.1); -
非线性求解策略:
- 采用常数牛顿迭代法
- 设置阻尼因子0.7-0.9
- 启用自动误差控制
5.2 典型报错处理
-
矩阵奇异:
- 检查渗透率下限设置(建议>1e-20m²)
- 验证边界条件是否冲突
-
温度场发散:
- 添加热容下限(>500J/(kg·K))
- 检查热源项单位一致性
-
内存不足:
- 启用几何压缩存储
- 采用PARDISO直接求解器
5.3 模型验证建议
-
分阶段验证:
- 先验证单井压力传播
- 再验证温度场分布
- 最后验证产能曲线
-
使用解析解校验:
matlab复制% Theis公式压力验证 s = Q/(4*pi*T)*expint(r^2*S/(4*T*t));
我在山西某项目中发现,当注入压力超过临界值(约12MPa)时,模拟会出现非物理的渗透率突增。后来通过引入损伤力学模型改进本构关系,将预测准确度提高了22%。这提醒我们:对于高强度注气工况,需要考虑煤体的塑性损伤效应。
