1. 煤层注气热力流耦合的背景与意义
煤层气作为一种重要的非常规天然气资源,其高效开采一直是能源领域的研究热点。传统开采方式主要依靠降压法,但这种方法存在采收率低、周期长等问题。近年来,注气驱替技术(如CO₂注入)因其能够显著提高甲烷采收率而备受关注。
热-流-固(THM)耦合分析之所以关键,是因为煤层注气过程涉及三个核心物理场的相互作用:
- 温度场变化影响气体吸附/解吸平衡
- 流体流动改变孔隙压力分布
- 固体变形导致渗透率动态变化
COMSOL作为一款强大的多物理场仿真软件,其优势在于:
- 内置PDE模块可灵活定义耦合方程
- 提供专业的材料库和求解器配置
- 支持从微观孔隙到宏观尺度的多尺度建模
- 可视化后处理功能强大
2. THM耦合模型的数学基础
2.1 热传导方程
煤层中的热量传递遵循能量守恒定律,其控制方程为:
ρC_p ∂T/∂t + ∇·(-k∇T) = Q其中:
- ρ:煤层密度(kg/m³)
- C_p:比热容(J/(kg·K))
- k:热导率(W/(m·K))
- Q:热源项(W/m³),包括:
- 气体吸附/解吸热
- 注入气体与煤层温差
- 摩擦生热等
在实际建模时,需要特别注意:
煤层各向异性会导致热导率k在不同方向取值不同,需使用张量形式定义
2.2 多相流控制方程
对于CO₂-CH₄双组分体系,采用扩展的达西定律:
v_i = -k_ri k/μ_i (∇P_i - ρ_i g)其中:
- v_i:i组分表观速度(m/s)
- k_ri:相对渗透率(无单位)
- μ_i:动力粘度(Pa·s)
- P_i:分压力(Pa)
关键耦合效应体现在:
- 温度变化影响气体粘度μ_i
- 孔隙压力改变固体应力状态
- 吸附/解吸过程改变有效孔隙度
2.3 固体变形方程
采用修正的线弹性本构关系:
σ = C:(ε - ε^p - ε^T - ε^a)其中:
- ε^p:孔隙压力引起的应变
- ε^T:热膨胀应变
- ε^a:吸附膨胀应变
渗透率演化模型采用立方定律:
k/k_0 = (φ/φ_0)^3φ为当前孔隙度,与体积应变直接相关。
3. COMSOL建模实操指南
3.1 模型搭建步骤
几何创建:
- 建议采用2D轴对称模型简化计算
- 典型尺寸:井筒半径0.1m,影响半径50m
- 使用"层"功能区分不同煤质区域
材料定义:
% 示例:煤岩参数定义 rho = 1400; % kg/m^3 E = 3.5e9; % Pa nu = 0.25; % 泊松比 k0 = 1e-15; % 初始渗透率(m^2) phi0 = 0.05; % 初始孔隙度物理场设置:
- 启用"多孔介质传热"模块
- 添加"达西定律"和"固体力学"接口
- 通过"多物理场"耦合器建立场间关联
边界条件:
- 注入井:设置CO₂质量流量
- 生产井:设置压力边界
- 外边界:零通量条件
3.2 关键建模技巧
非线性求解策略:
- 先稳态后瞬态的求解顺序
- 使用参数化扫描逐步增加注入速率
- 启用几何非线性选项
收敛性处理:
% 建议求解器配置 solver = model.solver.create('sol1'); solver.feature('st1').set('nlin', 'on'); solver.feature('v1').set('rtol', 1e-4);后处理技巧:
- 创建截面线图观察参数分布
- 使用派生值计算累计产气量
- 导出动画展示动态过程
4. 典型结果分析与工程启示
4.1 温度场演化特征
注入初期(0-30天):
- 井筒附近出现明显低温区
- 温度梯度可达20-30°C/m
- 热影响半径随时间线性扩展
稳定期(30天后):
- 形成准稳态温度分布
- 吸附热导致局部温度回升
- 热锋面移动速度约为0.5m/day
4.2 气体饱和度分布
CO₂驱替过程呈现典型的三区特征:
- 纯CO₂区(近井地带)
- 混合过渡区(甲烷含量30-70%)
- 原始煤层区(甲烷>90%)
关键发现:
- 注入压力提高10%,驱替效率增加8%
- 最佳注入温度约为40-50°C
- 各向异性导致指进现象明显
4.3 渗透率动态变化
应力敏感效应导致:
- 近井地带渗透率下降30-50%
- 远端区域因解吸膨胀渗透率提高
- 各向异性煤层的非均匀变化更显著
工程优化建议:
- 采用周期性注采策略缓解近井伤害
- 优化井网布置考虑主渗透方向
- 控制注入速率防止裂隙闭合
5. 常见问题排查与验证
5.1 典型报错处理
发散问题:
- 现象:求解中途报错"Failed to converge"
- 解决方案:
- 减小时间步长
- 增加阻尼系数
- 检查材料参数量纲
非物理振荡:
- 现象:结果出现剧烈波动
- 处理方法:
- 启用流形元(P2离散)
- 调整人工扩散系数
- 检查边界条件连续性
5.2 模型验证方法
解析解验证:
- 简化单场问题对比理论解
- 如Terzaghi固结问题验证流固耦合
实验数据对比:
- 实验室岩心驱替实验
- 现场压力恢复测试数据
网格敏感性分析:
% 网格收敛性测试脚本 mesh_sizes = [0.5, 0.2, 0.1, 0.05]; for h = mesh_sizes model.mesh('mesh1').feature('size').set('hmax', h); model.study('std1').run(); % 记录关键参数变化 end
5.3 计算效率优化
硬件配置建议:
- 内存≥64GB(百万网格量级)
- 使用SSD存储临时文件
- 启用多核并行计算
软件技巧:
- 使用集群求解器
- 激活矩阵对称性选项
- 合理设置缓存大小
在实际项目中,我们曾遇到一个典型案例:某矿区模拟结果与现场数据偏差达40%。经过排查发现是忽略了煤层的天然裂隙网络,通过添加离散裂隙模型(DFN)后,预测精度提高到85%以上。这个教训告诉我们,地质特征的准确表征往往比数学模型的精细度更重要。