酸化蚓孔现象在油气田开发中是一个既令人头疼又充满研究价值的课题。当我们在碳酸盐岩储层中进行酸化作业时,酸液会与岩石发生化学反应,形成类似蚯蚓洞穴的复杂通道网络。这些蚓孔的形成和扩展直接决定了酸化效果的好坏,但这个过程受到孔隙度、渗透率、酸液类型、注入速度等多重因素的影响。
我曾在某致密碳酸盐岩储层酸化项目中,亲眼目睹了蚓孔非均匀扩展带来的效果差异——同一口井的不同层段,酸化后产量差异高达3倍。这促使我深入研究蚓孔扩展的模拟方法,特别是如何准确刻画非均质储层中的竞争性扩展行为。
对于二维模拟,我通常采用200×200网格系统,每个网格代表实际尺寸约1cm×1cm的区域。这个尺度既能捕捉蚓孔扩展的细节,又不会导致计算量过大。三维模型则采用100×100×100网格,对应实际尺寸约5cm×5cm×5cm的立方体。
重要提示:网格尺寸需要根据实际蚓孔直径调整。在碳酸盐岩中,典型蚓孔直径约0.5-5mm,因此网格尺寸应至少小于最小蚓孔直径的1/5。
孔隙度和渗透率的非均质分布是模拟的核心难点。我采用以下方法实现:
基于Weibull分布生成孔隙度场:
matlab复制phi = phi_mean + phi_std * wblrnd(2,1,[nx,ny]);
phi = min(max(phi, 0.05), 0.35); % 限制在5%-35%之间
通过Kozeny-Carman方程将孔隙度转换为渗透率:
matlab复制k = k_ref .* (phi./phi_ref).^3 .* ((1-phi_ref)./(1-phi)).^2;
添加人工裂缝(可选):
matlab复制k(50:60,:) = k(50:60,:) * 10; % 在x=50-60处设置高渗条带
采用两尺度连续模型描述酸岩反应:
关键参数包括:
使用有限体积法离散化控制方程,时间步长采用自适应策略:
matlab复制dt = CFL * min(dx/max(vx), dy/max(vy)); % CFL数取0.1-0.3
压力方程采用预处理共轭梯度法(PCG)求解,浓度方程采用TVDRK3时间积分。
开发了基于拓扑分析的蚓孔识别方法:
div_v = divergence(vx,vy)wormhole = div_v > div_thresholdbwlabel(wormhole)对于三维模型,采用域分解并行策略:
matlab复制parpool('local',4); % 启动4个worker
spmd
% 各worker处理自己的子域
end
在孔隙度15%的均质模型中,可以观察到典型的蚓孔发展三阶段:
当存在高渗条带时,蚓孔扩展呈现显著差异:
三维模型中观察到了二维模拟无法呈现的"蚓孔桥接"现象——不同平面的蚓孔通过垂向连接形成立体网络。这解释了现场观测中出现的意外高导流能力。
通过500次蒙特卡洛模拟,得到各参数对蚓孔长度的影响排序:
| 参数 | 敏感度系数 | 影响机制 |
|---|---|---|
| 渗透率变异系数 | 0.62 | 决定流动优势通道 |
| 酸液注入速度 | 0.55 | 影响对流与扩散的平衡 |
| 酸液浓度 | 0.48 | 决定溶解能力 |
| 初始孔隙度 | 0.32 | 影响酸液分布均匀性 |
在某海上碳酸盐岩油田的应用表明,模拟预测的蚓孔形态与井下成像结果吻合度达82%。根据模拟结果优化的酸化方案使增产效果提升40%,同时减少酸液用量15%。
当酸液前沿移动过快时容易出现数值振荡。我的解决方案是:
D_eff = D + 0.5*dx*abs(v)为减少网格依赖:
三维模型计算耗时长的优化策略:
imresize3降低初始网格分辨率基于现有模型,可以进一步开发:
这个模拟系统已经成功应用于7个油田的酸化方案设计,特别是在非均质强、温度高的储层中表现出色。实际使用中发现,渗透率场的准确描述对结果影响最大,建议结合测井资料和地质建模数据来构建更真实的初始场。