1. 双孔单渗透瓦斯抽采模型概述
在煤矿瓦斯抽采工程中,双孔单渗透模型是研究煤层气运移规律的重要工具。这种模型能够同时考虑煤层基质和裂隙系统中的瓦斯流动特性,以及地应力场对渗透率的影响。通过COMSOL Multiphysics软件平台,我们可以建立完整的耦合模型,模拟实际抽采过程中的复杂物理现象。
瓦斯在煤层中的赋存状态主要分为两种:吸附态(约占80-90%)和游离态(约占10-20%)。吸附态瓦斯主要存在于煤基质微孔隙中,而游离态瓦斯则主要赋存于裂隙系统中。这种双重介质特性决定了瓦斯抽采过程中存在两个相互作用的流动场:
- 基质系统中的扩散流动:遵循Fick定律,流速较慢
- 裂隙系统中的渗流流动:遵循Darcy定律,流速较快
2. 模型建立与参数设置
2.1 几何建模要点
对于双孔抽采模型,推荐采用二维轴对称几何模型,这既能保证计算精度,又能显著减少计算量。几何建模时需要注意以下几个关键点:
- 钻孔布置:两个抽采孔的间距直接影响流场分布。根据现场经验,孔间距一般控制在2-5米范围内。间距过小会导致资源浪费,过大则可能形成抽采盲区。
matlab复制model.geom.create("geom1", 2);
model.geom("geom1").feature().create("c1", "Circle");
model.geom("geom1").feature("c1").set("r", 0.1); // 钻孔半径10cm
model.geom("geom1").feature().create("c2", "Circle");
model.geom("geom1").feature("c2").set("pos", [2, 0]); // 孔间距2m
- 计算域尺寸:模型边界应足够大以避免边界效应,通常取钻孔间距的3-5倍。边界条件设置为恒定压力边界,模拟无限大煤层环境。
2.2 材料参数确定
煤层参数设置是模型准确性的关键。主要参数包括:
matlab复制k_m = 1e-18; // 基质渗透率(m²)
k_f = 5e-16; // 裂隙渗透率
sigma_h = 8e6; // 水平地应力(Pa)
E = 2e9; // 煤体弹性模量
渗透率取值依据:
- 基质渗透率:1×10⁻¹⁸~1×10⁻¹⁷ m²
- 裂隙渗透率:1×10⁻¹⁶~1×10⁻¹⁵ m²
弹性模量E值需特别注意:
- 褐煤:0.5~2 GPa
- 烟煤:2~5 GPa
- 无烟煤:5~10 GPa
重要提示:这些参数必须通过实验室测试或现场实测确定,直接使用文献值可能导致较大误差。
3. 多物理场耦合实现
3.1 流体流动场设置
在COMSOL中需要设置两个独立的流动场:
- 裂隙流动场(Darcy流):
matlab复制physics.create("fis", "PorousMediaFlow", "geom1");
physics("fis").feature().create("fis1", "DarcyVelocity");
physics("fis").feature("fis1").set("k", "k_f*(1+epsilon)");
- 基质扩散场:
matlab复制physics.create("mat", "Transport", "geom1");
physics("mat").feature().create("mat1", "ConvectionDiffusion");
physics("mat").feature("mat1").set("D", "k_m*mu");
两个场之间的耦合通过质量交换项实现,交换系数与裂隙密度和基质块尺寸相关。
3.2 应力场耦合
应力场对渗透率的影响通过应变因子ε体现:
matlab复制physics("fis").feature("fis1").set("k", "k_f*(1+epsilon)");
这种耦合方式考虑了以下机理:
- 有效应力增加→裂隙闭合→渗透率降低
- 瓦斯压力增加→有效应力减小→渗透率增加
- 煤基质收缩/膨胀效应
4. 求解器配置与计算技巧
4.1 时间步长设置
瓦斯抽采是典型的非稳态过程,时间步长设置至关重要:
matlab复制study.step1.set("tunit", 'day');
study.step1.set("tlist", [0, 1, 5, 30]);
推荐采用变步长策略:
- 初期(0-5天):步长0.1-1天
- 中期(5-30天):步长1-5天
- 后期(30天后):步长5-10天
4.2 求解器选择
对于这种强非线性问题,推荐使用直接求解器:
matlab复制solver.create("sol1", "Direct");
solver("sol1").feature().create("st1", "Stationary");
solver("sol1").feature("st1").set("linsolver", "pardiso");
直接求解器(如PARDISO)的优势:
- 对病态矩阵鲁棒性强
- 内存需求适中
- 计算稳定性好
5. 结果分析与工程应用
5.1 典型结果解读
模拟结果通常包括:
- 瓦斯压力分布云图
- 渗透率变化曲线
- 应力重分布特征
- 抽采流量随时间变化
关键发现:双孔中间区域容易出现应力集中,形成低渗透率带,这正是现场常见的抽采盲区。
5.2 工程优化建议
根据模拟结果可提出以下优化措施:
- 钻孔间距优化:一般取2-3倍钻孔影响半径
- 抽采负压优化:存在最佳值,过高会导致裂隙闭合
- 卸压措施:水力压裂或深孔爆破可改善中间区域渗透性
6. 常见问题与解决方案
6.1 模型不收敛问题
可能原因及解决方法:
- 初始条件不合理→调整初始压力场
- 材料参数不匹配→检查单位制和参数量级
- 网格质量差→加密裂隙附近网格
6.2 结果异常排查
常见异常现象:
- 压力场出现振荡→检查时间步长和求解器设置
- 渗透率变化过大→核实应力-渗透率耦合公式
- 流量计算结果异常→检查边界条件设置
7. 高级技巧与扩展应用
7.1 移动网格技术
对于大变形问题,可采用移动网格(ALE)方法:
matlab复制physics.create("ale", "ALE", "geom1");
设置要点:
- 定义适当的网格平滑方法
- 设置合理的网格重构阈值
- 监控网格质量变化
7.2 多场耦合扩展
模型可进一步扩展为:
- 热-流-固三场耦合(考虑温度影响)
- 煤与瓦斯突出模拟
- 注气驱替煤层气模拟
在实际应用中,我发现模型的准确性高度依赖于输入参数的可靠性。建议在建模前进行充分的实验室测试和现场测量,特别是渗透率和力学参数的确定。同时,计算结果需要与现场监测数据进行对比验证,不断调整模型参数以提高预测精度。