首页> 中国专利> 使用非结构化网格的储层模拟上的并行自适应数据分区

使用非结构化网格的储层模拟上的并行自适应数据分区

摘要

使用非结构化网格用于储层模拟上的并行自适应数据分区的计算机实现的系统和方法,其包括模拟储层模型的方法,该方法包括生成储层模型。生成的储层模型被分区为不同域的多个集合,每个集合对应于模型特定部分的有效分区。

著录项

  • 公开/公告号CN101896690A

    专利类型发明专利

  • 公开/公告日2010-11-24

    原文格式PDF

  • 申请/专利权人 埃克森美孚上游研究公司;

    申请/专利号CN200880120763.2

  • 发明设计人 A·K·乌萨达;I·米舍夫;

    申请日2008-10-20

  • 分类号E21B43/12;

  • 代理机构北京纪凯知识产权代理有限公司;

  • 代理人赵蓉民

  • 地址 美国德克萨斯州

  • 入库时间 2023-12-18 01:13:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-02-18

    授权

    授权

  • 2011-01-05

    实质审查的生效 IPC(主分类):E21B43/12 申请日:20081020

    实质审查的生效

  • 2010-11-24

    公开

    公开

说明书

相关申请的交叉参考

本申请要求2007年12月13日申请的美国临时专利申请61/007470的权益,其标题为“PARALLEL ADAPTIVE DATA PARTITIONING ONRESERVOIR SIMULATION USING AN UNSTRUCTURE GRID”,该申请的全部内容通过引用包括在此。

技术领域

本发明一般涉及油气生产,并具体涉及使用储层模拟来促进油气生产。

背景技术

发明内容

在一个方面,模拟储层模型的方法包括生成储存模型;将生成的储层模型分区为多个不同域集合,每个都对应于特定部分模型的有效分区。

该方面的实施可包括下面特征的一个或更多。例如,模拟储层模型可包括划分储层的模拟为多个处理元素;并基于分区并行处理多个处理元素。并行模拟储层模拟可包括动态地将生成的储层模型再分区为多个域以便改善并行性能。将生成的储层模型再分区为多个域可包括a)通过选择分区方案和确定其参数预处理储层模型;b)用该分区方案将生成的储层模型分区为多个域;c)后处理分区的储层模型从而进一步改善分区计算的并行性能;d)评估已后处理的分区储层模型的质量;和e)如果已后处理的分区储层模型的质量低于预定值,则使用修正的分区方案和参数重复a,b,c,d和e。将生成的储层模型分区为多个域可包括识别彼此孤立的节点子集或块;加权挑选的节点块从而说明与每个块关联的处理成本;基于处理成本挑选这些节点块和分配加权的节点块给对应的域。将生成的储层模型分区为多个域可包括确定与生成的储层模型内的每个节点关联的处理成本的水平;在几何方向上挑选节点;基于处理成本仓储加权的挑选节点从而生成等权重仓(bin);和从仓分配节点到域。将生成的储层模型分区为多个域可包括确定与生成的储层模型关联的速度场;跟踪与该速度场关联的流线;投影流线从而生成流幕(stream curtain);并延伸流幕到生成的储层模型的边界从而将生成的储层模型分区为域。将生成的储层模型分区为多个域可包括确定与生成的储层模型的每个节点关联的处理成本;确定与生成的储层模型的每个节点之间的连通水平(connectivitylevel)关联的处理成本;和根据确定的处理成本将生成的储层模型分区为多个域。

根据确定的处理成本和连通水平将生成的储层模型分区为多个域可包括分组相同域内连通性在预定水平以上的节点。将生成的储层模型分区为多个域可包括将域分区;确定域边界和生成的储层模型内定义的相邻井之间的距离;和基于确定的距离,根据要求将生成的储层模型再分区,以便将域分区移动远离井且因此提高求解器性能。

将域分区可包括识别彼此孤立的节点的子集或块;加权这些节点块以说明和每个块关联的处理成本;基于处理成本挑选这些节点块和分配加权的节点块给对应的域。将域分区可包括确定与生成的储层模型内每个节点关联的处理成本水平;在几何方向上挑选节点;基于处理成本仓储加权的挑选节点从而生成等权重仓;和从仓分配节点给域。将域分区可包括确定与生成的储层模型关联的速度场;跟踪与速度场关联的流线;投影流线从而生成流幕;并延伸流幕到生成的储层模型的边界从而将生成的储层模型分区为域。将域分区可包括确定与生成的储层模型的每个节点关联的处理成本;确定与生成的储层模型的每个节点间的连通水平关联的处理成本;和根据确定的处理成本将生成的储层模型分区为多个域。将生成的储层模型分区为多个域可包括将域分区;确定生成的储层模型内沿域间边界定位的所有节点;投影边界节点到平面并拟合通过投影的边界节点的曲线;和在与拟合曲线正交的方向上投影曲线从而再定义生成的储层模型的域间边界。

将生成的储层模型分区为多个域可包括比较将生成的储层模型分区的并行性能和分区的储层模型的历史集合的性能;和如果新分区的性能与历史记录的性能不一样好,则将模型再分区。

在另一个方面,模拟储层模型的方法包括生成储层模型;将生成的储层模型分区为多个域;划分储层的模拟为多个处理元素;并行处理多个处理元素;和在并行处理过程中,至少一次将生成的储层模型分区为另外多个域;其中将生成的储层模型分区为多个域包括:a)通过选择分区方案和确定其参数预处理储层模型;b)用分区方案将生成的储层模型分区为多个域;c)后处理分区的储层模型从而校正分区的储层模型,进一步改善分区计算的并行性能;d)评估已后处理的分区储层模型的质量;以及e)如果已后处理的分区储层模型的质量低于预定值,则以适当修正的分区方案和/或其参数重复a,b,c,d,和e。

在另一个一般方面,模拟储层模型的方法可包括生成储层模型;将生成的储层模型分区为多个域;划分储层的模拟为多个处理元素;并行处理多个处理元素;和在并行处理过程中至少一次将生成的储层模型分区为另外多个域。

将生成的储层模型分区为多个域可包括下面步骤中的任何一步。具体地,将域分区可包括识别彼此孤立的节点的子集或块;加权挑选的节点块从而说明与每个块关联的处理成本;基于处理成本挑选这些节点块;和分配加权的节点块给对应的域。将域分区可包括确定与生成的储层模型内每个节点关联的处理成本水平;在几何方向上挑选节点;基于处理成本仓储加权的挑选节点从而生成等权重的仓;从仓分配节点给域。将域分区可包括确定与生成的储层模型关联的速度场;跟踪与速度场关联的流线;投影流线从而生成流幕;和延伸流幕到生成的储层模型的边界从而将生成的储层模型分区为域。将域分区可包括确定和生成的储层模型的每个节点关联的处理成本;确定和生成的储层模型的每个节点之间的连通性水平关联的处理成本;和根据确定的处理成本将生成的储层模型分区为多个域。将生成的储层模型分区为多个域可包括将域分区;确定生成的储层模型内沿域间边界定位的所有节点;投影边界节点到平面并拟合通过投影的边界节点的曲线;和在与拟合曲线正交的方向上投影曲线从而再定义生成的储层模型的域间边界。

一个或更多前述方面可用来模拟储层模型,进而可依赖于此,根据储层模型的模拟结果控制碳氢化合物生产活动。碳氢化合物的生产可被控制,如地表设施的生产率可基于从模拟的(多个)储层模型解读的结果控制。

附图说明

图1是包括定义多个节点的网格网孔的储层模拟模型的图示。

图2是模拟图1中模型的操作的模拟器的流程图。

图3是包括定义多个节点的网格网孔的储层模拟模型的图示,该模型已经分区成多个域。

图4是包括定义多个节点的网格网孔的储层模拟模型的图示,其中网格内不同节点是以不同水平的隐含性和不同流体模型模拟的。而且,储层模拟模型的节点已经分区成两个域(0和1)。

图5是对应于图4模型的数值矩阵的图示。

图6a是模拟图1模型的操作的模拟器的流程图。

图6b是图6a中模拟器的井管理分区逻辑的流程图。

图6c是图6a模拟器的雅可比(Jacobian)构造的分区逻辑和流量计算的流程图。

图6d是图6a中模拟器的线性解的分区逻辑的流程图。

图6e是图6a中模拟器的属性计算的分区逻辑流程图。

图7是将构成储层模拟过程的任一计算部分分区的一般方法的流程图。

图8是将储层模型分区的节点着色方法的流程图。

图8a到8d是图8中节点着色方法的各种操作步骤的示意图。

图9是将储层模型分区的负荷平衡的几何方法的流程图。

图9a到图9e是图9中负荷平衡的几何方法的各种操作步骤的示意图。

图10是将储层模型分区的流线方法的流程图。

图10a到10c是图10中流线方法的各种操作步骤的示意图。

图11是将储层模型分区的到油井距离(distance-to-well)方法的流程图。

图12是作为其到油井距离的函数的储层模型的节点加权的图示。

图13是将储层模型分区的方法流程图。

图14是平滑储层模型分区的曲线拟合方法的流程图。

图14a到14d是图14的曲线拟合平滑方法的各种操作步骤的示意图。

图15是将储层模型分区的历史比较方法的流程图。

图16是储层模型模拟中线性解的单个域性能的评估图示。

具体实施方式

初始参考图1,模拟油和/或气储层的操作的典型3维储层模型100的示例性实施例包括一个或更多垂直井102。在示例性实施例中,模型100被网格网孔106分成多个节点104。在示例性实施例中,模型100的节点104具有不一致的尺寸。

在示例性实施例中,如图2所示,模型100的操作是用常规储层模拟器200模拟的,其中为模型的井和地表设施网络执行井管理202。在示例性实施例中,井管理202是对所有井执行的,如模型100中102所示,包括常规迭代过程204,其中常规雅可比构造和流量计算206被执行,然后是常规线性求解208和常规属性计算210。在示例性实施例中,线性求解208和/或属性计算210是在大数据阵列上执行的,数据阵列表示属性,如网格106中网孔点处的压力和成分。

在示例性实施例中,在针对模型中井102的过程204完成后,整个储层模型的模拟数据在常规结果/检查点I/O(输入/输出)212处生成。

在示例性实施例中,储层模拟器200可利用,例如一个或更多通用计算机、专用计算机、模拟处理器、数字处理器、中央处理单元和/或分布式计算系统实现。

在示例性实施例中,模型100和模拟器200被用来模拟储层的操作从而允许对在碳氢化合物储层、井和相关地表设施中流动的流体、能量和/或气体建模。储层模拟是储层建模的一部分,储层建模也包括构造模拟数据从而准确代表储层。模拟的目的是理解流动模式从而优化从某些井和地表设施集合生产碳氢化合物的某个策略。模拟通常是耗时的迭代过程的一部分,以减少关于特定储层模型说明的不确定性,同时优化生产策略。储层模拟,例如是一种计算流体动力学模拟。

模拟器200执行的计算通常大部分都是对大数据阵列执行的,数据阵列表示物理属性,如在网格106中网孔点的压力和成分。随着时间推进,模拟器200的部分操作的相对成本可改变。例如,线性求解208可变得比雅可比构造206昂贵的多。这可能是由于正在被建模的物理过程的属性,或由于算法的属性。例如,储层模拟器200可从单个碳氢化合物相开始。但随着储层压力由于油生产而下降,压力可降到流体泡点以下,因此气体可从溶液中逸出。进而这可使得属性计算210更昂贵,但不会显著影响线性求解208。浄效果是使属性计算占用更大百分比的总计算时间。而且,属性计算的成本可通过网格节点104改变。也就是,储层模型100的一个区域比另一个区域可要求更多计算来收敛于适当的解。

在示例性实施例中,为了减小模拟器200的操作所要求的运行时间,模拟器的一个或更多操作步骤202、204、206、208、210和/或212可在计算机内的多个中央处理单元(CPU)或CPU核中分布,以便并行执行操作步骤。在示例性实施例中,模拟器200的操作步骤202、204、206、208、210和/或212的并行化方法可通过类别改变。例如,将模拟器200的特定操作步骤并行化的方法可与模拟器另一个特定操作步骤的并行化方法不同。在示例性实施例中,为模拟器200的特定操作步骤所选的并行化的方法可用经验方法优化。

在示例性实施例中,为模拟器200的特定操作步骤,或操作步骤组选择的特定并行化方法考虑了与操作步骤,或操作步骤组关联的计算是否是局部的,其中少量或没有域间通信存在,或为全局的,其中要求跨域边界的通信。例如,模拟器200的并行化是通过将模型100分区为多个域而提供的,在示例性实施例中,优化并行化提供了好的负荷平衡并使模型域间的通信最少。

在示例性实施例中,并行化可通过按任务并行化提供。在示例性实施例中,按任务并行化是通过将模拟器200的操作步骤分为多个子任务提供的,子任务可并行运行并因此由多台计算机处理。例如,所有或部分属性计算210可落入该类别,因为许多计算仅涉及在节点的计算而非来自连接节点的流量。因此,这些计算可同时并行执行,而无非局部效果。

在示例性实施例中,并行化可通过数据分区的并行化提供。

在示例性实施例中,如图3所示,数据分区的并行化是通过将在模型100的网格106内的数据分区为独立域,例如100a和100b,并对数据的每个域执行同样的操作步骤提供的。例如,雅可比构造206和属性计算210通常落入该类别。该并行化方法通常是适合于局部计算的。

在示例性实施例中,如图3所示,数据分区的并行化是通过将模型100的网格106内的数据分为独立域,例如100a和100b,并执行并行算法而提供的,以便模拟器200的一个或更多操作步骤的计算的大部分可在模型的不同域上同等执行。在示例性实施例中,如线性求解208,可要求计算的额外全局部分。

在示例性实施例中,在模拟器200的操作步骤中执行的计算是通过将数据分区并行化的。在示例性实施例中,模拟器200的一个或更多操作步骤的一个或更多计算可包括模型100的数据的对应分区。而且,对于模拟器200的一个或更多操作步骤的一个或更多计算,模型100的数据的最优分区可以是依赖于时间的。例如,在模拟器200的操作过程中,在不同时间点,并行化可具有完全不同的数据分区。

模拟器200的现有分区算法试图为模型100的每个域提供有效的负荷平衡,并最小化子域之间的连接数目。该方法不必然提供基于域分解的并行求解器的良好迭代性能。且这是开发本专利所述方法的主要动机。

由于储层模拟器200的演化性质,模型100的现有分区可能不适当地变得负荷平衡或对于当前计算状态低效。这可能发生,因为属性计算的成本取决于流体属性并可随流体移动和演化而急剧改变。或线性求解208可碰到全局(整体)收敛困难,这是由于线性矩阵等式的特征标(character)改变。在这样的情形中,期望将模型100的数据重新分区以便使模拟器200的操作回到适当负荷平衡并改进线性求解208的迭代收敛。

在示例性实施例中,模拟器200操作过程中的计算成本可通过将流体建模的组分和相的数目和用于数学离散化的隐含水平进行测量。例如,如图4和5所示,示例性储层模型400具有对应的矩阵等式500,其中对于IMPES节点,与每个节点关联的行数目是1,等于CI区的组分的数目。IMPES指隐压力显饱和(implicit pressure explicit saturation),而CI指耦合的隐含。矩阵等式500中每个非零元素可和转化为计算成本的某些数目的浮点运算相关。特定域中更多非零元素意味着特定域中更多的工作。

在示例性实施例中,模型100和模拟器200中并行化的方法提供及时和/或通过计算类别自适应的非结构化网格106以便优化模拟器的并行性能。在示例性实施例中,并行化方法可并行或连续执行。在示例性实施例中,并行化方法可用共享的存储器并行机器,如当今可用的多CPU/多核台式机器在模拟器200中执行,因为如果数据可本地存取而不经网络发送或接收,则数据再映射更有效,但它可在多种可用的并行机器上使用,这些机器包括,例如分布式存储器簇、存储器芯片(cell chip)和其他多核芯片。

在示例性实施例中,并行化方法包括确定模型100中的数据何时需要重新分区的度量,该时间对模拟器200的操作步骤的不同计算类别是不同的。在示例性实施例中,并行化方法包括执行模型100内数据的分区的不同选择。在示例性实施例中,根据模拟器200的操作步骤中要执行的计算,并行化的方法提供模型100中数据的不同分区。而且,在示例性实施例中,对于模拟器200中一个或更多操作步骤中给定的计算类别,对应模型100中不同类型的数据分区最佳适合不同的模型100。

在示例性实施例中,一个或更多并行化方法包括下列步骤中的一个或更多:1)为最优并行求解器算法收敛分区模型100中的数据的方法;2)基于负荷平衡的不平等性的测量,分区模拟器200的一个或更多操作步骤中的求解器和非求解器计算类别的方法;3)基于下列项动态适应模型中数据的分区:a)作为模拟器的操作一部分计算的度量,如测量闪蒸计算(flash calculation)内的迭代次数,然后是相变前沿(phase-transition front),等等,......,和/或b)历史和预测性的运行时间性能;4)提供正确节点和连接权重给现有图分区方案;和/或5)通过多种理论和/或启发式方法,最小化设施和高产区切割。

参考图6a,在示例性实施例中,模型100的操作是用储层模拟器600模拟的,模拟器600中执行井管理602。在示例性实施例中,模型100中井102的井管理602包括迭代过程604,其中执行雅可比构造和流量计算606,然后是线性求解608和属性计算610。在示例性实施例中,在完成过程604后,生成结果/检查点I/O 612。

在示例性实施例中,如图6b所示,井管理602在602a中确定模型100内的数据是否应再分区以便改善处理效率和/或井管理精度。如果应使模型100内的井管理计算成本再次负荷平衡,则在602b中模型内的数据被再分区,且在602c中与井管理关联的工作量可在多个CPU或CPU核之间分布。

在示例性实施例中,如图6c所示,在606a中雅可比构造和流量计算606确定模型100内的数据是否应再分区以便改善处理效率和/或雅可比构造和流量计算的精度。如果模型100内的数据应再分区,则在606b中模型内的数据被再分区,且在606c中与雅可比构造和流量计算关联的工作量可在多个CPU或CPU核之中分布。

在示例性实施例中,如图6d所示,在608a中线性求解608确定模型100内的数据是否应再分区以便改善处理效率和/或线性求解的精度。如果模型100内的数据应再分区,则在608b中将模型内的数据再分区,且在608d中与线性求解关联的工作量可在多个CPU或CPU核之中分布。

在示例性实施例中,如图6e所示,在610a中属性计算610确定模型100内的数据是否应再分区以便改善处理效率和/或属性计算的精度。如果模型100内的数据应再分区,则在610b中将模型内的数据再分区,且在610c中与线性属性计算关联的工作量可在多个CPU或CPU核之中分布。

在示例性实施例中,储层模拟器600可用例如,一个或更多通用计算机、专用计算机、模拟处理器、数字处理器、中央处理单元和/或分布式计算系统实现。

参考图7,上面参考图6a到6e说明的一个或更多操作步骤602b、606b、608b、610b和/或612b实现在储层模型100内分区数据的方法700,其中该模型中的数据被准备和/或修正以在702输入到分区过程中。在示例性实施例中,准备/修正模型100的数据以便在702输入到分区过程中包括以下中的一个或多个:从模型和/或模型流线踪迹(tracing)确定/修正节点和连接权重,或为任何其他分区算法准备/修正控制参数。在704中,模型100的已准备数据然后是通过将分离域中模型的节点和连接分区而被分区704。在示例性实施例中,在704中将模型100的节点和连接分区包括将模型的图分区。在完成模型100的分区后,在706中执行分区后平滑和投影。然后在708中用一个或更多个质量度量确定模型100的分区质量。如果模型100的分区的质量度量指示计算低效的数据分区,则方法重复步骤702到710,直到在710中满足模型100的分区质量度量。

在示例性实施例中,如图8所示,将模型100分区的方法800包括在802中着色模型的图以便找到孤立的或接近孤立的节点组。例如,如图8a所示,储层模型802a包括多个节点802b,节点802b定义关联节点的一个或更多块802c。在示例性实施例中,在802中,模型802a的每个块802c被着色,以便找到孤立或接近孤立的节点组。在示例性实施例中,在802中块802c的着色是在特定块中模拟模型100的操作所要求的计算活动水平的指示。在示例性实施例中,在802中,块802c的着色是用着色方案提供的,在该着色方案中某些颜色反应了传输率(transmissibility)或传导率(conductivity)的某个其他等效或类似度量,如雅可比压力等式非对角线,也就是模型100的孤立或接近孤立区的指示。

在示例性实施例中,方法800然后在804中按尺寸挑选节点的着色块。例如,如图8b所示,着色块802c在804中是从左到右按尺寸挑选的并分别标识为块802c1、802c2、802c3、802c4、802c5、802c6和802c7。

在示例性实施例中,然后方法800在806中加权每个着色和挑选的块的节点,从而说明在模型100的模拟过程中与处理各节点关联的不同计算成本。例如,如图8c所示,在806中,着色的块802c的节点是根据关联的处理成本加权的,该处理成本与在模型100的模拟过程中处理各节点关联。

在示例性实施例中,方法800然后在808中分配已加权的节点给域,以便优化工作负荷平衡。例如,如图8d所示,在808中,该方法分配块802c1和802c7给域0,分配块802c2、802c3、802c4、802c5和802c6给域1。

如图9所示,在示例性实施例中,将模型100分区的方法900包括在902中根据每个节点所要求的计算水平在笛卡尔方向上挑选模型内的节点。例如,如图9a所示,储层模型902a包括计算成本更高的井902b、区域902c和计算成本较低的区域902d。如图9b所示,在902中,在模型902a中的节点902e是根据与每个节点关联的计算水平在给定的笛卡尔方向上挑选的。

在示例性实施例中,方法900然后将所有节点902e的计算权重因子相加,从而在904中为模型902a确定网格的累积计算权重。

在示例性实施例中,然后方法900在906中分配节点902e给特定域,直到该特定域的累积计算权重等于网格的累积计算权重的预定百分比。例如,如图9c所示,在示例性实施例中,在906中,模型902a中的节点902e被分配给域906a和906b。

在示例性实施例中,如图9d所示,如果方法900中节点902e的挑选是在X方向上执行的,那么生成最终域906a和906b。在示例性实施例中,可替换地,如图9e所示,如果在方法900中,节点902e的挑选是在Y方向上执行的,则生成最终域906a和906b。

在示例性实施例中,方法900然后在908和910中执行质量检查从而根据预定的质量控制标准确定在906中所选的分区是否是适当的。

在几个示例性实施例中,方法900中节点902e的挑选可用任何方向提供,如x、y或z。且在示例性实施例中,所选方向和所选域的分区可以是迭代过程,该迭代过程优化模型902a的处理的均匀分布。

在示例性实施例中,如图10所示,将模型100分区的方法1000包括在1002中确定模型的速度场。然后方法1000在1004中根据为模型100确定的速度场跟踪速度流线。例如,如图10a所示,储层模型1004a包括井1004b和1004c,和在井间延伸的流线1004d。

在示例性实施例中,方法1000然后在1006中在垂直方向上向上和向下投影流线从而生成流幕或流线幕。例如,如图10b所示,在1006中,将流线1004d向上投影和向下投影从而生成流幕1006a。

在示例性实施例中,方法1000然后在1008中延伸流幕到模型网格的边界,同时调整流幕以远离井。例如,如图10c所示,在1008中,调整流幕1006a从而生成流幕1008a,其延伸到模型1004a的网格的边界,同时远离井1004b和1004c。结果,模型1004a被分成域1008b和1008c。

在示例性实施例中,方法1000然后在1010中用多个流幕选择模型100的最佳分区。

在示例性实施例中,方法1000然后在1012中执行质量检查从而根据预定的质量控制标准确定1010中选择的分区是否是适当的。根据预定的质量控制标准,如果1010中选择的分区不适当,则方法继续迭代修改分区直到其是适当的。

在示例性实施例中,使用方法1000将模型100分区可最小化用模拟器600模拟模型的处理成本。特别地,在示例性实施例中,因为速度流线可近似模型100内的流体的动态流动,因此流线表示在其上可最小化材料属性跳跃造成的影响的边界。

在示例性实施例中,如图11所示,将模型100分区的方法1100在1102中确定节点和连接权重因子,或如果必要将其修改。在示例性实施例中,节点权重因子代表与模型100中节点关联的处理成本,而连接权重因子代表哪些节点连接到其他节点的程度。

在示例性实施例中,方法1100然后在1106中根据1102中确定的节点权重和节点连接权重因子将模型100分区。在示例性实施例中,在1106中,模型100被分区从而在多个域中均匀分布模拟模型的处理成本。在示例性实施例中,在1106中构造的模型100的域避免切割模型中强连接的节点之间的连接。

在示例性实施例中,方法1100然后在1108中执行质量检查从而根据预定质量控制标准确定1106中所选的分区是否是适当的。

在示例性实施例中,在1102中节点权重因子和/或连接权重因子的确定是随时间可变的。

在示例性实施例中,在1102中确定连接权重因子可通过确定节点与最近井之间的距离执行。例如,如图12所示,模型100中节点可以以颜色编码从而指示它们与其各自最近井102的各自距离。节点104与最近井的距离可用作1102中确定连接权重的一部分。在示例性实施例中,节点104离井102越近,连接权重越高,因此在方法1100的1106中将模型100分区的过程中,断开该节点和最近井之间的连接是较不值得的。

在示例性实施例中,如图13所示,将模型100分区的方法1300在1301中确定或修正分区参数并在1302中生成模型100的分区。在示例性实施例中,方法1300然后在1304中确定从生成的分区的边界到模型100中相邻井102的距离。如果在1306中与任何一个生成的分区的边界的距离小于某一预定值,则重复1301到1306直到与生成的分区的所有边界的距离大于或等于该预定值。

在示例性实施例中,如图14所示,将模型100分区的方法1400在1401中确定分区参数,或如果需要则修正这些参数,并在1402中生成分区。在示例性实施例中,如图14a所示,在1402中,方法1400将模型1402a分区为域1402b、1402c和1402d。

在示例性实施例中,方法1400然后在1404中确定沿已分区模型的域间边界的所有节点。在示例性实施例中,如图14b所示,在1404中,方法1400确定沿域1402b和1402c间的边界落下的节点1402bc,沿域1402c和1402d间的边界落下的节点1402cd,沿域1402d和1402b间的边界落下的节点1402db。

在示例性实施例中,方法1400然后在1406中投影边界节点到平面并拟合通过投影的边界节点的曲线。在示例性实施例中,如图14c所示,方法1400在1406中投影边界节点1402bc、1402cd和1402bd到X-Y平面并拟合分别通过投影的边界节点的曲线1406a、1406b和1406c。

在示例性实施例中,方法1400然后在1408中在从生成的曲线延伸的另一个方向投影平滑表面,该方向可与1408中所选的平面正交,如图14d所示,在示例性实施例中,该方法在Z方向上投影平滑曲线1408a、1408b和1408c。结果,模型1402被分区成域1408aa、1408bb和1408cc。

在示例性实施例中,方法1400然后在1410中确定模型1402a分区成分离域的质量是否足够。

参考图15,将储层模型分区的方法1500的示例性实施例在1502中生成储层模型的分区。在示例性实施例中,方法1500然后在1504中比较储层模型的已生成分区的计算性能和关于储层模型分区的历史数据的计算性能。在示例性实施例中,方法1500然后在1506中迭代使用储层模型的已生成分区的计算性能和储层模型分区的历史数据的计算性能的差,从而改善储层模型的分区。在示例性实施例中,方法1500然后在1508中确定将储层模型分区为分离域的质量是否足够。如果质量不好,则尝试新分区方法。

在示例性实施例中,方法1500在1508中使用分区质量的一个或更多静态度量确定储层模型的分区的质量,这些静态度量例如可包括域边界连接的统计度量、传输率的平均和标准偏差、雅可比非对角元素、分区内域边界的平滑度度量。在示例性实施例中,域边界的平滑度度量可例如通过投影相邻域之间特定界面的边界节点到平面中,并拟合通过该投影的曲线而提供。在示例性实施例中,曲线拟合投影的程度提供相邻域之间边界异质程度的指示。

在示例性实施例中,在方法700中,将模型100的网格节点和连接分区到域中包括分区方法800和/或900和/或1000和/或1100和/或1300和/或1400和/或1500的一个或更多方面。

在示例性实施例中,模拟器600的操作和/或方法600、700、800、900、1000、1100、1300、1400和/或1500中的一个或更多个进一步被实施从而用一个或更多下面的性能度量优化模拟储层100的模拟的处理效率:1)求解器迭代收敛率;2)花费的实际时间(wall clock time)和CPU的比率;3)属性计算;和/或4)雅可比构造和流量计算。

在示例性实施例中,线性迭代求解器的外迭代的总次数是并行效率和分区问题的良好指示器。

在示例性实施例中,在模拟器600的连续(串行)处理过程中,CPU用于计算的时间量应等于经过的时间量,即,花费的实际时间。在示例性实施例中,在模拟器600的并行处理过程中,所有CPU工作对模拟执行的总处理工作应理想地保持与连续运行一样,但消逝的花费的实际时间应减少且花费的实际时间对CPU数目的比——花费的实际时间和CPU的比应与1/(CPU数目)成比例。然而,如果CPU占用率比花费的实际时间增加得快,则花费的实际时间对CPU的比也应下降。例如,如果并行处理比串行处理的效率低得多,则这可能发生。如果结合其他度量使用,则花费的实际时间对CPU时间的比是并行效率的有用的动态度量。例如,随着模拟进展,花费的实际时间对CPU的比的变化是问题的指示。在示例性实施例中,类似的储层模拟模型可预期类似地运行。特别地,对于类似的物理储层模型,预期储层模型模拟的并行性能是类似的。因此,我们可以比较当前花费的实际时间对CPU时间比和类似储层模型的当前花费的实际时间对CPU时间比,并推测并行效率。

在示例性实施例中,上面参考图1-15说明的一个或更多将储层模型100分区为单独域的方法是以动态方式执行的,以便至少最小化和时间相关的储层模拟器并行处理效率的退化。

在示例性实施例中,储层模型的模拟的负荷平衡可通过CPU工作量的其他度量推测。具体地,在储层模型模拟过程中执行的不同类别的计算对于每网格节点的计算成本具有不同的有用度量。

在示例性实施例中,状态方程(EOS)属性计算通常在模拟储层模型的过程中一次计算一个节点,产生在闪蒸计算过程中执行的工作度量。闪蒸计算是基于输入压力和组分确定流体体积和成分的过程。该度量可采用闪蒸求解器迭代计数的形式——以便与整个系统的线性矩阵方程求解器区分。在示例性实施例中,闪蒸计算成本的另一个度量是流体复杂性——多少相和流体组分在瞬间存在于节点。这具有额外益处,即对于EOS和黑油(BO)流体模型都具有适用性。

在示例性实施例中,雅可比构造和流体计算,通常为矢量-矢量和矩阵-矢量操作的成本,可通过组分和相的数目和用于数学离散化的隐含水平度量,流体是由这些组分和相建模的。在示例性实施例中,用于将流体建模的相和组分越多,则必须计算的状态变量越多。在示例性实施例中,在给定节点对属性建模的隐含度越高,则节点计算的成本越高。计算要求的隐含性越高,则导数计算越多。

在示例性实施例中,如图16所示,对于与线性求解关联的每个CPU,储层模拟器线性求解的并行处理的操作效率可通过检查求解器时间1600评估。

在示例性实施例中,使用分区算法优化储层模拟器并行性能的框架包括:a)为给定的分区算法调整参数——如为图分区算法(GPA)计算节点和连接权重因子;b)运行选择的分区方法,例如GPA;c)进行后处理改进-修补(fix-up)和平滑分区;d)评估分区质量;和e)如果质量可接受,则退出,否则适当改变GPA的参数来重复过程。

在示例性实施例中,模拟器600的操作过程中执行的每类计算可从其自身的目标分区方法受益,并设计了专用于每类计算的分区方案。

在示例性实施例中,因为储层模拟的物理和数学属性通常是和时间相关的,所以这里所述的分区方法是独立自适应的——也就是说,模拟器600的操作期间执行的每类计算的分区方案可以用其自身目标频率调整。

在示例性实施例中,这里所述的分区方法采用物理基的度量确定分区质量。

在示例性实施例中,将模型100分区包括几何切割模型;着色挑选的模型节点——基于节点和连接的物理权重,其中跨连接的连通具有物理基阈值;和流量基分区。在示例性实施例中,流量基分区包括基于流线的,例如流线幕、流管凝聚(stream tube agglomeration)、以及平滑;和以基于流量或系数的权重分区图从而最小化跨域边界的系数大跳跃。

已经描述了模拟储层模型的方法,该方法包括生成储层模型;将生成的储层模型分区为多个域;以及模拟已分区的储层模型。在示例性实施例中,模拟储层模型包括划分储层模拟为多个处理元素;和并行处理多个处理元素。在示例性实施例中,并行处理多个处理元素包括将生成的储层模型再分区为多个域。在示例性实施例中,将生成的储层模型再分区为多个域包括:a)预处理储层模型,其可包括但不限于选择/改变分区算法,和为已选分区算法确定/修正参数;b)将生成的储层模型分区为多个域;c)后处理已分区的储层模型从而校正已分区的储层模型;d)评估已后处理的分区储层模型的质量;和e)如果已后处理的分区储层模型的质量小于预定值,则重复a,b,c,d和e。在示例性实施例中,模拟储层模型包括将储层模型再分区;将储层的模拟划分为多个处理元素和并行处理多个处理元素。在示例性实施例中,将生成的储层模型分区为多个域包括a)预处理储层模型,这可包括但不限于选择/改变分区算法和为已选分区算法确定/修正参数;b)将生成的储层模型分区为多个域;c)后处理分区的储层模型从而校正分区的储层模型;d)评估已后处理的分区储层模型的质量;和e)如果已后处理的分区储层模型的质量低于预定值,则重复a,b,c,d和e。在示例性实施例中,将生成的储层模型分区为多个域包括着色生成的储层模型从而生成具有对应色码(color code)的节点块,该色码代表节点块与其他节点块隔离的程度;挑选该颜色着色的节点块;加权挑选的颜色编码的节点块从而说明与每个节点关联的处理成本;和分配加权的节点块给对应的域。在示例性实施例中,将生成的储层模型分区为多个域包括确定与生成的储层模型内的节点关联的处理成本水平;根据与节点关联的处理成本在一个方向上挑选节点;将在该方向上挑选的节点的处理成本相加从而确定与该方向关联的总处理成本;和分配在该方向上的节点给对应的域从而分配在该方向上的总处理成本。在示例性实施例中,将生成的储层模型分区为多个域包括确定与生成的储层模型关联的速度场;跟踪与速度场关联的流线;投影流线从而生成流幕;并延伸流幕到生成的储层模型的边界从而将生成的储层模型分区为域。在示例性实施例中,其中将生成的储层模型分区为多个域进一步包括延伸流幕到生成的储层模型的边界,从而将生成的储层模型分区为域,同时避免边界与生成的储层模型内定义的井相交。在示例性实施例中,将生成的储层模型分区为多个域进一步包括生成多个流幕和延伸流幕到生成的储层模型的边界,从而将生成的储层模型分区为多个域集合。在示例性实施例中,将生成的储层模型分区为多个域进一步包括确定与多个域集合中每个域集合关联的处理成本分布;和为生成的储层模型从具有最佳处理成本分布的多个域集合中选择分区。在示例性实施例中,将生成的储层模型分区为多个域包括确定与生成的储层模型的每个节点关联的处理成本;确定生成的储层模型的每个节点之间的连通水平;和根据确定的处理成本和连通水平将生成的储层模型分区为多个域。在示例性实施例中,根据确定的处理成本和连通水平将生成的储层模型分区为多个域包括在域间均匀分布确定的处理成本。在示例性实施例中,根据确定的处理成本和连通水平将生成的储层模型分区为多个域包括分组同一域中连通水平在预定水平以上的节点。在示例性实施例中,将生成的储层模型分区为多个域包括确定域边界和生成的储层模型内定义的相邻井间的距离;和根据要求,根据确定的距离再分区生成的储层模型。在示例性实施例中,将生成的储层模型分区为多个域包括确定生成的储层模型内所有沿域间边界定位的节点;投影边界节点到平面并拟合通过已投影的边界节点的曲线;并在和拟合曲线正交的方向上投影曲线从而定义生成的储层模型的域间边界。在示例性实施例中,将生成的储层模型分区为多个域包括比较生成的储层模型的分区和先前的储层模型分区。

已经说明了模拟储层模型的方法,该方法包括生成储层模型;将生成的储层模型分区为多个域;划分储层的模拟为多个处理元素;并行处理多个处理元素;以及在并行处理过程中至少一次将生成的储层模型分区为另外多个域;其中将生成的储层模型分区为多个域包括:a)预处理储层模型,其可包括但不限于选择/改变分区算法,和为已选分区算法确定/修正参数;b)将生成的储层模型分区为多个域;c)后处理分区的储层模型从而校正分区的储层模型;d)评估已后处理的分区储层模型的质量;和e)如果已后处理的分区储层模型的质量小于预定值,则重复a,b,c,d和e。

已经说明了模拟储层模型的方法,该方法包括生成储层模型;将生成的储层模型分区为多个域;划分储层的模拟为多个处理元素;并行处理多个处理元素;以及在并行处理过程中至少一次将生成的储层模型分区为另外多个域;其中将生成的储层模型分区为多个域包括确定与生成的储层模型内节点关联的处理成本的水平;根据与节点关联的处理成本挑选节点;将挑选的节点的处理成本相加从而确定与节点关联的总处理成本;和分配节点给对应的域从而在域间分配总处理成本。

已经说明了包含在有形介质中用于模拟储层模型的计算机程序,其包括指令用于:生成储层模型;将生成的储层模型分区为多个域;和模拟分区的储层模型。在示例性实施例中,模拟储层模型包括划分储层的模拟为多个处理元素和并行处理多个处理元素。在示例性实施例中,并行处理多个处理元素包括将生成的储层模型再分区为多个域。在示例性实施例中,将生成的储层模型再分区为多个域包括a)预处理储层模型,其可包括但不限于选择/改变分区算法,和为已选分区算法确定/修正参数;b)将生成的储层模型分区为多个域;c)后处理分区的储层模型从而校正分区的储层模型;d)评估已后处理的分区储层模型的质量;和e)如果已后处理的分区储层模型的质量小于预定值,则重复a,b,c,d和e。在示例性实施例中,模拟储层模型包括将储层模型再分区;划分储层的模拟为多个处理元素;和并行处理多个处理元素。在示例性实施例中,将生成的储层模型分区为多个域包括a)预处理储层模型,这可包括但不限于选择/改变分区算法和为已选分区算法确定/修正参数;b)将生成的储层模型分区为多个域;c)后处理分区的储层模型从而校正分区;d)评估已后处理的分区储层模型的质量;和e)如果已后处理分区的储层模型的质量低于预定值,则重复a,b,c,d和e。在示例性实施例中,将生成的储层模型分区为多个域包括着色生成的储层模型从而生成具有对应色码的节点块,该色码代表节点块与其他节点块隔离的程度;挑选该颜色着色的节点块;加权挑选的颜色编码的节点块从而说明与每个节点关联的处理成本;和分配加权的节点块给对应的域。在示例性实施例中,将生成的储层模型分区为多个域包括确定与生成的储层模型内的节点关联的处理成本水平;根据与节点关联的处理成本在一个方向上挑选节点;将在该方向上挑选的节点的处理成本相加从而确定与该方向关联的总处理成本;和分配在该方向上的节点给对应的域从而分配该方向上的总处理成本。在示例性实施例中,将生成的储层模型分区为多个域包括确定与生成的储层模型关联的速度场;跟踪与速度场关联的流线;投影流线从而生成流幕;并延伸流幕到生成的储层模型的边界从而将生成的储层模型分区为域。在示例性实施例中,将生成的储层模型分区为多个域进一步包括延伸流幕到生成的储层模型的边界,从而将生成的储层模型分区为域,同时避免边界与在生成的储层模型内定义的井相交。在示例性实施例中,将生成的储层模型分区为多个域进一步包括生成多个流幕;和延伸流幕到生成的储层模型的边界,从而将生成的储层模型分区为多个域集合。在示例性实施例中,将生成的储层模型分区为多个域进一步包括确定与多个域集合中每个域集合关联的处理成本分布;和为生成的储层模型从具有最佳处理成本分布的多个域集合中选择分区。在示例性实施例中,将生成的储层模型分区到多个域包括确定与生成的储层模型的每个节点关联的处理成本;确定生成的储层模型的每个节点之间的连通水平;和根据确定的处理成本和连通水平将生成的储层模型分区为多个域。在示例性实施例中,根据确定的处理成本和连通水平将生成的储层模型分区为多个域包括在域间均匀分布确定的处理成本。在示例性实施例中,根据确定的处理成本和连通水平将生成的储层模型分区为多个域包括分组同一域中连通性在预定水平以上的节点。在示例性实施例中,将生成的储层模型分区为多个域包括确定域边界和生成的储层模型内定义的相邻井之间的距离;和根据要求,根据确定的距离再分区生成的储层模型。在示例性实施例中,将生成的储层模型分区为多个域包括确定生成的储层模型内沿域间边界定位的所有节点;投影边界节点到平面并拟合通过投影的边界节点的曲线;并在和拟合曲线正交的方向上投影曲线从而定义生成的储层模型的域间边界。在示例性实施例中,将生成的储层模型分区为多个域包括比较生成的储层模型的分区和先前的储层模型分区。

已经说明了包括在有形介质中用于模拟储层模型的计算机程序,其包括指令用于:生成储层模型;将生成的储层模型分区为多个域;划分储层的模拟为多个处理元素;并行处理多个处理元素;在并行处理过程中,至少一次将生成的储层模型分区为另外多个域;其中将生成的储层模型分区为多个域包括:a)预处理储层模型,其可包括但不限于选择/改变分区算法,和为已选分区算法确定/修正参数;b)将生成的储层模型分区为多个域;c)后处理分区的储层模型从而校正分区的储层模型;d)评估已后处理的分区储层模型的质量;和e)如果已后处理的分区储层模型的质量小于预定值,则重复a,b,c,d和e。

已经说明了包含在有形介质中用于模拟储层模型的计算机程序,其包括指令用于:生成储层模型;将生成的储层模型分区为多个域;划分储层的模拟为多个处理元素;并行处理多个处理元素;以及在并行处理过程中,至少一次将生成的储层模型分区为其他多个域;其中将生成的储层模型分区为多个域包括:确定与生成的储层模型内节点关联的处理成本的水平;根据与节点关联的处理成本挑选节点;将挑选的节点的处理成本相加从而确定与节点关联的总处理成本;以及分配节点给对应的域从而在域间分配总处理成本。

已经说明了模拟储层模型的系统,其包括生成储层模型的装置;将生成的储层模型分区为多个域的装置;模拟分区的储层模型的装置。在示例性实施例中,模拟储层模型的装置包括将储层的模拟划分为多个处理元素的装置;和并行处理多个处理元素的装置。在示例性实施例中,并行处理多个处理元素的装置包括将生成的储层模型再分区为多个域的装置。在示例性实施例中,将生成的储层模型再分区为多个域的装置包括a)预处理储层模型的装置,其可包括但不限于选择/改变分区算法和确定/修正已选分区算法的参数;b)将生成的储层模型分区为多个域的装置;c)后处理分区的储层模型从而校正分区的储层模型的装置;d)评估已后处理的分区储层模型的质量的装置;和e)确定已后处理的分区储层模型的质量是否小于预定值的装置,如果是则重复a,b,c,d,和e的装置。在示例性实施例中,模拟储层模型的装置包括将储层模型再分区的装置;将储层的模拟分为多个处理元素的装置和并行处理多个处理元素的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置包括a)预处理储层模型的装置,其可包括但不限于选择/改变分区算法和确定/修正已选分区算法的参数;b)将生成的储层模型分区为多个域的装置;c)后处理分区的储层模型从而校正分区的储层模型的装置;d)评估已后处理的分区储层模型的质量的装置;和e)确定已后处理的分区储层模型的质量是否小于预定值的装置,如果是则重复a,b,c,d和e的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置包括着色生成的储层模型从而生成具有对应色码的节点块的装置,该色码代表节点块与其他节点块隔离的程度;挑选颜色着色的节点块的装置;加权挑选的颜色编码的节点块从而说明与每个节点关联的处理成本的装置;和分配加权的节点块给对应域的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置包括,确定与生成的储层模型内节点关联的处理成本水平的装置;根据与节点关联的处理成本在一个方向上挑选节点的装置;将在该方向上挑选的节点的处理成本相加从而确定与该方向关联的总处理成本的装置;分配该方向上的节点给对应域从而分配该方向上总处理成本的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置包括确定与生成的储层模型关联的速度场的装置;跟踪与速度场关联的流线的装置;投影流线从而生成流幕的装置;和延伸流幕到生成的储层模型边界从而将生成的储层模型分区为域的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置进一步包括延伸流幕到生成的储层模型的边界从而将生成的储层模型分区为域同时避免边界与生成的储层模型内定义的井相交的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置进一步包括生成多个流幕的装置;和延伸流幕到生成的储层模型边界从而将生成的储层模型分区为多个域集合的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置进一步包括确定与多个域集合中每个域集合关联的处理成本分布的装置;和从具有最佳处理成本分布的多个域集合为生成的储层模型选择分区的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置包括确定与生成的储层模型的每个节点关联的处理成本的装置;确定生成的储层模型的每个节点之间的连通水平的装置;和根据确定的处理成本和连通水平将生成的储层模型分区为多个域的装置。在示例性实施例中,根据确定的处理成本和连通水平将生成的储层模型分区为多个域的装置包括在域间均匀分布确定的处理成本的装置。在示例性实施例中,根据确定的处理成本和连通水平将生成的储层模型分区为多个域的装置包括分组相同域中连通水平在预定水平以上的节点的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置包括确定域边界和生成的储层模型内定义的相邻井之间距离的装置;和按要求根据确定的距离再分区生成的储层模型的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置包括确定生成的储层模型内沿域间边界定位的所有节点的装置;投影边界节点到平面和拟合通过投影的边界节点的曲线的装置;和在与拟合曲线正交的方向上投影曲线从而定义生成的储层模型的域间边界的装置。在示例性实施例中,将生成的储层模型分区为多个域的装置包括比较生成的储层模型的分区和先前的储层模型分区的装置。

已经说明的模拟储层模型的系统包括生成储层模型的装置;将生成的储层模型分区为多个域的装置;划分储层的模拟为多个处理元素的装置;并行处理多个处理元素的装置;和在并行处理过程中至少一次将生成的储层模型分区为另外多个域的装置;其中将生成的储层模型分区为多个域的装置包括:a)预处理储层模型的装置,其可包括但不限于选择/改变分区算法,和为已选分区算法确定/修正参数;b)将生成的储层模型分区为多个域的装置;c)后处理分区的储层模型从而校正分区的储层模型的装置;d)评估已后处理的分区储层模型的质量的装置;和e)确定已后处理的分区储层模型的质量是否小于预定值的装置,如果是则重复a,b,c,d和e的装置。

已经说明的模拟储层模型的系统包括生成储层模型的装置;将生成的储层模型分区为多个域的装置;划分储层的模拟为多个处理元素的装置;并行处理多个处理元素的装置;和在并行处理过程中至少一次将生成的储层模型分区为另外多个域的装置;其中将生成的储层模型分区为多个域的装置包括:确定与生成的储层模型内节点关联的处理成本水平的装置;根据与节点关联的处理成本挑选节点的装置;将挑选的节点的处理成本相加从而确定与节点关联的总处理成本的装置;和分配节点给对应域从而在域间分配总处理成本的装置。

可以理解,可不偏离本发明范畴对本发明做出变化。例如,本发明说明性实施例的教导可用来提高包括网格结构的其他类型的n维计算机模型的计算效率。

虽然上面已经示出和说明了本发明的说明性实施例,但是在前面的公开内容预计了宽范围的修改,变化和替换。在某些情形中,本发明的某些特征可在不相应使用其他特征的情形下采用。因此,宽范围地并以与本发明范畴一致的方式解读权利要求是适当的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号