水平井地质设计软件的研制与程序实现

如题所述

明光春 戴涛 宋道万 龚蔚青 王兆生

摘要 水平井地质设计软件是一套运行于Windows平台、以可视化的方式设计、优化水平井段的工具软件,包括地质建模、图形显示、水平井段设计等功能。地质建模分为数据建模、图形建模、数据接口建模三种方法;图形显示包括建模图件、开采现状图、三维地质模型图的显示;水平井段设计包括设计区域筛选、平面设计、剖面设计、水平井段长度选取、修改靶点、轨迹优化、设计参数输出、轨迹加载等功能。本文阐述了软件的主要功能和程序实现方法。

关键词 地质设计 水平井 靶点 地质建模 图形显示

一、引言

从1990年完钻第一口水平井——埕科1井至今,胜利油区水平井的应用取得了长足发展,已成为老油田挖潜和新区产能建设的主导技术之一。

作为基础研究的水平井地质设计技术也不断发展和完善,形成了一套从区块筛选、油藏精细描述、剩余油研究、水平井段轨迹优化设计、产能预测及效果跟踪分析的水平井地质设计技术,有力地促进了水平井工作的顺利发展。同时,尽管研究工作做的很精细,而设计手段上的落后却极大地影响了水平井地质设计工作的效率和精度。因此,研制一套支持水平井地质设计过程的软件将对提高水平井的设计水平起到重要的推动作用。

二、软件功能设计

水平井地质设计的最终结果就是根据构造、储集层厚度、有效厚度、孔隙度、渗透率、油水饱和度等资料确定水平井段的最佳位置,以获得较好的产能。水平井段的位置由若干靶点表示,每个靶点数据包括大地坐标和深度。

为了实现人机交互设计水平井段,需要建立目的层的地质模型,并将地质模型用图形的方式显示出来,提供给设计人员可视化、直观的设计界面。

在三维地质模型的基础上参考开采现状图和地质图件设计水平井段,然后输出设计参数(图1)。三维地质模型可由数据建模、数据转换、图形建模三种方式建立。

三、地质建模

三维地质模型是水平井地质设计的基础,地质模型的准确性直接影响着设计结果。根据研究区块的不同情况,软件中提供了三种地质建模方法,即数据建模、图形建模和数据接口建模。

1.数据建模

图1 软件结构图

数据建模就是利用研究区块井点数据(构造及储集层的顶深、砂层厚度、有效厚度、孔隙度、渗透率、油饱和度、水饱和度等)进行插值。该方法的优点是建模速度快,缺点是模型的准确性对数据的依赖程度较高,如果只有少量的井点数据,很难保证模型的精度。

(1)数据提取

井点数据以数据库的形式存放,如图2所示,从数据库检索出当前区块的所有砂层组名称(5、6砂层组)。选择砂层组后,查询出该砂层组所包含的小层号(51、52、53、54、61、62、63、64)。

在“建模层序”中,选择建立地质模型的“层”,有的区块对小层作了进一步划分,在数据库中记录了“细分层号”的数据项,在软件中可以使用细分后的层建立地质模型中的“层”。

对模型中每层使用的数据进行选择,包括顶深、砂层厚度、有效厚度、孔隙度、渗透率、油饱和度、水饱和度等。

(2)网格划分

指定 X、Y方向的网格数及网格步长。

(3)定义边界

通过人机交互绘制边界线,作为模型的边界。

(4)离散数据的网格化

根据数据提取和网格划分等结果,使用从数据库中查询的井点数据作为离散点进行插值处理[1],计算每层所有网格节点的各项数据,并保存计算结果。数据格式为:

图2 数据提取软件界面图

胜利油区勘探开发论文集

胜利油区勘探开发论文集

其中,m为X方向的网格数,n为Y方向的网格数,N为模型的层数,砂层厚度、有效厚度、孔隙度、渗透率、油饱和度、水饱和度等数据以同样的方式排列,通过关键字来区分。

2.图形建模

利用地质图件(顶面构造图、砂层厚度、有效厚度、孔隙度、渗透率、油饱和度、水饱和度等值图)建立三维地质模型称图形建模。该方法的优点是精度高,因为图件是地质人员根据该区块的数据及认识、经验而绘制的,能够较为准确的反映油藏的实际情况,缺点是建模速度较慢,需要对地质图件进行矢量化或进行图形数据的转换。

(1)地质图件管理

如图3所示,对每个地质图件的描述包括图件名称、文件名、图件类型和层序等四项数据。通过图件管理工具对建立地质模型所需的各种图件进行组织。

图3 地质图件管理软件界面图

其中,“文件名”数据项表示存放图件数据的文件名称;“图件类型”数据项分为构造图、砂层厚度、有效厚度、孔隙度、渗透率、油饱和度、水饱和度图等类型的等值图;“层序”数据项表示某类等值图属于模型的哪一层(层序编号从1开始)。

(2)地质图件的数据处理

描述地质图件的数据按照存放格式划分为位图数据和矢量图形数据。建立地质模型所需的数据从矢量图形数据中获取,无法从位图数据中直接得到,需要将位图数据转化为矢量图形数据(称为图形矢量化)。如果已有其他制图软件形成的图形数据,可由接口程序转换为本软件使用的矢量图形数据,此处不再详述。本文讨论位图数据转化为矢量图形数据的矢量化方法。

绘制等值线 以显示的位图作为底图,沿位图中的等值线依次单击鼠标左键,确定等值线的各坐标点,双击左键结束,并弹出参数设置框,可输入等值线数值、设置等值线的颜色、宽度、光滑属性及等值线数值的显示字体。如果选择“设置为默认属性”复选框,以后绘制的等值线按照这里设置的属性显示。

绘制折线 与绘制等值线采用相同的方法,只是在参数设置框中不出现等值线数值的输入提示。

绘制文字 在底图中文字的左下角单击鼠标左键后,弹出文字参数设置框,可输入文字内容、设置字体、旋转角度等参数。

绘制井位 在底图的井位上单击鼠标左键后,弹出井位参数设置框,可输入井号、设置井号和井圈的大小、井号的标注位置。

加载井位 从数据库中批量加载井位,省去使用绘制井位工具逐个绘制井位的重复性操作。

编辑工具 修改等值线、折线的参数及坐标点位置,修改文字、井位的参数及位置的移动。

删除工具 删除等值线、折线、文字、井位等图形对象。

(3)网格划分

指定X、Y方向的网格数及网格步长。

(4)离散数据的网格化

从矢量化的图形数据中提取等值线的数值和各坐标点数据作为离散点,通过插值处理,计算每层所有网格节点的各项数据,并保存计算结果。

3.数据接口建模

通过数据接口方式,转换数值模型软件或其他软件所建立三维地质模型的有关数据。优点是建模速度快,数据齐全,特别是目前油、水饱和度等数据是前面两种方法很难给出的,数值模拟软件可以提供过去、目前及未来的油水饱和度数据场;缺点是工作周期较长,需要对该区块先进行油藏数值模拟。

四、图形显示

通过显示各类图形,为设计水平井段提供参考依据和可视化的设计界面。在软件中可以显示的图形有图形建模所用的图件、开采现状图和三维地质模型图共三类。

1.建模图件的显示

显示图形建模所用的各种等值图,提供放大、缩小等功能。2.开采现状图的显示

使用数据库中的动态生产数据表,显示开采现状图(图4)。通过选择生产时间,既可以显示目前的开采现状,也可以显示历史的开采状况。

开采现状图能够单独显示,也能与各种等值图叠加显示,当鼠标移动到某口井的附近时,自动弹出该井的动态生产数据(层位、生产天数、累油、累水、日产油、日产水、含水量等)显示框。

能够设置井圈大小、日产油水柱宽、累液最小直径、累液最大直径、井号字体、标题字体等参数和累油、累水、日产油、日产水、含水量及井圈的颜色。

3.三维地质模型的图形显示

(1)选择显示的数据

控制每个层的图形显示情况,可以关闭一个或多个层的显示。

选择储集层网格上显示哪种数据,用颜色表示数据的变化情况,顶深、砂层厚度两项数据不可缺少,否则无法描述储集层的三维形态。其他数据项如有效厚度、孔隙度、渗透率、油饱和度、水饱和度等数据根据实际情况可或多或少。

图4 开采现状图

如果使用数值模拟结果数据,既可以一次显示某个时间阶段的数据,又能够从某个时间阶段开始按照设置的间隔值(秒)连续显示其后每个时间阶段的图形,非常直观地观察某项数据的动态变化情况。

(2)颜色表定义

该软件可以用颜色来表示数据的变化情况[2]。显示不同的数据习惯上需要不同的颜色表。例如,油饱和度的数值越大,颜色越红;水饱和度的数值越大,颜色越蓝。颜色表定义就是根据需要制作一个符合习惯用法的颜色表,以便直观的显示模型中的各项数据,实现方法如下[3]

第一,确定控制颜色数。例如:设定三种控制颜色,则颜色表将是从颜色1渐变到颜色2,再从颜色2渐变到颜色3。

第二,确定颜色总数。如果“颜色总数”和“控制颜色数”相同,则能准确的控制哪种颜色表示什么数据范围;如果“颜色总数”大于“控制颜色数”,在颜色表中除保留控制颜色外,缺少的颜色由两个控制颜色线性插值取得,这种方式定义的色表使图形显示时颜色变化比较均匀(颜色数越多,变化越均匀)。例如,设定颜色总数为50,控制颜色数为3,则从颜色1渐变到颜色2经过24种颜色,从颜色2渐变到颜色3经过23种颜色。

第三,颜色插值。用线性插值法计算两个控制颜色之间的渐变颜色的RGB值。例如,计算颜色1与颜色2之间过渡颜色的RGB值的方法如下:

胜利油区勘探开发论文集

式中:n——颜色1和颜色2之间渐变颜色的个数;

i——大于0且小于n;

R1、G1、B1——颜色1的RGB值;

R2、G2、B2——颜色2的RGB值;

Ri、Gi、Bi——第i个过渡颜色的RGB值。

计算出每一个过渡颜色的RGB值后,就形成一个颜色逐渐变化的颜色表。通过调整控制颜色、过度颜色的数目和控制颜色的RGB值,得到不同的颜色表。

图形显示时,根据网格点的数值转换为颜色来表示,其计算公式

胜利油区勘探开发论文集

式中:V——网格点的数值;

Vmin、max——模型中V值的最小、最大值;

N——颜色总数;

color_index——计算结果。

(3)剖切

为了观察地质模型内部情况,提供了两种剖切功能,即区域剖切和垂直剖切。

区域剖切功能是在平面图上任意指定一个范围,将此范围之外的网格节点切去,显示指定范围内部的图形。

垂直剖切是在平面图上任意指定一个或多个剖切线,然后用这些剖切线对模型进行剖切,显示剖面图。

两种剖切方式的基本算法相同。把剖切轨迹看做一个三维空间中的多边形(在Y-Z、X-Z或X-Y平面内,分别沿X、Y或Z方向进行裁剪),程序实现方法如下。

图5 剖切轨迹对网格的裁剪图

第一,依次判断网格的位置,如果其在裁剪多边形的外部或内部,则继续判断下一网格,直到找到落在裁剪多边形边界上的网格。

第二,用裁剪多边形沿指定的方向对网格单元进行裁剪。裁剪多边形在X-Y平面内,沿Z方向对网格单元裁剪,求得裁剪多边形与顶面的交点A1、B1、C1,与底面的交点A2、B2、C2,得到两个三维空间中的剖切面A1A2C2C1和A1A2B2B1(图5)。

第三,根据网格顶点的数值,通过插值方法计算出A1、B1、C1、A2、B2、C2各点的数值,再由数值颜色转换算法确定各点的颜色。

第四,填充剖切面。

第五,重复以上过程,处理所有的网格。

(4)空间变换

从三维空间中不同的视点、角度观察地质模型,在鼠标的控制下实时地进行三维旋转、移动、缩放等操作。

五、水平井段设计

设计水平井段所使用的图形通过上面叙述的图形显示方法而获得。由于计算机屏幕是二维平面,将地质模型三维数据体可视化后,只能显示从某个角度观察到的地质模型视图,为了将图形中某个点转换成代表实际位置的数据(大地坐标、深度),设计水平井段的轨迹时采用了两类图形:一是平面图,在平面图上确定水平井段在平面的轨迹,即水平井段在平面上的投影;二是垂直剖面图,以平面轨迹作为剖切线对地质模型进行剖切,显示垂直剖面图,在垂直剖面图上人机交互设计水平井段各靶点的位置。

1.设计区域筛选

根据不同类型油藏水平井设计的筛选标准,确定地质模型的每个网格节点是否符合筛选条件,将不符合筛选条件的网格节点与符合条件的网格节点区分开来。在设计水平井段时,能够直观地看到哪些地方适合设计水平井段,哪些地方不适合设计水平井段。

筛选条件包括有效厚度、流动系数、孔隙度、渗透率、饱和度等参数,在软件中定义了初始数值,并能根据实际情况改变这些筛选条件的定义数值。

2.平面设计

在显示的平面图上,根据构造高低、厚度大小、有效厚度、饱和度及井网控制情况等条件,设计水平井段的轨迹。

3.剖面设计

用平面设计优化好的轨迹作为剖切线,显示垂直剖面图。人机交互地确定每个靶点在剖面上的位置。由剖切线数据和靶点在剖面图上的位置,计算出每个靶点的实际位置(大地坐标、深度),也就是计算靶点在三维图形中三维空间坐标(x、y、z)。

4.选取水平井段长度

在平面图或剖面图设计了水平井段轨迹后,其长度可能不是最终的设计长度。该项功能是在轨迹上选取指定的水平井段长度。选取长度的起始计算位置有从轨迹的起点计算、终点计算、或从轨迹的中点向两边计算三种方式。

5.修改靶点

图6所示的软件界面显示了每个靶点的大地坐标、深度、距目的层顶部及油水界面距离等数据。

选择不同的靶点位置修改方式,包括深度、水平井段长度、距目的层顶部距离、距油水界面距离等。用任意一种方式对靶点修改后,重新计算靶点的有关数据,并显示靶点数据和水平井段轨迹。

可以改变靶点所在层号,改变后自动计算靶点的深度、距目的层顶部及油水界面距离等数据。

6.轨迹优化

对设计的水平井段进行旋转、平移等操作,计算水平井段在不同位置所对应的井区流动系数、孔隙度、渗透率、油饱和度、地质储量、可采储量等数据,参考这些数据选出最佳位置。

图6 修改靶点软件界面图

7.设计参数输出

按照水平井地质设计标准,输出水平井各靶点的大地坐标、深度、距目的层顶部距离、油水界面距离和水平井段长度,以及该水平井井区流动系数、孔隙度、渗透率、油饱和度、地质储量、可采储量等数据项。

8.水平井段轨迹加载

直接输入水平井段的坐标、深度或从文件读取水平井段的数据后,将水平井段轨迹加载到地质模型中,对加载后的水平井段的操作与在模型中设计的水平井段的操作完全一致。由于可能存在加载的水平井段坐标系统与地质模型的坐标系统不一致的情况,需要对加载的水平井段坐标进行校正。①选择一口参考井;②输入参考井在被加载的水平井段坐标系统中的坐标数据;③在软件中,根据参考井在地质模型中的坐标和输入的坐标导出计算公式,计算被加载的水平井段在地质模型坐标系统中的坐标数据。

六、结论

水平井地质设计软件的开发环境为Windows98、VC++6.0、OpenGL[2,4,5],运行环境为Windows98/2000/NT。采用标准的Windows界面,操作灵活、使用简单、易于推广普及。

水平井地质设计软件将传统设计方式实现了软件化,采用计算机可视化技术,使设计方式直观、设计结果准确度高。

提供了数据建模、图形建模、数据接口建模三种建立地质模型的方法,可根据实际情况选择合适的方法。

在软件中能够灵活、方便地使用有关数据库中的数据,如井位数据、小层数据、动态生产数据,具有丰富的图形显示功能和人机交互设计功能。

主要参考文献

[1]L A Treinish.Visualization of Scattered Meteorological Data.IEEE Computer Graphics&Applications.1995,15(7):20~164

[2]Microsoft.MSDN.OpenGL

[3]明光春.油藏数值模拟结果的三维图形显示.计算机工程与应用,1999,35(4).

[4]白燕斌,史惠康.OpenGL三维图形库编程指南.北京:机械工业出版社,1998.

[5]石教英,蔡文立.科学计算可视化算法与系统.北京:科学出版社,1996.

温馨提示:答案为网友推荐,仅供参考
相似回答