CN101443767B - 使用基于动态组成的可扩展面向对象体系结构仿真物理系统中的流体流动的方法、系统和程序存储设备 - Google Patents
使用基于动态组成的可扩展面向对象体系结构仿真物理系统中的流体流动的方法、系统和程序存储设备 Download PDFInfo
- Publication number
- CN101443767B CN101443767B CN200580046218XA CN200580046218A CN101443767B CN 101443767 B CN101443767 B CN 101443767B CN 200580046218X A CN200580046218X A CN 200580046218XA CN 200580046218 A CN200580046218 A CN 200580046218A CN 101443767 B CN101443767 B CN 101443767B
- Authority
- CN
- China
- Prior art keywords
- subsystem
- model
- package
- class
- fluid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/08—Fluids
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Fluid Mechanics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
一种使用基于组成的可扩展面向对象程序仿真物理系统中的流体流动的方法、系统以及包含指令的程序存储设备。一种计算机程序包括:(i)提供图表程序包、计算程序包和属性程序包的框架子系统;(ii)包括执行数值仿真的引擎子系统程序包的引擎子系统,引擎子系统程序包包括线性求解程序包和非线性求解程序包;以及(iii)提供由引擎子系统使用的物理和数值模拟行为的一组模型组件,该模型组件包括油层模型、井模型、蓄水层模型、流体模型和SCAL模型中至少一个。框架子系统、引擎子系统和模型组件彼此合作以仿真流体流动。优选地,划分程序包用来创建节点和边索引的子集的分区,其可以用来优化程序的计算。
Description
背景技术
碳水化合物勘探和开采依赖于油层模拟的复杂方法。油层模型可以用来理解地质状况和流体流动,或者预测使用多种开采机制的未来产量。通用油层仿真器用来将地质、岩石物理、流体和井模型描述与控制质量转移的物理定律结合以支持油层分析和预测。关于油层仿真背后的原理的一本不错的初级读物是Aziz,K.和Settari,A.,Petroleum Reservoir Simulation(油层仿真),Elsevier应用科学出版社,London(1979)。由Khalid Aziz和Antonin Settari再版,Blitz印刷有限公司,Calgary,Alberta(2002)。
油层模型的仿真需要控制随着时间过去质量和能量守恒的方程的求解。仿真的过程涉及求解离散时间间隔的方程以监控油层属性的变化。方程包括来自岩石物理和流体模型的转移、相行和反应关系。油层属性的空间变化需要方程以与网格几何形状和拓朴结构相对应的方式空间离散化。时间相关项需要时间离散化以监控遍及油层的网格节点位置的质量或能量累积。选择空间离散化方法以保证网格属性非均质性的准确表示。
经典的节点中心有限差分法常用于具有连续几何形状和缓和变化的渗透率的油层。有限差分的变体用于与高度非均质的渗透率场相关联的网格。复杂的地质和流体描述可以导致具有上百万方程和未知量的方程系统。稳定的拟牛顿迭代法用来求解非线性系统并且需要有效的方法建立并求解线性系统。可以使用自适应隐式法通过减少隐式变量的数目从而减小线性系统的大小来增加牛顿迭代的计算效率。Young,L.C.和Russell,T.F.:“Implementation of An AdaptiveImplicit Method(自适应隐式法的实现)”,SPE论文25245,SPE油层仿真讨论会上提出,New Orleans,1993。设计隐式和显式节点的选择以最小化隐式节点的数目同时保证最大的稳定时间步长大小。Cao,H.和Aziz,K.:“Performance of IMPSAT and IMPSAT-AIMModels in compositional simulation(组成仿真中IMPSAT和IMPSAT-AIM模型的性能)”,SPE论文77720,SPE ATCE上提出,San Antonio,2002。当代油层仿真体系结构典型地具有至少10年的寿命。结果,广泛使用的许多仿真器在最初针对结构化网格和标量体系结构的石油工程、软件工程和计算技术方面具有它们的根源。软件和硬件技术、并行计算、高级网格和现代软件工程技术的进展已经产生新的机会。同时,发展涉及复杂地质模型、增强的岩石和流体属性模型、大的全场仿真、近井研究、生产和设备优化以及随机模拟的工作流程已经对油层仿真技术提出新的需求。
用于油层仿真器的开发的传统语言,例如FORTRAN具有有限的数据模拟能力并且集中于遵循一组预定义程序来求解问题。更现代的程序设计语言例如C++通过先进的数据类型系统提供复杂的数据模拟,并且不局限于根据程序分解问题。另外,C++支持面向对象的范例,这允许集成具有广泛不同的行为、数据模型和性能需求的许多组件的程序开发,同时提供代码重用、可维护性和可扩展性的机制。这些要素对于下一代油层仿真器的成功是关键性的。
虽然面向对象的设计相当一段时间已经成为软件开发的主要产品,但是它到科学程序设计的应用由认识到的运行时间多形性的低效率而略微阻碍。但是,近年来,与C++标准完全兼容的编译器的出现已经利用商业实践的一般程序设计技术。一般程序设计提供封装和代码重用的好处而没有虚拟函数调用的开销。Austern,M.H.:Generic Programming and the STL-Using and Extending the C++Standard Template Library(一般程序设计和STL-使用并扩展C++标准模板库),专业计算系列,Addison-Wesley,1999。Alexandrescu,A.:Modern C++Design:Generic Programming andDesign Patterns Applied(现代C++设计:一般程序设计和应用的设计模式),Addison-Wesley,2001。使用C++的面向对象的一般程序设计技术已经显示在科学和数值应用的开发中是有用的。Barton,J.和Nackman,L.:Scientific and Engineering C+″(科学和工程C+″),Addison-Wesley,1994。
用于科学计算的大规模面向对象框架已经在许多环境中开发。Henderson,M.,Anderson,C.和Lyons,S.(eds):“Objectoriented methods of interoperable scientific and engineeringcomputation(可互操作的科学和工程计算的面向对象方法)”,工业和应用数学学会,1999。并行性已经例如在POOMA项目中解决。Oddham,J.,“Scientific Computing Using POOMA(使用POOMA的科学计算)”C++用户手册,2002年11月。流动仿真的面向对象体系结构已经在其他行业中开发。Langtangen,H.P.:Computational Partial Differential Equations,Numerical Methodsand Diffpack Programming(计算偏微分方程,数值方法和Diffpack程序设计),计算科学和工程的演讲稿,Springer-Verlag,1999。这些技术已经由学术界内的几个专业人员应用于油层仿真器。Verma,S.和Aziz,K.,“FLEX:an Object-Oriented Reservoir simulator(FLEX:一种面向对象的油层仿真器)”,SPE论文36007,石油计算机会议上提出,Dallas,1996。Verma,S.:“Flexible Grids forReservoir Simulation(油层仿真的灵活网格)”,博士论文,石油工程系,斯坦福大学,1996。Byer,T.J.,Edwards,M.G.和Aziz,K.:“A Preconditioned Adaptive Implicit Method for Reservoirs withSurface Facilities(使用地面设备的油层预处理自适应隐式法)”,SPE论文51895,SPE油层仿真讨论会上提出,Houston,1999。Nogaret,C.,“Implementation of an Network-based Approach in anObject-Oriented Reservoir Simulator(面向对象油层仿真中基于网络的方法的实现)”,理学硕士论文,石油工程系,斯坦福大学,1996。Parashar,M.,Wheeler,A.,Pope,G.,Wang,K.,Wang,P.:“A New Generation EOS Compositional ReservoirSimulator:Part II-Framework and Multiprocessing(新一代EOS组成油层仿真器:第二部分-框架和多处理)”,SPE论文37977,油层仿真讨论会上提出,Dallas,1997。同样,这些技术已经在行业中应用。Beckner,B.L.,Hutfilz,J.M.,Ray,M.B.和Tomich,J.F.,“EMpower:New Reservoir Simulation System(EMpower:新的油层仿真系统)”,论文68116,SPE中东石油展览上提出,Bahrain,2001。
因为发明了新的软件开发技术,采用这些技术的体系结构首先因多种原因受苦是常见的。虽然C++语言提供对于面向对象范例的完全支持,与多年研究和实验结合的许多概念和技术的深刻理解对于成功地设计油层仿真体系结构是必需的。继承性的错用,通常与代码重用和可扩展性相关的技术,经常导致不必要的复杂度和代码的低重用率,而增加程序需求。
在传统科学程序设计语言例如FORTRAN中,类型系统仅支持基本的类型,例如字符、整数、双精度型和基本类型的数组。C++类型系统提供创建称作类的用户定义类型的能力。可以设计类以包含数据以及在数据上操作的方法。类定义一种类型的结构。对象是类的实例,其包含数据并且通过语言的组成和继承特征与其他对象交互。
类之间的继承基于基类和派生类之间的“是一种”关系。图1显示管流网络程序中框架模拟设备类型的继承的简单实例。三角形符号代表从基类到派生类的继承。网络类的派生类包括Pipe、Valve和Pump。这些派生类继承基类NetworkDevice的特征。当派生类从基类继承时,继承所有的函数和数据成员,虽然它们可能并不都可以由派生类访问。代码重用通过基类的设计实现,它定义可以由派生类访问的数据和方法。另外,可以允许派生类覆盖基类方法以扩展对象的行为。这意味着设计以与NetworkDevice类交互的类层次可以支持新的派生类的添加而无需修改。
虽然“是一种”关系提供分类的简单规则并且导致类层次的快速发展,随着程序的功能需求扩展,对于继承的严重依赖可以导致难以重用或扩展的复杂层次。例如,通用管流网络程序要求设备可以连接到彼此并且计算网络压降。但是,确定设备之间的压降需要设备类型的具体知识。图2显示如何使用继承定义类层次,其中假设连接类具有对NetworkDevice对象集合的访问。连接类根据连接的设备的类型标记。遍历DeviceConnection对象的有序集合以计算系统压降而不需要连接类型的具体知识。现在假设需要计算系统温度变化,并且一些设备可以使用近似或精确方法计算温度。更新的类层次在图3中显示,其中特定类根据连接设备的类型和计算温度的方法APM(近似的)或GRM(精确的)标记。修改体系结构使得基类和派生类包含另外的计算方法(delta_temp())并且另外的派生类对于支持计算温度的两种方法的那些设备而实现。
该实例强调基于继承的类层次的几个问题。首先,DeviceConnection的派生类组合连接类型和计算类型的概念。例如,一种类型的连接是“PipeToPipe”设备连接。该类型的连接与计算类型(APM和RGM标签)组合。作为派生类中物理类型和计算类型的这些概念的组合结果,产生不利的复杂度。新的设备和计算类型的添加将导致DeviceConnection派生类数目的组合增长并且导致过度复杂的体系结构。这可以通过限制设备和计算类型的数目来避免,但是那么体系结构不能认为是可扩展的。
此外,虽然使用相同的类结构添加新的设备和计算类型,DeviceConnection体系结构不是可扩展而无需修改。直接在定义设备连接性的层次(也就是类PiPeToPiPe定义两个管道设备之间的连接)中包括系统行为方法例如压力和温度变化(也就是delta_pres()和delta_temp()方法)的决定因添加新的行为而导致对DeviceConnection基类的修改,并且导致可能单一的基类。
基于继承的体系结构的使用在先前的油层仿真器体系结构例如上述Nogaret和Verma的程序中发现。该体系结构使用包括油层单元到油层单元、油层单元到井单元或者井单元到网络设备的变体的特定连接类。因为代码的研究特性,商业仿真器所需的计算选项例如自适应隐式的提供没有包括在类层次中,从而限制特定连接类的数目。
Watts等人的美国专利6,928,399号利用基于继承的体系结构对于油层仿真的使用。讲授CellGroup和ConnGroup,它们是由Nogaret和Verma讲授的概念的推广。作为实例,描述ConnGroup类层次并且它依赖于特定类组合多个概念的继承,类似于上面图3中的实例层次。在该特定情况下,连接组类根据模型类型(3种变体Well、Reservoir和Facility)和解类型(3种变体-IMPES-IMPES、完全-隐式-完全隐式和IMPES-完全隐式)标记。这提供3×3或9种连接组类型的组合可能。当添加新的模型类型例如双空隙度系统的蓄水层或特定油层模型时,连同另外的解类型例如IMPSAT-完全-隐式、IMPSAT-IMPSAT、IMPSAT-IMPES一起,应当理解ConnGroup特殊化的组合增长使用基于继承的体系结构是可能的。
存在对于基于包含结构化和非结构化网格的统一处理的适当体系结构的并行可伸缩油层仿真程序的需求,其克服与基于继承的体系结构相关的限制和问题。本发明提供对上述缺点的解决方法。
发明内容
本发明提供一种使用基于组成的可扩展面向对象程序仿真物理系统中的流体流动的方法、系统以及包含指令的程序存储设备。该系统可以实现该方法。计算机介质承载用于执行该方法的计算机可实现的指令。
该方法包括访问基于组成的可扩展面向对象程序。该程序包括:(i)提供图表程序包、计算程序包和属性程序包的框架子系统;(ii)包括执行数值仿真的引擎子系统程序包的引擎子系统,引擎子系统程序包包括线性求解程序包和非线性求解程序包;以及(iii)提供由引擎子系统使用的物理和数值模拟行为的一组模型组件,该模型组件包括油层模型、井模型、蓄水层模型、流体模型和SCAL模型中至少一个。
引擎子系统创建代表物理系统的模型对象。模型组件与框架子系统合作以创建图表对象、计算对象和属性对象。属性对象具有属性值。作为实例,但是不限制,这些可以包括相、状态、解状态、相对渗透率、密度和粘度。图表对象代表模拟物理系统的节点和边。图表对象具有用来访问存储在属性对象中的属性值并且通过模型对象定位的节点索引和边索引。计算对象通过在图表对象中的索引上迭代来计算属性对象的属性值。非线性求解程序包可以与模型程序包和线性求解程序包交互,以仿真通过物理系统的流体流动。然后运行该基于组成的可扩展面向对象程序以仿真物理系统中的流体流动。
理想地,该方法还包括提供定义属性值的共同特征的标准。框架子系统还包括划分程序包。模型组件利用划分程序包创建包含节点和边索引的子集对象的分区对象,其中每个子集对象对应于共同特征。
同样,优选地,在引擎子系统和框架子系统的至少一个与模型组件之间存在基于组成的类层次,使得至少一个模型组件可以被替换,而不需要实质上修改引擎子系统和框架子系统。
本发明的目的在于提供类,这不是组合“连接类型”和“计算类型”的概念,而是维持“连接类型”和“计算类型”之间的分离,从而最小化新的“连接类型”添加到类层次时可能发生的组合扩展。
另一个目的在于添加新的计算类(流体密度、内部能量、方程系数等)到具有基于组成的体系结构的油层仿真器,其可扩展而不需要修改整个类层次。
再一个目的在于提供基于时间步长上油层模型的变化属性动态划分节点索引的油层仿真器。
附图说明
本发明的这些和其他目的、特征和优点将关于下面的描述、未决的权利要求和附随附图变得更好理解,其中:
图1是基类NetworkDevice和通过继承从基类派生的设备类型类的流程图;
图2是显示具有计算方法(+delta_pres)的DeviceConnection基类以及连接图1的设备类型的连接类型的许多派生类的流程图;
图3是类似于图2显示DeviceConnection基类和DeviceConnection的派生类的流程图,其中另外的计算类型也就是APM或RGM已经添加到DeviceConnection,导致(a)总的派生类的组合扩展以及(b)因为添加另外的计算方法到每个DeviceConnection类而引起的每个基类和派生类的修改;
图4是说明具有可能导致类的组合增长的大量不相关函数的基类的流程图;
图5是说明面向对象类层次中组成的使用以将体系结构与组合扩展隔离的流程图;
图6是说明用来将体系结构与组合扩展隔离的组成概念的流程图;
图7是根据本发明创建的油层仿真体系结构的示意图,其利用框架子系统、模型组件和引擎子系统来仿真物理系统中的流体流动;
图8是油层单元的二维网格的示意图;
图9是基于节点和边的总体编号的油层单元的并行图表表示;
图10是包括相态指示值的油层单元的网格的示意图;
图11是包括隐式状态指示值的油层单元的网格的示意图;
图12是包括相态指示值的油层单元的网格的示意图,它们排列成索引子集的动态分区;
图13是具有NodePartition和EdgePartition的派生类以及子集索引的组成类的Partition基类的示意图;
图14是具有由索引类组成的GraphNodeCompute、PartitonedNodeCompute和PartitionedEdgeCompute的派生类的ICompute基类的示意图,其中可以容易地修改派生类而不影响上面类的体系结构;
图15是由JacobianAssembler和PropertyAssembler类组成的NonLinearIterativeSolver的流程图,其中JacobianAssembler类进一步包括许多EquationModel类可以从其中派生的IEquationModel类;
图16是使用本发明的面向对象组成的动态体系结构的油层仿真器操作的流程图;以及
图17显示Jacobian矩阵A、解向量X和剩余向量R的示意图。
具体实施方式
A.引言
本发明通过使用面向对象的组成技术作为类层次的基础,结合类体系结构的不同分解提供对在背景部分中陈述的缺点的解决方法。继承是非常紧密的耦合机制而组成仅仅是将一个类嵌入另一个类中,因此提供对于耦合度的更大控制。嵌入的类称作实现类而组成的类称作接口类。该技术经常称作句柄/本体或桥接模式。该方法促进清晰的角色特殊化和接口类的责任,将体系结构的客户程序与实现的变化隔离并且产生更简单的体系结构。基于组成的层次可以容易地支持程序行为的动态构造以对于不同油层模型优化计算类的构造。另外,通过使用避免类特殊化中概念混合的不同的类体系结构,设计类层次以最大化代码重用且最小化未来需求对于程序体系结构的影响。
B.组成类层次的概念:
图4显示广义的接口类ConceptInferface,其定义许多方法或行为,也就是+concept1_operation()、+concept2_operation()和+concept3_operation()。Concept123ImplementationA和Concept123ImplementationB从该基类派生。这些派生类的方法或行为是基类的方法或行为的特殊化。本发明的体系结构设法最小化在接口类中发现的方法或行为的数目。接口类中的大量方法或行为可以导致具有许多不相关方法而没有除了包含所有可能行为的操作之外的任何真实的责任指定的基类。类实现全部三个操作的方法,但是操作方法中一个或多个的细节不同,因此需要单独的类。例如,Concept123ImplementationB可能仅改变实现concept1_operation()的方式。如果所有概念操作都具有两种不同的实现,这将导致ConceptInterface的八种特殊化。增加概念操作的数目(也就是,添加concept4_operation()),结合每个概念操作的不同实现,可以导致类的组合增长。
图5说明具有接口的使用基于组成的体系结构而不是使用严格地基于继承的类层次的优点。ConceptCollection类显示具有数据成员“op_collection”,它可能包含类型ConceptInterface的一个或多个对象。“do_operations”方法暴露于客户程序代码。组成ImplInterface类的一般Concept1类从接口类固有地派生。ImplementationA类和ImplementationB类从ImplInterface类固有地派生,它们每个具有do-operation方法或行为。
组成实例在图5中提供。类Concept1组成类ImplInterface并且包含类型ImplInterface的数据成员“impl”,也就是它嵌入类Concept1中。Concept1类仅具有一个方法并且设计以清晰地提供特殊行为,而不是输出可能具有复杂交互的不同行为的许多方法。Concept1的实现类必须附着到由类ImplInterface定义的接口。这提供优点:(1)将Concept1的客户程序与“do_operation”方法背后的细节的变化隔离,以及(2)允许Concept1类使用ImplInterface类的不同特殊化动态地构造,如接下来将说明的。
对于类Concept1的“operation”方法的调用传递到impl的方法“do_operation”,操作在那里执行。(1)“operation”方法内部的传递具有形式“impl->do_operation”;(2)仅类Concept1与ImplInterface之间的耦合在上面传递的操作中;(3)ImplInterface类可能具有其他方法;但是在该实例中,Concept1类仅将“do_operation”方法的行为暴露给它的客户程序。ImplInterface的实现可以具有提供“do_operation”方法所需的行为的不同方法。ImplInterface通过分离暴露接口“operation”的实现细节提供Concept1类的客户程序中的稳定性。
图6显示ConceptCollection可以将暴露行为集合的类型ConceptInterface的一个或多个对象与标记“do_operation”的一个方法组成。这具有优点:(1)代码重用,例如一个客户程序可能仅需要来自Concept1和Concept2类的行为,而另一个客户程序可能需要来自全部三个Concept类的行为,以及(2)通过ConceptInterface类的新的实现支持未来的行为而不需要修改ConceptCollection、ConceptInterface或ImplInterface类。
C.基于动态组成的面向对象油层体系结构:
为了克服先前基于继承的体系结构的缺点,本发明实现优选地具有下面特征中一个或多个的体系结构:
·并行可伸缩性;
·处理大和/或复杂油层的能力;
·结构化和非结构化网格的统一处理;
·对于不同属性模型和数值解法的支持;
·可以适应未来模拟需求和求解技术的软件体系结构。
为了最大化仿真速度,非常期望仿真器能够有效地利用SPMD(单程序多数据)计算机体系结构。这些体系结构的程序设计固有地比串行程序设计更复杂。另外,油层仿真问题的并行性固有地比许多其他领域中更复杂。过去,大部分应用已经设计成串行代码,然后在它们的生命周期中随后转换到并行平台。这通常涉及相当多的重新因子分解以及次优的并行性能。当前体系结构和相关算法已经建立从开始并行运行。
本发明使用C++的面向对象和一般程序设计能力以使用计算效率的最小损失来最大化重用和可扩展性。该方法包括通过分析油层仿真的结构和功能需求而开发的体系结构并且产生模拟碳氢化合物油田的物理行为的通用程序。在结构分解中,根据具有清晰边界的松散耦合物理部分例如油层、井和蓄水层,观察油层仿真问题。在功能分解中,根据工程需求观察油层仿真以实现模拟目标例如预测产量或者研究需要特殊属性模拟的增强采油机制的置换效率。功能分解不仅与工程需求相关联,而且与数值算法的分析相关联,以提供灵活性的点或者在并行计算环境中有效地求解大问题。
图7显示体系结构如何分成子系统和组件的高级视图。子系统包含代表设计以提供特殊功能性的类集合的程序包。框架子系统负责提供在其他子系统和组件中使用的图表、属性、分区和计算程序包。引擎子系统包括求解数值仿真问题所需的程序包,例如线性求解程序和非线性求解程序。模型组件从结构和功能分析中获得并且代表真实世界的实体例如油层和流体。模型组件提供由引擎子系统使用的物理和数值模拟行为。模型组件代表灵活性的高级点,其中组件可以由包含物理属性计算的更精确数学算法或者迁移方程的更准确表示的另一个组件替换。接下来描述每个子系统的细节。
图表程序包提供ParallelGraph类以代表从物理或数值系统中产生的连接性信息。使用图表结构表示偏微分方程的解中的抽象已经变得在科学社团中普遍。Schloegel,K.,Karypis,G.和Kumar,V.:“Graph Partitioning for High Performance Scientific Simulations(高性能科学仿真的图表划分)”,CRPC并行计算手册,eds.J.Dongarra等人,Morgan Kaufmann(2000)中。典型地,连接性信息包括分布式计算环境中系统的表示,其中系统的部分存储在独立的处理器上,并且由数值算法需要的计算分配到环境中的CPU。
具有8个油层单元的简化油层在图8中显示。使用ParallelGraph对象表示油层网格单元和单元之间的连接。单元称作节点且单元之间的连接称作边。节点的编码次序和它们的连接性外部地确定,并且提供到ParallelGraph对象。编码次序值通常称作节点或边索引。对于结构化和非结构化网格,边的数目是与单元相关联的表面数目的函数。例如,在图8中显示的二维结构化油层网格中,每个节点将具有到相邻节点的至多三个边。内部地,ParallelGraph类具有定义节点和边的总数的数据成员、定义所有边的列表或者与节点相关联的所有边,连同访问节点和边索引信息的方法一起。
ParallelGraph类定义支持分布式非定向和定向图表表示的数据成员和方法。非定向图表不基于方向定义边,而定向图表为每个单元表面定义两个边。图9显示图8中油层网格的两个CPU分解的分布式非定向图表表示。ParallelGraph类定义数据成员以表示与分布式问题相关联的项中的节点和边,内部节点(图中圆圈)不连接到另一个CPU的任何节点,边界节点连接到指定到另一个CPU的节点,以及外部节点是指定到另一个CPU但是连接到当前CPU上的节点并且具有当前CPU上的表示的那些节点。外部节点通常也称作覆盖单元并且对于数值解技术可能是有用的。类似地,内部边是内部与边界节点之间的连接,边界边连接边界和外部节点,并且对于定向图表;外部边连接外部和边界节点。ParallelGraph类提供访问内部、边界和外部节点或边索引的方法并且维持局部和全局索引指定之间的映射。全局索引标记使用基于如图9中所示系统中的所有节点或边的编码系统,而局部索引标记使用仅基于与那个CPU相关联的内部、边界和外部节点或边的数目的编码系统。
另外,图表程序包提供连接与不同类型的组件例如油层和井相关联的图表的类,其中复杂化因具有表示相同单元或单元连接的不同节点或边索引的不同图表而产生。连接类定义普通节点或边的索引排序之间的映射,并且提供从另一个图表的索引值中确定与一个图表的索引排序相关联的索引值的方法。
与混合类设计中的概念的其他现有技术方法或体系结构例如物理或数值系统的连接性定义项相对比,ParallelGraph类不包含与物理或数值系统相关联的任何信息并且可以重用以表示其他系统的连接性,例如用于更准确数值流动模拟的多段井模型或复杂离散化模板。
属性程序包提供存储与ParallelGraph相关联的节点或边属性值的一般ParallelProperty类。一般类包含与标准类描述相关联的数据属性和方法,连同另外的模板参数一起。该技术允许参数取不同的值,只要维持类和类型之间的契约。ParallelProperty类放样于存储的数据类型上,例如整数、双精度型或字符串。与油层网格相关联的属性典型地需要精确表示并且存储为双精度或浮点型,而离散信息例如单元中存在的相态类型或如与油层单元相关联的隐式度使用整数型存储。ParallelProperty类使用ParallelGraph类确定需要存储的元素数目,其可能包括代表覆盖单元的值的元素。ParallelGraph包含关于当覆盖节点的值需要更新时使用的分布式图表的信息。一般类表示允许重用相同的ParallelProperty类以存储不同类型的属性,这通过减少特殊类的实例来增强代码可维护性。
框架子系统也提供划分程序包,其提供可能更适合于特定数值算法的用于构造ParallelGraph视图的类,或者外部可视化程序包。划分需要从一个或多个节点或边属性中定义特征以分类节点或边索引。属于相同分类的节点和边索引汇集于子集中。特征值并不局限于来自ParallelProperty对象的值而可以从其他属性值中计算。作为划分过程的实例,图10和11显示代表油层单元相态和隐式状态的ParallelProperty对象的值。通常使用具有相同相态和隐式状态的节点索引的知识增加算法的计算效率。Young,L.C.:“Full-FieldCompositional Modeling on Vector Processors(向量处理器上的全场组成模拟)”,SPE论文17803,SPERE,1991年2月。Chien,M.C.H.,Wasserman,M.L.,Yardumian,H.E.,Chung,E.Y.:“The Use of Vectorization and Parallel Processing for ReservoirSimulation(油层仿真的向量化和并行处理的使用)”,SPE论文16025,SPE油层仿真讨论会上提出,San Antonio,1987。Lim,K.T.,Sciozer,D.J.,Aziz,K.:“A New Approach for Residual andJacobian Array Construction in Reservoir simulators(油层仿真器中剩余和Jacobian阵列构造的新方法)”,SPE论文28248,SPE石油计算机会议上提出,1994,Dallas。图12显示如何定义组成相态和隐式状态指示符,并且它们的值如何与油层单元相关联。与共同相态和隐式状态特征相关联的所有节点索引汇集并存储在一起。图12显示包括具有节点和边索引特殊化的Partition类,以及存储索引值的Subset类的类层次。在图13中,具有连接Partition和Subset类的菱形的线指示Partition对象可能包含多于一个Subset对象。Partition对象维持特征类型和Subset对象之间的关联,并且对于该实例,Partition对象包含4个Subset对象。另外,Partition对象包含访问Subset对象和它们的特征类型的方法。Partition类不包含定义索引上下文例如节点或边的信息,并且NodePartition和EdgePartition类是Partition类如何可以重用并使用上下文特殊化的非限制性实例。类似于ParallelGraph对象,Partition对象不包含关于物理或数值系统的概念。
仿真通过多孔介质的流动的方程系统的构造需要计算岩石物理和流体属性。作为实例而不限制,这种属性可以包括饱和度或相对渗透率。具体的属性和计算方法取决于油层类型和仿真目标。支持许多类型的属性计算的需求具有导致紧密耦合程序的可能,其中属性计算的变化需要遍及程序的代码修改。本发明使用面向对象的组成技术以将属性计算的接口与实现分离。组成具有额外优点,即当与面向对象的策略模式组合时,可以组合属性计算以提供更复杂的行为。Gamma,E.,Helm,R.,Johnson,R.和Vlissides,J:“DesignPattern:Elements of Reusable Object-Oriented software(设计模式:可重用面向对象软件的元素)”,Addison-Wesley,1994。
图14显示由框架子系统的计算程序包定义的典型计算接口。ICompute类是不具有由类实现的方法的纯虚拟接口。它具有定义提供接口本体的方法的主要责任。接口类定义由实现接口的对象执行的契约。除了用于构造计算类的其他方法之外,ICompute类定义包括ParallelGraph输入参数的计算方法。计算程序包提供用于接口和边属性计算的ICompute接口的特殊化的GraphNodeCompute、PartitionedNodeCompute和PartitionedEdgeCompute实现;特殊化并不局限于关于接口或边的计算。GraphNodeCompute提供计算方法的具体实现并且也包含INodeComputeImpl类型的标记“TheImpl”的数据成员。GraphNodeCompute的计算方法获取图表对象并且使用关于图表对象的方法以获得图表中第一和最后节点的索引值,然后调用TheImpl的“calculate”方法,作为参数传递索引值。图14显示对于由FluidModel和SCALModel组件提供的流体密度和孔隙容积计算,INodeComputeImpl类特殊化的非限制性实例。
GraphNodeCompute类是面向对象组成的实例,其中一个类组成另一个以实现期望的行为。INodeComputeImpl接口的改变不传播到GraphNodeCompute类之外,从而保证使用ICompute接口的客户程序代码的稳定性。接口的实现执行与系统的ParallelGraph表示相关联的计算;但是每个可能具有不同的数据需求和计算复杂度。
为了增加某些属性计算方法的计算效率,基于可能随着时间变化的图表的划分组织计算是有益的。计算程序包提供ICompute接口的基于动态组成的类特殊化以满足该需求。例如,在可能包含油、水和气相的油层中,相态流体密度的计算应当针对仅包含该相态的那些单元。计算程序包提供满足该需求的ICompute接口的PartitionedNodeCompute实现;边的其他特殊化也可用。PartitionedNodeCompute对象包含每个与特定相态特征相关联的INodeComputeImpl对象的集合。当调用PartitionedNodeCompute对象的“compute”方法时,访问NodePartition(参看划分程序包)对象。NodePartition包含索引的子集,每个子集包含具有共同特征,在该实例中相态的所有单元的索引。对于分区中的每个子集,与特征相关联的INodeComputeImpl对象位于其中,并且使用相关子集的节点索引调用INodeComputeImpl对象的计算方法,从而避免不必要的计算。
引擎子系统定义将模型组件集成到油层仿真程序中所需的接口并且提供对求解非线性偏微分方程的需求公共的程序包。NonLinearSolver程序包包含NonLinearIterativeSolver、PropertyAssembler和JacobianAssembler类并且也定义由组件例如油层和井实现的IEquationModel接口,如图15中所示。PropertyAssembler包含在非线性求解过程的不同阶段执行以保证正确的物理属性值根据需要获得的ICompute对象的列表。JacobianAssembler负责集合Jacobian矩阵和剩余向量。
NonLinearIterativeSolver对象使用牛顿方法的变体求解非线性系统。图16是代表使用牛顿方法的仿真程序的流程图并且用来强调模型组件与引擎子系统的交互的类型。油层仿真领域的技术人员将熟悉那些步骤,从而将不详细讨论步骤。当仿真程序开始时执行步骤1并且允许组件使用各个引擎对象注册实现。例如如图15中所示,JacobianAssembler包含IEquationModel对象的集合,油层、井和蓄水层组件使用JacobianAssembler注册IEquationModel接口的实现。类似地,组件使用PropertyAssembler类注册从组件例如FluidModel或SCALModel获得的ICompute对象,以保证物理属性可用于构造迁移方程系数。
一旦组件注册完成,构造并行图表(步骤2),并不局限于油层或井网格,并且这些图表根据模拟的迁移过程的需求连接在一起。步骤3涉及指定与图表相关联的属性。代表物理系统的模型在步骤4中随着时间仿真。图17显示在步骤5的过程中由JacobianAssembler对象产生的典型Jacobian矩阵。矩阵A包含9个子矩阵,Arr代表来自与线性化油层迁移方程相关联的项的系数,而Arw代表从油层井耦合产生的项,以及类似地Ara代表油层蓄水层耦合。IEquationModel类定义由JacobianAssembler使用的接口从而收集块矩阵元素以集合到全矩阵中。JacobianAssembler使用来自ParallelGraph对象的连接信息更新子矩阵例如Arw,其中油层迁移方程可以包括连接到油层的井的项。
IEquationModel实现抽象集合来自JacobianAssembler的子矩阵元素所需的计算,使用计算有效的实现提供灵活性例如替换可能因增强的有效性检查而变慢的原型设计实现的能力。由ReservoirModel组件提供的IEquationModel实现ReservoirEquationModel使用单元连接性的并行图表表示,连同由划分程序包提供的类一起构造Jacobian子矩阵Arr。类似于先前对于与属性计算一起使用的相态划分显示的概念,相态和解状态划分用来增加迁移方程系数计算的效率。由节点的组合相态和隐式状态定义的分区特征用来产生边索引的子集。例如,在可能包含油(O)、水(W)和气体(G)相态的系统中,其中节点的线性系统未知量可能包括IMPLICIT、IMPES或IMPSAT变量集,创建EdgePartition对象(图13),其中特征定义为具有相同相态和隐式状态、不同相态但是相同隐式状态或者不同相态和隐式状态的连接节点的边。ReservoirEquationModel对象使用包含ReservoirMassFluxImpl对象的PartitionedEdgeCompute对象,每个对应于特定边特征值。虽然可能存在与特征类型的所有可能组合相对应的许多实例,仅一个ReservoirMassFluxImpl类是必需的。类的实例使用特征类型的知识创建并且指定以对于特征类型的所有组合重用并且可以容易地扩展以适应另外的相态和隐式类型。步骤5-9显示随后直到满足收敛标准的迭代。
虽然在前述说明书中,已经关于某些优选实施方案描述了本发明,并且许多细节已经为了说明而陈述,但是本领域技术人员应当明白,本发明容易更改并且这里描述的某些其他细节可以相当大地变化而不背离本发明的基本原理。
Claims (15)
1.一种使用基于组成的可扩展面向对象体系结构对物理系统中的流体流动进行仿真的方法,该方法包括步骤:
(a)访问基于组成的可扩展面向对象体系结构,该基于组成的可扩展面向对象体系结构包括:
(i)包含图表程序包、计算程序包和属性程序包的框架子系统,其中图表程序包表示油层网格单元和单元之间的连接;
(ii)包括执行数值仿真的一个或多个引擎子系统程序包的引擎子系统,所述引擎子系统程序包包括线性求解程序包和非线性求解程序包;以及
(iii)提供由引擎子系统使用的物理和数值模拟行为的一个或多个模型组件,该一个或多个模型组件包括油层模型、井模型、蓄水层模型、流体模型和SCAL模型中的至少一个;
其中所述一个或多个模型组件具有与所述框架子系统和引擎子系统中的至少一个子系统的基于组成的类层次;
其中所述引擎子系统创建代表所述物理系统的一个或多个模型对象;
其中所述一个或多个模型组件与框架子系统合作以创建图表对象、计算对象、以及属性对象;
其中所述属性对象具有属性值;
其中所述图表对象代表模拟所述物理系统的一个或多个节点和一个或多个边,所述图表对象具有被用来访问存储在所述属性对象中的属性值并且通过模型对象定位的节点索引和边索引;
其中所述计算对象通过在由所述图表对象代表的每个所述节点的至少一个索引上以及每个所述边的至少一个索引上进行迭代来计算属性对象的属性值;以及
其中所述非线性求解程序包与一个或多个模型组件并且与线性求解程序包进行交互,以对通过所述物理系统的流体流动进行仿真;以及
(b)利用计算机运行以基于组成的可扩展面向对象体系结构为基础的程序以对所述物理系统中的流体流动进行仿真。
2.根据权利要求1的方法,还包括:
提供用于定义属性值的共同特征的标准;其中所述框架子系统还包括划分程序包;其中所述模型组件利用该划分程序包创建包含节点索引和边索引的子集对象的分区对象;并且其中每个子集对象对应于共同特征。
3.根据权利要求2的方法,其中:
所述共同特征包括AIM-流态、流体相态、流体相态-流体区域类型、SCAL区域、SCAL区域-流体相态以及相态-AIM状态到相态-AIM状态中的至少一个。
4.根据权利要求2的方法,其中:
所述计算对象通过在每个子集对象中的索引上进行迭代并且应用对于与该子集对象相关联的共同特征特定的算法来计算属性对象的属性值。
5.根据权利要求2的方法,其中:
所述分区对象在程序随着时间执行的过程中被动态地更新,以适应因所述物理系统中的流体流动而变化的属性值,使得有效地计算随后属性值。
6.根据权利要求2的方法,其中:
在引擎子系统和框架子系统中的至少一个子系统与一个或多个模型组件之间的基于组成的类层次使得一个或多个模型组件可以被替换,而不需要修改引擎子系统和框架子系统的至少一个类层次。
7.根据权利要求1的方法,其中:
在引擎子系统和框架子系统中的至少一个子系统与一个或多个模型组件之间的基于组成的类层次使得所述一个或多个模型组件可以被替换,而不需要修改引擎子系统和框架子系统的至少一个类层次。
8.根据权利要求1的方法,其中:
所述物理系统包括含有碳氢化合物的地下油层。
9.根据权利要求1的方法,其中:
所述图表对象可以代表与井、油层流体流动或能量流中的一个相关联的连接性。
10.根据权利要求1的方法,其中:
所述图表程序包独立于关于物理或数值系统的概念。
11.根据权利要求1的方法,其中:
所述程序并行地运行在多个中央处理单元(CPU)上。
12.根据权利要求1的方法,其中:
所述图表程序包是并行图表程序包。
13.一种使用基于组成的可扩展面向对象体系结构对物理系统中的流体流动进行仿真的系统,该系统包括:
(a)用于访问基于组成的可扩展面向对象体系结构的装置,所述基于组成的可扩展面向对象体系结构包括:
(i)包含图表程序包、计算程序包和属性程序包的框架子系统,其中图表程序包表示油层网格单元和单元之间的连接;
(ii)包括执行数值仿真的一个或多个引擎子系统程序包的引擎子系统,所述引擎子系统程序包包括线性求解程序包和非线性求解程序包;以及
(iii)提供由所述引擎子系统使用的物理和数值模拟行为的一个或多个模型组件,所述一个或多个模型组件包括油层模型、井模型、蓄水层模型、流体模型和SCAL模型中的至少一个;
其中所述一个或多个模型组件具有与所述框架子系统和引擎子系统中的至少一个子系统的基于组成的类层次;
其中所述引擎子系统创建代表所述物理系统的一个或多个模型对象;
其中所述一个或多个模型组件与框架子系统合作以创建图表对象、计算对象、以及属性对象;
其中所述属性对象具有属性值;
其中所述图表对象代表模拟所述物理系统的一个或多个边和一个或多个节点,所述图表对象具有被用来访问存储在属性对象中的属性值并且通过模型对象定位的节点索引和边索引;
其中所述计算对象通过在由所述图表对象代表的每个所述节点的至少一个索引上以及每个所述边的至少一个索引上进行迭代来计算属性对象的属性值;以及
其中所述非线性求解程序包与一个或多个模型组件并且与线性求解程序包进行交互,以对通过所述物理系统的流体流动进行仿真;以及
(b)用于利用计算机运行以基于组成的可扩展面向对象体系结构为基础的程序以对所述物理系统中的流体流动进行仿真的装置。
14.根据权利要求13的系统,其中所述系统还包括:
用于提供用于定义属性值的共同特征的标准的装置;
其中所述框架子系统还包括划分程序包;其中模型组件利用该划分程序包创建包含节点索引和边索引的子集对象的分区对象;并且其中每个子集对象对应于共同特征。
15.根据权利要求13的系统,其中:
在引擎子系统和框架子系统中的至少一个子系统与一个或多个模型组件之间的基于组成的类层次使得一个或多个模型组件可以被替换,而不需要修改引擎子系统和框架子系统的至少一个类层次。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63166104P | 2004-11-29 | 2004-11-29 | |
US60/631,661 | 2004-11-29 | ||
PCT/US2005/043158 WO2006058336A2 (en) | 2004-11-29 | 2005-11-29 | Object oriented fluid flow simulation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101443767A CN101443767A (zh) | 2009-05-27 |
CN101443767B true CN101443767B (zh) | 2013-09-04 |
Family
ID=36498632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580046218XA Expired - Fee Related CN101443767B (zh) | 2004-11-29 | 2005-11-29 | 使用基于动态组成的可扩展面向对象体系结构仿真物理系统中的流体流动的方法、系统和程序存储设备 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7617082B2 (zh) |
EP (1) | EP1836624A4 (zh) |
CN (1) | CN101443767B (zh) |
AU (1) | AU2005309398B2 (zh) |
CA (1) | CA2598955C (zh) |
EA (1) | EA200701169A2 (zh) |
NO (1) | NO20073341L (zh) |
WO (1) | WO2006058336A2 (zh) |
Families Citing this family (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8561008B2 (en) * | 2005-03-10 | 2013-10-15 | Siemens Aktiengesellschaft | Presentation of hierarchical software structures |
WO2007035545A2 (en) * | 2005-09-15 | 2007-03-29 | Invixa, Llc | Apparatus, method and system for building software by composition |
US7660711B2 (en) * | 2006-04-28 | 2010-02-09 | Saudi Arabian Oil Company | Automated event monitoring system for online reservoir simulation |
US20070279429A1 (en) * | 2006-06-02 | 2007-12-06 | Leonhard Ganzer | System and method for rendering graphics |
CA2614669C (en) * | 2007-05-03 | 2008-12-30 | Imperial Oil Resources Limited | An improved process for recovering solvent from asphaltene containing tailings resulting from a separation process |
CA2592725C (en) * | 2007-06-26 | 2009-04-14 | Imperial Oil Resources Limited | A method for cleaning fouled vessels in the paraffinic froth treatment process |
FR2918179B1 (fr) * | 2007-06-29 | 2009-10-09 | Inst Francais Du Petrole | Methode pour estimer la permeabilite d'un reseau de fractures a partir d'une analyse de connectivite |
CA2594205C (en) * | 2007-07-20 | 2009-11-24 | Imperial Oil Resources Limited | Use of a fluorocarbon polymer as a surface of a vessel or conduit used in a paraffinic froth treatment process for reducing fouling |
CA2595336C (en) * | 2007-07-31 | 2009-09-15 | Imperial Oil Resources Limited | Reducing foulant carry-over or build-up in a paraffinic froth treatment process |
CA2702965C (en) | 2007-12-13 | 2014-04-01 | Exxonmobil Upstream Research Company | Parallel adaptive data partitioning on a reservoir simulation using an unstructured grid |
WO2009079123A1 (en) | 2007-12-18 | 2009-06-25 | Exxonmobil Upstream Research Company | Determining connectivity architecture in 2-d and 3-d heterogeneous data |
CA2705340C (en) | 2007-12-21 | 2016-09-27 | Exxonmobil Upstream Research Company | Method and apparatus for analyzing three-dimensional data |
US9074454B2 (en) * | 2008-01-15 | 2015-07-07 | Schlumberger Technology Corporation | Dynamic reservoir engineering |
US8437997B2 (en) | 2008-01-22 | 2013-05-07 | Exxonmobil Upstream Research Company | Dynamic connectivity analysis |
US20090200210A1 (en) * | 2008-02-11 | 2009-08-13 | Hommema Scott E | Method Of Removing Solids From Bitumen Froth |
AU2009223731B2 (en) | 2008-03-10 | 2013-09-05 | Exxonmobil Upstream Research Company | Method for determing distinct alternative paths between two object sets in 2-D and 3-D heterogeneous data |
CA2716809C (en) * | 2008-03-20 | 2014-04-08 | Exxonmobil Upstream Research Company | Enhancing emulsion stability |
AU2009244721B2 (en) | 2008-05-05 | 2013-09-26 | Exxonmobile Upstream Research Company | Systems and methods for connectivity analysis using functional obejects |
US8560969B2 (en) * | 2008-06-26 | 2013-10-15 | Landmark Graphics Corporation | Systems and methods for imaging operations data in a three-dimensional image |
US8252170B2 (en) | 2008-06-27 | 2012-08-28 | Exxonmobil Upstream Research Company | Optimizing feed mixer performance in a paraffinic froth treatment process |
US8280709B2 (en) | 2008-10-03 | 2012-10-02 | Schlumberger Technology Corporation | Fully coupled simulation for fluid flow and geomechanical properties in oilfield simulation operations |
EP2359304B1 (en) | 2008-11-14 | 2020-04-01 | Exxonmobil Upstream Research Company | Forming a model of a subsurface region |
BRPI0923011B1 (pt) | 2008-12-18 | 2019-10-22 | Exxonmobil Upstream Res Co | método para gerar modelo de uma corrente de turvação em um fluido |
US8352228B2 (en) * | 2008-12-23 | 2013-01-08 | Exxonmobil Upstream Research Company | Method for predicting petroleum expulsion |
US9552462B2 (en) * | 2008-12-23 | 2017-01-24 | Exxonmobil Upstream Research Company | Method for predicting composition of petroleum |
CA2754695C (en) | 2009-03-11 | 2016-11-01 | Exxonmobil Upstream Research Company | Adjoint-based conditioning of process-based geologic models |
WO2010104536A1 (en) | 2009-03-11 | 2010-09-16 | Exxonmobil Upstream Research Company | Gradient-based workflows for conditioning of process-based geologic models |
AU2009341850A1 (en) | 2009-03-13 | 2011-09-29 | Exxonmobil Upstream Research Company | Method for predicting fluid flow |
CA2754736C (en) | 2009-04-20 | 2016-11-01 | Exxonmobil Upstream Research Company | Method for predicting fluid flow |
US20120203521A1 (en) * | 2009-05-18 | 2012-08-09 | Serguei Chmakov | Method, appartus and system for improved groundwater modeling |
CA2672004C (en) | 2009-07-14 | 2012-03-27 | Imperial Oil Resources Limited | Feed delivery system for a solid-liquid separation vessel |
WO2011043862A1 (en) | 2009-10-07 | 2011-04-14 | Exxonmobil Upstream Research Company | Discretized physics-based models and simulations of subterranean regions, and methods for creating and using the same |
AU2010308495A1 (en) | 2009-10-20 | 2012-05-10 | Exxonmobil Upstream Research Company | Method for quantitatively assessing connectivity for well pairs at varying frequencies |
CA2771865C (en) | 2009-10-23 | 2016-04-05 | Exxonmobil Upstream Research Company | Method for optimization with gradient information |
WO2011066021A1 (en) | 2009-11-30 | 2011-06-03 | Exxonmobil Upstream Research Company | Adaptive newton's method for reservoir simulation |
WO2011071651A1 (en) | 2009-12-07 | 2011-06-16 | Exxonmobil Upstream Research Company | Solvent surveillance in solvent-based heavy oil recovery processes |
EP2534605B1 (en) * | 2010-02-12 | 2020-06-17 | Exxonmobil Upstream Research Company | Method and system for partitioning parallel simulation models |
CN102870087B (zh) | 2010-04-30 | 2016-11-09 | 埃克森美孚上游研究公司 | 流体有限体积仿真的方法和系统 |
US8463586B2 (en) | 2010-06-22 | 2013-06-11 | Saudi Arabian Oil Company | Machine, program product, and computer-implemented method to simulate reservoirs as 2.5D unstructured grids |
BR112012032060A2 (pt) | 2010-06-29 | 2016-11-08 | Exxonmobil Upstream Res Co | método e sistema para modelos de simulação paralela. |
WO2012015518A2 (en) | 2010-07-29 | 2012-02-02 | Exxonmobil Upstream Research Company | Methods and systems for machine-learning based simulation of flow |
CA2803066A1 (en) | 2010-07-29 | 2012-02-02 | Exxonmobil Upstream Research Company | Methods and systems for machine-learning based simulation of flow |
US9058445B2 (en) | 2010-07-29 | 2015-06-16 | Exxonmobil Upstream Research Company | Method and system for reservoir modeling |
US8386227B2 (en) | 2010-09-07 | 2013-02-26 | Saudi Arabian Oil Company | Machine, computer program product and method to generate unstructured grids and carry out parallel reservoir simulation |
US8433551B2 (en) | 2010-11-29 | 2013-04-30 | Saudi Arabian Oil Company | Machine, computer program product and method to carry out parallel reservoir simulation |
US9058446B2 (en) | 2010-09-20 | 2015-06-16 | Exxonmobil Upstream Research Company | Flexible and adaptive formulations for complex reservoir simulations |
CA2714842C (en) | 2010-09-22 | 2012-05-29 | Imperial Oil Resources Limited | Controlling bitumen quality in solvent-assisted bitumen extraction |
US9626466B2 (en) | 2010-11-23 | 2017-04-18 | Exxonmobil Upstream Research Company | Variable discretization method for flow simulation on complex geological models |
US10113400B2 (en) | 2011-02-09 | 2018-10-30 | Saudi Arabian Oil Company | Sequential fully implicit well model with tridiagonal matrix structure for reservoir simulation |
US10175386B2 (en) | 2011-02-09 | 2019-01-08 | Saudi Arabian Oil Company | Sequential fully implicit well model with tridiagonal matrix structure for reservoir simulation |
US9164191B2 (en) | 2011-02-09 | 2015-10-20 | Saudi Arabian Oil Company | Sequential fully implicit well model for reservoir simulation |
US10534871B2 (en) * | 2011-03-09 | 2020-01-14 | Schlumberger Technology Corporation | Method and systems for reservoir modeling, evaluation and simulation |
CA2734811C (en) | 2011-03-29 | 2012-11-20 | Imperial Oil Resources Limited | Feedwell system for a separation vessel |
US9068910B2 (en) | 2011-04-14 | 2015-06-30 | Exxonmobil Upstream Research Company | Method for preparing petroleum based samples for analysis of elemental and isotopic species |
US9146652B1 (en) * | 2011-08-31 | 2015-09-29 | Comsol Ab | System and method for creating user interfaces in a multiphysics modeling system |
US9003383B2 (en) * | 2011-09-15 | 2015-04-07 | You Know Solutions, LLC | Analytic engine to parallelize serial code |
BR112014005794A2 (pt) | 2011-09-15 | 2017-03-28 | Exxonmobil Upstream Res Co | operações matriciais e vetoriais otimizadas em algoritmos de instrução limitada que executam cálculos de equação de estado |
BR112014007819B1 (pt) | 2011-11-11 | 2021-03-02 | Exxonmobil Upstream Research Company | método para produzir hidrocarbonetos |
RU2014123689A (ru) | 2011-11-11 | 2015-12-20 | Эксонмобил Апстрим Рисерч Компани | Способ определения местоположения, размера и состава флюидов подземной углеводородной залежи |
US9261869B2 (en) * | 2012-02-13 | 2016-02-16 | Emerson Process Management Power & Water Solutions, Inc. | Hybrid sequential and simultaneous process simulation system |
WO2013148021A1 (en) | 2012-03-28 | 2013-10-03 | Exxonmobil Upstream Research Company | Method for mutiphase flow upscaling |
WO2014051904A1 (en) | 2012-09-26 | 2014-04-03 | Exxonmobil Upstream Research Company | Conditional process-aided multiple-points statistics modeling |
US10036829B2 (en) | 2012-09-28 | 2018-07-31 | Exxonmobil Upstream Research Company | Fault removal in geological models |
CA2937226C (en) | 2014-03-07 | 2020-04-21 | Exxonmobil Upstream Research Company | Exploration method and system for detection of hydrocarbons from the water column |
BR112016018454A2 (pt) * | 2014-03-12 | 2018-06-26 | Landmark Graphics Corp | método e sistema de simulação de produção de fluido, e, meio de armazenamento legível por computador. |
US10319143B2 (en) | 2014-07-30 | 2019-06-11 | Exxonmobil Upstream Research Company | Volumetric grid generation in a domain with heterogeneous material properties |
WO2016069171A1 (en) | 2014-10-31 | 2016-05-06 | Exxonmobil Upstream Research Company | Handling domain discontinuity in a subsurface grid model with the help of grid optimization techniques |
CA2963092C (en) | 2014-10-31 | 2021-07-06 | Exxonmobil Upstream Research Company | Methods to handle discontinuity in constructing design space for faulted subsurface model using moving least squares |
US10789750B2 (en) | 2015-08-27 | 2020-09-29 | Samsung Electronics Co., Ltd. | Modeling method and apparatus using fluid animation graph |
US10571605B2 (en) | 2016-03-28 | 2020-02-25 | Exxonmobil Upstream Research Company | Method and system for modeling and simulating a fractured reservoir |
US10846447B2 (en) | 2016-04-29 | 2020-11-24 | Exxonmobil Upstream Research Company | Method and system for stacking fracture prediction |
US10572611B2 (en) | 2016-04-29 | 2020-02-25 | Exxonmobil Upstream Research Company | Method and system for characterizing fractures in a subsurface region |
US10712472B2 (en) | 2016-04-29 | 2020-07-14 | Exxonmobil Upstresm Research Company | Method and system for forming and using a subsurface model in hydrocarbon operations |
HUE064459T2 (hu) | 2016-12-23 | 2024-03-28 | Exxonmobil Technology & Engineering Company | Eljárás és rendszer stabil és hatékony tározó szimulációhoz stabilitási proxyk alkalmazásával |
US10913901B2 (en) | 2017-09-12 | 2021-02-09 | Saudi Arabian Oil Company | Integrated process for mesophase pitch and petrochemical production |
CN112360411B (zh) * | 2020-11-30 | 2022-02-01 | 河海大学 | 基于图神经网络的局部井网注水开发优化方法 |
US12009660B1 (en) | 2023-07-11 | 2024-06-11 | T-Mobile Usa, Inc. | Predicting space, power, and cooling capacity of a facility to optimize energy usage |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1483181A (zh) * | 2000-12-29 | 2004-03-17 | ����ɭ���������о���˾ | 面向对象的烃储集层系统模拟 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4210964A (en) * | 1978-01-17 | 1980-07-01 | Shell Oil Company | Dynamic visual display of reservoir simulator results |
US5684723A (en) * | 1987-11-16 | 1997-11-04 | Fujitsu Limited | Device simulation method and device simulator |
US5202981A (en) * | 1989-10-23 | 1993-04-13 | International Business Machines Corporation | Process and apparatus for manipulating a boundless data stream in an object oriented programming system |
US5307445A (en) * | 1991-12-02 | 1994-04-26 | International Business Machines Corporation | Query optimization by type lattices in object-oriented logic programs and deductive databases |
US5794005A (en) * | 1992-01-21 | 1998-08-11 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Synchronous parallel emulation and discrete event simulation system with self-contained simulation objects and active event objects |
US5361385A (en) * | 1992-08-26 | 1994-11-01 | Reuven Bakalash | Parallel computing system for volumetric modeling, data processing and visualization |
US5913051A (en) * | 1992-10-09 | 1999-06-15 | Texas Instruments Incorporated | Method of simultaneous simulation of a complex system comprised of objects having structure state and parameter information |
WO1995003586A1 (en) * | 1993-07-21 | 1995-02-02 | Persistence Software, Inc. | Method and apparatus for generation of code for mapping relational data to objects |
US5428744A (en) * | 1993-08-30 | 1995-06-27 | Taligent, Inc. | Object-oriented system for building a graphic image on a display |
WO1996022574A1 (en) * | 1995-01-20 | 1996-07-25 | The Board Of Trustees Of The Leland Stanford Junior University | System and method for simulating operation of biochemical systems |
US5710726A (en) * | 1995-10-10 | 1998-01-20 | Atlantic Richfield Company | Semi-compositional simulation of hydrocarbon reservoirs |
US5875285A (en) * | 1996-11-22 | 1999-02-23 | Chang; Hou-Mei Henry | Object-oriented data mining and decision making system |
US5905657A (en) * | 1996-12-19 | 1999-05-18 | Schlumberger Technology Corporation | Performing geoscience interpretation with simulated data |
US6128577A (en) * | 1996-12-19 | 2000-10-03 | Schlumberger Technology Corporation | Modeling geological structures and properties |
US6018497A (en) * | 1997-02-27 | 2000-01-25 | Geoquest | Method and apparatus for generating more accurate earth formation grid cell property information for use by a simulator to display more accurate simulation results of the formation near a wellbore |
US6052650A (en) * | 1997-02-27 | 2000-04-18 | Schlumberger Technology Corporation | Enforcing consistency in geoscience models |
US5923867A (en) * | 1997-07-31 | 1999-07-13 | Adaptec, Inc. | Object oriented simulation modeling |
US5953239A (en) * | 1997-12-29 | 1999-09-14 | Exa Corporation | Computer simulation of physical processes |
US6052520A (en) * | 1998-02-10 | 2000-04-18 | Exxon Production Research Company | Process for predicting behavior of a subterranean formation |
US6662146B1 (en) * | 1998-11-25 | 2003-12-09 | Landmark Graphics Corporation | Methods for performing reservoir simulation |
US6108608A (en) * | 1998-12-18 | 2000-08-22 | Exxonmobil Upstream Research Company | Method of estimating properties of a multi-component fluid using pseudocomponents |
US6373489B1 (en) * | 1999-01-12 | 2002-04-16 | Schlumberger Technology Corporation | Scalable visualization for interactive geometry modeling |
US6928399B1 (en) * | 1999-12-03 | 2005-08-09 | Exxonmobil Upstream Research Company | Method and program for simulating a physical system using object-oriented programming |
US7277836B2 (en) * | 2000-12-29 | 2007-10-02 | Exxonmobil Upstream Research Company | Computer system and method having a facility network architecture |
-
2005
- 2005-11-29 AU AU2005309398A patent/AU2005309398B2/en not_active Ceased
- 2005-11-29 EP EP05848884A patent/EP1836624A4/en not_active Withdrawn
- 2005-11-29 EA EA200701169A patent/EA200701169A2/ru unknown
- 2005-11-29 US US11/290,995 patent/US7617082B2/en active Active
- 2005-11-29 CN CN200580046218XA patent/CN101443767B/zh not_active Expired - Fee Related
- 2005-11-29 WO PCT/US2005/043158 patent/WO2006058336A2/en active Application Filing
- 2005-11-29 CA CA2598955A patent/CA2598955C/en active Active
-
2007
- 2007-06-28 NO NO20073341A patent/NO20073341L/no not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1483181A (zh) * | 2000-12-29 | 2004-03-17 | ����ɭ���������о���˾ | 面向对象的烃储集层系统模拟 |
Non-Patent Citations (2)
Title |
---|
VanderHeyden et al,.CartaBlanca - a pure-Java, component-based systems simulation tool for coupled nonlinear physics on unstructured grids – an update.Concurrency and Computation: Practice and Experience.2003,435-456. |
VanderHeyden et al,.CartaBlanca- a pure-Java, component-based systems simulation tool for coupled nonlinear physics on unstructured grids – an update.Concurrency and Computation: Practice and Experience.2003,435-456. * |
Also Published As
Publication number | Publication date |
---|---|
EA200701169A2 (ru) | 2008-08-29 |
CA2598955C (en) | 2014-10-14 |
CN101443767A (zh) | 2009-05-27 |
US7617082B2 (en) | 2009-11-10 |
EP1836624A2 (en) | 2007-09-26 |
WO2006058336A2 (en) | 2006-06-01 |
CA2598955A1 (en) | 2006-06-01 |
US20060282243A1 (en) | 2006-12-14 |
NO20073341L (no) | 2007-08-17 |
AU2005309398B2 (en) | 2012-01-12 |
WO2006058336A3 (en) | 2009-04-16 |
EP1836624A4 (en) | 2010-12-22 |
AU2005309398A1 (en) | 2006-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101443767B (zh) | 使用基于动态组成的可扩展面向对象体系结构仿真物理系统中的流体流动的方法、系统和程序存储设备 | |
Hobley et al. | Creative computing with Landlab: an open-source toolkit for building, coupling, and exploring two-dimensional numerical models of Earth-surface dynamics | |
EP1358619B1 (en) | Object-oriented hydrocarbon reservoir system simulation | |
DeBaun et al. | An extensible architecture for next generation scalable parallel reservoir simulation | |
Coon et al. | Managing complexity in simulations of land surface and near-surface processes | |
Matthäi et al. | Numerical simulation of multi-phase fluid flow in structurally complex reservoirs | |
US7277836B2 (en) | Computer system and method having a facility network architecture | |
Lee et al. | Multiphysics computational modeling in CHeart | |
CN107849910A (zh) | 储层仿真中的并行求解或全耦合全隐式井眼建模 | |
Beckner et al. | EMpower: new reservoir simulation system | |
Refice et al. | SIGNUM: A Matlab, TIN-based landscape evolution model | |
CN104115035A (zh) | 在巨型储层中的多孔介质仿真中大规模线性系统的多级求解 | |
Yang et al. | A fully implicit constraint-preserving simulator for the black oil model of petroleum reservoirs | |
Belgacem et al. | Distributed multiscale computations using the MAPPER framework | |
Daversin-Catty et al. | Abstractions and automated algorithms for mixed domain finite element methods | |
Leaf et al. | Modflow-setup: Robust automation of groundwater model construction | |
Rao | A parallel RMA2 model for simulating large-scale free surface flows | |
CN116882218B (zh) | 一种油藏数值模拟方法、装置、计算机设备及存储介质 | |
Alfredsen et al. | An object-oriented application framework for building water resource information and planning tools applied to the design of a flood analysis system | |
Szyndel et al. | Implementing A Hardware Agnostic Commercial Black-oil Reservoir Simulator | |
Alfredsen | An object-oriented framework for application development and integration in hydroinformatics | |
Slooten et al. | An XML based problem solving environment for hydrological problems | |
de Moraes et al. | Computing derivative information of sequentially coupled subsurface models | |
Alfredsen et al. | An object-oriented framework for water resource planning | |
Maxwell et al. | Spatial simulation using the SME |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130904 Termination date: 20151129 |
|
EXPY | Termination of patent right or utility model |