CN105849717A - 灵活块ilu因式分解 - Google Patents

灵活块ilu因式分解 Download PDF

Info

Publication number
CN105849717A
CN105849717A CN201480070853.0A CN201480070853A CN105849717A CN 105849717 A CN105849717 A CN 105849717A CN 201480070853 A CN201480070853 A CN 201480070853A CN 105849717 A CN105849717 A CN 105849717A
Authority
CN
China
Prior art keywords
matrix
index
factorization
unit
virtual link
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.)
Pending
Application number
CN201480070853.0A
Other languages
English (en)
Inventor
王清华
格雷厄姆·克里斯托弗·弗莱明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Landmark Graphics Corp
Original Assignee
Landmark Graphics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Landmark Graphics Corp filed Critical Landmark Graphics Corp
Publication of CN105849717A publication Critical patent/CN105849717A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V2210/00Details of seismic processing or analysis
    • G01V2210/60Analysis
    • G01V2210/62Physical property of subsurface
    • G01V2210/624Reservoir parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Complex Calculations (AREA)
  • Debugging And Monitoring (AREA)
  • Adjustable Resistors (AREA)

Abstract

用于灵活块ILU因式分解的系统和方法,所述灵活块ILU因式分解将支持具有可变大小的稀疏块。

Description

灵活块ILU因式分解
相关申请的交叉引用
不适用。
关于联邦资助研究的声明
不适用。
技术领域
本发明总体上涉及用于灵活块ILU因式分解的系统和方法。更具体来说,本发明涉及将支持具有可变大小的稀疏块的灵活块ILU因式分解。
背景技术
许多类型的物理过程(包括石油储层内的流体流动)是受偏微分方程控制。通常使用有限差、有限体积或有限元方法来求解这些可能非常复杂的偏微分方程。所有这些方法将物理模型划分为被称为网格块、单元格(cell)或元素的单元。在这些物理单元中的每一个中,根据一个或多个求解变量或未知量来得出解。与每一物理单元相关联的是一组控制这些未知量的特性的方程,其中方程的数量等于未知量的数量。这些方程还含有来自相邻物理单元的未知量。
因此,方程存在着一种结构,其中针对给定物理单元的方程含有来自所述物理单元和来自它的相邻物理单元的未知量。最适宜地是使用节点与连接的组合来描绘这种结构,其中节点由小圆圈来描绘,而连接是由两个节点之间的线来描绘。节点处的方程含有所述节点处的未知量和连接到所述节点的相邻节点处的未知量。
所有节点处的方程被集合成单一矩阵方程。通常,获得偏微分方程的所需解的关键任务是求解这个矩阵方程。完成这个任务的最有效方式之一是通过使用不完全LU因式分解或ILU,其中原始矩阵被近似分解为两个矩阵L和U的乘积。矩阵L和U为下三角矩阵和上三角矩阵而且分别具有与原始矩阵的下部和上部类似的非零结构。使用这种分解,通过正向代入和反向代入来迭代地获得解。
已证明块不完全LU分解(BILU)求解器是求解由偏微分方程的离散化得到的线性系统的有效方法。在大多数线性系统中,系数矩阵具有作为元(entry)的稠密块子矩阵。然而,在用于石油/天然气开采地面设施的应用中,那些块子矩阵是稀疏的。可通过将伪零项添加至块中将块子矩阵当作稠密矩阵,但是当块较大并稀疏时,这可能导致太多的伪元。例如,在具有20种烃组分的组成模型中,这种具有伪元的处理可能取决于液压方程、地面网络配置、有效约束设置和一些其他因素而使矩阵大小增加10倍。除此之外,一些区域中的节点处的方程数量可能不同于其他区域中的节点处的方程数量,并且所得的块大小将从区域到区域变化。因此,具有刚性块结构的常规BILU不是用于地面网络的合理选择。
如图1A和1B所示,简单的开采地面网络通常具有树状结构(图1A),并且在一些情况下包括表示例如再注入的一个或多个回路(图1B)。控制方程是节点上的质量守恒方程、连接上的液压方程、穿孔连接上的穿孔方程和节点或连接上的约束设置。主要变量是具有两组辅助变量的节点上的压力P和组分组成xi,有效连接上的总质量流率qT和穿孔连接上的组分流率qfi。但是,辅助变量在集合雅可比矩阵(Jacobian matrix)时被消去,并且最终系数矩阵仅包括具有主要变量P和xi的质量平衡方程,其中i=1,…,nc-1,并且nc是组分的总数。主要变量被连续标记在每一节点上,因此每一节点如下具有由压力和组成所组成的未知向量v:所得系数矩阵在图2中示出,所述系数矩阵拥有块结构,其中块之间的连接模式表示图1B的开采地面网络中的节点之间的具有一些虚拟连接的物理连接。系数矩阵的发生率不是对称的。图2中的元[x]的每一行表示质量平衡方程,并且每一块行表示与图1B的相应物理节点相关的三个质量平衡方程的簇。因为在图1B中存在七个物理节点,所以在图2中存在七个块行。每一元[x]具有系数值并且还通过质量平衡方程表示物理节点之间的连接。总流率的消去可能将填入元(fill-in)引入如图2所示的系数矩阵中。因为填入元不存在于原始开采地面网络连接中,所以填入元被称为虚拟连接。例如,在连接1-3和3-5上的总流率消除之后,尽管无物理连接存在于图1中的节点5与节点1之间,在图2中存在一种从节点5至节点1的虚拟连接方式,其对应于系数矩阵中的第15行。
在给定图2所示的系数矩阵的情况下,可应用稀疏直接求解器,但由于非常多的填入元,特别是针对由具有复杂配置和约束设置的大型地面网络得到的矩阵的情况,所述稀疏直接求解器的计算和存储成本很高。明显的替代方法是ILU类型迭代求解器,并且其性能可使用分块方法来提高。然而,对于开采地面网络方程来说,难以划分矩阵来获得具有稠密块或近似稠密块的块结构。
附图说明
下文参考附图来描述本公开,其中相同元件引用相同参考数字,并且其中:
图1A是示出简单开采地面网络的示意显示。
图1B是示出具有另外再注入回路的图1A的开采地面网络的示意显示。
图2是示出控制图1B的开采地面网络中的流体流动的线性化偏微分方程的表示的系数矩阵。
图3A是示出用于实现本公开的方法的一个实施方案的流程图。
图3B是图3A所示的流程图的连续图。
图3C是图3B所示的流程图的连续图。
图3D是图3C所示的流程图的连续图。
图3E是图3D所示的流程图的连续图。
图4A是示出块之间的连接模式的邻接矩阵,所述块表示图1B的开采地面网络中的节点之间的物理连接和虚拟连接。
图4B是图4A中的邻接矩阵,其示出在重排在图4A中表示的所有节点之后通过符号因式分解确定的填入模式。
图5是column_index(顶部)和first_in_row索引(底部),其示出图4B中以CSR格式存储的连接。
图6是示出图3中的步骤318-324的row_in_block行索引。
图7是示出用于实现本公开的计算机系统的一个实施方案的方框图。
图8是双向链表的实例,其示出头部H、尾部T、前一个索引(P)、后一个索引(N)、元的列索引(C)和系数值(V)。
具体实施方式
本公开通过提供用于灵活块ILU因式分解的系统和方法而克服现有技术中的一个或多个缺陷,所述灵活块ILU因式分解将支持具有可变大小的稀疏块。
在一个实施方案中,本公开包括用于灵活块ILU因式分解的方法,其包括:i)使用系数矩阵中的每一物理连接和每一虚拟连接以及用于系数矩阵的块数据来定义表示开采地面网络中的多个物理节点的邻接矩阵,所述邻接矩阵包括多个块;ii)重排邻接矩阵中的每一物理节点;iii)进行符号因式分解来确定用于重排邻接矩阵的填入模式,其中每一填入元被定位成以下各项中的一个:i)重排邻接矩阵中的块中的一个的内部和ii)重排邻接矩阵中的块的外部;以及iv)使用来自填入模式的每一填入元和计算机处理器在系数矩阵上进行数值ILU因式分解,其中位于块中的一个中的每一填入元被保持并且位于块的外部的每一填入元被丢弃。
在另一实施方案中,本公开包括有形地携带用于灵活块ILU因式分解的计算机可执行指令的非暂态程序载体装置,所述指令可执行来实现:i)使用系数矩阵中的每一物理连接和每一虚拟连接以及用于系数矩阵的块数据来定义表示开采地面网络中的多个物理节点的邻接矩阵,所述邻接矩阵包括多个块;ii)重排邻接矩阵中的每一物理节点;iii)进行符号因式分解来确定用于重排邻接矩阵的填入模式,其中每一填入元被定位成以下各项中的一个:i)重排邻接矩阵中的块中的一个的内部和ii)重排邻接矩阵中的块的外部;以及iv)使用来自填入模式的每一填入元在系数矩阵上进行数值ILU因式分解,其中位于块中的一个中的每一填入元被保持并且位于块的外部的每一填入元被丢弃。
在另一实施方案中,本公开包括有形地携带用于灵活块ILU因式分解的计算机可执行指令的非暂态程序载体装置,所述指令可执行来实现:i)使用系数矩阵中的每一物理连接和每一虚拟连接以及用于系数矩阵的块数据来定义表示开采地面网络中的多个物理节点的邻接矩阵,所述邻接矩阵包括多个块;ii)重排邻接矩阵中的每一物理节点;iii)进行符号因式分解来确定用于重排邻接矩阵的填入模式,其中每一填入元表示物理连接和虚拟连接中的一个并且被定位成以下各项中的一个:i)重排邻接矩阵中的块中的一个的内部和ii)重排邻接矩阵中的块的外部;以及iv)使用来自填入模式的每一填入元在系数矩阵上进行数值ILU因式分解,其中位于块中的一个中的每一填入元被保持并且位于块的外部的每一填入元被丢弃。
特定地描述了本公开的主题,然而,描述本身并不意图限制本公开的范围。因此所述主题也可用其他方式体现,以便结合其他当前或将来的技术而包括不同的步骤或与本文所描述的步骤类似的步骤的组合。此外,尽管术语“步骤”在本文中可用于描述所使用方法的不同要素,但所述术语不应解释为暗示在本文所公开的各种步骤之中或之间的任何具体顺序,除非另外由描述明确地限定为具体顺序。虽然本公开可应用于石油和天然气工业,但本公开不局限于此,并且还可应用于其他行业以实现类似结果。
方法描述
现参考图3A-3E,其示出用于实现本公开的方法300的一个实施方案的流程图。
在步骤302中,使用压缩稀疏行(CSR)格式和块数据自动输入用于系数矩阵的连接,或可使用参考图7进一步描述的客户端接口和/或视频接口来手动地输入所述连接。在图2中,例如,使用CSR格式((first_in_row索引),(col._index))和块数据(row_in_block行索引)输入由每一元[x]表示的用于系数矩阵的连接。块数据存储了属于系数矩阵中同一节点的行索引或方程索引。如图2所示,系数矩阵中的行1-3属于块行1(即节点1),行4-6属于块行2(即节点2),等等。因此,用于系数矩阵中的每一块行的第一行表示为图6的row_in_block行索引中的元,其中最后的元是22以便指定21行的终点。
在步骤304中,使用系数矩阵连接和块数据来定义邻接矩阵。在图4A中,例如,使用图2中的系数矩阵连接和用于所述连接的块数据来定义邻接矩阵。邻接矩阵示出块之间的连接模式,其中每一元[x]表示图1B的开采地面网络中的节点之间的物理连接或虚拟连接。
在步骤306中,使用本领域中众所周知的技术来重排邻接矩阵中表示的所有节点,所述技术例如像Cuthill-Mckee排序。重排从底部处的穿孔节点开始并将减少由于符号ILU(k)因式分解所需的填入元的数量。
在步骤308中,通过在重排邻接矩阵上进行符号ILU(k)因式分解来确定用于重排邻接矩阵的填入模式。在图4A中表示的节点被重排之后,在重排邻接矩阵上进行符号ILU(k)因式分解以确定填入模式,例如,如由图4B中的每一第2级填入元[y]所示。
在步骤310中,以使用first_in_row索引和col._index的CSR格式存储填入模式。在图5中,例如,col._index(顶部)和first_in_row索引(底部)示出图4B中以CSR格式存储的连接。col._index表示其中通过图4B中的元[x或y]表示的每一物理连接或虚拟连接从左开始向右(列)并从上开始向下(行)定位的列。first_in_row索引表示通过元[x或y]表示的物理连接或虚拟连接,所述元[x或y]首先出现在从顶部开始向底部的每一行中。第一行中的第一连接是1,第二行中的第一连接是3,第三行中的第一连接是5并以此类推。最后的连接是25以便指定连接的终点。
在步骤312中,方法300起始以i=1开始、以1递增并以i=n结束的回路,其中i表示行索引数并且n表示系数矩阵中的行总数。行索引数表示由系数矩阵中的线性化质量平衡方程得到的一行系数元。对于图2中的系数矩阵来说,行总数是21。以这种方式,方法300开始数值因式分解的过程,所述数值因式分解在系数矩阵上逐行进行。在i=21之后,方法300结束。否则,方法300进行至图3B中的步骤314。
在步骤314中,方法300确定i是否大于1。如果i不大于1(即第一行),那么方法300进行至步骤326,因为其不需要被因式分解。如果i大于1,那么方法300进行至步骤316。
在步骤316中,bi被设定为等于定位有第i行的块行。如果i=2,那么bi=1。
在步骤318中,方法300起始以索引=first_in_row索引(bi)开始、以1递增并以索引=first_in_row索引(bi+1)-1结束的回路。在索引超过first_in_row索引(bi+1)-1之后,方法300进行至图3C中的步骤326。否则,方法300进行至步骤320。根据图5中的first_in_row索引(底部),如果i=2,那么bi=1并且索引=first_in_row索引(1)或1。
在步骤320中,bj被设定为等于col_index(索引)。如果i=2,那么bj=与针对包括元1、3的bi的块行相同的块行。
在步骤322中,方法300起始以jndex=row_in_block行索引(bj)开始、以1递增并以jndex=row_in_block row索引(bj+1)-1结束的回路。方法300重复步骤324直到jndx达到row_in_block行索引(bj+1)-1为止并接着返回至步骤318。
在步骤324中,fill_in_allowed(j)被设定为等于真(true)。如果i=2,那么bi=1,bj=1并且first_in_row索引中的第一元=1。在步骤322中,根据图6,row_in_block行索引(1)=1并且row_in_block行索引(2)=4。因此,j从1变化至3并且fill_in_allowed(1)、fill_in_allowed(2)和fill_in_allowed(3)被设定为真。
在步骤326中,系数矩阵中第i行中的元以渐增列索引的顺序被加载到双向链表(LL),并且头部被设定为等于LL中的第一元。双向链表含有四个元素:1)LL%prev,其表示前一个索引(P);2)LL%next,其表示后一个索引(N);3)LL%col_index,其表示元的列索引(C);以及4)LL%coef,其表示系数值(V)。LL的实例在图8中示出,其包括头部H、尾部T和四个元素P、C、V、N。
在步骤328中,方法300确定i是否大于1。如果i不大于1(即第一行),那么方法300进行至步骤329。如果i大于1,那么方法300跳过第一行并进行至步骤330,因为第一行不需要被因式分解。
在步骤329中,头部1被设定为等于0并且当前量(current)被设定为等于头部。头部1被设定为0以便跳过步骤332并进行至步骤333,因为第一行不需要被因式分解。
在步骤330中,头部1被设定为等于头部并且当前量被设定为等于头部。
在步骤332中,方法300确定头部1是否大于0。如果头部1不大于0,那么方法300进行至图3E中的步骤333。如果头部1大于0,那么方法300进行至步骤334。
在步骤333中,LL中的所有元被移动至M的第i行,并且所述方法返回至步骤312以使用i的下一个增量来进行重复。作为步骤312-354的结果,M表示用于存储系数矩阵的LU因式分解的矩阵。所移动的元是来自步骤352的元。
在步骤334中,k被设定为等于LL(头部1)%col_index。
在步骤336中,方法300确定k是否小于i。如果k不小于i,那么方法300进行至图3D中的步骤354。如果k小于i,那么方法300进行至步骤338。
在步骤338中,B被设定为等于LL(头部1)%coef,其中B由B/Mkk更新并且Mkk是矩阵M的行k和列k处的元。
在步骤340中,方法300起始以索引=M%first_in_row索引(k)开始、以1递增并以索引=M%first_in_row索引(k+1)-1结束的回路。在索引超过M%first_in_row索引(k+1)-1之后,方法300进行至图3D中的步骤354。否则,方法300进行至步骤342。这个回路访问矩阵M的行k中的所有元。
在步骤342中,j被设定为等于M%col(索引)。这个步骤将设定针对j的列索引。
在步骤344中,方法300确定j是否大于k并且fill_in_allowed(j)是否等于真。如果j不大于k或fill_in_allowed(j)不等于真,那么方法300返回至步骤340。如果j大于k并且fill_in_allowed(j)等于真,那么方法300进行至步骤346。因式分解需要存取M的上三角矩阵U,因此j必须大于k。此外,从步骤324起针对真来检查fill_in_allowed(j)。
在步骤346中,搜索LL以找到具有列索引j的元。
在步骤348中,方法300确定是否找到LL中具有列索引j的元。如果找到LL中具有列索引j的元,那么方法300进行至步骤352。如果未找到LL中具有列索引j的元,那么方法300进行至步骤350。具有列索引j的新元被称作用于ILU因式分解的填入元。
在步骤350中,新元(填入元)添加至LL,其中使用众所周知的双向链表的插入运算。如由图8中的LL所示,新元包括指针(P和N)和元的列索引C(这里是j)。
在步骤352中,LL(当前量)%coef被设定为等于LL(当前量)%coef-B(Mkj)。这个步骤更新来自步骤350的LL中新元的值。
在步骤354中,头部1被设定为等于LL(头部1)%next并且方法300返回至图3C中的步骤332。以这种方式,指针头部1可向下游和上游移动。例如,其当前位置是头部1并且其下游邻近位置是LL(头部1)%next,并且其上游邻近位置是LL(头部1)%prev。
方法300维持了开采地面网络中的原始物理连接,其中所得邻接矩阵形类似于物理连接模式。方法300保存了开采地面网络的原始树状结构,从而帮助减少因式分解中的填入元或得出具有相同填入级的更精确因式分解。方法300的另一个优点在于,所得系数矩阵表示每一节点处的质量守恒。如果对每一节点上的块进行完全因式分解,那么迭代求解器仅需要利用被精确处理的节点上质量分布来操纵节点之间的流运输。利用这些优点,方法300的性能比常规ILU求解器更加有效。
系统描述
本公开可通过计算机可执行指令程序实现,所述计算机可执行指令程序例如程序模块,一般被称为由计算机执行的软件应用或应用程序。软件可包括例如例程、程序、对象、组件和进行具体任务或实现具体抽象数据类型的数据结构。软件形成允许计算机根据输入源作出反应的接口。NexusTM是由Landmark Graphics Corporation销售的商业软件应用,其可作为接口应用来实现本公开。软件也可与其他代码段配合来响应于结合所接收数据源被接收的数据而起始多种任务。软件也可存储和/或携带于任何种类的存储器上,例如CD-ROM、磁盘、磁泡存储器和半导体存储器(例如,各种类型的RAM或ROM)。另外,软件和其结果可在各种载体介质上传输,所述载体介质例如光纤、金属导线,和/或通过各种网络中的任何网络(例如互联网)传输。
此外,本领域技术人员将理解,可使用多种计算机系统配置来实践本公开,所述计算机系统配置包括手持式装置、多处理器系统、基于微处理器或可编程的消费者电子设备、微型计算机、大型计算机等。任何数量的计算机系统和计算机网络都可被接受与本公开一起使用。本公开也可在分布式计算环境中实践,其中任务是通过由通信网络链接的远程处理装置进行。在分布式计算环境中,程序模块可位于包括记忆存储装置的本地计算机存储介质和远程计算机存储介质两者中。因此,本公开可以结合计算机系统或其他处理系统中的各种硬件、软件或其组合来实现。
现在参照图7,示出用于在计算机上实现本公开的系统的一个实施方案的方框图。系统包括计算单元,有时称为计算系统,其含有存储器、应用程序、客户端接口、视频接口和处理单元。计算单元只是适用的计算环境的一个实例,并不意图暗示对本公开的使用范围或功能性的任何限制。
存储器主要存储应用程序,其也可被描述为含有计算机可执行指令的程序模块,所述指令由用于实现本文所描述的和在图3A-3E所示的本公开的计算单元执行。因此,存储器包括灵活块ILU因式分解模块,所述模块实现参考图3A-3E所描述的步骤300-354。灵活块ILU因式分解模块可整合来自图7示出的剩余应用程序的功能性。特别地,NexusTM可用作接口应用来进行图3A-3E中的剩余步骤。尽管NexusTM可用作接口应用,但可替代地使用其他接口应用,或者灵活块ILU因式分解模块可用作独立应用。
尽管计算单元被示出为具有广义存储器,但计算单元通常包括多种计算机可读介质。举例但并非限制地来说,计算机可读介质可包括计算机存储介质和通信介质。计算系统存储器可包括呈易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)和随机存取存储器(RAM)。基本输入/输出系统(BIOS)典型地存储在ROM中,所述基本输入/输出系统含有基本例程,所述基本例程有助于如在启动期间在计算单元内的元件之间传递信息。RAM典型地含有可处理单元可立即存取和/或正在处理单元上运算的数据和/或程序模块。举例但并非限制地来说,计算单元包括操作系统、应用程序、其他程序模块和程序数据。
存储器中所示的组件也可被包括在其他可移动/不可移动、易失性/非易失性计算机存储介质中,或所述组件可通过应用程序接口(“API”)或云计算在计算单元中实现,所述应用程序接口或云计算可驻留在通过计算机系统或网络连接的单独计算单元上。仅举例来说,硬盘驱动器可从不可移动、非易失性磁介质读取或写入到所述介质中,磁盘驱动器可从可移动、非易失性磁盘读取或写入到所述磁盘中,并且光盘驱动器可从可移动、非易失性光盘(例如CD ROM或其他光学介质)读取或写入到所述光盘中。可在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质可包括但不限于:盒式磁带、闪存卡、数字通用盘、数字录像带、固态RAM、固态ROM等。上文所讨论的驱动器和其相关联计算机存储介质提供对计算机可读指令、数据结构、程序模块和其他用于计算单元的数据的存储。
客户端可通过客户端接口将命令和信息输入计算单元,所述客户端接口可以是如键盘和指向装置的输入装置,所述指向装置所述通常被称为鼠标、轨迹球或触摸板。输入装置可包括麦克风、控制杆、碟状卫星和扫描仪等。通常,这些和其他输入装置通过耦接至系统总线的客户端接口与处理单元相连接,但也可通过其他接口和总线结构连接,所述总线结构例如并行端口或通用串行总线(USB)。
监视器或其他类型的显示装置可通过例如视频接口的接口连接至系统总线。图形用户接口(“GUI”)也可与视频接口一起使用来从客户端接口接收指令并将指令传输至处理单元。除监视器之外,计算机也可包括其他外围输出装置,例如扬声器和打印机,其可通过输出外围接口连接。
尽管未示出计算单元的许多其他内部组件,但本领域普通技术人员将理解,这类组件和其相互连接关系是众所周知。
尽管已经结合当前的优选实施方案描述本公开,但本领域技术人员将理解,并不意图将本公开限于这些实施方案。因此,预期的是:在不脱离由所附权利要求书和其等效内容所限定的本公开的精神和范围的情况下,可对所公开的实施方案做出各种替代实施方案和修改。

Claims (20)

1.一种用于灵活块ILU因式分解的方法,其包括:
使用系数矩阵中的每一物理连接和每一虚拟连接以及用于所述系数矩阵的块数据来定义表示开采地面网络中的多个物理节点的邻接矩阵,所述邻接矩阵包括多个块;
重排所述邻接矩阵中的每一物理节点;
进行符号因式分解来确定用于所述重排邻接矩阵的填入模式,其中每一填入元被定位成以下各项中的一个:i)所述重排邻接矩阵中的所述块中的一个的内部;以及ii)所述重排邻接矩阵中的所述块的外部;以及
使用来自所述填入模式的每一填入元和计算机处理器在所述系数矩阵上进行数值ILU因式分解,其中位于所述块中的一个中的每一填入元被保持并且位于所述块的外部的每一填入元被丢弃。
2.如权利要求1所述的方法,其中所述系数矩阵中的每一物理连接和每一虚拟连接以压缩稀疏行格式来存储,并且所述块数据存储属于同一节点的行索引和方程索引中的一个。
3.如权利要求1所述的方法,其中每一填入元表示物理连接和虚拟连接中的一个。
4.如权利要求1所述的方法,其中所述多个块之间的一个或多个连接模式表示所述开采地面网络中的所述节点之间的所述一个或多个物理连接和所述一个或多个虚拟连接中的至少一个。
5.如权利要求1所述的方法,其中所述填入模式是以使用first-in-row索引和column-index的压缩稀疏行格式来存储。
6.如权利要求5所述的方法,其中所述列索引表示其中定位有每一物理连接和每一虚拟连接的列索引,并且所述first-in-row索引表示首先出现在所述因式分解的重排邻接矩阵的每一行中的所述物理连接和所述虚拟连接中的一个。
7.如权利要求1所述的方法,其中所述开采地面网络中的所述物理节点之间的原始连接在进行所述数值ILU因式分解之后被维持,并且所述因式分解的重排邻接矩阵表示所述开采地面网络中的所述物理节点之间的一个或多个连接模式。
8.一种有形地携带用于灵活块ILU因式分解的计算机可执行指令的非暂态程序载体装置,所述指令可执行来实现:
使用系数矩阵中的每一物理连接和每一虚拟连接以及用于所述系数矩阵的块数据来定义表示开采地面网络中的多个物理节点的邻接矩阵,所述邻接矩阵包括多个块;
重排所述邻接矩阵中的每一物理节点;
进行符号因式分解来确定用于所述重排邻接矩阵的填入模式,其中每一填入元被定位成以下各项中的一个:i)所述重排邻接矩阵中的所述块中的一个的内部;以及ii)所述重排邻接矩阵中的所述块的外部;以及
使用来自所述填入模式的每一填入元在所述系数矩阵上进行数值ILU因式分解,其中位于所述块中的一个中的每一填入元被保持并且位于所述块的外部的每一填入元被丢弃。
9.如权利要求8所述的程序载体装置,其中所述系数矩阵中的每一物理连接和每一虚拟连接以压缩稀疏行格式来存储,并且所述块数据存储属于同一节点的行索引和方程索引中的一个。
10.如权利要求8所述的程序载体装置,其中每一填入元表示物理连接和虚拟连接中的一个。
11.如权利要求8所述的程序载体装置,其中所述多个块之间的一个或多个连接模式表示所述开采地面网络中的所述节点之间的所述一个或多个物理连接和所述一个或多个虚拟连接中的至少一个。
12.如权利要求8所述的程序载体装置,其中所述填入模式是以使用first-in-row索引和column-index的压缩稀疏行格式来存储。
13.如权利要求12所述的程序载体装置,其中所述列索引表示其中定位有每一物理连接和每一虚拟连接的列索引,并且所述first-in-row索引表示首先出现在所述因式分解的重排邻接矩阵的每一行中的所述物理连接和所述虚拟连接中的一个。
14.如权利要求8所述的程序载体装置,其中所述开采地面网络中的所述物理节点之间的原始连接在进行所述数值ILU因式分解之后被维持,并且所述因式分解的重排邻接矩阵表示所述开采地面网络中的所述物理节点之间的一个或多个连接模式。
15.一种有形地携带用于灵活块ILU因式分解的计算机可执行指令的非暂态程序载体装置,所述指令可执行来实现:
使用系数矩阵中的每一物理连接和每一虚拟连接以及用于所述系数矩阵的块数据来定义表示开采地面网络中的多个物理节点的邻接矩阵,所述邻接矩阵包括多个块;
重排所述邻接矩阵中的每一物理节点;
进行符号因式分解来确定用于所述重排邻接矩阵的填入模式,其中每一填入元表示物理连接和虚拟连接中的一个并且被定位成以下各项中的一个:i)所述重排邻接矩阵中的所述块中的一个的内部;以及ii)所述重排邻接矩阵中的所述块的外部;以及
使用来自所述填入模式的每一填入元在所述系数矩阵上进行数值ILU因式分解,其中位于所述块中的一个中的每一填入元被保持并且位于所述块的外部的每一填入元被丢弃。
16.如权利要求15所述的程序载体装置,其中所述系数矩阵中的每一物理连接和每一虚拟连接以压缩稀疏行格式来存储,并且所述块数据存储属于同一节点的行索引和方程索引中的一个。
17.如权利要求15所述的程序载体装置,其中所述多个块之间的一个或多个连接模式表示所述开采地面网络中的所述节点之间的所述一个或多个物理连接和所述一个或多个虚拟连接中的至少一个。
18.如权利要求15所述的程序载体装置,其中所述填入模式是以使用first-in-row索引和column-index的压缩稀疏行格式来存储。
19.如权利要求18所述的程序载体装置,其中所述列索引表示其中定位有每一物理连接和每一虚拟连接的列索引,并且所述first-in-row索引表示首先出现在所述因式分解的重排邻接矩阵的每一行中的所述物理连接和所述虚拟连接中的一个。
20.如权利要求15所述的程序载体装置,其中所述开采地面网络中的所述物理节点之间的原始连接在进行所述数值ILU因式分解之后被维持,并且所述因式分解的重排邻接矩阵表示所述开采地面网络中的所述物理节点之间的一个或多个连接模式。
CN201480070853.0A 2014-01-31 2014-01-31 灵活块ilu因式分解 Pending CN105849717A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/014244 WO2015116193A1 (en) 2014-01-31 2014-01-31 Flexible block ilu factorization

Publications (1)

Publication Number Publication Date
CN105849717A true CN105849717A (zh) 2016-08-10

Family

ID=53757578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480070853.0A Pending CN105849717A (zh) 2014-01-31 2014-01-31 灵活块ilu因式分解

Country Status (9)

Country Link
US (1) US9575932B2 (zh)
EP (1) EP3080712A4 (zh)
CN (1) CN105849717A (zh)
AU (1) AU2014380241B2 (zh)
BR (1) BR112016015180A2 (zh)
CA (1) CA2933809C (zh)
MX (1) MX2016008548A (zh)
SG (1) SG11201605274VA (zh)
WO (1) WO2015116193A1 (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2959525B2 (ja) * 1997-06-02 1999-10-06 日本電気株式会社 データ処理装置および方法、情報記憶媒体
US20080097730A1 (en) 2000-09-29 2008-04-24 Canning Francis X Sparse and efficient block factorization for interaction data
JP3809062B2 (ja) 2000-11-21 2006-08-16 富士通株式会社 マルチレベル不完全ブロック分解による前処理を行う処理装置
US9727532B2 (en) 2008-04-25 2017-08-08 Xerox Corporation Clustering using non-negative matrix factorization on sparse graphs
EP2350915A4 (en) 2008-09-30 2013-06-05 Exxonmobil Upstream Res Co METHOD FOR SOLVING STORAGE SIMULATION MATRIX COMPENSATION USING PARALLEL INCOMPLETE MULTILEVEL FACTORIZATION
US9396162B2 (en) * 2010-07-22 2016-07-19 John APPLEYARD Method and apparatus for estimating the state of a system
US9208268B2 (en) * 2012-02-14 2015-12-08 Saudi Arabian Oil Company Giga-cell linear solver method and apparatus for massive parallel reservoir simulation
US8938484B2 (en) * 2012-06-01 2015-01-20 International Business Machines Corporation Maintaining dependencies among supernodes during repeated matrix factorizations

Also Published As

Publication number Publication date
US9575932B2 (en) 2017-02-21
CA2933809A1 (en) 2016-08-30
BR112016015180A2 (pt) 2017-08-08
AU2014380241A1 (en) 2016-07-07
SG11201605274VA (en) 2016-07-28
AU2014380241B2 (en) 2017-05-04
WO2015116193A1 (en) 2015-08-06
CA2933809C (en) 2017-07-18
US20160328359A1 (en) 2016-11-10
EP3080712A4 (en) 2017-10-25
MX2016008548A (es) 2016-12-20
EP3080712A1 (en) 2016-10-19

Similar Documents

Publication Publication Date Title
CN104136942B (zh) 用于大规模并行储层仿真的千兆单元的线性求解方法和装置
Groth et al. Kwant: a software package for quantum transport
KR102333638B1 (ko) 연관 메모리 디바이스의 희소 행렬 곱셈
CN103370719B (zh) 用于在并行油藏模拟期间进行二维区域分解的系统及方法
Johnson Combinatorics of spreads and parallelisms
CN106104592A (zh) 映射带键实体的属性
CN105900093B (zh) 一种KeyValue数据库的数据表的更新方法与表数据更新装置
CN105917388A (zh) 将储层模型中的储量估计转换成标准格式以用于动态比较
CN102124185A (zh) 使用基于单元的流动模拟结果计算流线轨迹的系统和方法
Francesco et al. Q-systems, heaps, paths and cluster positivity
WO2016080987A1 (en) Junction models for simulating proppant transport in dynamic fracture networks
CN105408893B (zh) 一种数据处理和写入方法及相关装置
Zhang et al. Parallel computing techniques for large-scale reservoir simulation of multi-component and multiphase fluid flow
CN103917984B (zh) 用于辅助属性建模的系统及方法
Kurth et al. High-Performance I/O: HDF5 for Lattice QCD
CN105849717A (zh) 灵活块ilu因式分解
CN106170823A (zh) 使用来自地层层序中的邻近表面的单侧非节点约束而对地质表面建模
Saleri Reengineering simulation: a bottom-line approach to managing complexity and complexification
Uguz et al. 2-dimensional reversible hexagonal cellular automata with periodic boundary
US9262562B2 (en) System and method for modeling a physical formation
Bowen et al. A massively parallel coupled reservoir and surface facilities simulator
Huang Developing Matrix Models for Land Carbon Models
CN105354311A (zh) 一种基于嵌入式设备文件系统的数据键值对存储方法
Grabisch Remarkable polyhedra related to set functions, games and capacities
Paszynski et al. Parallel self-adaptive hp finite element method with shared data structure

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160810