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

一种用于钻井仿真的钻井多参数计算系统及方法

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


一种用于钻井仿真的钻井多参数计算系统及方法

技术领域

本发明涉及石油工程领域,尤其是涉及一种用于钻井仿真的钻井多参数计算系统及方法。

背景技术

钻井工程作为一项地下隐蔽性工程,由于地下的不可见性,大量的非均质性、不确定性、非结构性以及非数值化难题构成了钻井工程“黑箱”。井下的高温高压环境、钻柱高频振动、钻柱环空泥浆高速流动、长时间钻进作业以及信号传送困难等均对传感器有着极其严苛的要求,无法依靠传感工具实现长时间井下状态的稳定精确监测。目前,钻井工程“黑箱”问题的解决主要依赖于应用现有理论仿真计算方法对当量循环密度、摩阻扭矩、管柱力学等各项井下状态参数进行仿真计算,“黑箱”结果的呈现则依靠二维曲线及三维动画等演示手段,进而为现场工程师和专家提供决策参考。

钻井井下参数的仿真计算如果要尽可能准确,则需要将井筒模型划分为密集的网格,进行长时间的海量迭代计算。然而,钻井工程的不确定性需要决策中心的业务专家根据仿真计算结果及时做出判断决策,也就是要尽可能提升仿真演示速度、并压缩输出仿真结果的等待时间。但是,目前的钻井仿真演示中采用的方式是将仿真计算中所需要用到的各类钻井参数(例如:循环当量密度、钻柱受力等)由一台服务器执行计算操作完成之后再进行钻井仿真演示,在仿真井井深越深计算量越大时,业务专家见到仿真结果的等待时间也就越长,存在较大的延后性,从而影响业务专家利用钻井仿真结果决策的实时性。

现有技术中,虽然有相关技术方案考虑到了钻井仿真过程中钻进数据及其计算软件分级进行顺序分级的方法,但仅提到了不同参数类别在局域网内进行整体分布部署以加快计算的方式,但仍未考虑到针对某一类参数仿真计算进行提速的方案。因而,针对当前钻井仿真多参数计算耗时长的问题,急需一种可靠、易行的提高钻井仿真速度的方法,全方位的压缩钻井仿真计算结果输出的等待时间,从而为用户提供更加及时的决策参考。

发明内容

为了解决上述技术问题,本发明提供了一种用于钻井仿真的钻井多参数计算系统,包括:总服务器,其用于获取仿真计算所需的仿真数据,对不同的钻井参数进行计算顺序调配,以及收集并显示来自各一级服务器的相应类别钻井参数计算结果,所述仿真数据包括计算各类钻井参数所需的原始数据;多个针对相应类别参数的计算网络,每个所述计算网络具备:所述一级服务器,其用于在接收到自身类别的计算指令后,评估计算当前类别参数所需的计算量,分配相应数量的二级服务器,并根据相应类别原始数据进行任务划分,将划分好的原始数据发送至所述二级服务器,以及将来自各所述二级服务器的计算结果转发至所述总服务器;多个所述二级服务器,其用于根据所述划分好的原始数据计算相应类别参数,得到相应的计算结果。

优选地,所述总服务器,其进一步用于根据不同类别的钻井参数之间的依赖关系,为各类钻井参数分配计算顺序,按照规划好的顺序,对属于同一计算顺序级别的一类或几类钻井参数对应的所述计算网络同时发送相应的所述计算指令。

优选地,所述计算指令包括计算时间需求和当前类别钻井参数的仿真精度,进一步,所述一级服务器,其还用于根据所述当前类别钻井参数的仿真精度,对待仿真环境形成的井筒模型进行网格划分,结合所述计算时间需求,确定完成计算当前类别钻井参数的所述计算量、以及所需的所述二级服务器的数量,而后,按照所述数量和所述计算量,将当前类别钻井参数的计算任务均衡划分为属于不同待仿真环境井深范围的子任务,得到针对每个子任务的子任务原始数据;每个所述二级服务器,其还用于根据接收到的所述子任务原始数据,进行相应类别钻井参数的子任务计算,得到相应的子任务计算结果,其中,各子任务同步并行执行。

优选地,所述一级服务器,其进一步用于对从所述二级服务器返回的所述计算结果按照井深和/或时间维度进行排序,生成针对当前类别的所述钻井参数计算结果。

优选地,所述总服务器,其还用于对当前接收到的所述钻井参数计算结果进行存储,以及将当前所述钻井参数计算结果,写入需要调用当前计算结果来进行后续钻井参数计算的所述计算网络所需的原始数据中。

优选地,所述系统,还包括:数据库,其与所述总服务器连接,用于存储计算各类钻井参数所需的包括各类静态数据和实时数据的所述原始数据。

另一方面,本发明还提供了一种用于钻井仿真的钻井多参数计算方法,该方法利用如上述所述的系统计算钻井仿真所需的各类钻井参数,所述方法包括:步骤一、总服务器获取仿真计算所需的仿真数据,对不同的钻井参数进行计算顺序调配,所述仿真数据包括计算各类钻井参数所需的原始数据;步骤二、多个针对相应类别参数的计算网络内的一级服务器在接收到自身类别的计算指令后,评估计算当前类别参数所需的计算量,分配相应数量的二级服务器,并根据相应类别的原始数据进行任务划分,将划分好的原始数据发送至所述二级服务器;步骤三、所述计算网络内的多个所述二级服务器根据所述划分好的原始数据计算相应类别参数,得到相应的计算结果;步骤四、所述一级服务器将来自各所述二级服务器接收到的所述计算结果转发至所述总服务器;步骤五、所述总服务器收集并显示来自各所述一级服务器的相应类别钻井参数计算结果。

优选地,在所述步骤一中,所述总服务器根据不同类别的钻井参数之间的依赖关系,为各类钻井参数分配计算顺序,按照规划好的顺序,对属于同一计算顺序级别的一类或几类钻井参数对应的所述计算网络同时发送相应的所述计算指令。

优选地,在所述步骤二中,所述一级服务器根据所述计算指令内的当前类别钻井参数的仿真精度,对待仿真环境形成的井筒模型进行网格划分,并结合所述计算指令内的计算时间需求,确定完成计算当前类别钻井参数的所述计算量、以及所需的所述二级服务器的数量;所述一级服务器按照所述数量和所述计算量,将当前类别钻井参数的计算任务划分为属于不同待仿真环境井深范围的子任务,得到针对每个子任务的子任务原始数据。

优选地,所述步骤五,还包括:所述总服务器对当前接收到的所述钻井参数计算结果进行存储;所述总服务器将当前所述钻井参数计算结果,写入需要调用当前计算结果来进行后续钻井参数计算的所述计算网络所需的原始数据中。

与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:

本发明公开了一种用于钻井仿真的钻井多参数计算系统及方法。该系统及方法通过应用多层分布式计算,部署一定数量的分布式计算服务器,具体构建至少两级分布式计算网络,由总服务器负责调度各分布式计算子网络执行各参数的仿真计算,实现各参数分别仿真计算、以及单一参数的计算量划分后的同步计算,大幅压缩钻井多参数耦合仿真计算所需时间,为现场工程师和学科专家提供更加及时的决策参考。进一步,本发明相比较于现有仿真方法,将钻井仿真不同参数的计算分配给不同的次级分布式计算网络承担;总服务器仅负责不同参数计算顺序的调配、仿真结果及数据库数据的传递,从而将原一台计算服务器承担的计算量分配给众多的分布式计算服务器同步进行计算。在计算能力相同的情况下,可将钻井仿真时间压缩到原先的1/n,n取决于分布式计算服务器数量,提高了钻井仿真速度以及仿真结果对决策支持的时效性,可大幅提高钻井多参数仿真速度,压缩获取仿真结果的等待时间,提高决策实时性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:

图1是本申请实施例的用于钻井仿真的钻井多参数计算系统的结构示意图。

图2是本申请实施例的用于钻井仿真的钻井多参数计算系统的实现流程图。

图3是本申请实施例的用于钻井仿真的钻井多参数计算方法的步骤图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

钻井工程作为一项地下隐蔽性工程,由于地下的不可见性,大量的非均质性、不确定性、非结构性以及非数值化难题构成了钻井工程“黑箱”。井下的高温高压环境、钻柱高频振动、钻柱环空泥浆高速流动、长时间钻进作业以及信号传送困难等均对传感器有着极其严苛的要求,无法依靠传感工具实现长时间井下状态的稳定精确监测。目前,钻井工程“黑箱”问题的解决主要依赖于应用现有理论仿真计算方法对当量循环密度、摩阻扭矩、管柱力学等各项井下状态参数进行仿真计算,“黑箱”结果的呈现则依靠二维曲线及三维动画等演示手段,进而为现场工程师和专家提供决策参考。

钻井井下参数的仿真计算如果要尽可能准确,则需要将井筒模型划分为密集的网格,进行长时间的海量迭代计算。然而,钻井工程的不确定性需要决策中心的业务专家根据仿真计算结果及时做出判断决策,也就是要尽可能提升仿真演示速度、并压缩输出仿真结果的等待时间。但是,目前的钻井仿真演示中采用的方式是将仿真计算中所需要用到的各类钻井参数(例如:循环当量密度、钻柱受力等)由一台服务器执行计算操作完成之后再进行钻井仿真演示,在仿真井井深越深计算量越大时,业务专家见到仿真结果的等待时间也就越长,存在较大的延后性,从而影响业务专家利用钻井仿真结果决策的实时性。

现有技术中,虽然有相关技术方案考虑到了钻井仿真过程中钻进数据及其计算软件分级进行顺序分级的方法,但仅提到了不同参数类别在局域网内进行整体分布部署以加快计算的方式,但仍未考虑到针对某一类参数仿真计算进行提速的方案。因而,针对当前钻井仿真多参数计算耗时长的问题,急需一种可靠、易行的提高钻井仿真速度的方法,全方位的压缩钻井仿真计算结果输出的等待时间,从而为用户提供更加及时的决策参考。

为了解决上述技术问题,本发明提出了一种用于钻井仿真的钻井多参数计算系统及方法。该系统及方法构建了多层分布式计算服务器,总服务器负责仿真计算过程中不同钻井参数计算顺序的调配、各参数计算结果以及数据库数据的传递,控制各个计算网络分别进行指定类别钻井参数的运算(一类钻井参数配备有一个用于计算该类钻井参数的计算网络,例如:流体力学计算网络用以计算钻井仿真计算所需的循环压耗钻井参数、管柱力学计算网络用以计算钻井仿真计算所需的摩阻扭矩类参数、岩石力学计算网络用以计算钻井仿真计算所需的井壁稳定性类参数、机械比能计算网络用以计算钻井仿真计算所需的钻头性能分布类参数、钻速预测计算网络用以计算钻井仿真计算所需的机械钻速分布类参数、风险预测计算网络用以计算钻井仿真计算所需的钻井风险分布类参数,等等);各个计算网络内的一级服务器在获取总服务器传递的原始数据与计算指令后,评估该网络所承担的指定类别参数计算的计算量,通过将该类参数计算量均衡划分,调配相应的二级服务器快速完成仿真计算,之后由二级服务器将相应类别的计算结果数据返回至同一计算网络中的一级服务器,由一级服务器按照井深和/或时间维度将该参数的子任务计算结果进行排序,并生成特定类别的钻井参数计算结果,最后发送至总服务器。

另外,各参数计算之间的结果调用由总服务器进行调度。对于其他参数仿真计算中均需要应用的水力计算结果,自动分配更多的二级分布式计算服务器来压缩计算时间。

这样,本发明通过不同的计算网络,按参数类别进行分别计算,进一步各网络中的一级服务器及二级服务器的分布式设置,将每类钻井参数的计算任务进行划分,对于同一类钻井参数的计算速度进行了大幅提高,特别是大大压缩了实钻过程中的钻井仿真计算所需的各类钻井参数计算时间。

在对本发明实施例进行详细说明之前,需要对本发明的适用场合进行说明。本发明的方法可用于钻井之前的方案仿真预演或者用于在实钻过程中的仿真监测。在钻前预演仿真过程中,需要模拟实钻过程将钻井设计方案中的参数以一定的时间间隔(秒级)推送给仿真主模块,仿真主模块通过形象的三维场景将井下状态显示出来,经过数据的连续推送和仿真显示,即可看到钻井的连续过程。在这个连续仿真过程中,针对每个时间点,都可对井筒水力参数、钻具摩阻扭矩、机械钻速、钻井风险等不同类别的钻井参数进行计算并快速反馈给仿真软件,使得原始数据与计算结果“同步”。在实钻仿真监测过程中,通过现场采集实时传输的参数(秒级间隔),同时分发给计算模块得到不同类别的钻井(关键)参数(计算结果),并将当前计算结果回馈给仿真主模块,确保这个高频连续钻井过程的仿真。

另外,在钻井仿真系统中,无论是钻前的仿真还是随钻仿真,所展现的钻井仿真结果都是基于仿真环境限定下的结果。其中,仿真环境包括:起始井深、终止井深、以及仿真精度。由于在随钻仿真过程中,终止井深是随着钻井深度的不断加深而变化的,使得随钻仿真的仿真环境也是实时变化的。此外,仿真精度为钻井仿真过程的计算步长(深度步长)。

图1是本申请实施例的用于钻井仿真的钻井多参数计算结构示意图。如图1所示,本发明所述的用于钻井仿真的钻井多参数计算系统(以下简称“钻井多参数计算系统”),包括:总服务器100、和多个计算网络200。在实际的钻井仿真过程中,需要利用实钻过程中采集到的各种实测数据、以及各种预先设计好的静态参数(设计参数)分别对仿真所需的不同类别的钻井参数进行计算,从而将这些不同类别的钻井参数反馈给仿真软件,以进行随钻过程中的实时井下钻井仿真模型的三维构建处理。其中,在本发明实施例中,针对仿真过程所需的每类钻井参数都构建有相应的计算网络200,来专门对该类钻井参数进行计算。其中,在本发明实施例中,多个计算网络(多个针对相应类别参数的计算网络)至少包括:流体力学计算网络201、管柱力学计算网络202、岩石力学计算网络203、机械比能计算网络204、钻速预测计算网络205、以及风险预测计算网络206。每类计算网络之间进行同步的并行计算。

其中,钻井仿真所需的仿真数据包括:计算各类钻井参数所需的原始数据,也就是说,仿真数据包含有针对不同类别钻井参数在计算相应参数时所需的原始数据。更进一步地说,每类钻井参数的原始数据包括:实钻过程中采集到的计算该类钻井参数所需的各种实测数据、以及计算该类钻井参数所需的各种预先设计好的静态参数(设计参数)。风险预测类钻井参数的实测数据包含:地质数据和钻井工程数据,地质数据包括地层压力、岩石物性、岩石力学参数等;钻井工程数据包含井眼轨迹、钻具组合、钻井液性能、钻井施工参数等;风险预测类钻井参数的钻井设计参数包括:井深结构、地层分层等。流体力学计算网络201所需的原始数据包括:钻井液流变性数据、地温梯度等。管柱力学计算网络202所需的原始数据包括:钻柱线重、抗拉抗压等。岩石力学计算网络203所需的原始数据包括:岩石破裂压力、最大最小主应力、泊松比等。由此,针对不同类别的计算网络在钻井参数计算过程中所需的原始数据项是不同的。

总服务器100用于获取仿真计算所需的仿真数据,并对其进行解析,得到针对不同类别计算网络的原始数据,而后,对不同类别的钻井参数进行计算顺序调配,确定在计算不同类别的钻井参数时每种钻井参数所属的计算顺序。此后,总服务器100用于在确定好每种计算网络200所对应的计算顺序后,按照规划好的计算顺序生成针对每种计算网络200的计算指令,并发送至对应的计算网络中。其中,计算指令包括:相应计算网络在计算专属其自身类别的钻井参数时所需的原始数据。在本发明实施例中,属于同一级别计算顺序的计算网络可能为一个也可能为多个。这样,通过设置针对不同类别钻井参数的计算网络,能够基于不同类别的钻井参数进行快速计算。

更进一步地说,每类计算网络还进一步包括:一级服务器210和多个二级服务器220。其中,一级服务器210用于在接收到专属自身类别的(含有已规划计算顺序的)计算指令后,评估计算当前类别钻井参数所需的计算量,分配相应数量的二级服务器,并对接收到的相应类别原始数据进行子任务划分,将划分好的原始数据发送至对应的二级服务器。此时,多个二级服务器220用于接收用于执行相应子任务的划分好的原始数据,根据专属自身的划分好的原始数据计算相应类别钻井参数,以完成相应的子任务,从而得到相应的子任务计算结果。而后,一级服务器210用于接收来自同一计算网络中的各个二级服务器220发送的子任务计算结果,并将从各二级服务器220接收到的(子任务)计算结果整合后,生成相应类别的钻井参数计算结果,以将该类别钻井参数计算结果转发至总服务器100。接着,总服务器100还用于收集并显示从各个一级服务器210接收到的相应类别钻井参数计算结果。其中,各二级服务器220同步并行执行。需要说明的是,在本发明实施例中,每类计算网络200内的二级服务器220所配置的数量不作具体限定,本领域技术人员可根据相应类别计算参数的实际计算量来配置。

此外,本发明所述的钻井多参数计算系统还包括:数据库300。数据库300与总服务器100连接,用于存储计算各类别钻井参数所需的包括各类静态数据和实时数据在内的原始数据,以便于总服务器100的随时调配。

这样,在本发明实施例中,不仅通过设置针对不同类别钻井参数的计算网络,还进一步在同一计算网络内分布式设置有主要用于计算专属类别钻井参数任务分配的一级服务器、以及多个用于执行专属类别钻井参数子任务的二级服务器(每个二级服务器执行一个子任务),从而在不同类别的钻井参数进行快速计算的基础上,还能够通过专属类别钻井参数任务的二次分配,进一步提高了同一类别钻井参数的计算速度,全方位的提高钻井仿真前的钻井参数计算任务的运算速度。

图2是本申请实施例的用于钻井仿真的钻井多参数计算系统的实现流程图。下面结合图1和图2,对本发明实施例所述的钻井多参数计算系统的实现流程进行详细说明。

首先,步骤S201所述总服务器用于获取当前钻井仿真所需的所有仿真数据,根据不同类别的钻井参数之间的依赖关系,为各类钻井参数分配计算顺序,按照规划好的顺序,对属于同一计算顺序级别的一类或几类钻井参数对应的计算网络200同时发送相应的计算指令。另外,所述总服务器在向属于同一计算顺序的一个或几个计算网络发送相应的计算指令时,还需要将属于相应计算网络在进行该类别钻井参数计算时所需的全部项原始数据,一并发送到相应的计算网络220中。在实际的钻井仿真过程中,需要根据不同的钻井参数在计算过程中的依赖关系将钻井仿真所需的钻井参数进行计算顺序的分级处理,按照不同的计算顺序进行相应类别钻井参数的计算,从而避免各个钻井参数计算时的次序混乱。需要说明的是,在本发明实施例中,属于同一计算顺序的一个或多个计算网络由于接收到的计算指令的时间是相同的,故他们之间所对应的不同类别的钻井参数的计算过程、以及计算结果的生成,是依赖相应的计算网络同步(并行)完成的;不同计算顺序级别的计算网络之间对应的不同类别的钻井参数的计算过程、以及计算结果的生成,是依赖计算顺序而确定的。

具体的,在钻井参数的计算顺序划分过程中,任意类别的钻井参数不会依赖与其同级计算顺序或比其级别低(后续计算顺序)的钻井参数。例如,为钻井风险、钻井水力参数以及钻具摩阻扭矩进行计算顺序分级时,钻井风险计算依赖于钻井水力参数计算、和钻具摩阻扭矩计算的结果;摩阻扭矩计算依赖于钻井水力参数的计算结果。那么需要将用于计算钻井水力参数的流体力学计算网络201的计算顺序设定为1,用于计算钻具摩阻扭矩的管柱力学计算网络202的计算顺序设定为2,用于计算钻井风险分布的风险预测计算网络206的计算顺序设定为3。更具体地说,在进行参数计算时,总服务器100首先向流体力学计算网络201发送针对该计算网络的计算指令;而后,在总服务器100接收到流体力学计算结果(该结果至少包括钻井水力参数)后,继续向管柱力学计算网络202发送针对该计算网络的计算指令、以及至少包括钻井水力参数的原始数据;接着,在总服务器100接收到管柱力学计算结果(该结果至少包括钻具摩阻扭矩参数)后,继续向风险预测计算网络206发送针对该计算网络的计算指令、以及至少包括钻井水力参数和钻具摩阻扭矩参数在内的原始数据,以在接收到风险预测计算结果后,完成当前钻井仿真过程所需的仿真数据的计算任务。

这样,对于属于同一计算顺序的计算网络的执行过程、及结果生成过程是同步完成,对于属于不同计算顺序的计算网络的执行及结果生成过程才是按计算顺序完成的,由此,在本发明实施例中,通过不同类别的钻井参数计算任务的计算顺序分配处理,能够实现基于不同类别钻井参数的方面,来提高仿真前钻井参数计算过程的运行速度。

而后,在总服务器100向属于同一计算顺序(例如,计算顺序为1)的计算网络同时发送相应类别的计算指令和原始数据后,进入到步骤S202中。进一步,各一级服务器210还用于根据接收到的专属于自身的计算指令中的当前类别钻井参数的仿真精度,对待仿真环境形成的井筒模型进行网格划分,结合该计算指令中的计算时间需求,确定完成计算当前类别钻井参数的计算量、以及完成计算当前类别钻井参数的所需的二级服务器220的数量,而后,按照确定好的数量和计算量,将当前类别参数的计算任务均衡划分为属于不同待仿真环境井深范围的子任务,得到针对每个子任务的子任务原始数据。

具体地,步骤S202一级服务器200还用于根据计算指令中的当前类别钻井参数的仿真精度,对待仿真环境形成的井筒模型进行网格划分,而后,进入到步骤S203中。在本发明实施例中,在针对相应类别的计算网络的计算指令中,不仅包括该类别计算网络的计算顺序信息和原始数据信息,还包括计算当前类别钻井参数时所需的仿真精度、以及计算需求时间。在实际钻井仿真过程中,不同类别的钻井参数所对应的仿真精度(计算步长,深度步长)是不同的(例如:在水力参数仿真计算时,由于涉及到了计算的反复迭代,需要计算误差小于临界阈值,判定计算收敛才输出仿真计算结果,由此,这一过程便会产生极大计算量,为了控制仿真计算时间,可选用较大的仿真精度,如计算步长为0.5m;而机械比能的仿真计算,不涉及反复迭代计算,相比于水力参数仿真计算,其计算量与计算时间都大幅减少,可根据仿真需求选用较小的仿真精度,如计算步长为0.1m。),因此,需要在各个计算网络200中的一级服务器210获得相应类型钻井参数对应的仿真精度后,利用相应的一级服务器210进行基于该类型仿真精度下的井筒模型网格划分处理,以确定出计算当前类别钻井参数所对应的仿真计算步长。

步骤S203一级服务器用于在确定出针对当前类别钻井参数所对应的仿真计算步长后,结合计算指令中的计算时间需求(计算需求时间指的是,计算当前类别钻井参数过程中,从接收到原始数据到获得该类别钻井参数计算结果之间所对应的时间),确定完成计算当前类别钻井参数的计算量、以及完成计算当前类别钻井参数所需的二级服务器的数量,使得属于同一计算顺序的计算网络200能够尽可能的同时完成自身的钻井参数计算任务(例如:可以由总服务器100为同一计算顺序的一个或多个计算网络200分配相同的计算需求时间)。由于每次仿真模型的构建过程都是在待仿真环境的限定下实施的,由此,在确定出仿真计算步长后,依据待仿真环境中的起始深度、及终止深度信息,并参考与当前计算需求相关的计算时间需求信息,即可评估出完成当前类别钻井参数计算总共所达到的计算量。

需要说明的是,由于针对每类钻井参数计算任务的计算需求时间,是根据实际需求所设置的,因而,不同类别的钻井参数计算任务可以设置有不同的计算需求时间,也可能有相同的计算需求时间,本发明对每类钻井参数计算任务所需的计算需求时间不作具体限定,本领域技术人员可根据实际需求进行设置。另外,上述完成计算当前类别钻井参数所需的二级服务器的数量可以等于当前类别计算网络内所配置的二级服务器的数量,也可以小于当前类别计算网络内所配置的二级服务器的数量,本发明对此不作具体限定。

举例来说,在针对某一类钻井参数的仿真计算步长较小,计算时间需求也较小时,就需要更多的二级服务器的协同参与才能完成符合当前类别参数计算任务所需的计算量;在针对某一类钻井参数的仿真计算步长较大,计算时间需求也较大时,就不需要过多的二级服务器的协同参与就能够完成符合当前类别参数计算任务所需的计算量。需要说明的是,在本发明实施例中,对于完成相应类别钻井参数计算任务所需的二级服务器的数量确定过程的目的是要尽可能的让同一计算顺序的计算网络同时完成各自的钻井参数计算任务,故需要利用各个一级服务器201确定出针对相应类型钻井参数计算任务的总计算量,以分配出需要参与计算的二级服务器220的数量。

而后,进入到步骤S204中。步骤S204各个一级服务器210还用于按照步骤S203确定好的完成相应类型钻井参数计算任务所需参与的二级服务器220的数量后,按照步骤S203确定的计算量,将当前类别参数的计算任务均衡划分为属于不同待仿真环境井深范围的子任务,使得每个子任务对应的计算量相一致,从而得到针对每个子任务的子任务原始数据,以向各二级服务器220发送。需要说明的是,在常规仿真计算方法中,由于针对每种类别的钻井参数计算任务,是将井筒模型依据仿真精度,被均匀划分为若干等长网格(例如:网格长度为0.5米),依次分布于井下不同深度位置处,通过深度累加迭代的方式,随着井下深度的不断增加,对钻井过程进行实时仿真计算,从而对于井深越深的仿真迭代网格点来说,需要的计算量就越大。因此,在本发明实施例中,为了保障同一钻井参数计算任务能够被参与其中的各个二级服务器220同步且尽可能的同时完成,需要将每个二级服务器220分配有计算量相接近的子任务,每个子任务对应的井深范围可能相同,也可能不同。例如,针对流体力学计算任务来说,1号二级服务器220需要完成0~100米井深范围的计算子任务,2号二级服务器220需要完成100~175米井深范围的计算子任务,3号二级服务器220需要完成175~220米井深范围的计算子任务,尽可能使得每个子任务的计算量保持一致。

在各一级服务器210完成子任务划分并得到针对每个子任务的子任务原始数据后,进入到步骤S205中。步骤S205每个参与到当前类别钻井参数计算任务的二级服务器220还用于接收属于自身的子任务原始数据,根据接收到的相应的子任务原始数据,进行当前类别钻井参数的子任务计算,得到相应的子任务计算结果。其中,同一计算网络200中的各子任务(各参与当前类别钻井参数计算任务的二级服务器220)同步并行执行子任务计算操作。此时,在每个参与到当前类别钻井参数计算任务的二级服务器220完成子任务计算操作后,将各自生成的子任务计算结果,发送至同一计算网络200中的一级服务器210内,从而进入到步骤S206中。

步骤S206各(属于同一计算顺序的)一级服务器210还用于接收从各二级服务器220返回的(子任务)计算结果,并将所有子任务计算结果按照井深和/或实时钻井时间维度进行排序,以完成整合处理,生成针对当前类别钻井参数计算任务的钻井参数计算结果。此时,在属于同一计算顺序的计算网络200内的一级服务器210生成针对当前类别钻井参数计算任务的钻井参数计算结果后,将当前钻井参数计算结果,发送至上述总服务器100内,从而进入到步骤S207中。

步骤S207总服务器100还用于在接收到的来自同一计算顺序计算网络200的钻井参数计算结果后,将当前接收到的所有钻井参数计算结果进行存储,从而进入到步骤S208中。另外,步骤S208总服务器100判断当前所获得的针对本次计算顺序的一种或几种钻井参数计算结果中是否存在后续计算顺序级别的计算网络200所需的原始数据。

若存在,则进入到步骤S209中。步骤S209总服务器100还用于将属于后续计算级别计算网络所需的钻井参数计算结果写入需要调用当前计算结果来进行后续(后一计算顺序级别的)钻井参数计算的所述计算网络所需的原始数据中,并返回至步骤S201,以在步骤S201中使得后续计算顺序级别的计算网络获得其需要调用的前一级别计算结果。具体地,若当前总服务器100所获得的针对本次计算顺序的一种或几种钻井参数计算结果中,存在后续计算顺序级别的计算网络200所需的原始数据时,将属于后续计算级别计算网络所需的钻井参数计算结果,写入需要调用当前计算结果来进行后续计算顺序级别的钻井参数计算任务的计算网络内的原始数据中。

例如,如果在总服务器100接收到计算顺序级别为1的流体力学计算网络201反馈的含有钻井水力参数信息的流体力学计算结果后,计算顺序级别为2的管柱力学计算网络202需要调用当前流体力学计算结果中的钻井水力参数信息。此时,总服务器100在向管柱力学计算网络202发送针对该计算网络的计算指令之前,将当前流体力学计算结果或流体力学计算结果中的钻井水力参数,写入管柱力学计算网络202所需的原始数据中,从而完成钻井参数计算结果的调度处理。

另外,在步骤S208中,若总服务器100判断出当前所获得的针对本次计算顺序的一种或几种钻井参数计算结果中不存在后续计算顺序级别的计算网络200所需的原始数据,则进入到步骤S210中。步骤S210总服务器100还用于进一步判断本次计算顺序是否为最后一个计算顺序。若为是,则进入到步骤S211中。步骤S211总服务器100收集各个计算网络200对应的钻井参数计算结果,对所有类型的钻井参数计算结果进行深度和/或实时钻井时间等维度的排序后,以利用仿真软件进行结果的仿真演示。具体地,在本发明实施例中,总服务器100在接收到各计算网络200发送的钻井参数计算结果后,将钻井参数计算结果按照由浅至深、或者随着实时钻井过程所经历的时间维度的增加所遍历到的深度依次进行展示,从而完成针对当前钻井参数仿真计算结果的展示过程。

此外,步骤S210总服务器100还用于在判断出本次计算顺序不是最后一个计算顺序时,返回到步骤S201中,继续执行下一计算顺序的一个或多个钻井参数计算任务。

这样,本发明利用上述步骤S201~步骤S211完成了分布式设置的钻井多参数计算系统的工作流程的说明,能够在每次仿真过程中,针对不同类型的钻井参数进行同一计算顺序级别的同步并行运行,还能够在此基础上,针对同一类型的钻井参数进行计算量均衡划分,在多个二级服务器的同步并行运行的作用下,大大提高了同一类型钻井参数的运算效率。

本发明多层分布式计算提高钻井仿真演示速度的方法,在胜利油田Y井钻井仿真中进行应用,具体实施流程如下:

(1)建立数据库录入Y井钻井仿真计算相关数据;

(2)搭建1台总服务器、6台一级服务器以及24台二级服务器;

(3)总服务器对各参数的仿真计算进行分配并向一级服务器发送数据,各一级服务器根据所承担参数仿真需求对井筒进行网格划分并估算计算量,调用适当数量的二级服务器构成各参数的分布式计算子网络;二级服务器计算结果返回一级服务器,由一级服务器排序后返回总服务器。

(4)总服务器对需要相互调用的参数之间的结果进行调度,对所有参数的仿真结果进行深度、时间等维度排序后进行结果的演示。

另一方面,基于上述所述的钻井多参数计算系统,本发明还提出了一种用于钻井仿真的钻井多参数计算方法,该方法利用上述所述的钻井多参数计算系统来计算钻井仿真所需的各类钻井参数。图3是本申请实施例的用于钻井仿真的钻井多参数计算方法的步骤图。如图3所示,上述方法包括如下步骤:步骤S310总服务器100获取仿真计算所需的仿真数据,对不同的钻井参数进行计算顺序调配,其中,仿真数据包括计算各类钻井参数所需的原始数据;步骤S320多个针对相应类别参数的计算网络200内的一级服务器210在接收到自身类别的计算指令后,评估计算当前类别参数所需的计算量,分配相应数量的二级服务器220,并根据相应类别的原始数据进行任务划分,将划分好的原始数据发送至多个二级服务器220内;步骤S330计算网络200内的多个二级服务器220根据接收到的划分好的原始数据计算相应类别参数,得到相应的计算结果;步骤S340一级服务器210将来自各二级服务器220接收到的计算结果转发至总服务器100;步骤S350总服务器100收集并显示来自各一级服务器210的相应类别钻井参数计算结果。

进一步,在步骤S310中,总服务器100根据不同类别的钻井参数之间的依赖关系,为各类钻井参数分配计算顺序,按照规划好的顺序,对属于同一计算顺序级别的一类或几类钻井参数对应的计算网络200同时发送相应的计算指令。

进一步,在步骤S320中,一级服务器210根据计算指令内的当前类别钻井参数的仿真精度,对待仿真环境形成的井筒模型进行网格划分,并结合计算指令内的计算时间需求,确定完成计算当前类别钻井参数的计算量、以及完成计算当前类别钻井参数所需的二级服务器220的数量;而后,一级服务器210按照上述数量和计算量,将当前类别钻井参数的计算任务划分为属于不同待仿真环境井深范围的子任务,得到针对每个子任务的子任务原始数据。

进一步,在步骤S350中,还包括:总服务器100对当前接收到的钻井参数计算结果进行存储;而后,总服务器100将当前钻井参数计算结果,写入需要调用当前计算结果来进行后续钻井参数计算的计算网络200所需的原始数据中。

本发明公开了一种用于钻井仿真的钻井多参数计算系统及方法。该系统及方法针对钻井多参数耦合进行仿真计算时,迭代计算量巨大,仿真计算耗时长,用户难以及时获得钻井仿真结果进行决策的问题,构建多层分布式计算服务器。其中,总服务器负责仿真计算过程中不同参数计算顺序的调配、各参数计算结果以及数据库数据的传递,控制一级分布式计算服务器分别进行各类钻井参数的仿真运算;一级各分布式计算服务器获取总服务器传递的数据与计算指令后,评估所承担参数仿真计算量,通过将该参数计算量均衡划分,调配相应的二级分布式服务器快速完成仿真计算,之后将计算的结果数据返回至一级分布式计算服务器,由一级分布式计算服务器按照井深、时间维度将该参数的仿真结果排序,发送至总服务器。另外,各参数计算之间的结果调用由总服务器进行调度。

由此,本发明通过应用多层分布式计算,部署一定数量的分布式计算服务器,具体构建至少两级分布式计算网络,由总服务器负责调度各分布式计算子网络执行各参数的仿真计算,实现各参数分别仿真计算、以及单一参数的计算量划分后的同步计算,大幅压缩钻井多参数耦合仿真计算所需时间,为现场工程师和学科专家提供更加及时的决策参考。进一步,本发明相比较于现有仿真方法,将钻井仿真不同参数的计算分配给不同的次级分布式计算网络承担;总服务器仅负责不同参数计算顺序的调配、仿真结果及数据库数据的传递,从而将原一台计算服务器承担的计算量分配给众多的分布式计算服务器同步进行计算。在计算能力相同的情况下,可将钻井仿真时间压缩到原先的1/n,n取决于(参与协作的)分布式计算服务器数量,提高了钻井仿真速度以及仿真结果对决策支持的时效性,可大幅提高钻井多参数仿真速度,压缩获取仿真结果的等待时间,提高决策实时性。

虽然本发明所披露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

相关技术
  • 一种用于钻井仿真的钻井多参数计算系统及方法
  • 一种用于提高钻井仿真速度的方法及系统
技术分类

06120113097996