COMSOL水力压裂中的应力-渗流-损伤模型仿真分析
comsol水力压裂应力-渗流-损伤模型 comsol仿真模型
液压压裂仿真这玩意儿就像在玩地质乐高,只不过用的是偏微分方程。今天咱们掰扯掰扯COMSOL里那个让工程师又爱又恨的应力-渗流-损伤三场耦合模型,这货堪称页岩气开发界的瑞士军刀。
先看损伤场这个戏精——它直接决定了岩石什么时候裂开。在COMSOL里定义损伤变量D的时候,代码大概长这样:
D = step1( (sig_vm - sig_th)/sig_c , 0, 1e-3 )这行代码暗藏玄机:当冯米塞斯应力超过阈值sig_th时,损伤开始累积。step1函数那1e-3的平滑过渡区能避免计算发散,但调参时能把人逼疯,稍微手抖改大点就可能得到反物理的裂缝形态。
渗流场和应力场的勾搭才叫精彩。看这段渗透率突变公式:
k = k0 * (1 + 50*D^3)这里把渗透率和损伤立方挂钩,裂缝一开渗透率直接坐火箭。但实际工程中这个50的放大系数得根据微地震监测数据反向标定,新手直接照搬等着被甲方打脸吧。
comsol水力压裂应力-渗流-损伤模型 comsol仿真模型
多物理场耦合的设置界面藏着魔鬼细节。比如这个应力场的弱形式:
-test(u)*sig + beta*p*div(test(u))beta是Biot系数,这里把孔隙水压力p和固体变形耦合起来。重点是这个div(test(u))操作,相当于把虚位移的散度作为权重函数,玩不转变分法的朋友看到这估计要摔键盘。
损伤演化方程才是模型的核心杀招:
dDdt = (sig_vm > sig_th) * A * exp(B*sig_vm)指数项暴露了这是个典型的经验公式,A和B这两个参数基本靠试错法确定。有次我把B值多打了个零,结果裂缝发展速度堪比光速,井筒还没开始注水地层就先裂成蜘蛛网了。
调试这种模型时,建议先把边界条件设得变态简单。比如初始阶段可以固定损伤场,单独跑渗流-应力耦合,等确认不会崩了再加损伤场。记得随时监控质量守恒指标,有次我忘了勾选非饱和流选项,结果注水量比裂缝体积多出三个数量级,活像开了物质复制外挂。
最后说个血泪教训:网格尺寸必须小于特征破裂长度。有回偷懒用默认网格,裂缝路径跑出个分形图案,甲方看了直呼抽象艺术。后来硬是在裂缝发展区域加密到0.1米网格才搞定,算到显卡冒烟才憋出个像样的裂缝网。
