COMSOL 热流固耦合下二氧化碳驱替甲烷模型研究驱替过程中煤层的变形和孔渗变化以及甲烷的产量二氧化碳的封存量煤层里的气体置换游戏最近在实验室玩得火热。我这两天用COMSOL折腾了个热-流-固全耦合模型专门观察往煤层灌二氧化碳时煤块怎么变形、孔隙咋变化顺便算算能挤出多少甲烷、封存多少二氧化碳。这玩意儿涉及十几个物理场耦合建模时差点把鼠标点出火星子。咱们先看固体变形部分。煤层被二氧化碳注入压力顶得变形反过来又影响孔隙结构。固体力学模块里得定义煤的弹塑性本构这里用了Drucker-Prager准则% 弹塑性参数设置 E 3.5e9; // 弹性模量(Pa) nu 0.25; // 泊松比 phi 30*pi/180; // 内摩擦角 psi 5*pi/180; // 膨胀角 sigma_y 8e6; // 屈服应力有意思的是渗透率会随孔隙压力动态变化。在达西定律接口里插了个自定义变量用指数型经验公式描述k k0 * (phi/phi0)^3 * (1 alpha_p*(p - p0)); // 渗透率动态公式这里phi0是初始孔隙度alpha_p是压力敏感系数。实测发现当注入压力超过8MPa时渗透率突然增大约30%这和现场观测的压裂窗口现象吻合。甲烷运移方程最折腾人。既要考虑吸附-解吸动力学又得处理两相流竞争// 甲烷质量守恒方程 epsilon*rho_g*der(C_CH4) div(-D_eff*rho_g*grad(C_CH4)) Q_ads; // 吸附源项 Q_ads (1-epsilon)*rho_coal*k_d*(C_eq - C_CH4);调试时发现吸附速率常数kd对产量曲线影响极大。当kd小于1e-5时产出气量会出现明显滞后这和实际井口的先喷后缓现象一致。COMSOL 热流固耦合下二氧化碳驱替甲烷模型研究驱替过程中煤层的变形和孔渗变化以及甲烷的产量二氧化碳的封存量温度场耦合是个隐藏关卡。二氧化碳相变吸热会导致局部降温进而改变煤体力学性质。在传热接口里加了相变潜热项Q -L*delta_rho*der(x_CO2); // x_CO2为CO2气相分数模拟显示注气口附近会出现3-5℃的温降导致煤体收缩产生微裂缝。这种热-力耦合效应能让封存量增加约12%但同时也可能引发渗透率各向异性。后处理时用积分算子算累计产量特别有意思intop1 integrate(emiss, (u_CH4*rho_g), 2, 3); // 积分时间段[2,3]年把时间切片数据导入MATLAB画三维曲面发现煤层变形呈现蘑菇云状传播。前三个月变形量占总变形的60%之后逐渐平缓这和现场微震监测的时空演化特征惊人相似。跑完模型最大的感悟是煤层注二氧化碳就像在玩物理场的俄罗斯方块——哪个参数没对齐整个模型就会像抽积木一样崩掉。但当你看到甲烷产量曲线和二氧化碳封存量形成完美剪刀差时那种快感堪比游戏通关。