发明内容
鉴于上述问题,本发明提出了一种2.5D非结构化网络的油藏数值模拟数据处理方法及系统,在油藏数值模拟过程中通过方法重新排列数值模型的网格编号,使相对应的矩阵结构产生有利变化,提高线性矩阵求解速度。
根据本发明实施例第一方面,提供一种2.5D非结构化网络的油藏数值模拟数据处理方法。
在一个或多个实施例中,优选地,所述一种2.5D非结构化网络的油藏数值模拟数据处理方法包括:
获取离散裂缝混合网络模型中的基质介质网格、裂缝介质网格和离散裂缝网格;
根据离散裂缝混合网络模型中的所述基质介质网格进行每一层的重排,并完成编号;
根据离散裂缝混合网络模型中的所述裂缝介质网格进行重排编号;
根据当前每一层的编号,形成所有的所述基质介质网格和所述裂缝介质网格的编号,形成中间网格编号;
获取所述离散裂缝混合网络模型中的所述离散裂缝网格,将所述中间网格编号优化为目标重排编号;
根据用户需求判断是否使用所述目标重排编号,进行求解形成最终的油藏数据。
在一个或多个实施例中,优选地,所述获取离散裂缝混合网络模型中的基质介质网格、裂缝介质网格和离散裂缝网格,具体包括:
获取2.5D双重介质的离散裂缝混合网络模型;
采用半结构化的三菱柱网络描述整体储层骨架;
获取双重介质的离散裂缝混合网络模型中的所述基质介质网格和所述裂缝介质网格;
获取双重介质的离散裂缝混合网络模型中的所述离散裂缝网格。
在一个或多个实施例中,优选地,所述根据离散裂缝混合网络模型中的所述基质介质网格进行每一层的重排,并完成编号,具体包括:
获取第一层全部的所述基质介质网格;
以最小平均带宽为目标进行第一层全部的所述基质介质网格的重排;
对重排后的第一层的所述基质介质网格进行赋值编号;
对其他每一层的所述基质介质网格进行赋值编号。
在一个或多个实施例中,优选地,所述根据离散裂缝混合网络模型中的所述裂缝介质网格进行重排编号,具体包括:
获取全部的所述裂缝介质网格;
获得每个所述裂缝介质网格相邻的基质网格,并将所述裂缝介质网格编号到与其相邻的基质网格的最小编号的网格后,并将其后的基质网格编号顺延;
依次完成每一层的所述裂缝介质网格的编号。
在一个或多个实施例中,优选地,所述根据当前每一层的编号,形成所有的所述基质介质网格和所述裂缝介质网格的编号,形成中间网格编号,具体包括:
提取每一层的网格编号的最后一个的数据;
将各层网格编号的第一个直接与上一层网格的所述最后一个的数据加和;
形成所有的所述基质介质网格和所述裂缝介质网格的编号,作为所述中间网格编号。
在一个或多个实施例中,优选地,所述获取所述离散裂缝混合网络模型中的所述离散裂缝网格,将所述中间网格编号优化为目标重排编号,具体包括:
根据所述中间网格编号,获得最后的编号作为起点编号;
获得每个所述离散裂缝网格的编号顺序;
在所述起点编号后,按照由下至上,由左至右进行每个离散裂缝网格的编号,形成所述目标重排编号。
在一个或多个实施例中,优选地,所述根据用户需求判断是否使用所述目标重排编号,进行求解形成最终的油藏数据,具体包括:
获得用户需求,判断用户是否需要进行重排编号,当需要重排编号时,发出重排命令,否则按照原始编号进行求解形成最终的油藏数据;
在收到所述重排命令后,根据所述目标重排编号进行求解形成最终的油藏数据。
根据本发明实施例第二方面,提供一种2.5D非结构化网络的油藏数值模拟数据处理系统。
在一个或多个实施例中,优选地,所述一种2.5D非结构化网络的油藏数值模拟数据处理系统包括:
网格生成模块,用于获取离散裂缝混合网络模型中的基质介质网格、裂缝介质网格和离散裂缝网格;
首层编号模块,用于根据离散裂缝混合网络模型中的所述基质介质网格进行每一层的重排,并完成编号;
局部裂缝网格编号模块,用于根据离散裂缝混合网络模型中的所述裂缝介质网格进行重排编号;
逐层录入模块,用于根据当前每一层的编号,形成所有的所述基质介质网格和所述裂缝介质网格的编号,形成中间网格编号;
顺序编号生成模块,用于获取所述离散裂缝混合网络模型中的所述离散裂缝网格,将所述中间网格编号优化为目标重排编号;
油藏数字模拟模块,用于根据用户需求判断是否使用所述目标重排编号,进行求解形成最终的油藏数据。
根据本发明实施例第三方面,提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如本发明实施例第一方面中任一项所述的方法。
根据本发明实施例第四方面,提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现本发明实施例第一方面中任一项所述的方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明方案中,提供了一种适用于2.5D非结构化网格的油藏数值模拟矩阵重排技术,其特点是充分利用2.5D非结构化网格纵向上的结构化特征,通过有效重排以提高求解效率,同时在实现上巧妙利用已有机制,降低重排带来的额外开销。
本发明方案中,通过调整油藏数值模拟矩阵结构,使得结构矩阵进行重构,使得非结构化网格的油藏数值模拟过程迭代次数显著降低,提升油藏数值模拟的效率。
本发明方案中,通过实时的提取不同油藏数值模型的运算时间和迭代次数,进行快速学习,进而在每次完成重排后,快速展示对应的重排提升水平,方便个性化选择。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
具体实施方式
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的油藏数值模拟技术中,或者完全不进行重排,或者直接利用通用的矩阵重排算法。前者虽然在内部算法实现上避免了重排可能引起的网格编号系统混乱,但也等于放弃了从重排角度改善非结构化油藏模型求解速度的可能。后者直接利用矩阵研究领域的成熟成果,在一些模型上,如完全非结构化网格,表现不错,但经测试在另一些模型下,如2.5D非结构网格下表现反而变差。
其原因在于两个方面。一是实现网格重排给整个模拟算法带来了额外的开销,一是通用重排算法并不是针对油藏模拟问题的矩阵特点设计的,无法充分利用油藏问题矩阵本身的特点。
矩阵重排本质上是对网格系统中单个网格的编号进行重新排列。但用户在输入输出端能够访问到的网格编号应该是一致和符合习惯的。因此会存在两套网格编号体系,若实现方式不当,会引起较大的、额外的数组转换开销。
已有的通用重排技术往往仅着眼于矩阵的某一性质,比如最小化平均带宽,而这些性质与油藏问题的求解算法效率并非总呈正相关。因此无法在任何情况下都取得较高的效率。
为此,需要设计一种特定的、针对非结构化网格的高效矩阵重排技术。
本发明实施例中,提供了一种2.5D非结构化网络的油藏数值模拟数据处理方法及系统。该方案在油藏数值模拟过程中通过方法重新排列数值模型的网格编号,使相对应的矩阵结构产生有利变化,提高线性矩阵求解速度。
根据本发明实施例第一方面,提供一种2.5D非结构化网络的油藏数值模拟数据处理方法。
图1是本发明一个实施例的一种2.5D非结构化网络的油藏数值模拟数据处理方法的流程图。
在一个或多个实施例中,优选地,所述一种2.5D非结构化网络的油藏数值模拟数据处理方法包括:
S101、获取离散裂缝混合网络模型中的基质介质网格、裂缝介质网格和离散裂缝网格;
S102、根据离散裂缝混合网络模型中的所述基质介质网格进行每一层的重排,并完成编号;
S103、根据离散裂缝混合网络模型中的所述裂缝介质网格进行重排编号;
S104、根据当前每一层的编号,形成所有的所述基质介质网格和所述裂缝介质网格的编号,形成中间网格编号;
S105、获取所述离散裂缝混合网络模型中的所述离散裂缝网格,将所述中间网格编号优化为目标重排编号;
S106、根据用户需求判断是否使用所述目标重排编号,进行求解形成最终的油藏数据。
本发明实施例中,提出了一种适用于2.5D非结构化网格的油藏数值模拟矩阵重排技术,其特点是充分利用2.5D非结构化网格纵向上的结构化特征,通过有效重排以提高求解效率。同时在实现上巧妙利用已有机制,降低重排带来的额外开销。
图2是本发明一个实施例的一种2.5D非结构化网络的油藏数值模拟数据处理方法中的获取离散裂缝混合网络模型中的基质介质网格、裂缝介质网格和离散裂缝网格的流程图。
如图2所示,在一个或多个实施例中,优选地,所述获取离散裂缝混合网络模型中的基质介质网格、裂缝介质网格和离散裂缝网格,具体包括:
S201、获取2.5D双重介质的离散裂缝混合网络模型;
S202、采用半结构化的三菱柱网络描述整体储层骨架;
S203、获取双重介质的离散裂缝混合网络模型中的所述基质介质网格和所述裂缝介质网格;
S204、获取双重介质的离散裂缝混合网络模型中的所述离散裂缝网格。
在本发明实施例中,半结构化的三棱柱网格用来描述整体储层骨架;天然大裂缝用来描述离散化的网格。每个单元为三角形(三棱柱),纵向上,仍然保留了结构化的分层结构,每层具有相同的网格数,上下层网格互相连接。
设置a为双重介质网格,每个网格单元表征两个计算单元,分别为基质介质和裂缝介质(两者公用一个几何网格,但计算时视为两个计算网格);设置b是裂缝面,被网格a切割成为一个个四边形,每个四边形除了与相邻裂缝网格相连外,也与两侧2个三棱柱网格相连。称a中的基质介质网格为M(Matrix),a中裂缝介质网格部分为F(Fracture),称b中离散裂缝网格为DF(Discrete Fracture)。
图3是本发明一个实施例的一种2.5D非结构化网络的油藏数值模拟数据处理方法中的根据离散裂缝混合网络模型中的所述基质介质网格进行每一层的重排,并完成编号的流程图。
如图3所示,在一个或多个实施例中,优选地,所述根据离散裂缝混合网络模型中的所述基质介质网格进行每一层的重排,并完成编号,具体包括:
S301、获取第一层全部的所述基质介质网格;
S302、以最小平均带宽为目标进行第一层全部的所述基质介质网格的重排;
S303、对重排后的第一层的所述基质介质网格进行赋值编号;
S304、对其他每一层的所述基质介质网格进行赋值编号。
在本发明实施例中,举例说明,具体的第一层基质网格的重排过程。首先,取基质网格的第一层,假设第一层有N个网格。标记第一层基质网格为非结构化的网格,利用已有通用矩阵重排算法进行排序,以最小平均带宽为目标进行重排。重排后将第一层编号按结果赋值为 0、1, …, N-1。在此基础上,对基质任意一层Mi ,也先按此规律进行编号,即纵向上相连的网格暂时赋给相同的编号,以此保留纵向的结构化信息。
图4是本发明一个实施例的一种2.5D非结构化网络的油藏数值模拟数据处理方法中的根据离散裂缝混合网络模型中的所述裂缝介质网格进行重排编号的流程图。
如图4所示,在一个或多个实施例中,优选地,所述根据离散裂缝混合网络模型中的所述裂缝介质网格进行重排编号,具体包括:
S401、获取全部的所述裂缝介质网格;
S402、获得每个所述裂缝介质网格相邻的基质网格,并将所述裂缝介质网格编号到与其相邻的基质网格的最小编号的网格后,并将其后的基质网格编号顺延;
S403、依次完成每一层的所述裂缝介质网格的编号。
在本发明实施例中,举例说明,具体的,每一层中对于裂缝介质网格的编号过程。按局部性原则给裂缝网格F编号。每一个裂缝网格fi必然与跟它共享几何单元的基质网格mi相连,令其编号紧邻基质网格编号,即fi编号Idx(fi)=Idx(mi)+1, 最大程度减少M-F连接导致的大带宽。裂缝网格编号插入后,其后的基质网格编号自动顺延。假设第一层裂缝网格F1网格数为N(F1),则对裂缝网格完全编号后,由M1 + F1构成的第一层所有网格的编号完全占据 0 ~ N(M1)+N(F1)-1 区间。其他层同理。
图5是本发明一个实施例的一种2.5D非结构化网络的油藏数值模拟数据处理方法中的根据当前每一层的编号,形成所有的所述基质介质网格和所述裂缝介质网格的编号,形成中间网格编号的流程图。
如图5所示,在一个或多个实施例中,优选地,所述根据当前每一层的编号,形成所有的所述基质介质网格和所述裂缝介质网格的编号,形成中间网格编号,具体包括:
S501、提取每一层的网格编号的最后一个的数据;
S502、将各层网格编号的第一个直接与上一层网格的所述最后一个的数据加和;
S503、形成所有的所述基质介质网格和所述裂缝介质网格的编号,作为所述中间网格编号。
在本发明实施例中,举例说明,将各层编号按顺序排列。即对第二层网格,目前所有编号要加上第一层网格数;第三层网格,目前所有编号要加上第一二层网格总数,依此类推,完成剩余的网格。
图6是本发明一个实施例的一种2.5D非结构化网络的油藏数值模拟数据处理方法中的获取所述离散裂缝混合网络模型中的所述离散裂缝网格,将所述中间网格编号优化为目标重排编号的流程图。
如图6所示,在一个或多个实施例中,优选地,所述获取所述离散裂缝混合网络模型中的所述离散裂缝网格,将所述中间网格编号优化为目标重排编号,具体包括:
S601、根据所述中间网格编号,获得最后的编号作为起点编号;
S602、获得每个所述离散裂缝网格的编号顺序;
S603、在所述起点编号后,按照由下至上,由左至右进行每个离散裂缝网格的编号,形成所述目标重排编号。
在本发明实施例中,对于离散裂缝进行编号。对于离散裂缝DF,由于其表征的大裂缝内部连通性极强,需要优先保证其内部连接对应的矩阵非对角元尽量靠近对角线,因此每片离散裂缝DFi内的编号是连续的。每片DFi网格都是结构化的,由于纵向网格数往往远小于横向网格数,编号按照列优先顺序进行。单片裂缝编号完毕后,再将所有裂缝编号连起来。整个DF网格的编号位于M,F网格编号之后。
图7是本发明一个实施例的一种2.5D非结构化网络的油藏数值模拟数据处理方法中的根据用户需求判断是否使用所述目标重排编号,进行求解形成最终的油藏数据的流程图。
如图7所示,在一个或多个实施例中,优选地,所述根据用户需求判断是否使用所述目标重排编号,进行求解形成最终的油藏数据,具体包括:
S701、获得用户需求,判断用户是否需要进行重排编号,当需要重排编号时,发出重排命令,否则按照原始编号进行求解形成最终的油藏数据;
S702、在收到所述重排命令后,根据所述目标重排编号进行求解形成最终的油藏数据。
在本发明实施例中,用户需求根据获得的重排带来的提升进行判断,当求解时间或迭代次数的提升超过10%,则采用所述目标重排编号进行求解最终的油藏数据。
其中,用户需求根据获得的重排带来的提升进行判断,求解时间或迭代次数的提升程度的计算过程,具体包括:
获得非零元素个数、矩阵阶数、计算开始时间和平均带宽的实时采集数据和历史数据;
获得历史数据中的解决时间和迭代次数的实际值;
设置第一系数、第二系数和第三系数,利用第一计算公式计算每组历史数据在不同系数下对应的解决时间;
设置第四系数、第五系数和第六系数,利用第二计算公式计算每组历史数据在不同系数下对应的迭代次数;
根据非零元素个数、矩阵阶数、计算开始时间和平均带宽的历史数据,利用第三计算公式计算第一目标系数、第二目标系数和第三目标系数;
根据非零元素个数、矩阵阶数、计算开始时间和平均带宽的历史数据,利用第四计算公式计算第四目标系数、第五目标系数和第六目标系数;
利用第五计算公式计算解决时间的预测值;
利用第六计算公式计算迭代次数的预测值;
根据所述解决时间的预测值和所述迭代次数的预测值与不进行编号重排的解决时间和迭代次数相除,获得最终的求解时间或迭代次数的提升程度中更大一个一个作为提升程度;
所述第一计算公式为:
其中,K为所述计算开始时间,F为非零元素个数,Z为矩阵阶数,D为平均带宽,J为解决时间,k 1为第一系数,k 2为第二系数,k 3为第三系数;
所述第二计算公式为:
其中,C为所述迭代次数,k 4为第四系数,k 5为第五系数,k 6为第六系数;
所述第三计算公式为:
其中,argmin[]为所述提取最小值时系数的函数,k 10为第一目标系数,k 20为第二目标系数,k 30为第三目标系数,K i 为第i组历史数据中的计算开始时间,F i 为第i组历史数据中的非零元素个数,Z i 为第i组历史数据中的矩阵阶数,D i 为第i组历史数据中的平均带宽,J i 为第i组历史数据中的解决时间,n为历史数据的总组数;
所述第四计算公式为:
其中,k 40为第四目标系数,k 50为第五目标系数,k 60为第六目标系数,C i 为第i组历史数据中的迭代次数;
所述第五计算公式为:
其中,K 0为实时获得的计算开始时间,F 0为实时获得的非零元素个数,Z 0为实时获得的矩阵阶数,D 0为实时获得的平均带宽,J Y 为解决时间的预测值;
所述第六计算公式为:
其中,C Y 为所述迭代次数的预测值。
根据本发明实施例第二方面,提供一种2.5D非结构化网络的油藏数值模拟数据处理系统。
图8是本发明一个实施例的一种2.5D非结构化网络的油藏数值模拟数据处理系统的结构图。
在一个或多个实施例中,优选地,所述一种2.5D非结构化网络的油藏数值模拟数据处理系统包括:
网格生成模块801,用于获取离散裂缝混合网络模型中的基质介质网格、裂缝介质网格和离散裂缝网格;
首层编号模块802,用于根据离散裂缝混合网络模型中的所述基质介质网格进行每一层的重排,并完成编号;
局部裂缝网格编号模块803,用于根据离散裂缝混合网络模型中的所述裂缝介质网格进行重排编号;
逐层录入模块804,用于根据当前每一层的编号,形成所有的所述基质介质网格和所述裂缝介质网格的编号,形成中间网格编号;
顺序编号生成模块805,用于获取所述离散裂缝混合网络模型中的所述离散裂缝网格,将所述中间网格编号优化为目标重排编号;
油藏数字模拟模块806,用于根据用户需求判断是否使用所述目标重排编号,进行求解形成最终的油藏数据。
本发明实施例中,采用模块化结构设计,实现对于网络生成、编号规划和油藏模拟选择的全过程控制,效率高,且具有可扩展性。
根据本发明实施例第三方面,提供一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如本发明实施例第一方面中任一项所述的方法。
根据本发明实施例第四方面,提供一种电子设备。图9是本发明一个实施例中一种电子设备的结构图。图9所示的电子设备为通用油藏数值模拟数据处理装置。该电子设备可以是智能手机、平板电脑等设备。如示,电子设备900包括处理器901和存储器902。其中,处理器901与存储器902电性连接。处理器901是终端900的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或调用存储在存储器902内的计算机程序,以及调用存储在存储器902内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。
在本实施例中,电子设备900中的处理器901会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器902中,并由处理器901来运行存储在存储器902中的计算机程序,从而实现各种功能:获取离散裂缝混合网络模型中的基质介质网格、裂缝介质网格和离散裂缝网格;根据离散裂缝混合网络模型中的所述基质介质网格进行每一层的重排,并完成编号;根据离散裂缝混合网络模型中的所述裂缝介质网格进行重排编号;根据当前每一层的编号,形成所有的所述基质介质网格和所述裂缝介质网格的编号,形成中间网格编号;获取所述离散裂缝混合网络模型中的所述离散裂缝网格,将所述中间网格编号优化为目标重排编号;根据用户需求判断是否使用所述目标重排编号,进行求解形成最终的油藏数据。
存储器902可用于存储计算机程序和数据。存储器902存储的计算机程序中包含有可在处理器中执行的指令。计算机程序可以组成各种功能模块。处理器901通过调用存储在存储器902的计算机程序,从而执行各种功能应用以及数据处理。
举例说明,以下以一个具体的例子进行说明。下面是一个简单的2.5D双重介质+离散裂缝混合网格模型。图10a是半结构化的三棱柱网格,用来描述整体储层骨架。图10b是天然大裂缝,以离散化的网格精确描述。可以看到,平面上,每个单元为三角形(三棱柱);纵向上,仍然保留了结构化的分层结构,每层具有相同的网格数,上下层网格互相连接。同时,图10a是双重介质网格,每个网格单元表征两个计算单元,分别称作基质介质和裂缝介质(两者公用一个几何网格,但计算时视为两个计算网格)。图10b是裂缝面,被网格a切割成为一个个四边形,每个四边形除了与相邻裂缝网格相连外,也与两侧2个三棱柱网格相连。以下称a中的基质介质网格为M(Matrix),a中裂缝介质网格部分为F(Fracture),称b中网格为DF(Discrete Fracture)。
油藏模拟时,流体是在相邻的网格间发生流动的。一个网格体系内单元的相邻关系,或者叫做连接关系,会对流动方程产生影响,最终反映到流动方程对应的矩阵中。示例网格中存在以下6种连接关系,分别是 M-M(即基质介质网格中,每一对互相连接的网格单元构成的连接关系集合),M-F(即基质介质网格和裂缝介质网格之间,互相连接的网格对组成的连接关系集合,后面以此类推),F-F, NF-NF, NF-M,NF-F。一般情况下,此类复杂的网格信息是由网格生成程序导出的,导出时,需要给所有网格赋予一个编号,这样用一个编号对(i,j)就可以指明一个连接关系。默认情况下的编号顺序为,DF网格先于M网格先于F网格。在每一类网格内部,按照自然顺序排序(即先按行,再按列;先平面再纵向)。
图10a和图10b中网格对应的矩阵结构如下:矩阵每一行代表一个网格的流动方程,每一列代表一个网格中的物理量(如压力)。因此对于任一矩阵元素aii ,其代表网格i的流动方程受网格j的物理量的影响程度。aij≠0,表示网格i的流动受网格j影响,表示为一个点;aij=0,表示网格i的流动与网格j无关,以空白替代。非0元素的分布即为矩阵结构,也就是呈现出的矩阵形态。所有网格方程一定受该网格物理量影响,因此对角线元素总为非0值;每个网格都与它的相邻网格发生流动,受其影响,因此每个非对角线元素代表一对网格间的连接。最终,所有网格间的连接关系都反映到了矩阵形态中。由于连接是相互的,所以矩阵总是对称的。
图11为2.5D双重介质非结构网格矩阵结构图。在图11的矩阵结构中呈现出了明显的区域特征,这是由前面提到的3种网格类型构成的6种连接关系导致的。图中标出了每个类型的网格所占据的行和列。离散裂缝网格DF之间的连接构成区域①,散乱分布;DF与基质介质网格M间的连接构成区域④(及左侧与④对称的位置),呈块状分布,每个块是同一层;DF与裂缝介质网格F的连接构成区域⑤,连接很少,形态简单;M-M构成区域②,形成了大概的条带状分布:两侧两条线代表纵向间的结构化连接,中间的每一个大块代表一层间的非结构化连接;M-F构成区域⑥;最后F-F构成区域③也呈现出条带状。
作为对比,图12为常规角点网格的矩阵形态。呈现出清晰的嵌套式三对角结构,带宽也较小,是最易求解的矩阵结构。所谓矩阵重排,即改变网格编号顺序,使其对应的矩阵元素按新的方式分布,形成更易求解的矩阵结构,也称作网格编号重排。最佳的重排策略应当使图11结构在某种程度上尽量向图12靠拢。涉及2个方面,一是三对角结构反映的是网格间的一维连接,图12的嵌套三对角结构就是结构化网格三个方向上一维连接的反映,因此重排应尽可能保留结构化的信息;二是带宽反映的是局部性,即几何上相邻的网格,其编号也应尽量接近,对于非结构的部分,应使用此原则进行重排。
图13为经过网格重排后获得的目标重排编号图,能够符合图11结构在尽量向图12靠拢。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明方案中,提供了一种适用于2.5D非结构化网格的油藏数值模拟矩阵重排技术,其特点是充分利用2.5D非结构化网格纵向上的结构化特征,通过有效重排以提高求解效率,同时在实现上巧妙利用已有机制,降低重排带来的额外开销。
本发明方案中,通过调整油藏数值模拟矩阵结构,使得结构矩阵进行重构,使得非结构化网格的油藏数值模拟过程迭代次数显著降低,提升油藏数值模拟的效率。
本发明方案中,通过实时的提取不同油藏数值模型的运算时间和迭代次数,进行快速学习,进而在每次完成重排后,快速展示对应的重排提升水平,方便个性化选择。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。