基于COMSOL的瓦斯抽采双重介质模型研究

📅 发布时间:2026/7/17 14:18:31 👁️ 浏览次数:
基于COMSOL的瓦斯抽采双重介质模型研究
comsol瓦斯抽采-双重介质模型地下矿井的瓦斯抽采是个技术活尤其是遇到煤岩双重介质的情况。前几天在COMSOL里折腾了个双重孔隙模型今天把关键代码和踩坑经验整理出来。所谓双重介质说白了就是瓦斯既存在煤基质微孔里又沿着裂隙网络流动这俩系统还得互相交换物质。先搞个简单几何模型用矩形域代表抽采区域中间画几条交叉线段模拟天然裂隙。重点在于物理场的设置得同时建立两个PDE接口——分别对应基质和裂隙的压力场。这里用系数型偏微分方程最灵活% 裂隙系统方程设置 model.physics(pde1).feature(cfeq1).set(da, epsilon_f); model.physics(pde1).feature(cfeq1).set(beta, 1/eta_f); model.physics(pde1).feature(cfeq1).set(gamma, -K_f*grad(p_f)); % 基质系统方程设置 model.physics(pde2).feature(cfeq2).set(da, epsilon_m); model.physics(pde2).feature(cfeq2).set(f, -alpha*(p_m - p_f));这段代码里的epsilon代表弹性储容系数eta是黏滞系数K是渗透率。注意裂隙方程比基质多了个gamma项这是裂隙系统需要考虑达西渗流的关键。那个alpha参数控制着基质向裂隙的窜流速度实测时需要根据煤样实验数据标定。comsol瓦斯抽采-双重介质模型耦合项的处理最考验人。两个压力场之间得通过质量交换项连接这里用延迟评估函数最保险。在裂隙系统的源项里加入model.physics(pde1).feature(cfeq1).set(f, alpha*(p_m - p_f) q_well);q_well代表抽采钻孔的汇项用点源函数表示。这时候要注意单位一致性特别是当几何模型尺度相差较大时容易出量纲混乱的bug。求解器设置有个小技巧先稳态求解初始压力分布再转瞬态模拟抽采过程。初始条件别直接用常数建议% 裂隙初始压力考虑重力影响 p_f_init p0 - rho*g*y; % 基质初始压力滞后于裂隙 p_m_init p_f_init * 0.98;跑完仿真后在裂隙末端位置的压力曲线应该会出现明显双下降段——先是裂隙快速泄压接着基质缓慢补给。用派生值功能提取流量时记得把裂隙和基质的流量矢量叠加Q_total integrate( (K_f*grad(p_f) K_m*grad(p_m)) , Surface );遇到过最坑的问题是网格划分不当导致质量不守恒。后来在裂隙附近加了边界层网格基质区域改用自由四面体总算把质量误差控制在5%以内。后处理时用切片图同时显示两个压力场能直观看到裂隙像血管一样把基质里的瓦斯抽出来。最后说个实测验证方法在距钻孔不同距离布置虚拟压力传感器对比现场实测数据。调整窜流系数alpha时远场压力恢复曲线的形态变化最敏感这个参数调准了模型就成功大半。