相场法在水力压裂仿真中越来越火,它能用连续函数描述裂缝边界,比传统方法更适合处理复杂裂缝网络。今天咱们拿COMSOL 6.0开刀,看看四个实战模型的实现门道
相场法水力压裂共四个模型comsol6.0版本及以上附赠参考文献 模型一对称三簇压裂模型二水力裂缝与天然裂缝相交模型三单水平裂缝扩展模型四水平裂缝偏转。模型一对称三簇压裂的群魔乱舞页岩气开发常见多缝同时扩展场景这里用相场变量phi控制裂缝相变过程。核心是设置三个初始损伤带% COMSOL内置的损伤初始化函数 model.param.set(x0, [-5[mm],0,5[mm]]); % 三簇中心坐标 for i1:3 model.physics(pf).feature(init1).setIndex(init, [0.5*(1-tanh((x-, num2str(x0(i)), )/0.5[mm]))], i); end这代码用双曲正切函数生成三个初始损伤带0.5[mm]控制过渡区宽度。注意COMSOL6.0开始支持直接在参数中带单位比旧版本方便不少。模型二天然裂缝截杀术当水力裂缝怼上天然裂缝时应力场会突然发癫。关键在设置交叉点的相场耦合% 天然裂缝预设路径 model.geom(geom1).feature().create(cflaw, Circle); model.geom(geom1).feature(cflaw).set(r, 0.2[mm]); model.geom(geom1).feature(cflaw).set(pos, [1[mm],, num2str(y_pos)]); % 相场能量密度修正项 model.material.create(mat2); model.material(mat2).propertyGroup(def).set(Gc, Gc1*step(y-0.5[mm]));这里用阶跃函数step()在天然裂缝位置改变断裂能Gc值——相当于给岩石做局部脆化处理实测能让裂缝转向更符合实验数据。相场法水力压裂共四个模型comsol6.0版本及以上附赠参考文献 模型一对称三簇压裂模型二水力裂缝与天然裂缝相交模型三单水平裂缝扩展模型四水平裂缝偏转。模型三水平缝的野蛮生长单一水平裂缝扩展要注意地应力各向异性。重点在设置初始应力偏量model.physics(solid).feature(seth1).set(Sigma, {0, 0, -10[MPa], 0, 0, -8[MPa]});这里给sigmaz和sigmax设置不同压应力制造水平扩展所需应力差。COMSOL6.0的应力张量输入顺序改成[xx, yy, zz, yz, xz, xy]老用户容易翻车。模型四裂缝跑偏的骚操作想让裂缝主动偏转试试在相场方程里加个各向异性项model.variable.create(var1); model.variable(var1).set(beta, 10.3*sin(4*theta)); //theta是裂缝方向角 model.physics(pf).feature(eq1).set(Gc, Gc0*beta);这个beta项给断裂能加上周期性扰动相当于在材料里埋了隐形导流条。跑仿真时会看到裂缝走出蛇皮走位特别适合模拟层理发育的地层。参考文献直接甩干货Miehe C. Phase field modeling of fracture[J]. CMAME, 2016相场法开山作Wang H. Hydraulic fracture intersection mechanisms[J]. SPE, 2020交叉模型验证COMSOL 6.0 PDE模块手册Section 23.7官方压裂案例笔者自写模型文件私信获取包含所有边界条件设置跑这些模型记得把求解器调成瞬态自动步长工作站内存没32G别碰三维版本。遇到不收敛先查相场参数是否满足Γ-convergence条件——这玩意坑过无数新手。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2459050.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!