基于集合卡尔曼滤波的大规模压裂参数反演方法
2020-10-19高善露查文舒杨景海李道伦
高善露, 查文舒, 杨景海, 李道伦
(1.合肥工业大学 数学学院,安徽 合肥 230601; 2.大庆油田有限责任公司测试技术服务分公司,黑龙江 大庆 163453)
油田开发过程中会面临很多的难题,获取可靠的地质模型是合理进行油藏开发和油藏评价的基础之一。建立无限逼近于真实油藏的地质模型,有利于正确描述油藏的动态特性,从而进行油藏的产能预测。
油藏建模不仅需要具备高质量的地质资料,还要求工作人员具有丰富的油田地质、油田开发等相关方面的知识和经验。由于地质状况的复杂性,很多未知的因素会导致部分参数具有不确定性,从而导致所建的模型并不能准确反映实际油藏的特征。为了减少这种差异,需要利用已有的静态资料和动态资料,对地质模型进行不断修正,使得动态预测的结果尽可能接近于油藏的实际情况,这对于全面、准确评价地质模型非常重要。
历史拟合[1]是油藏数值模拟研究中非常重要且复杂的环节,其运用已知的油藏历史动态,反求和修正能够反映油藏特性的未知参数。历史拟合方法与正演模拟不同,是一类典型的反问题[2-3]。传统历史拟合需要依靠工作人员的经验,手动修改一个或多个参数,通过反复试算分析模拟计算值和实际观测值之间的误差,直至误差达到允许的范围。因此传统的历史拟合主观性较强、同时也耗时耗力,且很难适用于大型的复杂油田。
随着计算机硬件以及数学算法的发展,自动拟合技术得到了快速发展。自动历史拟合方法[4]利用优化方法,自动修正影响目标量的油藏模型参数,缩小模拟计算值和实际观测值之间的误差。自动历史拟合方法克服了人工试算的缺点,解决了很多复杂的问题。历史拟合方法也逐渐由最初的梯度类方法[5]向智能算法演变,涌现出一大批自动历史拟合算法以及各种混合算法,且不同的自动历史拟合方法各具特点。作为一种自动历史拟合方法,集合卡尔曼滤波方法近些年来引起人们广泛的关注和研究,基于集合卡尔曼滤波方法发展而来的迭代集合卡尔曼滤波方法(iterative ensemble Kalman filter,IEnKF)[6-7]、集合平滑方法(ensemble smoother,ES)[8]、迭代集合平滑方法(iterative ensemble smoother,IES)[9]等为油藏特性的描述和动态预测提供了多种新的选择。
文献[10]在经典卡尔曼滤波方法(Kalman filter,KF)[11]的基础上引入集合的思想,提出集合卡尔曼滤波方法,并将其应用到了海洋领域;文献[12]基于油藏的实际观测数据,利用该理论对油井附近的油藏模型进行了更新。集合卡尔曼滤波方法自提出以来,在油藏自动历史拟合方面已得到越来越多的应用[13-14],并取得了很好的效果。
集合卡尔曼滤波方法[15]是基于Monte Carlo方法,有机地将卡尔曼滤波方法和集合预测结合起来。首先建立初始实现,其次通过持续、实时吸收实际观测数据,对初始实现中的每一个集合同时进行数值计算,最终达到不断更新油藏模型的目的。该方法避免了对多个不同油藏模型重复进行历史拟合的繁琐过程;与传统历史拟合方法相比,该方法具有运算时间短、拟合效果好的优点。集合卡尔曼滤波方法可以与任意一个油藏模拟软件兼容,避免了复杂的敏感性计算,并且只需要关注油藏模拟的计算结果,无需关注中间的过程。
试井分析是油藏模型建立的重要信息来源,该方法作为一种重要的油藏描述工具[16],是以油气渗流力学理论为基础,将实测井的井底压力、温度等随时间变化的数据与拟合方法相结合,进而推算出油气藏或油气井的工程参数,分析其特性,为油藏的动态特性描述和产能预测提供可靠的依据。近年来,软件技术、数值方法以及计算机的快速发展,为数值试井方法的应用提供了更加便利的条件。数值试井方法[17]是一种以油藏数值模拟技术为基础;与试井分析相结合的新方法可模拟油气藏复杂的流动情况以及试井的生产情况,为油气藏的管理、开发提供科学的依据。相比于解析试井,数值试井方法研究的范围更加广泛,可以更好地适用于复杂油藏以及非均质性地层的情况。但在数值试井分析的过程中,也存在很多问题,如参数过多、时间过长等,需要通过手动调节多个不确定参数,缩小计算数据与实测数据之间的误差,通常解释单一井或井组需要耗费大量的时间,严重影响了试井解释的效率;而自动反演油藏不确定参数的方法可以大大地提高试井解释的效率,减少工作人员的工作量。
文献[18]首次利用集合卡尔曼滤波方法同化试井数据,对油藏模型参数进行更新,并且在单层油藏情况下,获得了关于油藏特性的合理估计。目前国内外利用集合卡尔曼滤波方法解决大规模压裂的研究较少。本文基于集合卡尔曼滤波方法,针对大规模压裂水平井问题,提出参数反演的方法,并对试井的井底压力数据进行模拟、验证。
1 集合卡尔曼滤波方法
1.1 设置状态向量
利用集合卡尔曼滤波方法对油藏模型进行历史拟合,需要生成一定的初始集合,首先需要设置状态向量:
(1)
其中,yn,j为状态向量;n为时刻;j为集合成员;Ne为集合的数量;m为Nm维的列向量,代表静态参数,如渗透率、孔隙度等;pn为Np维的列向量,代表生产数据,如井底压力、产油量等。在油藏的应用中,yn,j包含油藏模型的静态参数、动态参数以及生产数据。
1.2 油藏集合卡尔曼滤波方法
集合卡尔曼滤波是对经典卡尔曼滤波的修正,主要是利用集合成员的统计获得协方差矩阵。该方法是一种递归的数据同化算法,整体上包含预测步和同化步2个部分。
(1) 预测步。F(·)代表油藏模拟器,即
(2)
(3)
H=[OI]
(4)
(5)
其中,H为测量因子;O为Nd×(Nm+Np)零矩阵;I为Nd×Nd单位矩阵;v(n)为观测误差,且v(n)~N(0,CDn)。
(6)
(2) 同化步。首先要获取集合卡尔曼滤波因子Kn,对实际观测数据进行吸收,状态向量实现更新的公式为:
(7)
(8)
(9)
(10)
1.3 集合卡尔曼滤波方法的主要流程
更改裂缝半长会导致网格数目发生变化,无法利用该算法更新油藏模型,因此需要对裂缝半长进行固定。为此,每次地层参数反演都是裂缝半长固定情况下其他参数的反演。反演流程为:
(1) 预设一个裂缝半长。
(2) 预设反演参数。根据油藏参数分布的特征,设定的参数有井储、水平渗透率、初始压力以及区域复合半径。其中,内层渗透率的数值大于外层渗透率的数值,并且在所设数值范围内利用随机算法生成多个初始集合。
(3) 利用油藏数值模拟软件对初始实现中的每个集合进行计算,得到计算的生产数据;将计算的生产数据(井底压力)、实际观测的生产数据(井底压力)以及初始集合作为集合卡尔曼滤波方法的输入进行迭代,可得模型状态向量的更新值。
(4) 当滤波的次数达到设定的迭代次数时,则输出状态的更新值;否则,继续进行迭代计算。
(5) 对更新所得的数据进行后处理,利用油藏模拟软件对实验结果进行解释分析,最终可求解出试井参数。
最终通过对比分析,选定拟合效果最好的裂缝半长。
2 实验和结果分析
2.1 算例1
油藏中有多段压裂水平井1,其模型如图1所示,流动为油水两相。
图1 油藏多段压裂水平井1模型
储层厚度为3.2 m,孔隙度为0.139,水饱和度为0.532,油黏度为1.45 mPa·s,水黏度为0.6 mPa·s。压裂井生产213 d,平均产量为7.767 m3/d,然后关井到235 d。裂缝中流动采用无限传导模型。压裂井裂缝数为6条,各条裂缝周围的复合区域顺次设定为区域1~6,外层区域设定为区域7。拟合的时间为213~235 d。迭代步长设定为1 d,集合数设定为100。静态参数为待反演参数,包括井筒存储、水平渗透率以及初始压力,并设定参数的初始范围,见表1所列,数据取对数变换。拟合的生产数据为井底压力。
表1 多段压裂水平井1参数初始范围
在油藏数值模拟器中输入相应的更新值,输出井底压力和井底压力导数数据。通过对比分析,在多段压裂水平井1模型的裂缝半长固定为80 m时,拟合效果最佳。多段压裂水平井1模型输出的实测压力和计算压力变化如图2所示。
图2 多段压裂水平井1压力对比
实测压力和计算压力及其压力导数双对数曲线如图3所示。
图3 多段压裂水平井1压力及压力导数对比
2.2 算例2
油藏中有多段压裂水平井2,其模型如图4所示,流动为油水两相。储层平均厚度为3.36 m,孔隙度为0.139,水饱和度为0.56,油黏度为1.45 mPa·s,水黏度为0.6 mPa·s。压裂井生产177 d,平均产量为16.684 m3/d,然后关井到185 d。裂缝中流动采用无限传导模型。压裂井裂缝数为5条。裂缝周围复合区域顺次设定为区域1~5,外层区域为区域6。拟合的时间为177~185 d。该模型迭代步长也设为1 d。集合数设定为100。
图4 油藏多段压裂水平井2模型
油藏模型2中待反演的静态参数包括井筒存储、水平渗透率以及区域复合半径,并设定参数的初始范围,见表2所列,数据取对数变换。拟合的生产数据为井底压力。
表2 多段压裂水平井2参数初始范围
与算例1数据处理方法相同。最后选定多段压裂水平井2模型的裂缝半长为60 m。多段压裂水平井2模型输出的实测压力和计算压力变化曲线如图5所示,实测压力和计算压力及其压力导数双对数曲线如图6所示。
图5 多段压裂水平井2压力对比
图6 多段压裂水平井2压力及压力导数对比
实验结果表明,集合卡尔曼滤波方法可以准确地反演出大规模压裂水平井模型的参数,相比于人工手动调参而言,该方法拟合效果更好,且工作效率高。
3 结 论
本文结合油藏地层参数反演问题的背景,对试井分析中的参数反演问题进行研究。针对不同的大规模压裂水平井问题,基于集合卡尔曼滤波方法,可以高效地对油藏参数进行反演,且能够提高反演的效果。本文所提出的试井自动反演方法参数设置少、计算时间短,能够减轻试井分析人员的工作强度,提高工作效率。