基于VBA 计算井控条件下的单井控制面积

2022-07-23 08:41王跟党杨立国
石油化工应用 2022年6期
关键词:三角网单井储量

王跟党,杨立国,詹 健,任 超

(中国石油长庆油田分公司第四采油厂,宁夏银川 750006)

单井控制储量是单井分析和井组分析中用途最广泛的基本数据之一。目前使用的储量一般以容积法计算结果作为标准。但一般油藏给出的储量通常是一个区块整体的,单井控制储量常常采用厚度加权平均,计算误差极大。容积法计算储量时共有6 个参数,分别是控制面积、有效厚度、孔隙度、含油饱和度、地面原油密度、原油体积系数,其中,有效厚度、孔隙度、含油饱和度可通过测井曲线得到比较准确的值,地面原油密度、原油体积系数变化较小,一般一个区块采用一个值,控制面积与井网形式及井所在的井网位置有关,不能简单采用相同的值来计算。

Excel 具有广泛的应用,是必备的办公软件之一。具有强大的数据计算分析处理能力,特别是内置的VBA 能轻松实现编程,完成各种高强度计算与绘图,并能与表格无缝集成。基于Excel 的VBA 编写了单井控制储量,实现单井控制储量的高精度计算。

1 单井控制面积的计算方法

单井控制面积计算一般采用该井至邻井距离的二分之一范围内的面积。各井所控制面积随井距的变化而变化。具体算法为:取相邻的井点依次连接为三角形,并以中垂线作为控制面积的分界线,如果中垂线之交点(外心)落在三角形之外,则用三角形之中点连线来划分[1(]见图1)。

图1 单井控制面积图

2 边部井的控制面积处理

本文采用添加虚拟井及多边形裁剪的方法来处理边部井。先按滚球法求出井位的轮廓坐标备用。

虚拟井的获取方法:一般井位名称是按排列来命名的。将井位名称分解出来并排序,可得到按排(列)的坐标。找出井数最多的排(列),通过内置函数LINSET可求取某排(列)的斜率和截距。按线的方向求出两口井之间的距离,存入数组,并按给定间距(如50 m)求出某区间内频率最高的井距(过滤掉因井位命名、坐标偏差等原因造成的步长偏差),即得到排(列)的步长,最后通过最大坐标和最小坐标外推,可求向外扩展的虚拟井井位坐标。对于某排(列)井位少于2 口井或计算的相关系数小于0.98 的排(列),按井数最多的排(列)的斜率和截距计算外推井位。将所有排和列的虚拟井位求出后,去掉两口井井距小于50 m 的井,去掉轮廓内部的井,得到最终虚拟井位。

3 注水井控制储量处理

将水井面积与油井面积共边的边及水井井位连接出来的面积与油井面积合并,得到油井控制面积。采油井LU10-50 与注水井LU10-49 有公共边ABC,将公共边ABC 与水井坐标相连,围成的面积与原油井控制面积合并,如此,把所有与水井相邻的面积劈分出来全部合并,得到一口油井的控制面积。合并面积后,同时将注水井控制面积所对应的储量也合并到油井的储量上(见图2)。

图2 劈分水井面积到油井

4 实现方法

对于单井控制面积的确定,一个主要的问题是含油面积线控制下的三角网的生成。这里采用Delaunay三角剖分方法来确定井网连接三角形,之后生成(伪)单井控制面积,然后用含油面积线来切割伪单井面积线,最终生成实际的单井控制面积,整体流程(见图3)。

图3 流程设计

4.1 Delaunay 三角剖分算法[2]

Delaunay 三角网的生成常用算法有逐点插入法,分割合并算法,三角网生长法。生成三角网的算法不同之处在于初始三角网的生成以及三角网的扩展方法。为了方便程序在VBA 中实现及一般油田井的规模很少超过3 000 口井,因此,这里采用三角网生长法,并通过改进,以提高效率。

4.2 本文优化的生长法三角网算法

(1)取第一点,作为起始点,并在点集中寻找一个最近的点,作为线段的终止点,将该线作为第一个三角形的一个边AB;在点集中找一点C,使之在线AB的左边,与AB 的夹角最大,如果找不到这一点,将AB 调换(即BA),再次寻找AB 左边与AB 夹角最大的点C,并生成第一个三角形,加入三角集的数组,同时,对AB、BC、CA 右边序号数组均赋为-1,表示该边未搜索。

(2)分别对三角形的三边BA、CB、AC 的左边进行搜索,找到最大夹角点,找到时,对序号数组赋为1,未找到赋为0,表示已搜索该边;同时,将找到的点D 与边生成新三角形,并对新三角形进行检查,如果不存在,则加入到三角集中,并增加新的序号数组,将已搜索边赋为1,另外两个未搜索边赋为-1。

(3)重复第2 步,直到数组中所有值都大于-1。

4.3 生成Delaunay 三角网的数据结构

为了优化程序的逻辑结构、方便后期数据处理,需要建立一个合理的数据结构,用于程序的运行。实际生产中,需要考虑如下问题。

4.3.1 点属性 井点属性应该包括井号、井别、横坐标、纵坐标及其他可变参数如有效厚度、含油饱和度、孔隙度、原油体积系数、原油密度、最终生成的面积,这些可变参数中,有可能目前已知、有可能未知,有可能已知,但后期还要处理。

Type Pt

NO as Integer‘井位序号

MC as string $20‘井位名称

JB as Integer ‘井别,油井井别为1,水井井别为2,虚拟井别为3

X as Double ‘横坐标

Y as Double ‘纵坐标

Z as Double ‘属性数据

End type

其中读取Z 数据时直接由下面公式计算:

Z=有效厚度×孔隙度×含油饱和度×地面原油密度/原油体积系数/100

4.3.2 线的属性 线由多个点按逆时针方向依次连接,用点数组表示。

4.4 VBA 中的模块设置

围绕三角网生成的核心,需要有以下几个功能模块:(1)井点处理模块,用于获取点集,虚拟井生成及点集插值;(2)轮廓处理模块,用于计算实际井位的轮廓;(3)三角网生成模块,主要用于生成三角网;(4)多边形生成模块,主要是将三角网生成单井控制面积;(5)多边形裁剪与合并模块,主要用水井面积的合并及最后油井面积的裁剪;(6)环境设置模块,主要用于检查运行环境,表格准备及输入输出检查。

5 计算实例

利用本程序对绥靖油田X 区的单井控制储量进行计算,该区块下发面积7.82 km2,下发储量567.45×104t。在该区北部区域未动用,实际圈定未动用面积为1.4 km2,用下发储量折算实际动用储量为465.8×104t。

用本程序计算,油井控制面积为6.42 km2,油井控制储量为472.9×104t,计算误差1.5%。而原算法误差为17.9%,有效提高了精度(见图4)。

图4 绥靖油田X 区单井控制储量计算示例

6 结论

利用VBA 将单井控制储量从粗略加权平均法计算修正到直接使用容积法计算,极大地提高了计算精度,为油田开发提供准确可靠的基础数据。

猜你喜欢
三角网单井储量
13.22亿吨
基于三维软件资源储量估算对比研究
全球钴矿资源储量、供给及应用
2019 年世界油气储量与产量及其分布
结合Delaunay三角网的自适应多尺度图像重叠域配准方法
采油“一井一策”全员效益目标的构建与实施
单井成本核算分析
针对路面建模的Delaunay三角网格分治算法
采用传统测量技术进行复杂立交桥工程测量的方法和措施
关于工程测量三角网应用研究