- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用油藏软件设计.doc
实用油藏软件设计
在油田的二次开发及多元部署中,剩余油研究是工作的核心。这需要通过搞清开发过程中井网、井距、生产层、井别的变化以分析油水运动规律。这就需要将变化情况按时间以图形方式体现出来,便于分析。目前,大型软件操作较为复杂,而且由于有时本身会自带数据管理系统,需要进行额外的数据整理,有时需要另存有备份文件;而较小的软件功能并不十分完善。大量的井数据和井别变动数据的整理需要花费工作人员很多精力和时间,而实用油藏软件通过较为简捷的处理,提高了工作效率。
1 程序设计1.1 流程设计
基本思路为,通过读取常用格式文件或数据库获得数据,采用J2EE技术进行开发。通过对业务流程与数据流程的详细分析,制定 本软件的程序流程图,如图1。
1.2 结构设计
1.2.1?程序结构设计
通过对需求进行分析,本软件共设计数据读取模块,处理模块,图形绘制模块及保存模块四个模块。
1.2.2?数据结构设计
就分析设计层面来说,面向对象技术提供了更高级的抽象能力以及更多的方法和工具,如设计模式;就实现维护层面来说,面向对象技术使代码重用更容易,且使代码具有可扩展性,便于软件的维护和升级更新。
因此,针对井的属性特点和用户需求,采用面向对象的设计思路,将“井”作为一个基本对象,存储生产数据和属性数据,封装绘制和计算方法。如图2所示。
2 数据获取
本软件支持Excel文件和SqlServer数据库两种不同形式的数据源,在应用中用户可根据实际情况随意指令。
2.1 Excel文件
Jxl.jar是通过java操作excle表格的类库。他支持目前的所有excel版本,所具有的功能均能很好的满足当前的需要。将jxl.jar放入classpath或放入指定的External JARs即可使用。
使用语句如下:
Workbook wb = Workbook.getWorkbook(new File(filename));
S h e e t s h e e t = w b . g e t S h e e t(sheetname);
Cell cell1=sheet.getCell(0,0);
通过读取Workbook,到读取sheet,最终得到各个单元格的数据。
为兼容文件中数据的无序性,本软件采用了以下步骤进行数据读取:
(1)建立二级生产数据集合,一级为存放整体数据,二级为存放单井数据
(2)建立生产属性类,比较井名加入二级集合,当井名不同后,将二级集合加入一级集合,依次循环2.2 SqlServer数据库
本软件通过J D B C数据接口连接到SQLServer数据库,建立一个数据库连接对象,利用此连接生产Statement对象,再利用此对象执行SQL语句,完成对数据库的查找和更新[1]。主要执行语句如下:
sqlConn = baseDataS.ConSqlServer(sqlConn,ip,user,passwd);
st = sqlConn.createStatement();
rs1 = st.executeQuery(sql语句 );rs1.next();
rs1.getString(“条件”);
利用SQL语句比较容易实现数据的排序和分类,只需在语句中给定排序条件和分组
3 数据处理3.1 井轨迹计算
斜度、大斜度井和水平井是目前油田开发的主要井型,在钻井实施过程中,要使实际轨迹完全符合设计是不可能的,因此有必要进行井斜的计算,以满足工程和地质对井眼轨道控制要求。通过对测量数据进行计算,可得到井的垂深及各测量深度的偏移量。
实钻轨迹计算的基本方法是:计算出各测段的坐标增量,然后从井口开始自上而下依次累加,得到各测点的坐标值。
程序中采用了其中较为常见的五种计算井轨迹的算法进行编写,包括平均角法、校正平均角法、曲率半径法和国内外最小曲率法的算法。具体算法参见《井眼轨道几何学》及《钻井工程理论与技术》中提供的十种计算方法。3.2 层位计算
由于井斜的存在,斜井在各个层位的具体位置都不相同,这直接关系到井间距离,和井的构造位置。因此在绘图时必须考虑到目的层的井位。取到分层数据后,通过线性方法计算分层深度所对应的斜深和方位角、井斜角,再通过井轨迹的计算方法计算相应垂深,绘图时,标在目标位置。
公式如下
pointY =(y2-y1)*(x-x1)/(x2-x1)
+y1 (式1)
其中,x是
文档评论(0)