大型油藏数值模拟软件并行化中若干关键问题研究--- 王春雨.docVIP

大型油藏数值模拟软件并行化中若干关键问题研究--- 王春雨.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大型油藏数值模拟软件并行化中若干关键问题研究--- 王春雨

大型油藏数值模拟软件并行化中若干关键问题的研究 中科院软件所并行中心 王春雨 油藏模拟是当前石油工业领域中分析地下油藏复杂流体流动所普遍采用的工具之一,工程师们经常利用油藏数值模拟技术来了解和研究整个油气田的开采开发动态,进而科学地选择合理的开发方案。 经过几十年来计算机、计算数学和油藏工程科学的不断发展,油藏数值模拟方法得到不断的改进和广泛的应用,已经成为油田开采方案设计、调整的不可缺少的工具。同时也为各种提高油田采收率措施的应用提供参考。PRIS系统是一个功能强大的,适用范围很广的油藏数值模拟软件 ,它可以处理组分、多介质的油藏模型,适合于我国绝大多数油田的实际应用,但PRIS原系统是一个串行软件,随着油田的开发,石油部门对油藏数值模拟的要求越来越高,模拟规模越来越大(百万节点以上),历史拟合的时间越来越长(40年)。PRIS原系统运行时间太长、内存需求太大,已经远远不能适应这种实际需求了。因此只有PRIS原系统的程序代码并行化,并且对其中的大数组进行分割,才能将PRIS系统移植到廉价的分布式并行环境(如微机机群)中去,同时还要在保证较好的并行效率(较高的加速比)的前提下,就可以使PRIS系统多进程高效并化地进行大规模的油藏数值模拟。 在本节将主要讨论PRIS系统的并行化中的几个关键问题。 图1 PRIS系统的的主要流程 PRIS原串行系统简介 PRIS原串行系统(SIMBEST II)是一个可以处理多组分、多介质、复杂地质构造的油藏数值模拟软件,由美国某公司于七十年代开始出来的。整个软件由初始化部分和模拟部分组成,其中初始化部分主要是读取数据卡,形成静态初始化数据文件,为模拟部分的程序运行作准备,而模拟部分是整个软件功能的主体部分,全部软件由十三万行程序(Fortran)构成,结构复杂。PRIS系统的基本框图如图1所示。 PRIS系统的理论模型 油藏的类型根据地下油层中所包含的物质成份的不同,可以划分成很多种,与之相应的便有很多种物理模型,如水模型、黑油模型、惰性气体模型、挥发油模型等等,其中以黑油模型最具代表性,应用也最广泛。 下面以黑油模型为例。所谓黑油模型即油藏中包含油、气、水三相,其中气溶于油,其流动方程为: l分别为o(油)、g(气)、w(水)。 为井流动项(源的强度),其中为井底流压。 井的约束方程: 其它的约束条件: 上述流动方程组总体上是非线性抛物型方程组的初边值问题,对于饱和态来说,是一阶双曲型方程组。 其中未知数是:油的压力Po,水的饱和度Sw,另外的一个未知数是Sg或Rs。当有气存在的情况下,为三相状态,此时油处于饱和状态,Sg是未知数;否则,为两相状态,此时Sg为0,Rs(Ps)为未知数。 在空间上利用二阶精度的差分算子,在时间上利用一阶逼近格式离散化微分方程,非线性求解部分采用牛顿迭代,线性方程组求解采用Krylov子空间方法。 数组的划分 Y Nx X 图2.2 对于大规模的油藏数值模拟(100万节点以上),PRIS系统对内存的需求非常大。主要是由于PRIS系统中的全局场(LBMAX)的数组很多。对于百万节点的问题,LBMAX=106,如果A(LBMAX)双精度数组的开设所占内存空间,我们称之为一片场,那麽PRIS系统正常模拟运行时将需要三百多片场。由此可见PRIS系统的内存开销主要是用于开设大数组。若将PRIS系统移植到分布式并行机上(分布式内存),则必须要限制大数组的开设。因此,根据处理器的个数和分布情况,相应的把大数组分割成若干块小数组,以适应分布式内存的大小,就是并行化工作中首先要考虑的问题。 全局数组的划分方案应根据处理器的排列方式来确定。本文有关处理器的排列均采用二维排列,即平面排列。并且其排列方式遵循以下原则: 设处理器个数为P,对P进行整数分解:,(如图2.2) 由于处理器的平面排列,相应的全局数组也应采用二维分割。 LBMAX = LXMAX * LYMAX * LZMAX 其LXMAX,LYMAX,LZMAX分别为x,y,z三个方面上的网格点数。 将LXMAX等分为Nx部分(Nx为x方向处理器个数) 将LYMAX等分为Ny部分(Ny为y方向处理器个数) 对于Z方向不进行划分。 因此, 由此可见,串行中的一个全局场划分到并行中的局部场,其对内存的占用降为原来的1/ P(P为处理器数)。对于大规模问题,采用几十个甚至上百个CPU的并行处理时,对局部内存开销的减少是十分可观的。 对z方向上的网格点不进行划分的一个主要原因是大多数油田中的大多数油井均为垂直井(即z方向)。对z方向不进行划分主要是保证一口井上的节点均位于同一个处理器中,进而可以减少消息通讯,提高并行效率,同时还可以简化井处理,这一

您可能关注的文档

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档