掌桥专利:专业的专利平台
掌桥专利
首页

一种快速构建油气藏数值模拟器系数矩阵的方法

文献发布时间:2023-06-19 11:08:20


一种快速构建油气藏数值模拟器系数矩阵的方法

技术领域

本发明涉及油气藏数值模拟领域,具体涉及一种快速构建油气藏数值模拟器系数矩阵的方法。

背景技术

油气藏数值模拟源于石油工程师在不同开采条件下准确预测油气藏开发动态的需要。随着油气藏数值模拟技术所依据的数学模型变得越来越复杂,再加上油气藏的非均质性和岩石的各向异性引起的油气藏复杂性,流体性质和相对渗透率在平面上分布的变化,裂缝结构的复杂等,会造成网格模型的复杂,其构成的线性方程组也越来越大。往往完成一次算例,需要很多时间,对计算设备的性能要求也更高。而线性方程组的求解在一次模拟过程中耗时往往占了整个模拟时间的很大比重。因此,建立一种更加快速的方法或者更利于迭代消元的矩阵结构是有必要的。

发明内容

本发明主要是针对现有技术中的不足之处,本发明的目的是提供一种快速构建油气藏数值模拟器系数矩阵的方法。

为达到以上技术目的,本发明采用以下技术方案:

步骤1:获取计算所需的参数包括储层参数、网格参数及流体参数;

步骤2:根据物质守恒方程:

式中:ρ为流体密度;υ

及达西定律:

可推导出三维单相流体渗流方程:

式中:β

步骤3:对步骤2中推导得到的非线性偏微分方程的空间交换项进行有限差分近似,得到其差分格式:

其中:

式中:i,j,k为直角坐标系中网格坐标;

上式中μ、B均为压力的函数,属于弱非线性项,采用中心加权取值,如下式所示:

然后,对每个网格的质量累积项进行线性化处理,使得

其中:

经过线性化处理后,构成形如AX=B的线性方程组。其中A为空间交换项差分后形成的邻接矩阵,B为累积项线性化后的常数数列,X为所求的未知量;

步骤4:将一个油藏划分为n个结构化网格,按总网格数n的网格进行自然排序,得出一个顺序排列的一维数列,代表网格编号;

步骤5:将一个油藏划分为n个结构化网格,按总网格数n的网格进行自然排序,得出一个顺序排列的一维数列,代表网格的顺序编号;以二维模型为例,nx表示模型的行数,ny表示列数,i表示第i行,j表示第j列,(i,j)表示某个网格所处的坐标位置,其自然排序的编号与坐标的关系为:

num=i×nx+j

步骤6:步骤5中得到的哈希表,每一个键对应的是矩阵的一条对角线,根据哈希表中每个键所对应数组的长度,按键的值从大到小,先对键值为偶数的数列,根据其数组长度,依次填入网格正常的排序,再用相同的步骤依次填入键值为奇数的数列,则可得到重新排序后的哈希表;

步骤7:将步骤6中重新排序后的哈希表以键的顺序为索引,将网格序号依次排入直角坐标系对角线中,即可构造出该方法中的网格序号的排列顺序,用于构造系数矩阵的连接关系,形成一个的邻接表;

步骤8:根据步骤7中的邻接表构造系数矩阵的连接关系,形成一个的邻接矩阵,该邻接矩阵则是线性方程组中A的形式,对应填入差分结果,结合直接法或迭代法进行求解,则可得到未知数的值。

有益效果:

与现有技术相比,本发明具有以下有益效果:

1、没有增加前处理中这一模块的增加运算时间,且网格数越大时会比原算法用时更少;

2、在求解线性方程组时计算速度比自然排序法构成的系数矩阵计算更快。

附图说明

图1为该方法下网格排序示意图(5*5);

图2为5*5网格形成的邻接矩阵二值图;

图3为3*3网格下的无向图;

图4为3*3网格下由邻接表推导出邻接矩阵示意图;

图5为不同网格数下两种方法前处理速度对比图;

图6为实施例1中51*51网格下生产200天的压力分布图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

实施例:

一种快速构建油气藏数值模拟器系数矩阵的方法,具体的计算方法包括以下步骤:

步骤1:获取计算所需的参数包括储层参数、网格参数及流体参数;

步骤2:根据物质守恒方程:

式中:ρ为流体密度;υ

及达西定律:

可推导出三维单相流体渗流方程:

式中:β

步骤3:对步骤2中推导得到的非线性偏微分方程的空间交换项进行有限差分近似,得到其差分格式:

其中:

式中:i,j,k为直角坐标系中网格坐标;

上式中μ、B均为压力的函数,属于弱非线性项,采用中心加权取值,如下式所示:

然后,对每个网格的质量累积项进行线性化处理,使得

其中:

经过线性化处理后,构成形如AX=B的线性方程组。其中A为空间交换项差分后形成的邻接矩阵,B为累积项线性化后的常数数列,X为所求的未知量;

步骤4:将一个油藏划分为n个结构化网格,按总网格数n的网格进行自然排序,得出一个顺序排列的一维数列,代表网格编号;

步骤5:将一个油藏划分为n个结构化网格,按总网格数n的网格进行自然排序,得出一个顺序排列的一维数列,代表网格的顺序编号;以二维模型为例,nx表示模型的行数,ny表示列数,i表示第i行,j表示第j列,(i,j)表示某个网格所处的坐标位置,其自然排序的编号与坐标的关系为:

num=i×nx+j

步骤6:步骤5中得到的哈希表,每一个键对应的是矩阵的一条对角线,根据哈希表中每个键所对应数组的长度,按键的值从大到小,先对键值为偶数的数列,根据其数组长度,依次填入网格正常的排序,再用相同的步骤依次填入键值为奇数的数列,则可得到重新排序后的哈希表;

步骤7:将步骤6中重新排序后的哈希表以键的顺序为索引,将网格序号依次排入直角坐标系对角线中,即可构造出该方法中的网格序号的排列顺序,用于构造系数矩阵的连接关系,形成一个的邻接表;

步骤8:根据步骤7中的邻接表构造系数矩阵的连接关系,形成一个的邻接矩阵,该邻接矩阵则是线性方程组中A的形式,对应填入差分结果,结合直接法或迭代法进行求解,则可得到未知数的值。

实施例1:

本实施例以封闭地层的二维单相油藏为例,具体地层及流体数据如下:

网格数据如下表所示:

首先,输入上述油藏、流体及网格数据,并设置边界条件和模拟时间及时间步长。

接着,建立该油藏的二维单相渗流微分方程,并对其进行离散化,针对弱非线性项进行中心加权处理。对于强非线性项进行上游加权处理,得到其差分格式。

然后,对油藏进行网格剖分,按照网格划分方法对网格进行编号,并依据本发明提出的方法,按照对角线与横纵坐标的关系建立网格间的连接关系(为无向图),储存为邻接表,对应其差分格式的邻接矩阵。

最后,根据邻接矩阵组装矩阵,构成线性方程组,再利用时间步长及各参数值代入方程,进行迭代计算,直到模拟终止时间为止,即可得到各时间上油藏压力分布。

本发明所提供的一种快速构建油气藏数值模拟器系数矩阵的方法,在获取油气藏数值模拟的基本数据的基础上,基于物质平衡原理,结合达西定律和连续性方程,建立单相油流的基本渗流微分方程,并采用有限差分方法对油藏数学模型进行推导和离散,得到其差分格式。然后,对油气藏进行结构化网格剖分并进行网格编号,针对网格坐标与编号关系,建立哈希表存储其关系。按照所提出的方法对哈希表进行重新排序,形成新的网格排序结构。再将哈希表按照对角线规律重新形成邻接图结构,组织网格间的连接关系,生成邻接表。最后,根据生成的邻接表,组装渗流微分方程的矩阵方程,进行求解计算。本发明可以在一定程度上提高油气藏数值模拟器的求解速度,但编程实现该方法有较高的难度,这里提出了较为简易的实现方法,对于油气藏数值模拟器的编制具有实用价值。

以上所述,并非对本发明作任何形式上的限制,虽然本发明已通过上述实施例揭示,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些变动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

相关技术
  • 一种快速构建油气藏数值模拟器系数矩阵的方法
  • 一种快速构建油气藏数值模拟器系数矩阵的方法
技术分类

06120112810307