一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于钻井控制的流体属性实时分析的制作方法

2021-10-24 11:57:00 来源:中国专利 TAG:优先权 钻井 专利申请 并入 美国

用于钻井控制的流体属性实时分析
1.优先权要求
2.本技术要求于2019年3月7日递交的美国专利申请no.16/295,788的优先权,其全部内容通过引用并入本文。


背景技术:

3.钻井环境中的条件可能对钻井操作(例如,石油和天然气提取装置的操作)产生不利影响。例如,钻柱附近的泥浆的次优流体属性可能对钻井操作产生不利影响,导致安全隐患、效率低下和成本增加。


技术实现要素:

4.本公开的实施方式一般涉及基于所确定的流体属性来控制钻井的技术。更具体地,本公开的实施方式涉及测量钻井流体的井下流体属性(例如密度和流变性)并基于测量的属性执行实时计算的钻井控制平台。计算可以包括压力损失计算、等效循环密度(ecd)计算,或实时压力损失和ecd两种计算。实时计算的结果可以用于控制钻井操作。
5.一般而言,本说明书中描述的主题的方面可以体现在执行各种操作的方法中。这些操作包括访问描述钻井环境中钻井流体的流体属性的传感器数据。传感器数据由布置在钻井环境中以测量流体属性的一个或多个传感器设备生成。分析传感器数据以生成钻井流体的ecd值。分析传感器数据以生成ecd值可以关于传感器数据的生成实时执行。至少部分地基于ecd值,传输至少一个控制信号以修改在钻井环境中工作的钻井装置的至少一项操作。至少一个控制信号的传输可以关于传感器数据的生成和分析实时执行。
6.这些和其他实施方式可以各自可选地包括以下方面中的一个或多个。
7.在一些实施方式中,传感器数据描述钻井流体的密度和流变性中的一种或多种。
8.在一些实施方式中,进一步分析传感器数据以生成钻井流体的总压力损失。
9.在一些实施方式中,进一步基于总压力损失发送至少一个控制信号。
10.在一些实施方式中,ecd值的图形表示可以关于传感器数据的生成和分析在用户接口(ui)中实时地呈现。
11.在一些实施方式中,图形表示示出了关于时间和深度中的一个或多个的ecd值的变化。
12.在一些实施方式中,分析传感器数据包括将传感器数据作为输入提供给至少一个模型,该模型已被训练以基于传感器数据来输出ecd值。可以使用至少一种机器学习(ml)算法来训练至少一个模型,
13.在一些实施方式中,输出ecd值进一步用于重新训练该至少一个模型。
14.在一些实施方式中,至少一个控制信号被传输以修改至少一个操作,该至少一个操作改变钻井流体的重量和流变性中的一个或多个。
15.在一些实施方式中,至少一个控制信号被传输以修改至少一个操作,该至少一个操作改变钻井流体的循环速度。
16.在一些实施方式中,至少一个控制信号被传输以修改至少一个操作,该至少一个操作通过施加来自节流阀的表面背压来调整钻井流体的井下压力。
17.任何方面的其他实施方式包括被配置为执行这些方法的操作的相应系统、装置或计算机程序。本公开还提供了一种耦接到一个或多个处理器并具有存储在介质上的指令的计算机可读存储介质。当由一个或多个处理器执行时,所述指令使一个或多个处理器根据本公开中提供的方法的实施方式执行操作。本公开还提供了一种用于实现这些方法的系统。该系统包括一个或多个处理器以及耦接到该一个或多个处理器的计算机可读存储介质。指令存储在介质上。指令可由一个或多个处理器执行。当指令被执行时使一个或多个处理器根据实施方式执行操作。
18.与以前可用的技术相比,压力损失、ecd或压力损失和ecd两者的实时计算可以用于对井底循环压力进行更精细的控制。基于传感器设备收集的传感器数据执行计算。采用的传感器设备可以比传统上可行的可能每隔几个小时进行一次的手动属性测量更频繁地执行自动流体属性测量,这有效地实时提供关于泥浆状态的信息。使用实时传感器数据计算ecd会产生可以用于控制钻孔压力的最新ecd值。例如,计算值可以用于将压力维持在特定压力范围内,从而提供增加的安全性、降低的成本和降低的风险。在一些实施方式中,该平台通过定期(例如每隔几秒)收集传感器数据来获得实时流体属性测量结果、使用一个或多个液压模型来分析传感器数据以计算压力损失、以及基于压力损失实时计算ecd值。计算结果可以发送给钻机操作员,以便及时做出关于压力控制的决策。该结果还可以用于自动控制钻井操作,例如压力控制操作。实施方式提供了压力损失和ecd值的实时计算。压力损失和ecd值的实时计算可以用于控制井下压力。这种控制避免了钻井操作中的井涌和漏失。
19.使用本公开所述的技术,可以调整泥浆参数以比以前使用的技术更快地改变ecd。平台获得的实时ecd计算可以允许循环速度的准确调整和轻松调整,以基于各种操作需求修改ecd。此外,受控压力钻井操作可以通过基于操作参数调整钻井时施加的表面背压来操纵ecd。在要提供额外井下压力的情况下,可以执行操作以从节流阀施加表面背压。本公开中描述的代码可以通过允许准确确定适合特定情况的ecd来使此类操作更有效和更准确。
20.许多不同的条件可能会影响钻井流体的完整性,例如固体去除不足或钻井流体污染,这两种情况都会改变钻井流体的属性。这种情况可以通过平台执行的压力损失和ecd的实时计算来检测。这种情况,如果未被检测和未被解决,可能会使钻井操作出现问题,例如井涌或漏失。因此,通过提供ecd的实时和准确结果,各实施方式确保更顺畅的钻井操作,减少钻井时间并提高安全性以达到使用传统的、以前可用的技术达不到的程度。
21.应当理解,根据本公开的实施方式可以包括本公开中描述的方面和特征的任何组合。根据本公开的实施方式不限于本公开中具体描述的方面和特征的组合,还包括所提供的方面和特征的任何其他适当组合。
22.在附图和描述中阐述了本公开的一个或多个实施方式的细节。本公开的其他特征和优点将通过说明书和附图以及权利要求而变得显而易见。
附图说明
23.图1描绘了根据本公开的实施方式的用于控制钻井操作的示例系统。
24.图2描绘了根据本公开的实施方式的用于控制钻井操作的示例过程的流程图。
25.图3描绘了根据本公开的实施方式的计算结果的示例可视化。
26.图4描绘了根据本公开的实施方式的示例计算系统。
具体实施方式
27.本公开的实施涉及基于钻井环境中对流体属性的实时测量和分析来控制钻井操作的技术。收集传感器数据,该传感器数据提供钻头周围钻井流体的流体属性的测量结果。流体属性可以包括例如密度、流变性或密度和流变性两者。钻井流体也可以被描述为井下泥浆。测量结果被提供给计算环形物中的井下压力损失的液压模型。基于该计算,执行ecd的计算。在一些实施方式中,实时执行关于传感器数据的收集的计算。压力损失、ecd或压力损失和ecd两者的实时计算可以用于控制井底循环压力。在一些实施方式中,计算结果用于自动控制钻井操作。计算结果也可以通过用户接口(ui)或消息服务被提供给操作员。结果还可以通过由平台公开的应用编程接口(api)被提供给其他应用。
28.实施方式提供了钻井控制平台,该平台基于描述当前流体属性(例如密度和流变性)的实时传感器数据计算钻井环境中泥浆的ecd。使用实时传感器数据计算ecd会产生可以用于控制钻孔压力的当前ecd值。例如,这些值可以用于将压力维持在特定的压力范围内。在一些实施方式中,该平台通过定期(例如每隔几秒)收集传感器数据来获得实时流体属性测量结果、使用一个或多个液压模型分析传感器数据以计算压力损失、以及基于压力损失实时计算ecd值。结果可以用于自动控制钻井操作。例如,结果可以用于自动执行压力控制操作。
29.在一些实施方式中,平台接收实时传感器数据,该数据包括通过使用安装在现场的一个或多个传感器设备(也称为传感器)进行的流体密度和流变性的测量结果。例如,传感器包括用于测量密度的密度计和用于测量流变性的粘度计中的一个或多个。该平台可以接收当前传感器数据。例如,每分钟获得一次密度的测量结果,并且每15分钟获得一次流变性测量结果。在一些示例中,平台将传感器数据(或至少最近一批传感器数据)存储在数据库或其他数据存储库中,其中数据被访问以执行计算来确定压力损失和ecd。
30.在一些示例中,实时操作是在触发事件(例如接收的信号或特定系统状态的检测)之后没有不必要延迟的情况下立即执行的操作。可以响应于触发事件执行实时操作,而无需人为干预动作。可以在计算系统内尽可能快地执行实时操作,同时考虑在计算系统中通信和处理信息所需的时间,例如访问数据存储库、发送和接收网络通信或执行计算指令的时间。实时操作也可以被描述为动态操作。在一些示例中,可以同步执行关于触发事件的实时动作。在一些示例中,可以在与触发事件的检测和处理相同的执行路径内执行实时动作。
31.图1示出了根据本公开的实施方式的基于ecd和压力损失的实时计算来控制钻井操作的示例系统100。如示例中所示,系统100包括存在于钻井环境106中的钻井装置102和任意数量的传感器104,例如所示示例中的传感器104(1)和104(2)。实施方式可以与任何钻井装置102(例如用于石油或天然气提取的钻井装置)一起使用。传感器104被布置在钻井环境106中以收集关于钻井装置102的操作的实时传感器数据108。例如,传感器数据108包括井中或钻孔中钻头的井下附近的泥浆的密度和流变性(换言之,粘度)的测量结果。在一些实施方式中,使用测量密度和流变性的传感器104获得描述井下泥浆的流体属性的传感器数据。传感器104可以安装在钻井装置102(例如,钻机)上。
32.传感器数据108通过一个或多个网络被传输到钻井控制平台110,也称为平台。平台110包括在任何数量和类型的计算设备上执行的软件,该计算设备包括用于分布式计算的设备(例如,云计算服务器)。该软件包括分析模块112、控制模块118和接口122。分析模块112可以包括数据准备模块126、人工智能(ai)/机器学习(ml)模块128和任意数量的模型130。平台110还包括任何类型的数据存储库114,例如数据库。在一些实施方式中,平台110采用平台110外部的并且可通过一个或多个网络访问的数据存储库。
33.分析模块112接收传感器数据108并在接收到时实时分析传感器数据108,以确定结果116,例如当前压力损失和ecd值。参照图2和图3进一步描述这种计算。在一些实施方式中,数据准备模块126执行包括以下一项或多项的操作:将传感器数据108从模拟转换为数字、格式化转换后的传感器数据108,以及在进一步分析之前过滤掉异常数据。在一些示例中,在将数据传输到平台110之前由传感器104执行转换、格式化或过滤的至少一部分。
34.ai/ml模块128执行各种ai和ml操作以分析数据。例如,模块128采用受监督的ml算法、不受监督的ml算法或受监督和不受监督两种的ml算法来开发用于分析传入的传感器数据108的模型130。这种模型130基于传入的传感器数据108输出压力损失和ecd的结果。在一些示例中,使用训练数据以受监督或不受监督的方式来训练模型130,以基于接收的传感器数据108来预测压力损失和ecd。在一些实施方式中,平台采用实现ai和ml解决方案的ai/ml模块128。在一些示例中,此类解决方案可由第三方提供。在一些示例中,一个或多个ai/ml模块128和模型130实时操作以实时提供关于传感器数据108的生成的分析结果。实施方式支持ai和ml解决方案的(例如,第三方、实时)使用,并且可以将第三方解决方案与其他(例如,内部开发的)解决方案集成。
35.模型130可以包括阻力模型和立管压力(spp)模型中的一个或多个。这些模型可包括在代码中。该代码还被配置为灵活且能够支持额外模型,例如扭矩和阻力模型、液压模型和孔清洁模型。分析模块112还可包括用于质量控制和质量保证的模块,以确定由分析产生的结果116的质量(例如,准确度)。
36.由分析产生的结果116被存储在数据存储库114中。在一些实施方式中,传感器数据108中的至少一部分也可以被存储在数据存储器114中。在一些实施方式中,传感器数据108和结果116中的一个或两个的最近集合可以被存储在数据存储器114中。例如,可以存储传感器数据108和结果116的最后一天的值。实施方式支持使用任何类型的数据存储库114,例如关系数据库或非关系数据存储库(例如,键值存储)。
37.结果116由控制模块118接收,该控制模块118基于结果116自动执行操作以控制钻井装置102。例如,可以基于井下泥浆中的压力损失和ecd的实时计算来调整钻井操作。控制可通过控制模块118产生并发送给钻井装置102的一个或多个控制信号120来控制操作。
38.在一些实施方式中,还通过接口122提供结果116。接口122可以包括api,该api允许调用到api中的其他应用或服务接收结果116。在一些实施方式中,接口122包括ui122,例如网络接口。ui 122可以呈现在操作员可访问的数据消费设备124上。数据消费设备124可以包括任何类型的计算设备,该计算设备包括便携式计算设备(例如,智能电话、平板计算机)和不太便携类型的计算设备(例如,膝上型计算机、台式计算机)。ui可以提供传感器数据108和结果116的至少一部分的实时更新的可视化。例如,计算的压力损失和ecd值以图形或文本格式显示在ui中,并且随着当前传感器数据108被接收和被分析而被实时更新。
39.图3示出了被提供作为ecd值的线图的数据可视化的示例300。在一些实施方式中,ui提供控件,该控件允许操作员向控制模块118指定要执行的钻井控制操作。用户命令可以通过ui被输入以请求对钻井操作的特定调整,并且可以使用编码指令提供给控制模块118。在接收到这样的命令时,控制模块118可以发送相应的控制信号120以根据通过ui提交的命令在钻井装置102处启动调整。在一些示例中,进行调整以控制流体的ecd值。例如,执行操作以通过改变泥浆重量和泥浆流变性来调整泥浆属性,例如ecd。作为另一个示例,调整通过调节以加仑每分钟(gpm)为单位的流体流速来改变钻井流体的循环速度,这也可以导致钻井操作的ecd的改变。
40.在一些实施方式中,传感器数据108的分析由分析模块112执行以计算压力损失和ecd值。可以关于由传感器104产生的传感器数据108或关于在平台110处接收传感器数据108来实时执行分析。结果116可以被控制模块118使用以发送控制信号120来实时地控制关于结果116的生成的钻井操作。此外,可以关于结果116的生成通过接口122实时提供结果116。传感器数据108可以被描述为实时数据,因为它描述了周期性(例如,每三秒)更新的钻井流体(换言之,井下泥浆)的当前测量的流体状态。实时数据也可以被描述为反映所正描述环境的当前或适当地最近状态的当前数据。
41.图2示出了根据本公开的实施方式的基于ecd和其他值的实时计算来控制钻井操作的过程200的示例流程图。该过程的操作可以由分析模块112、控制模块118、接口122、或在平台110或其他地方执行的其他软件模块中的一个或多个来执行。
42.传感器数据108被实时接收(202)或以其他方式被实时访问,因为它由钻井环境102中的传感器104生成。在一些实施方式中,该过程执行(204)关于传感器数据108的以下一项或多项:传感器数据108从模拟被转换为数字、传感器数据108被格式化以符合预定格式的版本、以及传感器数据108被过滤以去除异常或外围数据点。在一些示例中,传感器设备104执行这样的操作的至少一部分。
43.传感器数据108被分析(206)以(例如通过使用模型130)执行压力损失和ecd计算。计算结果116、传感器数据108的至少一部分、或结果116和数据108两者可以被存储(208)在数据存储库114中。压力损失和ecd的可视化可以通过ui被呈现(210)。此外,基于计算的压力损失和ecd值,控制信号120可以被传输(212)到钻井装置102以控制钻井操作。在一些示例中,基于压力损失和ecd值自动发送控制信号120。在一些实施方式中,基于计算的压力损失和ecd值更新(214)(例如,重新训练或以其他方式改进)模型130。
44.传感器数据108中包括的流体属性测量结果可以在平台110处以频率(例如,每秒或每几秒)被获得和被接收,使得传感器数据108反映井下泥浆的当前和最新的流体状态。传感器数据108可以作为输入提供给模型130,该模型130提供压力损失和ecd的输出,这两者都用于控制钻井操作。在一些实施方式中,在约3

5秒的时间跨度内执行传感器数据108的生成和分析以及钻井操作的控制。这为平台提供了向人员呈现结果并自动和实时控制钻井操作的能力。
45.在收集输入传感器数据108之后,可以将数据发送到液压模型,在液压模型中执行一系列方程和计算以测量每个部分的环形压力损失。可以添加环形损失以获得环形物中的总压力损失。该总压力损失可以用于计算ecd。例如,ecd可以被计算为ecd=mw pl0.052*tvd。mw是指流体泥浆重量(例如,密度),pl是指压力损失(例如,以磅每平方英寸(psi)为单
位),而tvd是指真正的竖直深度(例如,以英尺为单位)。
46.在一些实施方式中,每分钟执行一次密度测量,并且每15分钟执行一次流变性测量。收集的数据可以在被生成时进行实时分析,以提供压力损失和ecd的当前值。这些值可以用于自动控制钻井操作。这些值也可以显示给钻井工程师或工头。
47.在一些实施方式中,执行压力损失计算以确定ecd的实时值。各种技术可以用于液压模型,该液压模型包括但不限于以下一项或多项:美国石油学会(api)模型、herschel

bulkley模型和幂律模型。平台可以使用这些液压模型中的一个或多个来执行液压计算。本公开的表和公式中的示例提供了使用api模型进行液压模型计算的示例。
48.表1至表3示出了可以采用的输入参数的示例。表1提供了流体属性参数的示例。在表1和其他地方中,rn是指每分钟n转(rpm)下的粘度计读数。例如,r100是100rpm下的粘度计读数。q是指流量。
49.表1
50.mw(pcf)145r60088r20041r10029r610r39塑性粘度35屈服点18q(gpm)300
51.表2提供了示例孔和套管尺寸。id是指内径。
52.表2
53.套管id孔id8.4358.375
54.表3提供了示例井底组件和钻柱属性以及长度。表3包括以英寸(in)和英尺(ft)表示的数据。od是指外径。接头缩写为jts。
55.表3
56.[0057][0058]
公式1

公式5和表4

表7示出了可以采用的示例计算程序(例如,使用api方法)。公式1和表4示出了计算流动行为和稠度指数的示例算法和结果。
[0059]
公式1
[0060]
(用于环流)
[0061]
其中na是流动行为指数。
[0062][0063]
其中k是稠度指数。
[0064]
表4
[0065]
[0066]
公式2和表5示出了计算环形速度、有效粘度和雷诺数的示例算法和结果。
[0067]
公式2
[0068][0069]
其中v
a
是环形速度(例如,英尺/秒),q是流量(例如,以gpm为单位),d2是od(例如,英寸),而d1是id(例如,英寸)。
[0070][0071]
其中μe是粘度,k是稠度指数,na是流动行为指数,d2是外径,而d1是内径。
[0072][0073]
其中nre是雷诺数,而ρ是密度。
[0074]
表5
[0075][0076]
公式3和表6示出了计算摩擦系数的示例算法和结果。
[0077]
公式3
[0078]
层流(nre<2100):
[0079][0080]
其中fa是摩擦系数。
[0081]
湍流:
[0082][0083]
[0084][0085]
表6
[0086][0087]
公式4示出了计算压力损失的示例算法。l是长度。
[0088]
公式4
[0089][0090]
公式5和表7示出了计算ecd的示例算法和结果。
[0091]
公式5
[0092][0093]
公式5以ppg提供ecd。要将磅每加仑(ppg)转换为磅每立方英尺(pcf),结果要乘以7.48,其中ppg和pcf是用于测量泥浆重量(例如,钻井流体的密度)的单位。
[0094]
表7
[0095]
fepl0.0173455.65070.01670911.2839380.0059220.159440.0059222.8009350.0060591.2620480.00592219.413750.0059910.1428750.0057770.2107650.0057770.2145380.0059220.1690340.0060590.2828050.0059221.386990.0060590.2820220.0059221.4221680.0059220.16675总计494.8488ecd151.3402
[0096]
平台可以接收从钻井环境中现场传感器捕获的实时数据。收集的数据可以从模拟格式转换为数字格式。在一些示例中,数据被进一步转换以符合特定格式,例如井场信息传输标准标记语言(witsml)格式。例如通过有线网络、无线网络或卫星通信将数据传送到平台。平台可以将数据存储在数据库中。数据捕获、转换和格式化的频率可以使得现场捕获数据和存储数据之间的延迟最小化。在一些示例中,延迟是3

5秒。平台可以使用一个或多个ai/ml模型分析存储的数据,并分析数据以生成可以用于控制钻井操作的信息(例如压力损失和ecd)。
[0097]
平台可以将原始数据和处理的数据中的一者或两者存储在数据存储库中。平台可以暴露各种显示数据的ui(例如在绘制的曲线中)。该信息使操作员能够监控当前的井行为并了解此类行为的历史发展。平台可以呈现与时间或深度相关的数据。
[0098]
附录提供了可以被执行以执行计算ecd的操作的代码的示例。
[0099]
图3示出了代码的示例输出,其中纵轴上绘制了时间,而横轴上绘制了ecd。图3的图示出了实时计算的示例ecd值。实时计算的值可以用于控制钻井操作。在一些示例中,计算结果被实时提供给钻井工程师或钻机工头。在一些实施方式中,平台提供了实时ecd绘图,使得图3的示例中的绘图随着更新的传感器数据被接收和被分析而动态改变以确定当前ecd值。该实时更新的图可以从ecd的角度为钻井工程师、操作人员或泥浆工程师提供有关井的状态的当前信息。
[0100]
图4描绘了根据本公开的实施方式的示例计算系统。系统400可以用于关于本公开中讨论的各种实施方式的描述的任何操作。例如,系统400可以至少部分地被包括在执行平台110的计算设备和本公开中描述的其他计算设备或系统中的一个或多个中。系统400可以包括一个或多个处理器410、存储器420、一个或多个存储设备430和可经由一个或多个i/o接口440控制的一个或多个输入/输出(i/o)设备450。各种组件410、420、430、440或450可以经由至少一个系统总线460互连。总线460可以实现系统400的各种模块和组件之间的数据传输。
[0101]
处理器410可以被配置为处理在系统400内执行的指令。处理器410可以包括单线程处理器、多线程处理器或两者。处理器410可以被配置为处理存储在存储器420中或存储设备430上的指令。例如,处理器410执行用于本公开中描述的各种软件模块的指令。处理器410可以包括基于硬件的处理器,每个处理器包括一个或多个核。处理器410可以包括通用处理器、专用处理器或两者。
[0102]
存储器420可以存储系统400内的信息。在一些实施方式中,存储器420包括一种或多种计算机可读介质。存储器420可以包括任意数量的易失性存储单元、任意数量的非易失性存储单元、或者易失性和非易失性存储单元两者。存储器420可包括只读存储器(rom)、随机存取存储器(ram)或两者。在一些示例中,存储器420被一个或多个执行软件模块用作主动或物理存储器。
[0103]
存储设备430可以被配置为为系统400提供(例如,持久的)大容量存储。在一些实施方式中,存储设备430包括一个或多个计算机可读介质。例如,存储设备430包括软盘设备、硬盘设备、光盘设备和磁带设备中的一个或多个。存储设备430可以包括rom、ram或两者。存储设备430可以包括内部硬盘驱动器、外部硬盘驱动器或可移动驱动器中的一个或多个。
[0104]
存储器420或存储设备430中的一者或两者可包括一个或多个计算机可读存储介质(crsm)。crsm可以包括电子存储介质、磁存储介质、光存储介质、磁光存储介质、量子存储介质和机械计算机存储介质中的一个或多个。crsm可以提供描述数据结构、过程、应用、程序、其他模块或其他用于系统400的操作的数据的计算机可读指令的存储。在一些实施方式中,crsm以非暂时性格式提供计算机可读指令或其他信息的存储。crsm可以并入系统400中或可以在系统400的外部。crsm可以包括rom、ram或两者。用于有形地体现计算机程序指令和数据的一个或多个crsm可以包括任何类型的非易失性存储器,该非易失性存储器包括但不限于半导体存储设备,例如eprom、eeprom和闪存设备;磁盘(比如内部硬盘和可移动盘);磁光盘;以及cd rom和dvd

rom盘。在一些示例中,处理器410和存储器420由一个或多个专用集成电路(asic)补充,或合并到一个或多个专用集成电路(asic)。
[0105]
系统400可以包括一个或多个i/o设备450。i/o设备450可以包括一个或多个输入设备,例如键盘、鼠标、笔、游戏控制器、触摸输入设备、音频输入设备(例如,麦克风)、手势输入设备、触觉输入设备、或图像或视频捕获设备(例如,相机)。在一些示例中,i/o设备450包括一个或多个输出设备,例如显示器、led、音频输出设备(例如,扬声器)、打印机、或触觉输出设备。i/o设备450可以物理地并入系统400的一个或多个计算设备中,或者可以在系统400的一个或多个计算设备的外部。
[0106]
系统400可以包括一个或多个i/o接口440以使系统400的组件或模块能够控制i/o设备450、与i/o设备450接口连接、或以其他方式与i/o设备450通信。i/o接口440可以使信息能够通过串行通信、并行通信或其他类型的通信传入或传出系统400,或在系统400的组件之间传送。例如,i/o接口440符合串行端口的rs

232标准版本,或符合并行端口的电气和电子工程师协会(ieee)1284标准版本。作为另一个示例,i/o接口440被配置为通过通用串行总线(usb)或以太网提供连接。在一些示例中,i/o接口440被配置为提供符合ieee 1394标准版本的串行连接。
[0107]
i/o接口440还可以包括实现系统400中的计算设备之间的通信或系统400与其他网络连接的计算系统之间的通信的一个或多个网络接口。网络接口可以包括一个或多个网络接口控制器(nic)或其他类型的收发器设备,这些设备被配置为使用任何网络协议通过一个或多个通信网络发送和接收通信。
[0108]
系统400的计算设备可以使用一个或多个通信网络彼此通信或与其他计算设备通信。这样的通信网络可以包括公共网络(例如,因特网)、私有网络(例如,机构或个人内联网)、或私有网络和公共网络的任何组合。通信网络可以包括任何类型的有线或无线网络,该有线或无线网络包括但不限于局域网(lan)、广域网(wan)、无线广域网(wwan)、无线局域网(wlan)和移动通信网络(用于例如,3g、4g、边缘)。在一些实施方式中,计算设备之间的通信被加密或以其他方式确保安全。例如,通信采用一个或多个公共或私有加密密钥、密码、数字证书或其他安全协议支持的凭证,例如任何版本的安全套接字层(ssl)或传输层安全(tls)协议。
[0109]
系统400可以包括任何数量的任何类型的计算设备。计算设备可以包括但不限于个人计算机、智能手机、平板计算机、可穿戴计算机、植入式计算机、移动游戏设备、电子书阅读器、汽车计算机、台式计算机、笔记本计算机、游戏机、家庭娱乐设备、网络计算机、服务器计算机、大型计算机、分布式计算设备(例如云计算设备)、微型计算机、片上系统(soc)和
系统级封装(sip)。尽管本公开中的一些示例将计算设备描述为物理设备,但实现方式不限于此。在一些示例中,计算设备包括在一个或多个物理计算设备上执行的虚拟计算环境、管理程序、仿真或虚拟机中的一个或多个。在一些示例中,两个或多个计算设备被组织为集群、云、群或多个设备的其他分组,它们协调操作以提供负载平衡、故障转移支持、并行处理能力、共享存储资源、共享网络能力或其他方面。
[0110]
本说明书中描述的实施方式和所有功能操作可以在数字电子电路中或在计算机软件、固件或硬件中实现,包括在本说明书中公开的结构及其结构等同物、或其一个或多个的组合中实现。实施方式可以被实现为一个或多个计算机程序产品,换言之,编码在计算机可读介质上的一个或多个计算机程序指令的模块,该计算机程序指令被数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储衬底、存储器设备、影响机器可读传播信号的物质组合物,或者它们中的一个或多个的组合。术语“计算系统”包括用于处理数据的所有装置、设备和机器,示例性的包括可编程处理器、计算机、或多个处理器或计算机。除了硬件以外,所述装置可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者上述各项中的一项或多项的组合的代码。传播的信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到接收器装置。
[0111]
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以以任何适当形式的包括编译或解释语言的编程语言编写,并且可以以任何适当形式被部署,该适当形式包括作为独立程序或作为模块、组件、子例程或其他用于计算环境的单元。计算机程序无需与文件系统中的文件相对应。程序可以被存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、被存储在专用于所讨论的程序的单个文件中、或者被存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一个计算机上或者在位于一个站点或分布在多个站点并且通过通信网络互联的多个计算机上执行。
[0112]
本说明书中描述的过程和逻辑流可以由一个或多个可编程处理器来执行,所述一个或多个可编程处理器执行一个或多个计算机程序以通过操作输入数据并且生成输出来执行功能。所述处理和逻辑流也可以由专用逻辑电路(例如fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且装置也可以实现为该专用逻辑电路。
[0113]
执行计算机程序的处理器包括例如通用和专用微处理器以及任何适当类型的数字计算机的任何一个或多个处理器。通常,处理器可以从只读存储器或随机存取存储器或者这二者接收指令和数据。计算机的元件可以包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还可以包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦接以便从所述一个或多个大容量存储设备接收数据或向其发送数据或两者。然而,计算机不需要具有这些设备。此外,可以将计算机嵌入到另一个设备中,例如移动电话、个人数字助理(pda)、移动音频播放器、全球定位系统(gps)接收器,仅举几例。用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,示例性地包括半导体存储器设备,例如可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)和闪存设备;磁盘(例如内部硬盘或可移动盘);磁光盘;以及光盘(cd)rom和数字多功能光盘(dvd)rom。处理器和存储器可以由专
用逻辑电路来补充,或者并入到专用逻辑电路中。
[0114]
为了提供与用户的交互,实施方式可以在计算机上实现,该计算机具有:显示设备,例如用于向用户显示信息的阴极射线管(crt)或液晶显示器(lcd)监视器;键盘;以及指点设备,例如可以用于向计算机提供输入的鼠标或轨迹球。其它类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何适当的形式的传感反馈,例如,视觉反馈、听觉反馈或触觉反馈;以及可以以任意适当的形式(包括声音、语音或触觉输入)来接收来自用户的输入。
[0115]
实施方式可以在包括后端组件(例如,作为数据服务器)的计算系统中实现。实施方式可以在包括中间件组件(例如,应用服务器)的计算系统中实现实现方式可以在包括前端组件(例如,具有图形用户接口或网络浏览器的客户端计算机)的计算系统中实现,用户可以通过这些前端组件与实施方式交互。实施方式可以包括后端组件、中间件组件和前端组件的任何适当组合。可以通过任意适当的形式或介质的数字数据通信(例如,通信网络)来互连系统的组件。通信网络的示例包括局域网(“lan”)和广域网(“wan”),例如互联网。
[0116]
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且相互具有客户端

服务器关系的计算机程序来产生。
[0117]
虽然本说明书包含许多细节,然而这些细节不应对要求保护的或本公开的范围构成限制,而是作为特定于特定实施例的特征的描述。在单个实施方式中,还可以组合实施本说明书中在分离的实施方式的上下文中描述的某些特征。相反的,单个实施方式的上下文描述的不同特征也可在多个实施方式中各自实现,或以任意子组合来实现。此外,尽管特征可以在本公开中描述为在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在某些示例中可以从组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。
[0118]
类似地,尽管在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以示出的特定顺序或以顺序次序执行来实现期望的结果。此外,附图中对特定操作的描述不应被理解为要求执行所有所示操作以达到期望的结果。在某些情境下,多任务处理和并行处理可能是有利的。在本公开中描述的实施方式中的各种系统组件的分离不应被理解为在所有实施方式中都要求如此分离。此外,应当理解,所述的程序组件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。
[0119]
已经描述了多个实施方式。然而,应理解,可以在不脱离本公开的精神和范围的情况下作出各种修改。例如,可以使用本公开中所示的各种形式的流程,重新排序、添加或删除步骤。因此,其他实施方式在所附权利要求的范围内。
[0120]
附录
[0121]
#获取孔尺寸,套管&bha
[0122]
hole_and_csg<

gethole_and_csg()
[0123]
bha<

getbha()
[0124]
#获取表面数据
[0125]
surfacelog<

get_surfacelog()
[0126]
#获取流变性数据
[0127]
rheologylog<

get_rheology()
[0128]
#使用时间索引将rheologylog与surfacelog结合
[0129]
rheologylog<

combine_logs(rheologylog,surfacelog)
[0130]
#
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
[0131]
combine_logs<

function(rheologylog,depthlog){
[0132]
#添加新列
[0133]
rheologylog[,c(

bitdepth_md',

bitdepth_tvd',

flwpmps')]<
‑0[0134]
for(i in 1:length(rheologylog)){
[0135]
deltatime<

abs(depthlog$rigtime

rheologylog$datetime[i])
[0136]
min_deltatimeindex<

which.min(deltatime)
[0137]
rheologylog[i,c(

bitdepth_md',

bitdepth_tvd',

flwpmps')]<

depthlog[min_deltatimeindex,c(

bitdepth',

bitdepth_tvd',

flwpmps')]
[0138]
}#结束循环rheologylog
[0139]
return(rheologylog)
[0140]
}#结束函数combine_logs
[0141]
#
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
[0142]
#计算ecd
[0143]
rheo1ogylog<

ca1c_ecd(bha,rheologylog,hole_and_csg)
[0144]
#
‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑
[0145]
calc_ecd<

function(bha,rheo1ogylog,hole_and_csg){
[0146]
#添加新列
[0147]
bha[,c(

cum_depth',

va',

mue',

re',

fa',

pl',

d2')]<
‑0[0148]
rheo1ogylog[,c(

total_annulus_pl',

ecd_in_pcf')]<
‑0[0149]
#复制bha第一行,绘制钻杆,在csg内部/外部
[0150]
inside_csg_dp<

bha[1,]
[0151]
inside_csg_dp$dbc_ordr_num<

inside_csg_dp$dbc_ordr_num 1
[0152]
bha<

inregrate(inside_csg_dp)
[0153]
for(i in seq(1:nrow(rheologylog))){
[0154]
#设置csg内dp的深度和长度
[0155]
bha$cum_depth[1]<

hole_and_csg$w_csg_bot_dpth
[0156]
bha$cmpn_lgth[1]<

bha$cum_depth[1]
[0157]
#将csg之后dp的深度和长度设置在bha之前
[0158]
bha$cum_depth[2]<

rheologylog$bitdepth_md[i]

sum(bha$cmpn_lgth[c(

1,

2)])#从总深度中减去bha长度
[0159]
bha$cmpn_lgth[2]<

bha$cum_depth[2]

hole_and_csg$w_csg_bot_dpth
[0160]
#计算累计深度
[0161]
bha$cum_depth[c(

1)]<

cumsum(bha$cmpn_lgth[c(

1)]) bha$cum_depth[1]
[0162]
#测量bha组件是否在csg内部,这可以识别d2值
[0163]
bha$d2<

ifelse(bha$cum_depth>hole_and_csg$w_csg_bot_dpth,hole_and_csg
$w_hol_dec_sz,hole_and_csg$w_csg_id_dec_sz)
[0164]
if rheologylog$rheology mud visc 3rpm sucti[i]==0skip this loop
[0165]
n<

0.657*log10(rheologylog$

rheology mud visc 100rpm sucti'[i]/rheologylog$'rheology mud visc 3rpm sucti'[i])
[0166]
k<

5.110*rheologylog$'rheology mud visc 100rpm sucti'[i]/(170.2^n)
[0167]
bha$va<

0.408*rheo1ogylog$flwpmps[i]/((bha$d2^2)

(bha$od_sz^2))
[0168]
bha$mue<

100*k*
[0169]
((144*bha$va/(bha$d2

bha$od_sz))^(n

1))*
[0170]
(
[0171]
((2*n) 1)/(3*n)
[0172]
)^n
[0173]
bha$re<

928*rheologylog$

mud density suction'[i]*bha$va*(bha$d2

bha$od_sz)/(bha$mue*7.48)
[0174]
a<

(log10(n) 3.93)/50;
[0175]
b<

(1.75

log10(n))/7;
[0176]
bha$fa<

ifelse(bha$re<2100,24/bha$re,a/(bha$re^b))
[0177]
bha$pl<

bha$fa*(bha$va^2)*rheologylog$

mud density suction'[i]*bha$cmpn_lgth/(25.8*7.48*(bha$d2

bha$od_sz))
[0178]
#设置na为0
[0179]
bha$pl[is.na(bha$pl)]<
‑0[0180]
rheologylog$total_annulus_pl[i]<

sum(bha$pl)
[0181]
rheologylog$ecd_in_pcf[i]<

round(rheologylog$'mud density suction'[i] 144*rheologylog$total_annulus_pl[i]/rheologylog$bitdepth_tvd[i],3)
[0182]
}#结束循环
[0183]
return(rheologylog)
[0184]
}#结束函数combine_log。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜