技术领域
[0001] 本
发明涉及石油勘探及开发中的储层建模研究领域,尤其涉及地下复杂储层全六面体网格生成方法及装置。
背景技术
[0002] 有限元方法在众多计算地球物理学者的不懈努
力下,目前不但已经广泛地应用于地球物理中静态场的计算,像静
磁场、静
电场、地
应力、地温场等方面,而且还应用于解决随时间变化的地球物理问题,像
地震正演模拟、地震反演、油藏数值模拟等问题。开展有限元计算的第一步是将地球物理中的连续介质(如实际地层)离散为若干个有限子域(单元),即有限元网格生成,并通过这些离散单元的组合体来逼近连续介质。从生成单元的几何形状来说,针对二维连续介质,目前生成的网格主要采用三
角形和四边形单元;针对三维连续介质,目前生成的网格主要采用四面体和六面体单元。此外,对于三维连续介质,也有一些其它几何形状的单元,像金字塔单元、棱镜体单元等,但是这些单元并不常用。有限元网格生成技术研究过程中,关于四面体(或三角形)网格生成技术研究比较成熟,在商用
软件中获得了广泛应用。相较于四面体单元,六面体单元具有相同
自由度条件下
精度更高的优点,是目前有限元网格生成技术研究的热点和难点。
[0003] 全六面体网格生成方法常用的有映射法、基于栅格法、四面体转换法、
中轴面分解法、铺路铺层法、须段编织法和扫描法。映射法首先采用手工或自动方法将待剖分区域分解为六面体子区域(对于三维区域),然后在每个子区域内应用等参映射或无限映射方法得到更细致的六面体网格。映射法具有生成单元
质量高和速度快的优点,但是需要解决好复杂区域的自动分解、网格疏密过渡、不同子区域网格相容性等问题。基于栅格法具有剖分自动化程度高,网格疏密易于控制的优点,但是在处理复杂边界条件时网格单元质量差,程序实现难度高。由于四面体网格生成
算法比较成熟,将一个四面体分解为四个六面体后就可以得到六面体网格剖分结果,因此四面体转换法算法实现简单,通用性强,但是网格数量多,转换过程中得到大量的不规则
节点,网格质量较差。中轴面分解法适用于某些特定规则实
体模型的剖分,不适用于任意形状的几何区域自动剖分。铺路铺层法从区域边界逐步向内部层层推进来划分网格,生成网格边界单元质量较好,但区域内部网格质量较差。须段编织法生成的六面体网格质量较高,但是
稳定性和可靠性尚未证实。扫描法适用于几何形状简单规则的三维实体模型的剖分,需要
人机交互多,自动化程度低。
[0004] 实际地层是根据地震资料解释的层位,在横向上规则插值,在纵向上按照时间或深度数值从小到大依次
叠加后得到的,具有横向起伏变化大、非规则性强、边界容易出现空洞的特点。对于这种剖分对象,映射法剖分难以划分六面体子区域;基于栅格法对于顶底边界处理不精确;四面体转换法需要首先进行四面体剖分,再转为六面体过程中单元质量难以保证;中轴面分解法、铺路铺层法、须段编织法和扫描法不适用于复杂起伏外部边界和任意内部边界的处理,且自动化程度低。
发明内容
[0005] 本发明
实施例提出一种实际地层全六面体网格生成方法,以实现在实际地层剖分中快速地生成全六面体网格,且自动化程度高、网格剖分质量好。该方法包括:
[0006] 对实际地层层位进行规则重
采样,获得规则化的实际地层层位的网格节点坐标;
[0007] 确定规则化的实际地层层位中每一层中每一个网格节点坐标和相邻层中对应网格节点坐标所在直线;
[0008] 确定规则化的实际地层层位中每一层和相邻层在垂向上的剖分层数,根据所述直线和所述剖分层数,对规则化的实际地层层位中每一层与相邻层之间的空间进行剖分,得到每一层与相邻层之间的每一剖分层在所述直线上的网格节点坐标;
[0009] 根据每一层和相邻层以及二者之间的每一剖分层的网格节点坐标,生成六面体网格。
[0010] 本发明实施例提出一种实际地层全六面体网格生成装置,包括:
[0011] 规则重采样模
块,用于对实际地层层位进行规则重采样,获得规则化的实际地层层位的网格节点坐标;
[0012] 网格节点生成准备模块,确定规则化的实际地层层位中每一层中每一个网格节点坐标和相邻层中对应网格节点坐标所在直线;
[0013] 网格节点生成模块,确定规则化的实际地层层位中每一层和相邻层在垂向上的剖分层数,根据所述直线和所述剖分层数,对规则化的实际地层层位中每一层与相邻层之间的空间进行剖分,得到每一层与相邻层之间的每一剖分层在所述直线上的网格节点坐标;
[0014] 六面体网格生成模块,用于根据每一层和相邻层以及二者之间的每一剖分层的网格节点坐标,生成六面体网格。
[0015] 在本发明实施例中,对实际地层层位进行规则重采样,获得规则化的实际地层层位网格节点坐标,实现了对边界空白区域网格节点坐标的补充;确定规则化的实际地层层位中每一层中每一个网格节点和相邻层中对应网格节点所在直线,以及在垂向上剖分的层数,获得每一层和相邻层之间的网格节点坐标;根据每一层和相邻层之间的网格节点坐标,生成六面体网格,整个剖分过程不需要进行六面体子区域的划分,采用立体解析几何中直线进行剖分的过程简单、速度快,且自动化程度高;另外,由于该剖分过程不需要中间转换,生成的六面体网格质量高。
附图说明
[0016] 此处所说明的附图用来提供对本发明的进一步理解,构成本
申请的一部分,并不构成对本发明的限定。在附图中:
[0017] 图1为本发明实施例的实际地层全六面体网格生成方法
流程图;
[0018] 图2为本发明实施例的规则化前的一个实际地层层位图;
[0019] 图3为本发明实施例的规则化后的一个实际地层层位图;
[0020] 图4为本发明实施例的规则化后的三个待剖分实际地层层位图;
[0021] 图5为本发明实施例的剖分原理、网格节点编号和六面体单元编号过程示意图;
[0022] 图6为本发明实施例的三个实际地层层位全六面体网格生成结果图;
[0023] 图7为本发明实施例的地层层位全六面体网格生成质量评价图;
[0024] 图8为本发明实施例的实际地层全六面体网格生成装置结构示意图。
具体实施方式
[0025] 为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
[0026] 图1为本发明实施例的实际地层全六面体网格生成方法流程图。如图1所示,本实施例的实际地层全六面体网格生成方法,包括:
[0027] 步骤101,对实际地层层位进行规则重采样,获得规则化的实际地层层位的网格节点坐标;
[0028] 步骤102,确定规则化的实际地层层位中每一层中每一个网格节点坐标和相邻层中对应网格节点坐标所在直线;
[0029] 步骤103,确定规则化的实际地层层位中每一层和相邻层在垂向上的剖分层数,根据所述直线和所述剖分层数,对规则化的实际地层层位中每一层与相邻层之间的空间进行剖分,得到每一层与相邻层之间的每一剖分层在所述直线上的网格节点坐标;
[0030] 步骤104,根据每一层和相邻层以及二者之间的每一剖分层的网格节点坐标,生成六面体网格。
[0031] 由图1所示流程可知,本发明实施例对实际地层层位进行规则重采样,获得规则化的实际地层层位网格节点坐标,实现了对边界空白区域网格节点坐标的补充;确定规则化的实际地层层位中每一层中每一个网格节点和相邻层中对应网格节点所在直线,以及在垂向上剖分的层数,获得每一层和相邻层之间的网格节点坐标;根据每一层和相邻层之间的网格节点坐标,生成六面体网格,整个剖分过程不需要进行六面体子区域的划分,采用立体解析几何中直线进行剖分的过程简单、速度快,且自动化程度高;另外,由于该剖分过程不需要中间转换,生成的六面体网格质量高。
[0032] 由于实际地层层位是在地震资料处理结果的
基础上人工手动解释的,解释过程中会出现解释点不连续的现象,在边界处会出现空白区域,因此在网格生成之前首先对实际地层层位进行规则重采样。
[0033] 具体实施时,对实际地层层位进行规则重采样,获得规则化的实际地层层位的网格节点坐标的具体过程可以包括:
[0034] 获得实际地层层位中每一层的主测线方向(inline)和联络测线方向(crossline)的最大值和最小值;
[0035] 根据所述主测线方向和联络测线方向的最大值和最小值,获得每一层的矩形区域,将每一层的矩形区域以等间距划分为多个矩形子区域,确定为规则化后的每一层;
[0036] 对所述规则化后的每一层重采样,得到规则化的实际地层层位的网格节点坐标。
[0037] 具体实施时,对规则化的每一层重新采样可以有很多种方式,例如,可以采用最邻近插值方法,当然,可以理解的是,上述采用最邻近插值方法仅为举例,本领域技术人员可以根据实际需求采用其它的对所述规则化的每一层重新采样的方法,相关的变化例均应落入本发明的保护范围。
[0038] 在一实施例中,确定规则化的实际地层层位中每一层和相邻层在垂向上的剖分层数,根据所述直线和所述剖分层数,对规则化的实际地层层位中每一层与相邻层之间的空间进行剖分,得到每一层与相邻层之间的每一剖分层在所述直线上的网格节点坐标,可以包括:
[0039] 确定规则化的实际地层层位中每一层和相邻层在垂向上的剖分层数;
[0040] 根据所述剖分层数和所述直线,获得每一层和相邻层在所述直线上的厚度;
[0041] 根据所述厚度,计算每一层与相邻层层之间的每一剖分层在所述直线垂向上的坐标;
[0042] 根据每一剖分层在所述直线垂向上的坐标和所述直线,计算得到每一层与相邻层层之间的每一剖分层在所述直线上的网格节点。
[0043] 在一实施例中,根据每一层和相邻层以及二者之间的每一剖分层的网格节点坐标,生成六面体网格,可以包括:
[0044] 对每一层和相邻层以及二者之间的每一剖分层的网格节点坐标进行编号;
[0045] 将相邻的八个网格节点组成六面体单元,得到六面体单元集合;
[0046] 对六面体单元集合中的六面体单元进行编号,生成六面体网格,输出网格节点坐标、网格节点编号和六面体单元编号及组成所述六面体单元的网格节点编号。
[0047] 具体实施时,对经过剖分的实际地层层位网格节点坐标进行编号的方式有很多种,例如,可以采用“从上到下,从左到右,从前到后”编号的方法得到所有网格节点编号,具体可以包括:
[0048] 将所有网格节点中的最前面、最左边的顶层网格节点设置为1;对顶层网格节点沿垂向向下方向的直线上所有网格节点继续编号,直到该直线上的所有网格节点完成编号;对上述直线按照从左到右方向的相邻直线上的网格节点继续编号,直到完成从左到右方向上的所有直线上的网络节点编号;对上述直线和相邻直线组成的平面,按照从前到后的顺序得到的平面上的直线上的网格节点继续编号,直到完成所有网格节点编号。
[0049] 当然,可以理解的是,上述采用“从上到下,从左到右,从前到后”编号的方法仅为举例,本领域技术人员可以根据实际需求采用其它的对网格节点坐标编号的方法,相关的变化例均应落入本发明的保护范围。
[0050] 在一实施例中,生成六面体网格之后,可以评价该六面体网格生成质量,具体实施中,评价六面体网格生成质量的方法有很多种。
[0051] 在一实施例中,评价六面体网格生成质量的具体过程可以包括:
[0052] 计算六面体网格中每一个六面体单元中8个网格节点的单位化雅克比矩阵行列式的值,确定每一个六面体单元的最小雅克比矩阵行列式的值,最小雅克比矩阵行列式的值的值域为-1到1;判断所述最小雅克比矩阵行列式的值接近1的程度,该值越接近1,则对应的六面体单元质量越好,该值小于零,则对应的六面体单元不符合质量要求。
[0053] 下面给出一具体实施例,说明本发明的实际地层全六面体网格生成方法的具体应用。
[0054] 请参考图2、图3和图4。图2为本发明实施例的规则化前的一个实际地层层位图,选取的是西部某盆地在地震处理资料的基础上人工解释的一个层位,可以看出该层位在边界处存在点缺失的现象,而且解释的点较多,分布并不规则。
[0055] 图3为本实施例的规则化后的一个实际地层层位图。为了更清晰的显示网格,本实施例采用100*100的网格对整个层位进行规则化,具体过程包括:获得实际地层层位中每一层的主测线方向和联络测线方向的最大值和最小值;根据所述主测线方向和联络测线方向的最大值和最小值,获得每一层的矩形区域,将每一层的矩形区域以等间距划分为多个矩形子区域,确定为规则化后的每一层;对所述规则化后的每一层重采样,得到规则化的实际地层层位的网格节点坐标。
[0056] 图4为本实施例的规则化后的三个待剖分实际地层层位图,后续网格生成就是在这三个层位的基础上实施的。
[0057] 请参考图5,图5为本发明实施例的剖分原理、网格节点编号和六面体单元编号过程示意图。
[0058] 在本实施例中,层位A和层位B表示从规则化后的相邻层位截取的八个规则矩阵网格,确定层位A和层位B之间的剖分层数为2层,即插入一个新的层位C,其中网格节点(x1,y1,z1)和网格节点(x2,y2,z2)分别为层位A和层位B上对应的两点,根据如下的立体解析几何中直线方程的两点式:
[0059] (x-x1)/(x2-x1)=(y-y1)/(y2-y1)=(z-z1)/(z2-z1)
[0060] 网格节点(x,y,z)为层位C的笛卡尔
坐标系中的坐标点,且位于网格节点(x1,y1,z1)和网格节点(x2,y2,z2)确定的直线上;
[0061] 在本实施例中,剖分层数为2,因此,可采用如下表达式,计算层位A和层位B在所述直线上的厚度zn:
[0062] zn=|z2-z1|/2;
[0063] 然后采用采用如下表达式,计算层位C在上述直线垂向上的坐标z’:
[0064] z’=z1+zn;
[0065] 将坐标z’代入直线方程的两点式,计算得到坐标x’和坐标y’,即确定了层位C插入的网格节点坐标(x’,y’,z’)。
[0066] 层位C的坐标点采用上述方法可以依次求得,最终获得插入层位C上所有网格节点的坐标。
[0067] 继续参考图5,对经过剖分的实际地层层位的网格节点进行编号,在本实施例中,采用“从上到下,从左到右,从前到后”编号的方法得到所有网格节点编号,具体过程如下:
[0068] 网格节点(x1,y1,z1)编号设为1,网格节点(x’,y’,z’)编号设为2,网格节点(x2,y2,z2)编号设为3。网格节点(x1,y1,z1)和网格节点(x’,y’,z’)所在直线上的所有网格节点编号结束后,对该直线按照从左到右方向的相邻直线开始继续编号,最前面所在面的所有直线上的网格节点编号结束后,从最前面向后相邻面的直线上的网格节点继续编号。相邻的八个节点组成一个六面体单元,六面体单元编号方式与网格节点相同,例如,本实施例中,网格节点1、2、4、5、10、11、13、14八个相邻网格节点组成单元E1,网格节点2、3、5、6、11、12、14、15八个相邻网格节点组成六面体单元E2。图5只是一个编号原理示意图,实际地层均按此原理类推即可。最后输出网格节点坐标、网格节点编号和六面体单元编号及组成该六面体单元的网格节点编号。
[0069] 图6为本发明实施例的三个实际地层层位全六面体网格生成结果图。整个六面体网格生成过程在普通台式机编程实现,从读取实际地层层位数据、六面体网格生成到六面体网格生成结果输出共用时36s,生成网格节点数90000个,六面体单元数101178个,六面体网格生成速度满足工业化应用要求。
[0070] 图7为本发明实施例的地层层位全六面体网格生成质量评价图,在本实施例中,计算六面体网格中每一个六面体单元中8个网格节点的单位化雅克比矩阵行列式的值,确定每一个六面体单元的最小雅克比矩阵行列式的值,最小雅克比矩阵行列式的值的值域为-1到1;判断所述最小雅克比矩阵行列式的值接近1的程度,该值越接近1,则对应的六面体单元质量越好,该值小于零,则对应的六面体单元不符合质量要求。图7显示了本实施例中所有六面体单元的雅克比矩阵行列式最小值都大于0,而且绝大部分值均大于0.6,说明本发明实施例提出的六面体网格生成方法获得的六面体单元质量不仅满足
有限元分析要求,而且生成的六面体单元质量非常高。
[0071] 在本发明实施例中,对实际地层层位进行规则重采样,获得规则化的实际地层层位网格节点坐标;确定规则化的实际地层层位中每一层中每一个网格节点和相邻层中对应网格节点所在直线,以及在垂向上剖分的层数,获得每一层和相邻层之间的网格节点坐标;根据每一层和相邻层之间的网格节点坐标,生成六面体网格。本发明实施例提出的实际地层全六面体网格生成方法,在实际地层剖分方面具有自动化程度高、速度快和网格剖分质量好的优点,剖分过程不需要人为干预,为实际地层的有限元正演模拟、储层反演、地应力计算、油藏数值模拟等工业化应用提供高质量的六面体网格。在本发明实施例中,对实际地层层位进行规则重采样,有效处理了实际地层层位在边界处会出现空白区域的区域;采用立体解析几何中直线方程的方法,获得每一层和相邻层之间的网格节点坐标,自动化程度高、速度快和网格剖分质量好,剖分过程不需要人为干预。根据每一层和相邻层之间的网格节点坐标,生成六面体网格,自动化程度高、速度快。
[0072] 基于同一发明构思,本发明实施例还提供了一种实际地层全六面体网格生成装置,如下面的实施所述。由于这些解决问题的原理与实际地层全六面体网格生成方法相似,因此装置的实施可以参见方法的实施,重复之处不在赘述。
[0073] 图8为本发明实施例中实际地层全六面体网格生成装置的结构示意图,如图7所述,该装置包括:
[0074] 规则重采样模块801,用于对实际地层层位进行规则重采样,获得规则化的实际地层层位的网格节点坐标;
[0075] 网格节点生成准备模块802,确定规则化的实际地层层位中每一层中每一个网格节点坐标和相邻层中对应网格节点坐标所在直线;
[0076] 网格节点生成模块803,确定规则化的实际地层层位中每一层和相邻层在垂向上的剖分层数,根据所述直线和所述剖分层数,对规则化的实际地层层位中每一层与相邻层之间的空间进行剖分,得到每一层与相邻层之间的每一剖分层在所述直线上的网格节点坐标;
[0077] 六面体网格生成模块804,用于根据每一层和相邻层以及二者之间的每一剖分层的网格节点坐标,生成六面体网格。
[0078] 在一实施例中,规则重采样模块801可以具体用于:
[0079] 获得实际地层层位中每一层的主测线方向和联络测线方向的最大值和最小值;
[0080] 根据所述主测线方向和联络测线方向的最大值和最小值,获得每一层的矩形区域,将每一层的矩形区域以等间距划分为多个矩形子区域,确定为规则化后的每一层;
[0081] 对所述规则化后的每一层重采样,得到规则化的实际地层层位的网格节点坐标。
[0082] 在一实施例中,网格节点生成模块803可以具体用于:
[0083] 确定规则化的实际地层层位中每一层和相邻层在垂向上的剖分层数;
[0084] 根据所述剖分层数和所述直线,获得每一层和相邻层在所述直线上的厚度;
[0085] 根据所述厚度,计算每一层与相邻层层之间的每一剖分层在所述直线垂向上的坐标;
[0086] 根据每一剖分层在所述直线垂向上的坐标和所述直线,计算得到每一层与相邻层层之间的每一剖分层在所述直线上的网格节点。
[0087] 在一实施例中,六面体网格生成模块804可以具体用于:
[0088] 对每一层和相邻层以及二者之间的每一剖分层的网格节点坐标进行编号;
[0089] 将相邻的八个网格节点组成六面体单元,得到六面体单元集合;
[0090] 对六面体单元集合中的六面体单元进行编号,生成六面体网格,输出网格节点坐标、网格节点编号和六面体单元编号及组成所述六面体单元的网格节点编号。
[0091] 在一实施例中,规则重采样模块801可以进一步用于:采用最邻近插值方法对所述规则化后的每一层重采样,得到规则化的实际地层层位的网格节点坐标。当然,以上最邻近插值方法仅为举例,网格节点坐标生成模块还可以采用其他方法对规则化后的每一层重采样,相关变化例军营落入本发明的保护范围。
[0092] 综上所述,本发明实施例对实际地层层位进行规则重采样,获得规则化的实际地层层位网格节点坐标;确定规则化的实际地层层位中每一层中每一个网格节点和相邻层中对应网格节点所在直线,以及在垂向上剖分的层数,获得每一层和相邻层之间的网格节点坐标;根据每一层和相邻层之间的网格节点坐标,生成六面体网格。本发明实施例提出的实际地层全六面体网格生成方法,在实际地层剖分方面具有自动化程度高、速度快和网格剖分质量好的优点,剖分过程不需要人为干预,为实际地层的有限元正演模拟、储层反演、地应力计算、油藏数值模拟等工业化应用提供高质量的六面体网格。在本发明实施例中,对实际地层层位进行规则重采样,有效处理了实际地层层位在边界处会出现空白区域的区域;采用立体解析几何中直线方程的方法,获得每一层和相邻层之间的网格节点坐标,自动化程度高、速度快和网格剖分质量好,剖分过程不需要人为干预。根据每一层和相邻层之间的网格节点坐标,生成六面体网格,自动化程度高、速度快。
[0093] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或
计算机程序产品。因此,本发明可采用完全
硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘
存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0094] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方
框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程
数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中
指定的功能的装置。
[0095] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0096] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0097] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何
修改、等同替换、改进等,均应包含在本发明的保护范围之内。