相场法在水力压裂模拟中越来越火,尤其是COMSOL这种多物理场耦合神器。今天咱们拆解几个典型工况,手把手看裂缝怎么在代码里“长“出来。先拿最简单的单裂缝开刀——
COMSOL 相场法与水力压裂 案例一单一裂缝延伸 案例二两簇压裂 案例三三簇压裂-对称 案例四三簇压裂-完全 案例五水力裂缝与垂直天然裂缝相交 案例六水力裂缝与倾斜裂缝相交。案例一的核心代码段长这样PhaseField.epsilon 0.05; //界面厚度参数 PhaseField.Gc 2.7e3; //断裂能 physics.set(d, 1, DispersionType, Anisotropic);epsilon控制相场界面过渡区的宽度这个值太小会导致计算爆炸太大又会让裂缝变胖。Gc是断裂能相当于材料的抗裂能力这里设2700J/m²对应页岩参数。各向异性分散设置让裂缝沿着最大主应力方向劈开。进阶到案例二两簇压裂时射孔位置的初始化很关键initCrack1 (x2.5).*(x3).*(y0.1); initCrack2 (x7).*(x7.5).*(y0.1); model.phase 1 - sqrt(initCrack1.^2 initCrack2.^2);用两个矩形区域定义初始裂缝簇注意平方开根号的写法比直接相加更稳定。当泵注压力上来后两簇裂缝会出现竞争扩展这时候看应力阴影效应特别明显——先起裂的裂缝会把周围应力场抬高压制另一簇发展。COMSOL的自动自适应网格这时会疯狂在裂缝尖端加密记得在求解器配置里打开误差估计器。COMSOL 相场法与水力压裂 案例一单一裂缝延伸 案例二两簇压裂 案例三三簇压裂-对称 案例四三簇压裂-完全 案例五水力裂缝与垂直天然裂缝相交 案例六水力裂缝与倾斜裂缝相交。案例四的三簇非对称压裂更有意思需要处理裂缝转向问题。下面这段流固耦合设置是精髓physics.create(FSI, LaminarFlow, SolidMechanics); physics.set(p, outlet, PumpPressure, sin(t/10)*1e6); interface.set(DisplacementContinuity, on);时变泵压用正弦函数模拟现实中的段塞注入位移连续性条件确保流体压力能传递到固体变形。当中间裂缝比两侧早0.5秒起裂时会产生不对称的应力场导致两侧裂缝向外弯曲成八字形。这时候相场变量的演化方程里驱动力的各向异性系数要调高到1.2以上才能捕捉这种转向。遇到天然裂缝案例五、六时接触条件处理是难关。倾斜裂缝相交的代码魔改ContactPair1.set(PhaseFieldThreshold, 0.7); SolidMechanics.add(Friction, mu, 0.6);设置相场阈值0.7作为接触判据相当于当损伤变量超过70%时启动摩擦接触。摩擦系数mu设为0.6对应砂岩表面粗糙度。有意思的是当水力裂缝与倾斜天然缝以55度角相交时会出现三种模式直接穿透、沿天然缝滑移、或者产生分岔裂缝这取决于注入速率和水平应力差。在结果后处理中用等值线叠加粒子流线图能清晰看到流体优先选择低应力通道的特征。跑这些案例时有个坑相场法对网格尺寸敏感得一匹建议在裂缝路径上预定义扫掠网格边界层至少分三层。时间步长用自动调整别头铁用固定步长否则分分钟发散。最后说个骚操作——把相场变量导出到Paraview用GLSL着色器实时渲染裂缝生长过程比自带的后处理器酷炫十倍。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2438517.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!