comsol案例,两相流体,基于基质裂缝双重介质达西定律流动模式
先看模型骨架:基质像海绵负责储油,裂缝当高速公路负责运油。这哥俩得分开建模但又得勾搭着传质。在COMSOL里直接调出达西定律和两相流物理场,注意这里得同时激活两个多孔介质域。
关键代码来了:
# 定义双孔隙度参数 phi_m = 0.15 # 基质孔隙度 phi_f = 0.003 # 裂缝孔隙度 k_m = 1e-14 # 基质渗透率[m²] k_f = 1e-11 # 裂缝渗透率这组参数差了三四个数量级,实际模拟时千万别手滑输错指数!曾经有个哥们把裂缝渗透率设成1e-14,模拟结果直接变成地质年代尺度...
耦合项设置是灵魂操作:
# 基质-裂缝传质项 Q_exchange = alpha * (p_f - p_m) # alpha是形状因子这个形状因子alpha建议用Warren-Root模型算,不过新手直接给个经验值0.5-1.0也能跑起来。注意压力pf和pm要分别绑定到裂缝和基质域,搞反了会看到流体往岩石里倒灌的魔幻场景。
两相流处理有个坑:相对渗透率曲线别直接套教科书数据。实测用Brooks-Corey模型更稳:
krw = (S_w - Swc)/(1 - Swc - Sor)**n_w kro = (1 - S_w - Sor)/(1 - Swc - Sor)**n_oSwc是束缚水饱和度,Sor是残余油饱和度,这两个参数建议先做岩心实验标定。见过有人拿页岩参数往砂岩模型里套,结果采收率算出来120%...
求解器配置暗藏杀机:建议先用稳态求解器找初始压力场,再用瞬态求解器抓动态过程。时间步长设自适应就行,但最大步长别超过1小时,否则容易错过突破时刻。遇到过有人设成1年步长,结果含水率曲线直接变直角折线。
后处理推荐整点骚操作:在3D图上同时显示基质压力云图和裂缝流线箭头,用slice功能切开岩块看内部饱和度分布。记住导出数据时要把裂缝和基质的结果分开保存,不然混合数据能让你处理到怀疑人生。
最后提醒:双重介质模型特别吃内存,32G起步,64G不嫌多。跑模型前记得拜一拜服务器,别问我是怎么知道的...