comsol模拟水力压裂,固体力学+达西定理。
裂缝在地下悄然生长,岩石发出微不可闻的哀鸣。工程师们盯着屏幕上跳动的压力曲线,试图驯服这头名为水力压裂的猛兽。今天我们就用COMSOL这面魔镜,照一照岩石和流体这对冤家的爱恨情仇。
打开模型向导时,记得同时勾选固体力学和达西定律两个模块——这相当于给岩石装上了神经和血管。材料库里的页岩参数先别全信,老规矩把杨氏模量偷偷调低20%,现场数据总比教科书诚实。
material1 = mphgetprop(model, 'material1'); material1.property('youngs_modulus', '20[GPa]'); material1.property('poissons_ratio', 0.25);这段代码像给岩石做体检,杨氏模量单位别写成GPa就谢天谢地。泊松比0.25是页岩的典型值,太硬了裂缝张不开,太软了又容易乱窜。
网格划分堪称玄学,裂缝尖端用二次元扫掠网格,边缘尺寸从5mm渐变到0.1mm。记住在注入点附近加密三倍,这里就像血管的冠状动脉,流量稍微变化就能要命。
mesh1 = model.component('comp1').mesh('mesh1'); mesh1.feature('size').set('customizeon', true); mesh1.feature('size').set('hmax', 0.1);边界条件设置是个精细活儿,给井筒壁面加个法向位移约束,就像给气球系上绳子。流体压力入口用阶跃函数加载,前10秒爬坡到50MPa,比直接突加温柔多了。
多物理场耦合这里容易翻车。固体力学模块里勾选孔隙弹性,达西定律里打开变形几何,这相当于给两个模块牵了根红线。耦合强度系数设0.7比较保险,太强了容易发散,太弱了又各玩各的。
求解器配置建议用全耦合直接求解器,别看它吃内存,稳定性比分离式求解强不止一个档次。时间步长从1秒开始自适应,遇到压力突变自动缩小到0.01秒,比闹钟还贴心。
后处理阶段,切个X-Z平面看裂缝延伸。用粒子追踪功能观察支撑剂分布,颜色越红的地方越是兵家必争之地。导出应力云图时记得用对数坐标,线性坐标下全是一片惨白。
export1 = model.result().export('export1'); export1.set('log', true); export1.set('unit', 'MPa');最后唠叨两句:模拟结果和现场监测对不上?别慌,先检查流固耦合面是否绑定正确,再瞅瞅损伤模型参数是不是该更新了。水力压裂这玩意儿,七分靠参数,三分靠玄学,剩下九十分全看工程师的头发还剩多少。