本发明涉及油藏数值模拟算法研究、技术应用,特别是涉及到一种针对油藏压力方程混合存储结构的多重网格求解方法。
背景技术:
1、油藏数值模拟研究最早可追溯到上世纪50年代,在70年代后期逐渐发展,至今已建立各种油藏数学模型,如黑油模型、组分模型、热采模型和化学驱模型等,其中黑油模型是描述油藏模拟问题的基础模型,化学驱模型通常是在黑油模型的基础上扩展得到。
2、压力方程求解是预条件过程的关键环节,主要选取amg来进行求解。amg法是目前国际上求解大规模pdes离散代数系统的极为有效的方法,于上世纪八十年代初由brandt等人提出,近年来得到了极大的发展和应用。目前出现了各种各样的amg法,如基于强弱连通的rs-amg法,基于聚集法的amg法(agamg法),自适应amg法,基于falgout粗化算法、hmis粗化算法和长距离插值算法的amg法等。其中,由于agamg法具有算法复杂度低、更适合于异构体系等特点,目前已成为amg法研究领域的热点。这些agamg法对某些简单标量型偏微分方程离散代数系统具有较好的收敛效果。然而对于复杂pdes离散系统,如化学驱油气藏问题的压力方程,其收敛效果不尽如人意,还值得进一步研究。
3、在申请号:cn201710702432.0的中国专利申请中,涉及到一种对缝洞型油藏剩余油进行快速分析的方法及系统,其包括建立缝洞型油藏的数学模型;对缝洞型油藏进行网格单元的划分,基于数学模型建立数值模型;对数值模型进行迭代求解,并根据用于描述缝洞型油藏的流体压力和饱和度的分布对缝洞型油藏的剩余油进行分析;其中,在对数值模型进行迭代求解时的每一次迭代步骤中,包括:基于网格单元的特性,从数值模型中提取油相压力方程;基于代数多重网格算法对所述油相压力方程进行处理,以得到第一压力值;以第一压力值作为对所述数值模型进行迭代时的初始解。采用该方法,可对缝洞型油藏剩余油进行快速有效分析。
4、在申请号:cn201710321462.7的中国专利申请中,涉及到一种油藏数值模拟方法,方法包括:根据近井效应发生区域确定初选近井区域;根据井筒直径及井筒生产达到稳态时的渗流方程,确定初选近井区域内的压力等势线;根据各压力等势线确定最终近井区域;根据最终近井区域内的压力等势线建立最终近井区域的近井粗网格模型;对最终近井区域以外的油藏区域建立远井区域模型;根据近井粗网格模型和远井区域模型确定关于油藏数值的渗流模型,以预测油藏区域的压力分布和产量。该发明首先根据近井效应发生区域确定初选近井区域,然后根据初选近井区域内的压力等势线确定最终近井区域,使最终近井区域的近井粗网格模型不仅能精确模拟近井效应的影响,而且网格数量少,计算量小。
5、在申请号:cn201610621336.9的中国专利申请中,涉及到一种黑油油藏模拟方法及装置,该方法包括:基于组分渗流参数建立描述黑油油藏流体渗流规律的组分模型;根据基于黑油模型黑油模拟所需数据对组分模型进行数值离散,得到基于黑油油藏地质模型离散网格的组分数值模型;利用流体pvt数据建立组分相平衡参数表;根据组分相平衡参数表和组分渗流参数的估计值闪蒸计算得到流体相态和相应物性参数;根据流体相态和相应物性参数调整组分数值模型;利用组分渗流参数的估计值和调整后的组分数值模型,计算得到油藏压力变化值及各流体相饱和度变化值;判断油藏压力变化值及各流体相饱和度变化值是否收敛,若是,计算得到油藏压力及各流体相饱和度。该发明能够提高油藏数值模拟架构的可扩展性。
6、以上现有技术均与本发明有较大区别,未能解决我们想要解决的技术问题,为此我们发明了一种新的针对油藏压力方程混合存储结构的多重网格求解方法。
技术实现思路
1、本发明的目的是提供一种可以明显提高油藏压力方程的求解效率的针对油藏压力方程混合存储结构的多重网格求解方法。
2、本发明的目的可通过如下技术措施来实现:针对油藏压力方程混合存储结构的多重网格求解方法,该针对油藏压力方程混合存储结构的多重网格求解方法包括:
3、步骤1,计算得到最细网格层上的初始解向量和相应残向量;
4、步骤2,将细网格层上的残向量限制到粗网格层上;
5、步骤3,计算得到相应粗网格上的初始解向量残向量;
6、步骤4,将粗网格层上的解向量提升到相应细网格层上;
7、步骤5,计算得到最细网格层上的解向量和相应残向量完成一次完整的amg-v-cycl e循环。
8、本发明的目的还可通过如下技术措施来实现:
9、该针对油藏压力方程混合存储结构的多重网格求解方法还包括,在步骤1之前,针对化学驱油藏模型,基于三维结构网格采用7点中心差分格式进行离散得到代数系统,其中油藏矩阵由c、e、w、s、n、t和b这7条带构成,c表示单元中心,e、w分别代表其东西方向,s、n分别代表其南北方向,t、b分别代表其上下方向。
10、在步骤1,对最细网格即第0层系数矩阵采用结构矩阵str方式进行存储,并使用基于str方式的高斯赛德尔或雅克比磨光运算和矩阵向量乘积线性运算得到最细网格层上的初始解向量和相应残向量。
11、在步骤1,由于油藏矩阵具有7条带状结构,隐式井对应的镶边矩阵具有对称性和规模小的特点,针对以上两种矩阵分别使用结构矩阵和二维数组进行存储。
12、在步骤1,采用n表示有效单元数、nwel l表井的总个数、nxy=nx*ny,这里nx、ny分别为x、y方向的单元个数;o表示非零元,m为井的最大射孔数;为保证能够形成油藏与井镶边矩阵的稀疏结构,需要对二维数组引入映射map,map(s,t)表示第s口井第t号射孔所在的网格单元编号,s=1,…,nwel l,t=1,…,m,计算公式为:
13、map(s,t)=[kwc(s,t)-1]*nxy+[jwc(s,t)-1]*nx+iwc(s,t),
14、其中iwc(s,t)、jwc(s,t)和kwc(s,t)分别表示第s口井第t号射孔在x、y和z方向的网格单元编号。
15、在步骤2,利用基于csr存储格式的限制算子将细网格层上的残向量限制到粗网格层上。
16、在步骤3,利用基于csr存储格式的粗网格矩阵和步骤2限制下来的残向量,进行高斯赛德尔或雅克比磨光运算和矩阵向量乘积线性运算得到相应粗网格上的初始解向量残向量。
17、在步骤4,利用基于csr存储格式提升算子将粗网格层上的解向量提升到相应细网格层上;依次由粗网格向细网格进行计算,当到达最细网格时流程进入到步骤5。
18、在步骤5,对最细网格即第0层系数矩阵采用结构矩阵str方式进行存储,并使用基于str方式的高斯赛德尔或雅克比磨光运算和矩阵向量乘积线性运算得到最细网格层上的解向量和相应残向量,完成一次完整的amg-v-cycle循环。
19、在步骤5,如果解向量满足精度要求则求解流程结束,否则流程进入到步骤1继续下一次amg-v-cycle循环。
20、多重网格法是求解大规模椭圆型偏微分方程离散化线性代数方程组的最有效方法,具有普适性强(只需利用系数矩阵信息)、收敛速度快(迭代次数与网格规模几乎无关)等特性。为了提高该方法对复杂问题的适应性,它通常采用稀疏压缩行(csr)存储格式,并基于系数矩阵的邻接图进行网格粗化等操作,但csr格式矩阵由于行内非零元列号的随机性且分布范围广,常导致其基本运算过程中内存命中率不高而影响该求解方法的效率。结构(str)矩阵通常利用若干等长的一维数组对矩阵非零元素进行存储与计算,具有存储量更小、计算效率更高等特点。油藏问题压力方程属于椭圆型偏微分方程,适合使用多重网格法进行高效求解;油藏问题的油藏单元与井具有很强的结构特点,采用加边结构矩阵进行存储与计算比csr矩阵更具优势。本发明中的针对油藏压力方程混合存储结构的多重网格求解方法,根据结构矩阵访问复杂度低,计算效率高等特性,提出了基于混合存储格式的多重网格求解方法,该方法既保持了多重网格法的普适性和收敛速度快等特性,又充分发挥了结构矩阵的存储与运算优势。并通过数值实验验证新方法的正确性和高效性。与传统数值求解方法相比,该求解方法的计算效率明显得到了提高。
1.针对油藏压力方程混合存储结构的多重网格求解方法,其特征在于,该针对油藏压力方程混合存储结构的多重网格求解方法包括:
2.根据权利要求1所述的针对油藏压力方程混合存储结构的多重网格求解方法,其特征在于,该针对油藏压力方程混合存储结构的多重网格求解方法还包括,在步骤1之前,针对化学驱油藏模型,基于三维结构网格采用7点中心差分格式进行离散得到代数系统,其中油藏矩阵由c、e、w、s、n、t和b这7条带构成,c表示单元中心,e、w分别代表其东西方向,s、n分别代表其南北方向,t、b分别代表其上下方向。
3.根据权利要求2所述的针对油藏压力方程混合存储结构的多重网格求解方法,其特征在于,在步骤1,对最细网格即第0层系数矩阵采用结构矩阵str方式进行存储,并使用基于str方式的高斯赛德尔或雅克比磨光运算和矩阵向量乘积线性运算得到最细网格层上的初始解向量和相应残向量。
4.根据权利要求3所述的针对油藏压力方程混合存储结构的多重网格求解方法,其特征在于,在步骤1,由于油藏矩阵具有7条带状结构,隐式井对应的镶边矩阵具有对称性和规模小的特点,针对以上两种矩阵分别使用结构矩阵和二维数组进行存储。
5.根据权利要求4所述的针对油藏压力方程混合存储结构的多重网格求解方法,其特征在于,在步骤1,采用n表示有效单元数、nwell表井的总个数、nxy=nx*ny,这里nx、ny分别为x、y方向的单元个数;o表示非零元,m为井的最大射孔数;为保证能够形成油藏与井镶边矩阵的稀疏结构,需要对二维数组引入映射map,map(s,t)表示第s口井第t号射孔所在的网格单元编号,s=1,…,nwell,t=1,…,m,计算公式为:
6.根据权利要求1所述的针对油藏压力方程混合存储结构的多重网格求解方法,其特征在于,在步骤2,利用基于csr存储格式的限制算子将细网格层上的残向量限制到粗网格层上。
7.根据权利要求1所述的针对油藏压力方程混合存储结构的多重网格求解方法,其特征在于,在步骤3,利用基于csr存储格式的粗网格矩阵和步骤2限制下来的残向量,进行高斯赛德尔或雅克比磨光运算和矩阵向量乘积线性运算得到相应粗网格上的初始解向量残向量。
8.根据权利要求1所述的针对油藏压力方程混合存储结构的多重网格求解方法,其特征在于,在步骤4,利用基于csr存储格式提升算子将粗网格层上的解向量提升到相应细网格层上;依次由粗网格向细网格进行计算,当到达最细网格时流程进入到步骤5。
9.根据权利要求1所述的针对油藏压力方程混合存储结构的多重网格求解方法,其特征在于,在步骤5,对最细网格即第0层系数矩阵采用结构矩阵str方式进行存储,并使用基于str方式的高斯赛德尔或雅克比磨光运算和矩阵向量乘积线性运算得到最细网格层上的解向量和相应残向量,完成一次完整的amg-v-cycle循环。
10.根据权利要求9所述的针对油藏压力方程混合存储结构的多重网格求解方法,其特征在于,在步骤5,如果解向量满足精度要求则求解流程结束,否则流程进入到步骤1继续下一次amg-v-cycle循环。
