COMSOL模拟热流固耦合作用下的二氧化碳驱替甲烷研究:探索煤层变形、孔渗变化及气体产量动态分...

COMSOL 模拟热流固耦合作用下二氧化碳驱替甲烷,研究驱替过程中煤层的变形,和孔渗变化,以及甲烷的产量,二氧化碳的封存量。 含讲解视频。

COMSOL玩热流固耦合,模拟二氧化碳驱替甲烷的过程,这事听起来就带劲。煤层变形、孔隙率变化、甲烷产量和二氧化碳封存效果,一个模型全搞定。咱们直接上干货,手把手拆解建模过程中的骚操作。

先整几何模型。煤层通常用二维轴对称结构,半径50米厚度5米这种参数你懂的。材料属性这块要命——煤的弹性模量给个4.5GPa,泊松比0.3,渗透率初始值1e-12 m²起步。代码里这么写:

model.param.set('E_coal', '4.5e9[Pa]');
model.param.set('nu_coal', 0.3);
model.param.set('k0', '1e-12[m^2]');

别小看这几个参数,煤层的倔强全在这了。弹性模量要是给大了,煤层硬得跟钢板似的,后续变形就演了个寂寞。

耦合设置才是重头戏。固体力学模块里得勾选几何非线性,毕竟煤层可能发生大变形。达西流模块要开启变渗透率选项,这里骚操作来了——渗透率随体积应变动态变化:

k = k0 * (1 + alpha*epsilon_vol)^3

这行代码直接决定了孔隙和裂隙的相爱相杀。alpha取0.8这种经验值,体积应变epsilon_vol一变化,渗透率直接三次方暴增或暴跌。实测发现,当煤层被压缩超过3%时,渗透率能掉到初始值的1/10,跟踩了急刹车似的。

传热方程必须和流体耦合,毕竟注液态CO₂时温度场能差出20℃。边界条件设定注入井压力12MPa,生产井压差控制在2MPa以内。代码里用PDE模块自定义耦合项:

// 热流固耦合源项
source_T = -beta*T*d(u,t) + gamma*d(p,t);
model.equ('heat').set('source', source_T);

beta和gamma这两个耦合系数能把人折腾疯。建议先做参数扫描,从0.1到10取对数间隔,不然求解器分分钟给你摆烂。

求解器配置是翻车重灾区。建议先用瞬态求解器跑前5秒,步长0.1秒手动苟住,等非线性收敛了再切自动步长。内存分配至少给16GB,别问为什么,问就是血泪教训。收敛判据建议放宽到相对容差1e-4,不然算到地老天荒。

后处理阶段重点关注三个指标:煤层最大位移量、甲烷日产曲线、CO₂封存效率。用LiveLink搞个自动生成报告的脚本:

exportData = model.result().numerical().create("exportData");
exportData.set("data", "dset1");
exportData.set("filename", "自动报告.txt");
exportData.run();

这脚本能直接把关键数据怼进txt,省得每次手动画图。实测某案例中,注CO₂前30天甲烷产量飙升2倍,但60天后断崖式下跌——煤层被压得太实,渗透率崩了。

最后给工程党们划重点:注气压力千万别超过14MPa,不然煤层直接表演原地裂开。最佳封存效率出现在注气速度0.5kg/s附近,这个数值跟煤层初始渗透率强相关。配套视频里演示了怎么调参让模型不崩,手把手教你避开80%新手会踩的坑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值