、comsol中相场方法模拟多孔介质中驱替的计算案例 提供采用相场方法模拟多孔介质中驱替的算例可在此基础上学会多孔介质中的驱替模拟得到水驱油或其他两相后多孔介质中的残余油分布计算采出程度随时间的变化关系。 附图中分别给出了多孔介质为水湿和油湿条件下多孔介质中的残余油分布。多孔介质里的流体驱替总带着点玄学色彩尤其是看着油滴卡在岩石缝里死活不出来的时候。COMSOL的相场法模拟能把这过程掰开了揉碎了看——今天就拿水赶油的场景聊聊怎么用相场法抓准岩石表面亲水亲油特性对残余油的影响。先扔个核心代码片段镇楼phi pf_model.create(phi, PhaseField) phi.set(gamma, 1e-3) # 界面能参数 phi.set(epsilon, 5e-6) # 界面厚度控制 # 两相流动耦合 flow pf_model.create(Flow, LaminarFlow) flow.link_phase_field(phi, wetting_phase) flow.set(contact_angle, [90, 30]) # 油湿/水湿切换关键这段代码里的contact_angle参数是灵魂所在——当岩石表面亲油时油湿接触角得设成大于90度亲水时水湿就设成锐角。实际模拟时会发现亲水表面的残余油就像咖啡渍一样星星点点图1而亲油表面的油块则像融化的巧克力黏在杯底图2。、comsol中相场方法模拟多孔介质中驱替的计算案例 提供采用相场方法模拟多孔介质中驱替的算例可在此基础上学会多孔介质中的驱替模拟得到水驱油或其他两相后多孔介质中的残余油分布计算采出程度随时间的变化关系。 附图中分别给出了多孔介质为水湿和油湿条件下多孔介质中的残余油分布。网格划分是个技术活特别是在孔隙结构复杂的区域。建议用边界层网格加密比如% 孔隙边缘加密 mesh.create(pore_edge, Edge); mesh.set(element_size, 0.1, selection, pore_edge);不这么干的话相界面可能在狭窄孔隙处出现锯齿状失真毕竟界面厚度epsilon设的是微米级网格太粗直接导致数值扩散。采出程度曲线怎么抓在出口边界设个流量积分探针// 采出量计算 Integration coupling_int; coupling_int.selection.named(outlet); double oil_produced coupling_int.integrate(phi_oil*velocity);但要注意相场法中体积分数phi_oil不是严格物理量需要做正则化处理。实测发现当驱替速度超过临界毛细数时采出曲线会出现平台期——这时候再注水就是赔本买卖了。最后给个实战技巧用参数化扫描同时跑不同接触角的工况比单个案例反复调试快三倍。遇到过不收敛的情况把相场移动的阻尼系数调大0.5个数量级亲测有效。