使用快速相包络的高效和稳健的组成储层模拟

申请号 CN201580007908.8 申请日 2015-03-12 公开(公告)号 CN105980984A 公开(公告)日 2016-09-28
申请人 兰德马克绘图国际公司; 发明人 特里·王;
摘要 本 发明 提出模拟储层中 流体 的不同相态的系统和方法。响应于饱和压 力 的不成功计算来大致估计相包络。如果给定 温度 高于近似相包络的最高温度,那么将网格 块 的相设定为具有等于总组成的组成的单相 蒸汽 。响应于确定给定温度不高于近似相包络的最高温度,从近似相包络内插饱和压力。如果内插饱和压力在精确度公差范围内,那么基于内插饱和压力确定所述网格块的相态。
权利要求

1.一种模拟储层中流体的不同相态的计算机实现的方法,所述方法包括:响应于所述饱和压的不成功计算来大致估计相包络;确定给定温度是否高于所述近似相包络的最高温度;响应于确定所述给定温度高于所述近似相包络的所述最高温度,将所述网格的相设 定为具有等于所述总组成的组成的单相蒸汽;响应于确定所述给定温度不高于所述近似相包络的所述最高温度,从所述近似相包络 内插饱和压力;确定所述内插饱和压力是否在精确度公差范围内;以及响应于确定所述内插饱和压力在所述精确度公差范围内,基于所述内插饱和压力来确 定所述网格块的所述相态。
2.如权利要求1所述的方法,其中在所述储层模拟的初始化期间大致估计所述快速相包络。
3.如权利要求1所述的方法,其中在所述储层模拟的时间步长期间大致估计所述快速 相包络。
4.如权利要求1所述的方法,其中使用Michelsen技术来大致估计所述快速相包络。
5.如权利要求1所述的方法,其中所述精确度公差范围是基于用户输入。
6.如权利要求1所述的方法,其中针对与网格块的相相关联的所述给定温度和总组成 来尝试所述饱和压力的计算。
7.如权利要求6所述的方法,其还包括:响应于所述饱和压力的成功计算来基于所述饱和压力确定所述网格块的所述相。
8.如权利要求1所述的方法,其中所述网格块的所述相是二相网格块、单相液体或单相 蒸汽中的至少一个。
9.如权利要求8所述的方法,其中当所述网格块的压力超过泡点压力时,所述网格块的 所述相是单相液体,并且当所述网格块的压力高于或低于露点压力时,所述网格块的所述 相是单相蒸汽。
10.—种模拟储层中流体的不同相态的系统,所述系统包括:至少一个处理器;以及耦接至所述处理器的存储器,所述存储器具有存储在其中的指令,所述指令在由所述 处理器执行时,导致所述处理器执行功能,所述功能包括以下功能:响应于所述饱和压力的不成功计算来大致估计相包络;确定给定温度是否高于所述近似相包络的最高温度;响应于确定所述给定温度高于所述近似相包络的所述最高温度,将所述网格块的相设 定为具有等于所述总组成的组成的单相蒸汽;响应于确定所述给定温度不高于所述近似相包络的所述最高温度,从所述近似相包络 内插饱和压力;确定所述内插饱和压力是否在精确度公差范围内;以及响应于确定所述内插饱和压力在所述精确度公差范围内,基于所述内插饱和压力来确 定所述网格块的所述相态。
11.如权利要求10所述的系统,其中在所述储层模拟的初始化期间大致估计所述快速相包络。
12.如权利要求10所述的系统,其中在所述储层模拟的时间步长期间大致估计所述快 速相包络。
13.如权利要求10所述的系统,其中使用Michelsen技术来大致估计所述快速相包络。
14.如权利要求10所述的系统,其中所述精确度公差范围是基于用户输入。
15.如权利要求10所述的系统,其中针对与网格块的相相关联的所述给定温度和总组 成来尝试所述饱和压力的计算。
16.如权利要求10所述的系统,其中由所述处理器执行的功能还包括以下功能:响应于 所述饱和压力的成功计算来基于所述饱和压力确定所述网格块的所述相。
17.如权利要求10所述的系统,其中所述网格块的所述相是二相网格块、单相液体或单 相蒸汽中的至少一个。
18.—种计算机可读存储介质,所述计算机可读存储介质具有存储于其中的指令,所述 指令在由计算机执行时,导致所述计算机执行多个功能,所述功能包括以下功能:响应于所述饱和压力的不成功计算来大致估计相包络;确定给定温度是否高于所述近似相包络的最高温度;响应于确定所述给定温度高于所述近似相包络的所述最高温度,将所述网格块的相设 定为具有等于所述总组成的组成的单相蒸汽;响应于确定所述给定温度不高于所述近似相包络的所述最高温度,从所述近似相包络 内插饱和压力;确定所述内插饱和压力是否在精确度公差范围内;以及响应于确定所述内插饱和压力在所述精确度公差范围内,基于所述内插饱和压力来确 定所述网格块的所述相态。
19.如权利要求18所述的计算机可读介质,其中由所述计算机执行的功能还包括以下 功能:响应于所述饱和压力的成功计算来基于所述饱和压力确定所述网格块的所述相。
20.如权利要求18所述的计算机可读介质,其中所述网格块的所述相是二相网格块、单 相液体或单相蒸汽中的至少一个。

说明书全文

使用快速相包络的高效和稳健的组成储层模拟

[0001] 相关申请的交叉引用
[0002] 本申请要求2014年3月12日提交的题为〃Efficient and Robust Composit1nal Reservoir Simulat1n Using a Fast Phase Envelope Generat1n Procedure〃的美国临时专利申请号61/951,823的权益,所述申请以全文引用方式并入本文。发明领域
[0003] 本公开总体上涉及地下沉积物的采收,并且更具体地说,涉及用于模拟石油储层中的地下沉积物的相态的数值技术。
[0004] 背景
[0005] 通过数值模拟模型来表示石油储层。在称为组成模拟的一个常见类型的模拟中, 使用状态方程(E0S)在储层模型中的适当位置确立流体的状态。在这个模拟模型中,将储层的体积分成离散的网格。在每一网格块内,假定热学平衡,并且必须确立每一网格块的状况。这意味着必须确立每一单独组分的平均温度、压力以及质量的量。此外,出于模拟目的,可能需要其他热力学信息,诸如饱和压力(即,单相系统变成二相系统时的压力)、液体烃相和蒸汽烃相的量,以及这些相中的每一个的组成。
[0006] 给定在给定温度和压力下具有特定总组成的流体,可生成相包络,用于描绘流体的不同相态的区域。例如,例如在给定温度低于临界温度的区域中,包络的一侧可表示流体的单相液体相态。在温度高于临界温度的不同区域中,包络的另一侧可表示流体的单相蒸汽状态。在二相包络内,流体的状态可以是两相液体。对应于相包络边界上的特定温度的压力被称为饱和压力。
[0007] 因此,相包络提供关于流体相态的全面描述,并且将需要针对任何给定组成来计算相包络。然而,在石油储层模拟中使用传统相包络技术,计算量可过于巨大并且效率低下,在所述技术中,必须在每个单个网格块(可存在数百万个)中并且针对每个单个时间步长(可存在数千个)来确立相态。例如,在大约1995年之前广泛使用的一种技术是通过计算饱和压力和比较饱和压力与网格块压力来确立初始平衡。然而,这种技术缺乏稳健性,并且还一定会在高于最高温度时失败,所述最高温度称为“临界凝析温度(cricondentherm)”, 在这个温度下两个相可共存。即使在临界点附近成功,仍可要求数值模拟的数百次迭代来收敛。
[0008] 当今在商用储层模拟器中最普遍使用的另一种技术涉及确定具有最低Gibbs自由能的流体状态。这种技术最普遍地用来发现切面距离。可选地,可将Gibbs自由能当做最小化问题的目标。在任一种情况下,所述技术在数学上有难度,未必稳健,并且可要求许多迭代来收敛。此外,尽管Gibbs自由能方法在临界点附近比饱和压力方法更为稳健,但Gibbs方法产出的信息不如饱和压力计算那么多,所述饱和压力计算可用来确立单相流体是液体或蒸汽。尽管Gibbs自由能方法可确立流体处于单相状态,但不确定是哪种单相状态,即流体是液体还是蒸汽。
[0009] 涉及在增大压力级下的多个闪蒸计算的其他方法可为计算量巨大的,并且在临界点附近效率低下,因为可要求许多闪蒸计算,所有闪蒸计算都可能要求数百次迭代。
[0010] 附图简述[〇〇11]以下参照附图详细描述本公开的说明性实施方案。
[0012] 图1A和图1B示出适于从石油储层开采和探测烃的开采井的实例。
[0013] 图2是用于模拟储层中的流体状态的示例性系统的框图
[0014] 图3是示出相包络的实例的图,所述相包络表示储层中的流体的总组成。
[0015] 图4是使用快速相包络来模拟储层中流体的不同相态的示例性方法的过程流程图
[0016] 图5是可实现本公开的实施方案的示例性计算机系统的框图。
[0017] 示出的图仅是示例性的并且不旨在主张或暗示对其中可以实现不同实施方案的环境、体系结构、设计或过程的任何限制。
[0018] 说明性实施方案的描述
[0019] 本公开的实施方案涉及使用快速相包络来模拟储层中流体的不同相态。尽管本文参照用于特定应用的说明性实施方案来描述本公开,但应理解,实施方案不限于此。本公开的描述已经出于说明和描述的目的来提供,但是并不意图是详尽的或受限于所公开形式的实施方案。在不脱离本公开的范围和精神的情况下,许多修改和变化对于本领域一般技术人员来说将是显而易见的。本文所描述的说明性实施方案被提供来解释本公开的原理和本公开的实际应用,并且允许其他本领域一般技术人员理解可根据需要针对特定实现方式或用途来修改所公开实施方案。权利要求书的范围意图广泛地覆盖所公开实施方案和任何这种修改。详述中列出的任何实际数据值仅出于说明目的被提供,并且本公开的实施方案并不意图限于此。因此,考虑到本文呈现的详细程度,将在理解实施方案的修改和变体是可能的情况下描述实施方案的操作行为。
[0020] 在本文的详述中,提及“一个实施方案”、“实施方案”、“示例性实施方案”等等表明所描述的实施方案可包括特定特征、结构或特性,但是每个实施方案可能不一定包括所述特定特征、结构或特性。此外,此类短语不一定是指同一实施方案。此外,当结合实施方案来描述特定特征、结构或特性时,应当认为,无论是否明确描述,结合其他实施方案实现此类特征、结构或特性是在本领域技术人员的知识范围内。
[0021] 除非上下文明确地另外指出,否则本文所用的单数形式“一个”、“一种”和“所述” 意图同样包括复数形式。将进一步理解,术语“包括(comprise)”和/或“包括(comprising)” 在本说明书和/或权利要求书中使用时,规定存在所陈述的特征、整数、步骤、操作、元件和/ 或部件,但是不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其群组。以上权利要求书中的所有装置或步骤加功能要素的对应结构、材料、操作以及同等物意图包括用于执行所述功能的任何结构、材料或操作以及具体要求保护的其他要求保护的要素。
[0022] 本公开可以重复各种实例或附图中的元件符号和/或字母。这种重复是为了简单和清楚起见,并且本身并不指示所讨论的各种实施方案和/或配置之间的关系。此外,为便于描述,在本文中可使用诸如在下面、下方、下部、上方、上部、井上、井下、上游、下游等等空间相对术语来描述如所示出的一个元件或特征与另一(些)元件或特征的关系,向上方向是朝对应附图的顶部,并且向下方向是朝对应附图的底部,井上方向是朝井筒的表面,井下方向是朝井筒的底端。除非另有说明,否则空间相对术语意图包含除图中所描绘的定向之外的在使用中或操作中的设备的不同定向。例如,如果图中的设备翻转过来,那么描述为在其他元件或特征“下方”或“下面”的元件将随后被定向为在其他元件或特征“上方”。因此,示例性术语“下方”可以包含上方和下方的这两个定向。可以其它方式来定向设备(旋转90度或以其他定向),且可以同样地相应解释本文所使用的空间相对描述词。
[0023] 此外,尽管附图可描绘平井筒或垂直井筒,但除非另有指示,否则本领域技术人员应理解,根据本公开的设备同样很适合于在具有其他定向的井筒中使用,所述井筒包括垂直井筒、歪斜井筒、多边井筒等等。同样,除非另外指出,尽管附图可描绘陆上操作,但本领域技术人员应理解,根据本公开的设备同样很适合于在海上操作中使用。此外,除非另外指出,尽管附图可描绘下套管井,但本领域技术人员应理解,根据本公开的设备同样很适合于在裸井操作中使用。
[0024] 以下参考图1至5来描述本公开的说明性实施方案和有关方法,因为可例如在用于基于一个或多个数值模拟模型来执行储层模拟的计算机系统中采用所述说明性实施方案和有关方法。在查阅下面的附图及详述后,对于本领域一般技术人员来说,本公开的实施方案的其他特征和优点将会更加明显。旨在所有此类附加特征和优点包括在所公开实施方案的范围内。另外,示出的附图仅是示例性的,并且不旨在主张或暗示对其中可实现不同实施方案的环境、体系结构、设计或过程的任何限制。
[0025] 如上所述,使用复杂的数值过程来确定相包络的当前算法的计算量过于巨大而无法在商业可行的石油储层模拟器中使用,因为必须在每个单个网格块(可存在数百万个)中并且针对每个单个时间步长(可存在数千个)来确立相态(即,是否有单相液体、单相蒸汽, 或是否存在共存的2个相)。因此,所公开实施方案允许使用快速相包络计算来(a)帮助在石油储层的数值模拟期间设定初始状况,以及(b)帮助在数值模拟的网格块中快速识别流体的相态。在实施方案中,可针对储层模拟中的网格块生成近似相包络,以进一步提高效率和模拟性能。
[0026] 在实施方案中,模拟可部分地基于开采系统数据,所述数据包括从在每一烃储层内所钻凿的井(例如,呈用于油气储层的开采井的形式)的井下所收集的各种测量结果。此夕卜,可钻凿多个开采井以便提供对地下储层流体的获取。可从每一开采井定期收集所测量的井数据,以追踪储层中变化的状况,如以下将关于图1A和图1B中所示出的开采井实例更详细描述的。[〇〇27]图1A是示例性开采井100A的图,所述开采井100A具有已钻凿到储层地层中的井眼 102。在所述地层内可将井眼102钻凿至任何深度并且在任何方向上钻凿。例如,根据特定实现方式的需要,可将井眼102钻凿至一万英尺或更深的深度,并且此外,可使所述井眼穿过所述地层水平前进任何距离。开采井100A还包括套管头部104和套管106,这两者都通过水泥103紧固在适当位置。防喷器(B0P)108耦接至套管头部104和开采井口 110,所述套管头部和所述开采井口共同密封在井口中,并且允许以安全和受控的方式从井中抽出流体。[〇〇28]可从开采井100A周期性地采样和收集所测量的井数据,并且将所述井数据与来自储层内的其他井的测量结果组合起来,从而允许监测和评估储层的总体状态。可使用若干不同井下和表面仪器来取得这些测量结果,所述仪器包括但不限于温度和压力传感器118 以及流量计120。还可将附加装置同轴耦接至开采油管112,所述附加装置包括例如井下节流装置116(例如用于改变流体流量限制的等级)、电动潜水栗(ESP)122(例如用于抽取从ESP 122和开采油管112外部的穿孔125流动的流体)、ESP达124(例如用于驱动ESP 122), 以及封隔器114(例如用于将封隔器下方的开采区与井100A的其余部分隔离开)。附加的表面测量装置可用来测量例如ESP马达124的油管头压力和电力消耗。
[0029] 图1B是展示图1A的开采井100A的替代性实施方案的图,所述替代性实施方案包括许多与井100A相同的部件,但适于人工气举。如图1B中所示出,除井100A的上述部件之外, 开采井100B还包括气举注入器芯轴126。在实施方案中,气举注入器芯轴126与开采油管112 同轴耦接,以便控制进入开采油管112的一部分的注入气流,所述开采油管位于地面上方或位于井口 110附近的井的表面处。尽管未在图1B中展示,但气举开采井100B还可包括与图1A 中针对开采井100A所示出的相同类型的井下仪器和表面仪器,用于提供上述测量结果。
[0030] 如图1A和图1B中所示出,沿着开采油管112的装置中的每一个耦接至电缆128,所述电缆可附接至开采油管112的外部部分。电缆128可主要用来对所述电缆所耦接至的装置提供电力。电缆128还可用来提供信号路径(例如电路径或光路径),可通过所述信号路径将控制信号从表面引导至井下装置以及将遥测信号从井下装置引导至表面。可通过位于开采井的表面处的控制单元132来发送和接收相应的控制信号和遥测信号。控制单元132可通过防喷器108耦接至电缆128。在实施方案中,油田工作人员可使用控制单元132在本地控制和监测井下装置,例如经由在与控制单元132集成的终端面板或控制面板处提供的用户接口。 此外或可选地,可通过远程处理系统140来控制和监测井下装置。处理系统140可用来提供针对与油田中每一储层相关联的开采井的各种监视控制和数据采集(SCADA)功能性。例如, 远程操作者可使用处理系统140来发送合适的命令,用于控制对控制单元132的井场操作。 控制单元132与处理系统140之间的通信可经由一个或多个通信网络,所述通信网络例如呈无线网络(例如蜂窝网络)、有线网络(例如到因特网的电缆连接)或无线网络与有线网络的组合的形式。[〇〇31] 如图1A和图1B中所示出,处理系统140可包括计算装置142(例如服务器)和数据存储装置144(例如数据库)。尽管图1A和图1B中仅示出一个计算装置和一个数据存储装置,但应了解,处理系统140可包括附加的计算装置和数据存储装置。可使用具有至少一个处理器、存储器以及网络接口的任何类型的计算装置来实现计算装置142,所述网络接口能够经由通信网络将数据发送至控制单元132并且从控制单元132接收数据。在实施方案中,计算装置142可以是一种类型的服务器。这种服务器的实例包括但不限于网页服务器、应用服务器、代理服务器以及网络服务器。在一些实现方式中,计算装置142可表示服务器机群中的计算装置的群组。
[0032] 在实施方案中,控制单元132可经由通信网络将井场开采数据周期性地发送至处理系统140,用于处理和存储。这种井场开采数据可包括例如如上文所描述的来自各种井下装置的开采系统测量结果。在一些实现方式中,可使用控制单元132的远程终端单元(RTU) 来发送这种开采数据。在实施方案中,数据存储装置144可用来存储从控制单元132接收的开采数据。在一个实例中,数据存储装置144可用来存储历史开采数据,所述历史开采数据包括在一段时间(例如多个模拟时间步长)内获得或计算出的实际和模拟开采系统测量结果,如以下将更详细地描述。
[0033] 图2是用于执行储层中流体的不同状态的数值模拟的示例性系统200的框图。例如,系统200可用来实现处理系统,例如如上文所描述的图1A和图1B的处理系统140,所述处理系统用于处理通过与开采系统中的每一储层相关联的开采井的表面控制单元(例如,图 1A和图1B的控制单元132)发送的井场数据。如图2中所示出,系统200包括储层模拟器210、 存储器220、用户接口(UI)230以及网络接口240。储层模拟器210包括流体模型生成器212、 流动模拟器214以及数据呈现单元216。在实施方案中,储层模拟器210和它的部件(包括流体模型生成器212、流动模拟器214以及呈现单元216)、存储器220、UI 230以及网络接口240 可经由系统200的内部总线可通信地彼此耦接。[〇〇34] 在实施方案中,可使用具有至少一个处理器和处理器可读存储介质的任何类型的计算装置来实现系统200,所述处理器可读存储介质用于存储数据和可由处理器执行的指令。这种计算装置的实例包括但不限于台式计算机、工作站、服务器、计算机集群(例如服务器机群中)或类似类型的计算装置。这种计算装置还可包括输入/输出(I/O)接口,用于经由用户输入装置(未示出)接收用户输入或命令。用户输入装置可以是例如且不限于鼠标、 QWERTY或T9键盘触摸屏、手写板或麦克。I/O接口还可包括显示器接口,用于在耦接至计算装置或与计算装置集成的显示器(未示出)上输出或呈现信息。[〇〇35] 尽管在图2中仅示出储层模拟器210、存储器220、UI 230以及网络接口240,但应了解,系统200可根据特定实现方式的需要包括附加的部件、模块和/或子部件。还应了解,可在软件固件硬件或其任何组合中实现储层模拟器210和它的部件。此外,应了解,可实现储层模拟器210或其部分的实施方案,以在任何类型的处理装置上运行,所述处理装置包括但不限于计算机、工作站、嵌入式系统、网络装置、移动装置或能够执行本文所描述的功能性的其他类型的处理器或计算机系统。[〇〇36]在实施方案中,系统200可使用网络接口 240来经由网络204与不同装置和其他系统通信。网络204可以是用来在不同计算装置之间传达信息的任何类型的网络或网络的组合。网络204可包括但不限于有线(例如以太网)网络或无线(例如W1-Fi或移动电信)网络。 此外,网络204可包括但不限于局域网、中域网和/或诸如因特网的广域网。[〇〇37]在实施方案中,系统200可使用网络接口 240来经由网络204将信息发送至井场控制和监测装置并且从井场控制和监测装置接收信息,所述井场控制和监测装置例如如上文所描述的图1A和图1B的表面控制单元132。这种信息可包括例如经由网络204从井场控制和监测装置发送至系统200的开采系统数据。同样,可通过系统200经由网络204将各种控制信号和命令发送至井场控制和监测装置,例如用于控制井场操作或从装置请求井场开采系统数据的目的。在一些实现方式中,此类控制信号可呈使用遥测收发器发送的遥测信号的形式,所述信号集成在系统200的网络信息240内。[〇〇38]在实施方案中,通过系统200发送至井场处的装置的控制信号或命令可以基于经由UI 230从用户202所接收的输入。用户202可经由用户输入装置(例如鼠标、键盘或触摸屏)和耦接至系统200的显示器与UI 230交互,以配置、控制或监测开采系统模拟的执行。根据储层模拟器210经由UI 230所接收的用户输入,可经由网络204从井场控制和监测装置请求和接收开采系统数据,如上文所描述。在开采系统模拟中可由储层模拟器210处理和使用从装置接收的数据。随后可经由UI 230通过呈现单元216向用户202显示模拟的结果。
[0039]在实施方案中,除可由储层模拟器210和它的部件(包括流体模型生成器212、流动模拟器214以及显示单元216)访问的各种其他类型的数据之外,存储器220可用来存储来自以上实例中的装置的开采系统数据,用于实现本文所公开的开采系统模拟功能性。存储器220可以是耦接至集成电路的任何类型的记录介质,所述集成电路控制对所述记录介质的访问。记录介质可以是例如且不限于半导体存储器、硬盘或类似类型的存储器或存储装置。 在一些实现方式中,存储器220可以是远程基于的存储位置,其可由系统200经由网络接口 240和网络204访问。
[0040] 在图2中所示出的实例中,存储在存储器220中的数据可包括开采数据222、流体数据224以及模拟数据226。如以下将更详细地描述,储层模拟器210可使用开采数据222、流体数据224以及模拟数据226的组合,来得出用于开采系统模拟的给定时间步长的一组所需操作点。
[0041] 开采数据222可包括例如实际和/或模拟开采系统测量结果。实际开采系统测量结果可包括例如来自多储层系统中的各种开采井的表面和井下的井测量结果。此类测量结果可包括但不限于在流体与来自其他储层的流体混合的点之前,在井穿孔附近、沿开采柱、在井口处以及集油管网内井下取所得的压力、温度以及流体流量测量结果。同样,模拟测量结果可包括,例如且不限于,压力、温度以及流体流量的估计值。可基于例如来自一个或多个先前时间步长的模拟结果来确定此类估计。
[0042] 流体数据224可表示不同储层流体组分(例如重原油、轻原油、甲烷等等)和有关性质,所述性质包括例如所述组分的针对各种组成、压力以及温度的比例、流体密度以及粘稠度,或其他数据。在实施方案中,流体数据224可包括E0S模型数据,例如呈一个或多个数据表形式的E0S模型数据,所述E0S模型数据表示多储层开采系统内的每一储层的流体。
[0043] 在实施方案中,流体模型生成器212可基于对应的开采数据222和流体数据224来生成针对多储层系统中的每一储层的流体模型。例如,流体模型生成器212可基于实际和模拟开采系统测量结果(例如来自一个或多个先前模拟时间步长)和与每一储层相关联的流体组分特性,来确定针对储层的每一流体组分或组分群组的参数。针对每一组分/群组的所得模型随后可应用于已知状态变量,以计算在储层内的每一模拟点或“网格块”处的、在井筒穿孔或“井底”处的以及在开采系统的共同集油管网内的未知状态变量。这些未知变量可包括,例如且不限于,每一网格块的液体体积分数、溶解气油比以及地层体积系数。
[0044] 在实施方案中,可提供测量和计算出的所得流体组分状态变量来作为至流动模拟器214的输入,用于模拟穿过多储层开采系统的流体的流量。至流动模拟器214的附加输入可包括例如与开采系统和它的约束相关的各种浮动参数、固定参数以及特性数据。浮动参数可包括例如各种强化采油(E0R)参数,所述E0R参数包括但不限于气举注入率、储层气体注入率以及储层液体注入率。固定参数的实例可包括设施约束(例如开采能力限制)和单独井的默认开采率。储层特性数据可包括例如描述储层地层的地质数据(例如先前在井的钻凿和/或先前测井期间所收集的测井数据)和地层特性(例如孔隙率)。可将上述流体组分状态变量与其他模拟输入、参数以及开采系统约束一起作为模拟数据226存储在存储器220 中。
[0045] 在实施方案中,流动模拟器214可采用各种数值分析技术中的任一种(例如 Michelsen技术)来确定每一网格块的一组初始状况。此类技术还可用来在每一模拟时间步长期间识别或更新网格块中的流体的相态。可针对多个不同时间步长中的每一个重复由流动模拟器214执行的模拟,其中使用针对给定时间步长的模拟结果来更新针对下一时间步长的模拟模型。
[0046] 如上文所描述,可将模拟模型中的储层的体积分成离散的网格块。在每一网格块内,假定热力学平衡,并且必须建立每一网格块的状况。这意味着必须建立每一单独组分的平均温度、压力以及质量的量。此外,用户可能需要其他热力学信息,诸如饱和压力(单相系统变成二相系统时的压力)、液体烃相和蒸汽烃相的量,以及这些相中的每一个的组成。
[0047] 给定在给定温度和压力下具有特定总组成的流体,可生成相包络。图3中示出针对特定总组成的二相包络300的实例。在这个实例中,假定水相与烃不平衡,并且有一个或两个烃相存在于任何给定网格块中。如图3中所示出,相包络300描绘不同相态的区域。在包络左方,例如在温度低于临界温度点302的区域中,流体是单相液体。在包络右方,例如在温度高于临界温度的另一区域中,流体是单相蒸汽。在二相包络300内,流体可由平衡的液体和蒸汽组成。对应于相包络边界上的特定温度的压力被称为饱和压力。将相包络300分成两个部分,泡点线310可表示在临界温度点302之下的饱和压力,并且露点线320可表示在临界温度点302之上的饱和压力。在泡点压力之上,存在单相液体,并且在泡点压力之下,存在两相流体。温度高于临界温度点302的区域可表示倒退区域,在所述倒退区域内,在同一温度下在饱和压力之上和饱和压力之下存在单相蒸汽。然而,在称为临界凝析温度的最高温度之上仅存在单相蒸汽。
[0048] 出于初始化储层模拟的目的,在每一网格块内,并不要求了解整个相包络。按照惯例,仅要求饱和压力。已开发出稳健的算法来确定饱和压力。通过状态方程来计算饱和压力可能极为困难,尤其在临界点302附近。这是因为饱和压力难题的完美解是所谓的平凡解 (液相和汽相都具有与总组成相同的组成)在过程的初始化阶段期间,饱和压力的计算将网格块的状态提供为二相网格块(网格块压力小于低于泡点压力的饱和压力,或在较高露点压力与较低露点压力之间)、单相液体(发现泡点并且网格块压力高于泡点压力)或单相蒸汽(发现露点并且网格块压力高于或低于露点压力)。在临界点302附近,如果饱和压力计算失败,那么储层模拟器也可以失败(除非采用一些其他预防措施来发现相态)。此外,当温度高于临界凝析温度(即,两个相可共存时的温度)时,任何饱和压力计算也将失败,并且模拟器可能不能够初始化。这适用于许多储层模拟器。
[0049] 通过相包络的计算,可以避免上述两个问题。然而过去从未尝试过这样做,因为相包络的计算的计算量将是巨大的。因此,所公开实施方案提供用于生成快速相包络的技术, 其产生近似相包络,其中可通过在一些选择温度下计算饱和压力来得出包络的大概形状。 尽管这可仅提供近似解,但是近似值对于预期的模拟目的来说已足够。如以下将过于图4更详细描述的,只要温度低于临界温度,或即使温度高于临界温度,只要饱和压力的变化随压力是单调的,那么在两个计算出的点之间在特定温度下内插饱和压力可能已足够。
[0050] 图4是使用快速相包络来模拟储层中流体的不同相态的示例性方法400的流程图。 如图4中所示出,方法400包括步骤402、404、406、408、410、412、414以及416。然而,应注意, 方法400可根据特定实现方式的需要包括附加步骤来执行本文所公开的技术。可通过储层模拟器(例如如上文所描述的图2的储层模拟器210)来执行方法400的步骤,但方法400不意图限于此。可在模拟的迭代或时间步长期间执行这个实例中的方法400的步骤,以便处理模拟模型中的多个网格块中的每一个。可假定,针对每一网格块仅存在单个烃相,并且压力和组成的变化可导致对应于网格块的流体分成两个烃相。
[0051] 方法400开始于步骤402,所述步骤包括试图计算在给定温度和总组成下的当前网格块的状态的饱和压力。在一个实施方案中,在预定点处执行此计算,所述预定点具有相对低的压力和温度,以便简化计算并提高效率。如果在步骤404中确定饱和压力的计算成功, 那么计算出的饱和压力可随后用来确定当前网格块的相,并且方法400前进至模拟模型中的下一网格块以便进行处理,或如果已处理所有网格块,那么方法400停止。可针对需处理的每一剩余网格块重复方法400的步骤。
[0052] 如上文所描述,通过状态方程来计算饱和压力可能极为困难,尤其在临界点附近, 并且可因任何数目的原因而失败。如果在步骤404中确定这个实例中的饱和压力计算未成功,那么方法400前进至步骤406,所述步骤包括大致估计当前网格块的快速相包络。在实施方案中,可使用由Michelsen在1994年描述的过程来生成近似相包络。这个过程可能极为高效,要求在远离临界点的点处的单个饱和压力计算的计算成本。当从临界点执行饱和压力计算时,仅需要几次迭代(通常少于10次)来收敛。此外,所述过程极为稳健,并且一定会在所有温度下通过内插得出近似点。此外,所述计算过程极为便宜,因为其仅要求相对于温度的导数,并且不要求组成导数。组成导数的计算量巨大,并且组成导数的使用将需要矩阵乘法。在这种算法中,仅需要简单的乘法。所述计算还将单相状态识别为液体或蒸汽。
[0053] 此外,可计算任何误差£的相对精确测量。所公开实施方案可随后使用此估计值, 并且将估计值乘以网格块压力与估计饱和压力之间的差,以确定是否准许附加计算。 Michelsen提供一种技术来在准许解的情况下在任何程度上改进所述解。此外,近似解得出针对成熟饱和压力计算的优良起始猜测,因此如果需要确切答案,则可始终使用此近似解。 大多数情况下,即使仅仅使用初始近似解也在实际饱和压力的几psi内,并且对大多数计算来说已经足够好了。可在针对储层计算的临界点附近,并且在针对储层计算和表面网络计算的临界凝析温度之上发现最大的效率节省和改进的稳健性。使用快速相包络技术可比当今所使用的传统技术明显更为稳健并且计算效率高。然而,谨慎使用误差估计对确定其最终效率来说可能非常重要。[〇〇54]在步骤408中,确定当前网格块的温度是否超过包络的预定最高温度。如果超过, 那么方法400前进至步骤410,在所述步骤中,将网格块初始化或设定成单相蒸汽,以使得所述网格块的组成等于总组成。这样做的理由是,如果温度高于包络的最高温度,那么已知所述网格块在单相区域中并且计算饱和压力是不必要的。这还允许所公开实施方案极大地减少所执行模拟的计算要求。在步骤410后,方法400可前进至模拟模型中的下一网格块以便进行处理,或如果已处理所有网格块,则方法400停止。[〇〇55] 可选地,如果温度未超过包络的最高温度,那么方法400前进至步骤412,所述步骤包括在所需温度下内插针对饱和压力的近似解。应了解,可使用各种数值分析技术中的任一种,所述技术可涉及在一组离散的已知数据点的范围内构造新的数据点。[〇〇56]在步骤414中,确定针对饱和压力的近似答案是否足够精确(例如,针对网格块的近似饱和压力是否与近似包络相隔足够远的距离,以使得所述网格块明显在某个相区域中)。在一个实施方案中,步骤414可包括执行精确计算至少一次,以建立公差限制(例如,与近似包络相隔足够远的阈值距离)。可选地或除此之外,可基于系统和/或流体类型的先前分析由用户(例如,如上文所描述的图2的储层模拟器210的用户202)设定公差。例如,在一些系统中,公差可以是5psi,而在另一系统中,公差可以是15psi。[〇〇57]如果在步骤414中确定针对饱和压力的近似答案足够精确,那么方法400可前进至将要处理的下一网格块,或如果已处理所有块,则方法400停止。或者,方法400前进至步骤 416,所述步骤包括应用校正系数来提高近似饱和压力的精确度。方法400可随后将步骤414 中的确定和步骤416中所应用的校正重复任何次数,直至已达到饱和压力的所需精确度。
[0058]所公开实施方案相对于传统技术的优点在于,例如,在流体高度不饱和的情况下, 可能不需要饱和压力的实际值。所公开实施方案与先前方法相比的附加优点包括,与传统技术相比有所增加的计算效率和有所改进的性能。因为仅在模拟期间进行一次初始化,所以本文所公开的快速相包络技术能够相对于传统精密相包络计算提供相对更高效和更稳健的能力来针对确定流体相态而确定解,在所述传统精密相包络计算中,在多个模拟时间步长内计算饱和压力的解。所公开实施方案尤其有利于数值模拟,其中可能需要所公开的快速相包络技术的效率来减少模拟时间,并从而相对于传统技术在数值储层模拟期间提供商业上更可行的选项来确定相态。[〇〇59]图5是可实现本公开的实施方案的示例性计算机系统500的框图。例如,系统500可用来实现如上文所描述的图2的系统200。系统500可以是任何类型的计算装置,包括但不限于,台式计算机、膝上型计算机、服务器、平板电脑以及移动装置。系统500包括处理器510、 主存储器502、二级存储单元504、输入/输出接口模块506和通信接口模块508以及其他部件。
[0060] 处理器510可以是能够执行用于执行所公开实施方案的特征和功能的指令的任何类型或任何数目的单核处理器或多核处理器。输入/输出接口模块506使系统500能够接收用户输入(例如,从键盘和鼠标)并且向诸如但不限于打印机、外部数据存储装置和音频扬声器的一个或多个装置输出信息。系统500可任选地包括能够在集成的或外部的显示装置上显示信息的单独显示模块511。例如,显示模块511可包括用于提供与一个或多个显示装置相关联的增强图形、触摸屏和/或多触摸功能的指令或硬件(例如,图形卡或芯片)。
[0061] 主存储器502是存储当前正在执行的指令/数据或被预提取以便执行的指令/数据的易失性存储器。二级存储单元504是用于存储持久性数据的非易失性存储器。二级存储单元504可以是或包括诸如硬盘驱动器、闪存驱动器或存储卡的任何类型的数据存储部件。在一个实施方案中,二级存储单元504存储计算机可执行代码/指令以及用于使用户能够执行所公开实施方案的特征和功能的其他相关数据。[〇〇62]例如,根据所公开实施方案,二级存储单元504可永久存储可执行代码/指令520, 所述可执行代码/指令520用于执行如上文所描述的图4的方法400的步骤。可执行代码/指令520随后在由处理器510执行期间从二级存储单元504加载到主存储器502,以用于执行所公开实施方案。此外,二级存储单元504可存储其他的可执行代码/指令和数据522,诸如但不限于,与所公开实施方案一起使用的储层模拟应用程序(例如,储层模拟应用程序)。 [〇〇63]通信接口模块508使系统500能够与通信网络530通信。例如,网络接口模块508可包括网络接口卡和/或无线收发器,其用于使系统500能够通过通信网络530和/或直接利用其他装置发送和接收数据。[〇〇64]通信网络530可以是包括以下网络中的一个或多个的组合的任何类型的网络:广域网、局域网、一个或多个专用网络、因特网、诸如公共交换电话网(PSTN)的电话网络、一个或多个蜂窝网络,和/或无线数据网络。通信网络530可包括多个网络节点(未描绘),诸如路由器、网络接入点/网关、开关、DNS服务器、代理服务器,以及用于协助装置之间的数据/通信的路由的其他网络节点。
[0065] 例如,在一个实施方案中,系统500可与一个或多个服务器534或数据库532交互以用于执行所公开实施方案的特征。例如,系统500可从数据库532查询用于根据所公开实施方案创建储层模型的测井信息。另外,在某些实施方案中,系统500可充当用于一个或多个客户端装置的服务器系统,或者用于对等通信或与一个或多个装置/计算系统(例如,集群、 网格)并行处理的对等系统。
[0066] 如上文所描述,本公开的实施方案对在储层模拟中确定流体的相态尤其有用。在本公开的一个实施方案中,一种模拟储层中流体的不同相态的计算机实现的方法包括:响应于饱和压力的不成功计算来大致估计相包络;确定给定温度是否高于近似相包络的最高温度;响应于确定给定温度高于近似相包络的最高温度,将网格块的相设定为具有等于总组成的组成的单相蒸汽;响应于确定给定温度不高于近似相包络的最高温度,从近似相包络内插饱和压力;确定内插饱和压力是否在精确度公差范围内;以及响应于确定内插饱和压力在精确度公差范围内,基于内插饱和压力来确定网格块的相态。
[0067] 在另一实施方案中,在储层模拟的初始化期间大致估计快速相包络。在又一实施方案中,在储层模拟的时间步长期间大致估计快速相包络。在又一实施方案中,使用 Michelsen技术来大致估计快速相包络。在又一实施方案中,精确度公差范围是基于用户输入。在又一实施方案中,针对与网格块的相相关联的给定温度和总组成来尝试饱和压力的计算。在又一实施方案中,所述方法包括响应于饱和压力的成功计算来基于饱和压力确定网格块的相。在又一实施方案中,网格块的相是二相网格块、单相液体或单相蒸汽中的至少一个。在又一实施方案中,当网格块的压力超过泡点压力时,网格块的相是单相液体,并且当网格块的压力高于或低于露点压力时,网格块的相是单相蒸汽。
[0068] 在本公开的另一实施方案中,一种用于针对储层模拟模型限定非线性岩相的系统包括至少一个处理器和耦接至所述处理器的存储器,所述存储器具有存储在其中的指令, 所述指令在由所述处理器执行时,导致所述处理器执行功能,所述功能包括以下功能:响应于饱和压力的不成功计算来大致估计相包络;确定给定温度是否高于近似相包络的最高温度;响应于确定给定温度高于近似相包络的最高温度,将网格块的相设定为具有等于总组成的组成的单相蒸汽;响应于确定给定温度不高于近似相包络的最高温度,从近似相包络内插饱和压力;确定内插饱和压力是否在精确度公差范围内;以及响应于确定内插饱和压力在精确度公差范围内,基于内插饱和压力来确定网格块的相态。
[0069] 在本公开的又一实施方案中,一种计算机可读存储介质,所述计算机可读存储介质具有存储于其中的指令,所述指令在由计算机执行时,导致所述计算机执行多个功能,所述功能包括以下功能:响应于饱和压力的不成功计算来大致估计相包络;确定给定温度是否高于近似相包络的最高温度;响应于确定给定温度高于近似相包络的最高温度,将网格块的相设定为具有等于总组成的组成的单相蒸汽;响应于确定给定温度不高于近似相包络的最高温度,从近似相包络内插饱和压力;确定内插饱和压力是否在精确度公差范围内;以及响应于确定内插饱和压力在精确度公差范围内,基于内插饱和压力来确定网格块的相〇
[0070] 尽管已经描述关于上述实施方案的具体细节,但上述硬件和软件描述仅意图为示例性实施方案并且不意图限制所公开实施方案的结构或实现方式。例如,尽管系统500的许多其他内部部件未被示出,但本领域一般技术人员将理解,此类部件和其互连是众所周知的。
[0071] 此外,如上所述的公开实施方案的某些方面可被体现在使用一个或多个处理单元/部件执行的软件中。所述技术的程序方面可以被视为通常呈可执行代码和/或相关联数据的形式的“产品”或者“制品”,所述代码或数据被携带或体现在一种类型机器可读介质中。有形的非暂态“存储”型介质包括用于计算机、处理器等的任何或所有存储器或其他存储设备或者其相关联模块,诸如各种半导体存储器、磁带驱动器、磁盘驱动器、光盘或磁盘等,其可在任何时间提供对于软件编程的存储。
[0072] 此外,附图中的流程图和框图示出根据本发明的各种实施方案的系统、方法和计算机程序产品的可能实现方式的体系结构、功能性和操作。也应注意到,在一些替代实现方式中,方框中提到的功能可以不按附图中提到的顺序出现。例如,连续示出的两个方框实际上可以大致上同时执行,或者这些方框有时可以按相反的顺序执行,这取决于所涉及的功能性。也应指出的是,框图和/或流程图图解的每个方框以及框图和/或流程图图解中的方框的组合可以由执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。
[0073] 上述特定示例性实施方案不意图限制权利要求的范围。示例性实施方案可通过包括、执行或组合本公开中所描述的一个或多个特征或功能来修改。
QQ群二维码
意见反馈