comsol多孔介质多相流案例,模拟多孔介质中水驱油的动态过程,考虑多孔介质的各项异性。 案例适合新手,无参考文献。
油田开发中水驱油过程像不像往海绵里挤番茄酱?今天咱们用COMSOL做个超酷的实验——在多孔介质里模拟水和油的battle现场,重点看看当岩石存在"方向歧视"(各向异性)时会发生什么诡异现象。
打开COMSOL先别慌,在模型向导里直接勾选"多相流→多孔介质两相流"。这时候界面会突然冒出好多参数,别急着关窗口,重点看这个:
k_diag = [1e-12, 5e-13, 1e-13]; //各向异性渗透率矩阵 sigma = 0.5*((Sw>0.2)+1); //饱和度相关的界面张力这串代码定义了岩石的"性格":x方向渗透率是y方向的2倍,z方向最弱。想象在千层饼似的岩层里注水,水流会优先横向扩散。那个sigma参数更是个戏精——当含水饱和度超过20%时,界面张力直接翻倍,这会导致驱油过程出现突变拐点。
设置边界条件时有个坑:注水井别傻乎乎用速度入口,试试用压力梯度控制更符合实际:
p_in = 2e6 + (t<100)*1e5*t; //前100秒压力线性上升这种渐进加压策略能避免数值震荡,新手经常会在这里栽跟头。监测点建议放在距离注水井3/4区域,这个位置最容易捕捉到两相流的前锋突变。
comsol多孔介质多相流案例,模拟多孔介质中水驱油的动态过程,考虑多孔介质的各项异性。 案例适合新手,无参考文献。
点击计算后别急着喝咖啡,盯着残差曲线看。当油相饱和度曲线开始跳disco时,马上调时间步长:
solver.RelTol = 0.1*(S_oil<0.3) + 0.01*(S_oil>=0.3);这个动态容差控制就像给求解器装了智能刹车,在油相饱和度低于30%的初期阶段允许大步长狂奔,进入高含水期后切换小碎步精确计算。
当看到结果里出现蝴蝶翅膀状的饱和度分布,别怀疑自己眼花了——这就是各向异性搞的鬼。在渗透率高的方向,水窜形成快速通道;而在渗透率低的方向,油相像陷入迷宫般难以排出。后处理时用截面探针抓取渗透率张量主轴方向的流速对比,会发现x方向流速竟是z方向的15倍以上。
最后给新手们划个重点:各向异性参数别直接用数字填写,建议用比例系数配合基准值(比如k=k0*[1, 0.5, 0.1])。这样调整方向特性时只需要改系数,不用重新计算绝对数值,就像给模型装了个快捷旋钮。