Eclipse油藏数值模拟软件动态文件的自动生成方法

点赞:5518 浏览:14649 近期更新时间:2024-01-11 作者:网友分享原创网站原创

【摘 要 】数值模拟是一种有效的实用技术,数据准备和输入是最重要的一个环节.本文按照数值模拟的原理针对地区油藏数据的特点,本文按照数值模拟的原理针,针对地区油藏数据的特点探讨了Eclipse和VIP油藏数模研究思路和配套技术,提并编译了一套整理油藏数模动态文件数据的软件及方法.

【关 键 词 】Eclipse 数值模拟 动态文件 自动生成

在数值模拟工作整个流程中,数据的准备是一个耗时耗力的工作.面对大量的数据,常规的手工录入不仅速度慢,准确性也难以保证.Visual Basic是应用广泛的软件开发环境,有方便的操作excel文件的对象库,在处理大量数据方面有着快速和准确的优越性,将该语言引入Eclipse和VIP两种数模软件动态文件的自动化生成中,是代工整理的一种有效途径.

1.数据准备

软件需要准备的数据包括:小层数据、油水井的生产数据以及数模模拟层和分层的对应表,表1为油井格式,水井数据与之类似,前8列为必须有的数据列.其中油水井数据和小层数据可直接从油田的A2生产数据库中下载,无需改动格式.

2.原理及算法

Eclipse软件的动态数据包括井事件文件(ev),井生产数据文件(vol),射孔关键字是“perforation”,VIP则包含在一个R.DAT文件里,射孔关键字为“fperf”.两个软件的格式关键字虽不同,但用到的基本数据都一致,主要包括井名、年月、月产油、月产水、月产气、月注水、生产天数七列数据,可以通过循环遍历油水数据表的标题行来寻找,用PRINT语句输出,主要代码如下:

Case "井号"

k 等于 0

For i 等于 1 To shtoil.Range("A65536").

End(xlUp).Row 1 ‘总行数

k 等于 k + 1

prodata(k).wellname 等于 Replace(arryoil(i,j)," ","")prodata(k).symbol 等于 1 Next i

Eclipse油藏数值模拟软件动态文件的自动生成方法参考属性评定
有关论文范文主题研究: 关于数据的论文范文文献 大学生适用: 高校毕业论文、大学毕业论文
相关参考文献下载数量: 21 写作解决问题: 学术论文怎么写
毕业论文开题报告: 论文提纲、论文结论 职称论文适用: 刊物发表、职称评中级
所属大学生专业类别: 学术论文怎么写 论文题目推荐度: 优质选题

程序通过自动判断原始输入数据中的生产层号的变化和备注中“压裂”,“酸化”等关 键 词 来实现补换层、压裂等井事件的整理,结合小层数据表计算对应的生产模拟层位(见图1),下面代码将油水井的生产层号转化成对应的模拟层号:

For n 等于 1 To lyrlen

If cw(m) 等于 lyr(n).truth Then

cwstr 等于 “L” & Replace(lyr(n). sim,“ “,“”)

Exit For

将以上VB编制的软件中输出得到的动态软件输入至Eclipse2006和VIP2003上使用,输出结果准确、生成时间短.以大港某油田ZV油组的实际生产数据为例,油水井总井数79口,excel中生产数据共10816行,油水井对应分层数据1255行,程序输出Eclipse格式的文件用时156.81秒,实现了动态文件的自动快速生成,将相关文件加载进eclipse的schedule模块(见图2所示),加载结果正确可靠.

4.结论及建议

(1)应用Visual Basic编写程序,实现Eclipse和VIP动态文件的自动生成,方便快捷,大大提高了数值模拟工作的效率.

(2)Visual Basic有方便的操作excel文件的对象库,如果有权限连接油田上游数据库可实现数据的无缝对接.

(3)井事件文件的整理依赖于上游生产数据尤其是生产层号和小层数据的准确性,运行前对基础数据的检查尤为重要.