Data-driven methods to determine position of a moving object in a wellbore

WO2025188302A8PCT designated stage Publication Date: 2025-10-02HALLIBURTON ENERGY SERVICES INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/018683
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-06
Filing Date
2024-03-06
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Conventional methods for determining the position of downhole components like cementing plugs are inaccurate due to complex physics, parameter variations, and noisy data, and they fail to account for uncertainties, which are critical for operational decisions in cementing operations.

Method used

Utilizing a Bayesian Recurrent Neural Network (RNN) to predict the position of downhole components by capturing complex and highly nonlinear time-domain relationships without requiring an explicit system dynamics model, thereby accounting for noise and enhancing model performance through real-time data input and Bayesian layers.

Benefits of technology

Provides robust and accurate estimates of downhole component position, unaffected by pump efficiency or fluid properties, enabling operators to make informed decisions about displacement rates and pressure adjustments during cementing operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024018683_02102025_PF_FP_ABST
    Figure US2024018683_02102025_PF_FP_ABST
Patent Text Reader

Abstract

A computer-implemented method for determining the position of a downhole component with a neural network model is provided. The computer-implemented method can include acquiring real-time or characteristic data including values for one or more input variables associated with one or more time steps in a cementing operation, training the neural network to minimize a loss function and estimate a value for the position of the downhole component and an uncertainty at one or more time steps, estimating the value at the one or more time steps, estimating an uncertainty in the value at the one or more time steps, determining an operation position of the downhole component when an operation is to be performed, and determining the time step when the operation is to be performed.
Need to check novelty before this filing date? Find Prior Art

Description

DATA-DRIVEN METHODS TO DETERMINE POSITION OF A MOVING OBJECT IN A WELLBORECROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of priority of U.S. Application No. 18 / 597,299, filed on March 6, 2024, entitled, DATA-DRIVEN METHODS TO DETERMINE POSITION OF A MOVING OBJECT IN A WELLBORE, which is hereby expressly incorporated herein by reference in in its entirety and for all purposes.FIELD

[0002] The present disclosure relates generally to systems and methods for determining a position of a downhole component in a wellbore with a neural network model.BACKGROUND

[0003] In cementing operations, determining the position of a downhole component, such as a cementing plug, is important for determining when to perform certain operations. For example, at certain positions of the downhole component, an operator is required to slow the displacement of the downhole component in order to properly complete the cementing operation.BRIEF DESCRIPTION OF THE DRAWINGS

[0004] Implementations of the present technology will now be described, by way of example only, with reference to the attached figures, wherein:

[0005] FIG. 1A illustrates a diagram of an offshore drilling system in accordance with aspects of the present disclosure;

[0006] FIG. IB illustrates a diagram of an onshore drilling system in accordance with aspects of the present disclosure;

[0007] FIG. 2A illustrates surface equipment that can be used in placement of a cement composition into a wellbore annulus in accordance with aspects of the present disclosure;

[0008] FIG. 2B illustrates placement of a cement composition into a wellbore annulus in accordance with aspects of the present disclosure;

[0009] FIG. 3 illustrates a block diagram of a system for analysis and optimization of parameters for a cementing operation;

[0010] FIG. 4 illustrates an exemplary neural network model for optimizing and predicting parameters of a cementing operation along a casing and / or wellbore based on constraints applied to the model over different time steps of the operation.

[0011] FIG. 5 illustrates a schematic of a neural network model with real-time or characteristic inputs and Bayesian optimization for training and retraining the model;

[0012] FIG. 6A illustrates a Bayesian recurrent neural network with outputs for multiple time steps;

[0013] FIG. 6B illustrates a Bayesian recurrent neural network with outputs for a single determined time step;

[0014] FIG. 7 illustrates a training data generation model to generate training data for a Bayesian neural network;

[0015] FIG. 8 illustrates a method for generating training data for the Bayesian neural network using the training data generation model;

[0016] FIG. 9 illustrates a flowchart of a method for determining a position of a downhole component;

[0017] FIG. 10 illustrates an exemplary neural network; and

[0018] FIG. 11 is a diagram illustrating an example of a system for implementing certain aspects of the present disclosure.DETAILED DESCRIPTION

[0019] Various embodiments of the disclosure are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations can be used without parting from the spirit and scope of the disclosure.

[0020] Additional features and advantages of the disclosure will be set forth in the description which follows, and in part will be obvious from the description, or can be learned by practice of the principles disclosed herein. The features and advantages of the disclosure can be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the disclosure will become more fully apparentfrom the following description and appended claims, or can be learned by the practice of the principles set forth herein.

[0021] It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures, and components have not been described in detail so as not to obscure the related relevant feature being described. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features. The description is not to be considered as limiting the scope of the embodiments described herein.

[0022] Disclosed herein are systems and methods for determining a position of one or more downhole components in a wellbore. The one or more downhole components can be provided a pressure, thereby translating the one or more downhole components further downhole. The position of a moving downhole component can be affected by multiple parameters such as the friction coefficient of the downhole component, rubber stiffness of the downhole component (e.g., cement plug), external pressure on the downhole component, and other parameters. The systems and methods herein utilize a Bayesian recurrent neural network to determine the position of the one or more downhole components at any given time. By determining the position of the one or more downhole components, an operator can be informed when to perform certain operations (e.g., increasing or decreasing a displacement rate of the one or more downhole components, etc.).

[0023] Determining the position of a downhole component (e.g., cementing plug, wiper cups on cementing plugs, etc.) from pressure data can be difficult due to the complex physics of the position, parameter variations, and inherent noises in the pressure data and / or other measured signals. For example, conventional methods may not be accurate because the predictions are greatly affected by the pump efficiency, tubular volumes, fluid rheology, and noisy data. Typical control theory determinations of the position of a downhole component have many limitations such as using Gaussian assumption for the noise in the dynamic system, the need for an explicit model of the system dynamics, being less effective in high-dimensional systems, being lesseffective in highly non-linear systems, being ineffective at probabilistic assessments, and having no uncertainty quantification which is critical for operational decisions.

[0024] The systems and methods for determining the position of one or more downhole components described herein provide many benefits. The systems and methods can include a Bayesian RNN. In some examples, the Bayesian RNN can include one or more neural networks. For example, the Bayesian recurrent neural network (RNN) can capture complex and highly nonlinear time-domain relationships in data without the need for an explicit model of the system dynamics, thereby providing a highly effective prediction of the position of the downhole component at any time. The Bayesian layers of the RNN can capture both model related and data- related uncertainties, such that the noise in the measured pressure will be accounted for without the need for rigorous filtering techniques (e.g., Kalman Filter). The ensemble characteristics of the Bayesian RNN improves the robustness of the model predictions which is critical in operational decisions when running the downhole component (e.g., cement plug) down the wellbore. The recurrent nature of the RNN can effectively predict sequential data like the time history of the downhole component position (e.g., cement plug position) given the pressure data. The Bayesian RNN can be fed with additional training data as more data is measured in the field, thereby enhancing model performance and reducing the likelihood of overfitting (large variance).

[0025] The systems and methods provide robust estimates of downhole component position which is not affected by pump efficiency, tubular volume, or fluid properties. The systems and methods can verify where the displaced fluids are in the wellbore. Operators can prepare for subsequent job operation occurrences. For example, the operator will have more accurate and effective information (e.g., downhole component position), thereby allowing the operator to slow down the displacement rate for the downhole component (e.g., cement plug) landing. Further, the downhole component position can allow an operator to know when to expect pressure increases. The systems and methods can benefit from real time online training where more data is measured and inputted to the model for further training, thereby improving model accuracy over time.

[0026] FIG. 1 A is a diagram showing an example of an offshore drilling system for a subsea drilling operation. In particular, FIG. 1A shows a bottomhole assembly 100 for a subsea drilling operation, where the bottomhole assembly 100 illustratively comprises a drill bit 102 on the distal end of the drill string 104. Various logging-while-drilling (LWD) and measuring-while-drilling (MWD) tools can also be coupled within the bottomhole assembly 100. The distinction betweenLWD and MWD is sometimes blurred in the industry, but for purposes of this specification and claims LWD tools measure properties of the surrounding formation (e.g., resistivity, porosity, permeability), and MWD tools measure properties associated with the borehole (e.g., inclination, and direction). In the example system, a logging tool 106 can be coupled just above the drill bit, where the logging tool can read data associated with the borehole 108 (e.g., MWD tool), or the logging tool 106 can read data associated with the surrounding formation (e.g., a LWD tool). In some cases, the bottomhole assembly 100 can comprise a mud motor 112. The mud motor 112 can derive energy from drilling fluid flowing within the drill string 104 and, from the energy extracted, the mud motor 112 can rotate the drill bit 102 (and if present the logging tool 106) separate and apart from rotation imparted to the drill string by surface equipment. Additional logging tools can reside above the mud motor 112 in the drill string, such as illustrative logging tool 114.

[0027] The bottomhole assembly 100 is lowered from a drilling platform 116 by way of the drill string 104. The drill string 104 extends through a riser 118 and a well head 120. Drilling equipment supported within and around derrick 123 (illustrative drilling equipment discussed in greater detail with respect to FIG. IB) can rotate the drill string 104, and the rotational motion of the drill string 104 and / or the rotational motion created by the mud motor 112 causes the bit 102 to form the borehole 108 through the formation material 122. The volume defined between the drill string 104 and the borehole 108 is referred to as the annulus 125. The borehole 108 penetrates subterranean zones or reservoirs, such as reservoir 110, believed to contain hydrocarbons in a commercially viable quantity.

[0028] The bottomhole assembly 100 can further comprise a communication subsystem including, for example, a telemetry module 124. Telemetry module 124 can communicatively couple to the various logging tools 106 and 114 and receive logging data measured and / or recorded by the logging tools 106 and 114. The telemetry module 124 can communicate logging data to the surface using any suitable communication channel (e.g., pressure pulses within the drilling fluid flowing in the drill string 104, acoustic telemetry through the pipes of the drill string 104, electromagnetic telemetry, optical fibers or wires embedded in the drill string 104, or combinations). Likewise, the telemetry module 124 can receive information from the surface over one or more of the communication channels.

[0029] FIG. IB is a diagram showing an example of an onshore drilling system for performing a land-based drilling operation. In particular, FIG. IB shows a drilling platform 200equipped with a derrick 202 that supports a hoist 204. The hoist 204 suspends a top drive 208, which rotates and lowers the drill string 104 through the wellhead 210. Drilling fluid is pumped by mud pump 214 through flow line 216, stand pipe 218, goose neck 220, top drive 208, and down through the drill string 104 at high pressures and volumes to emerge through nozzles or jets in the drill bit 102. The drilling fluid then travels back up the wellbore via the annulus 125, through a blowout preventer (not specifically shown), and into a mud pit 224 on the surface. At the surface of the wellsite, the drilling fluid is cleaned and then circulated again by mud pump 214. The drilling fluid is used to cool the drill bit 102, to carry cuttings from the base of the borehole to the surface, and to balance the hydrostatic pressure in the rock formations.

[0030] In the illustrative case of the telemetry mode 124 encoding data in pressure pulses that propagate to the surface, one or more transducers, e.g., one or more of transducers 232, 234, and 236, convert the pressure signal into electrical signals for a signal digitizer 238 (e.g., an analog- to-digital converter). While only transducers 232, 234, and 236 are illustrated, any number of transducers can be used as desired for a particular implementation. The digitizer 238 supplies a digital form of the pressure signals to a surface computer system 240 or some other form of a data processing device located at the surface of the wellsite. The surface computer system 240 operates in accordance with computer-executable instructions (which can be stored on a computer-readable storage medium) to monitor and control the drilling operation, as will be described in further detail below. Such instructions can be used, for example, to configure the surface computer system 240 to process and decode the downhole signals received from the telemetry mode 124 via digitizer 238.

[0031] Real-time data collected at the wellsite, including the downhole logging data from the telemetry module 124, can be displayed on a display device 241 coupled to the computer system 240. The representation of the wellsite data can be displayed using any of various display techniques, as will be described in further detail below. In some implementations, the surface computer system 240 can generate a two-dimensional (2D) or three-dimensional (3D) graphical representation of the wellsite data for display on the display device 241. The graphical representation of the wellsite data can be displayed with a representation of the planned well path for enabling a user of the computer system 240 to visually monitor or track different stages of the drilling operation along the planned path of the well.

[0032] The representations of the wellsite data and planned well path can be displayed within a graphical user interface (GUI) of a geosteering or well engineering application 280 executable at the surface computer system 240. Well engineering application 280 can provide, for example, a set of data analysis and visualization tools for well planning and control. Such tools can allow the user to monitor different stages of the drilling operation and adjust the planned well path as needed, e.g., by manually adjusting one or more controllable parameters via the GUI of well engineering application 280 to control the direction and / or orientation of drill bit 102 and well path. Alternatively, the monitoring and control of the drilling operation can be performed automatically, without any user intervention, by well engineering application 280.

[0033] For example, as each stage of the drilling operation is performed and a corresponding portion of the well is drilled along its planned path, well engineering application 280 can receive indications of downhole operating conditions and values of controllable parameters used to control the drilling of the well or cementing operations.

[0034] Some or all of the calculations and functions associated with the manual or automated monitoring and control of the drilling and / or cementing operation at the wellsite can be performed by a remote computer system 242 located away from the wellsite, e.g., at an operations center of an oilfield services provider. In some implementations, the functions performed by the remote computer system 242 can be based on wellsite data received from the wellsite computer system 240 via a communication network. Such a network can be, for example, a local-area, mediumarea, or wide-area network, e.g., the Internet. As illustrated in the example of FIG. IB, the communication between computer system 240 and computer system 242 can be over a satellite 244 link. However, it should be appreciated that any suitable form of communication can be used as desired for a particular implementation.

[0035] While not shown in FIG. 1 A, the remote computer system 242 can execute a similar application as the well engineering application 280 of system 240 for implementing all or a portion of the above-described wellsite monitoring and control functionality. For example, such functionality can be implemented using only the well engineering application 280 executable at system 240 or using only the well engineering application executable at the remote computer system 242 or using a combination of the well engineering applications executable at the respective computer systems 240 and 242 such that all or portion of the wellsite monitoring and control functionality can be spread amongst the available computer systems.

[0036] The wellsite monitoring and control functionality provided by computer system 242 (and computer system 240 or well engineering application 280 thereof) can include real-time analysis and optimization of parameters for different stages of the drilling and / or cementing operation along the planned well path. While the examples of FIGS. 1A-1B are described in the context of a single well and wellsite, it should be appreciated that the real-time analysis and optimization techniques disclosed herein can be applied to multiple wells at various sites throughout a hydrocarbon producing field. For example, the remote computer system 242 of FIG. IB, as described above, can be communicatively coupled via a communication network to corresponding wellsite computer systems similar to the computer system 240 of FIG. IB, as described above. The remote computer system 242 in this example can be used to continuously monitor and control drilling operations at the various wellsites by sending and receiving control signals and wellsite data to and from the respective wellsite computer systems via the network.

[0037] While FIGS. 1A-1B generally describe drilling operations, similar computing devices and systems can be used in cementing operations. Similarly, real-time data from the cementing operations described herein can be collected and controlled as described with respect to the drilling operations of FIGS. 1A-1B.

[0038] An example technique and system for placing a cement composition into a subterranean formation will now be described with reference to FIGS. 2A and 2B. FIG. 2A illustrates surface equipment 10 that can be used in placement of a cement composition. It should be noted that while FIG. 2A generally depicts a land-based operation, those skilled in the art will readily recognize that the principles described herein are equally applicable to subsea operations that employ floating or sea-based platforms and rigs, without departing from the scope of the disclosure. As illustrated by FIG. 2A, the surface equipment 10 can include a cementing unit 12, which can include one or more cement trucks. The cementing unit 12 can include mixing equipment 4 and pumping equipment 6 as will be apparent to those of ordinary skill in the art. The cementing unit 12 can pump a cement composition 14 through a feed pipe 16 and to a cementing head 18 which conveys the cement composition 14 downhole.

[0039] Turning now to FIG. 2B, the cement composition 14 can be placed into a subterranean formation 20. As illustrated, a wellbore 22 can be drilled into the subterranean formation 20. While wellbore 22 is shown extending generally vertically into the subterranean formation 20, the principles described herein are also applicable to wellbores that extend at anangle through the subterranean formation 20, such as horizontal and slanted wellbores. As illustrated, the wellbore 22 comprises walls 24. In the illustrated examples, a surface casing 26 has been inserted into the wellbore 22. The surface casing 26 can be cemented to the walls 24 of the wellbore 22 by cement sheath 28. In the illustrated example, one or more additional conduits (e.g., intermediate casing, production casing, liners, etc.) shown here as casing 30 can also be disposed in the wellbore 22. As illustrated, there is a wellbore annulus 32 formed between the casing 30 and the walls 24 of the wellbore 22 and / or the surface casing 26. One or more centralizers 34 can be attached to the casing 30, for example, to centralize the casing 30 in the wellbore 22 prior to and during the cementing operation.

[0040] With continued reference to FIG. 2B, the cement composition 14 can be pumped down the interior of the casing 30. The cement composition 14 can be allowed to flow down the interior of the casing 30 through the casing shoe 42 at the bottom of the casing 30 and up around the casing 30 into the wellbore annulus 32. The cement composition 14 can be allowed to set in the wellbore annulus 32, for example, to form a cement sheath that supports and positions the casing 30 in the wellbore 22. While not illustrated, other techniques can also be utilized for introduction of the cement composition 14. By way of example, reverse circulation techniques can be used that include introducing the cement composition 14 into the subterranean formation 20 by way of the wellbore annulus 32 instead of through the casing 30.

[0041] As it is introduced, the cement composition 14 can displace other fluids 36, such as drilling fluids and / or spacer fluids, that can be present in the interior of the casing 30 and / or the wellbore annulus 32. At least a portion of the displaced fluids 36 can exit the wellbore annulus 32 via a flow line 38 and be deposited, for example, in one or more retention pits 40 (e.g., a mud pit), as shown on FIG. 2A.

[0042] Referring again to FIG. 2B, a bottom plug 44 can be introduced into the casing 30 ahead of the cement composition 14, for example, to separate the cement composition 14 from the fluids 36 that can be inside the casing 30 prior to cementing. After the bottom plug 44 reaches the landing collar 46, a diaphragm or other suitable device ruptures to allow the cement composition 14 through the bottom plug 44. In FIG. 2B, the bottom plug 44 is shown on the landing collar 46. In the illustrated example, a top plug 48 can be introduced into the wellbore 22 behind the cement composition 14. The top plug 48 can separate the cement composition 14 from a displacement fluid 53 and also push the cement composition 14 through the bottom plug 44.

[0043] The systems and methods described herein can be used to determine when to slow or stop the downhole displacement of the downhole component (e.g., cement plug) during the cementing and / or drilling operations described by FIGS. 1A-2B. The systems and methods described herein can further be operable to determine when to increase pressure on the downhole component.

[0044] FIG. 3 is a block diagram of a system 300 for real-time analysis and optimization of parameters for different time steps of a cementing operation. The cementing operation can be, for example, a subsea cementing operation for cementing a wellbore along a planned path through a subsurface formation at an offshore wellsite, as described above. Alternatively, the cementing operation can be a land-based cementing operation for cementing the wellbore along a planned path through a subsurface formation at an onshore wellsite, as described above. As shown in FIG. 3, system 300 includes a well planner 310, a memory 320, a graphical user interface (GUI) 330, and a network interface 340. In one or more examples, the well planner 310 includes a data manager 312, a cementing optimizer 314, and a well controller 316. Although not shown in FIG. 3, it should be appreciated that system 300 can include additional components and subcomponents, which can be used to provide the real-time analysis and optimization functionality described herein.

[0045] The network interface 340 of the system 300 can comprise logic encoded in software, hardware, or combination thereof for communicating with a network 304. For example, the network interface 340 can include software supporting one or more communication protocols such that hardware associated with the network interface 340 is operable to communicate signals to other computing systems and devices via the network 304. The network 304 can be used, for example, to facilitate wireless or wireline communications between the system 300 and the other computing systems and devices. In some implementations, the system 300 and the other systems and devices can function as separate components of a distributed computing environment in which the components are communicatively coupled via the network 304. While not shown in FIG. 3, it should be appreciated that such other systems and devices can include other local or remote computers including, for example and without limitation, one or more client systems, servers, or other devices communicatively coupled via the network 304.

[0046] The network 304 can be one or any combination of networks including, but not limited to, a local-area, medium-area, or wide-area network, e g., the Internet. Such network(s) canbe all or a portion of an enterprise or secured network. In some instances, a portion of the network 304 can be a virtual private network (VPN) between, for example, system 300 and other computers or other electronic devices. Further, all or a portion of the network 304 can include either a wireline or wireless link. Examples of such wireless links include, but are not limited to, 802.11a / b / g / n, 802.20, WiMax, and / or any other appropriate wireless link. The network 304 can encompass any number of internal (private) or external (public) networks, sub-networks, or combination thereof to facilitate communications between various computing components including the system 300.

[0047] In one or more examples, the system 300 can use the network 304 to communicate with a database 350. The database 350 can be used to store data accessible to the system 300 for performing the real-time modeling and control described herein. The database 350 can be associated with or located at the operations center of an oilfield services provider, as described above with respect to computer system 242 of FIG. IB. The stored data can include, for example, historical wellsite data and parameters associated with cementing operations at various wellsites, e.g., other wellsites within the same or similar properties. Additionally, or alternatively, the data can include data collected in real-time from the wellsite during the different stages of the cementing operation. Such real-time data can be retrieved from the database 350 via the network 304 and stored within memory 320 as wellsite data 322, e.g., to be retrieved and applied as input data for performing the real-time modeling and optimization techniques disclosed herein. In some implementations, the data can be streamed from the database 350 as a real-time data feed to a designated buffer or storage area corresponding to wellsite data 322 within memory 320.

[0048] In one or more examples, the wellsite data 322 can include data transmitted via network 304 directly from a surface control system (e.g., surface computer system 240 of FIG. IB, as described above) using an industrial format such as the wellsite information transfer standard markup language (WITSML). WITSML is known to facilitate the free flow of technical data across networks between oil companies, service companies, drilling contractors, application vendors and regulatory agencies for the drilling, completions, and interventions functions of the upstream oil and natural gas industry. However, it should be appreciated that the wellsite data 322 can be transmitted and stored using any type of data format, standard, or structure as desired for a particular implementation.

[0049] The stored wellsite data 322 can include current values of controllable parameters, e g., cement flow rate, pressure provided to the downhole component, pump parameters, and othercontrollable parameters. The controllable cement flow rate can be operable to control, at least partially, the external pressure applied to the downhole component. It should be appreciated that the wellsite data 322 can also include any of various measurements or other data collected at the wellsite. Examples of such other data include, but are not limited to, depth (vertical depth within the formation and / or measured depth of the wellbore, whether vertical or deviated), downhole pressure, temperature, and other parameters characteristic of a cementing operation.

[0050] In one or more examples, the data manager 312 of well planner 310 can preprocess the stored wellsite data 322 or real-time data feed received via the network 304 from the database 350 or a wellsite computer system. The preprocessing can include, for example, filtering the data into a predetermined sampling rate. In some implementations, the data manager 312 can include one or more data filters for reducing or canceling noise from the real-time data. Examples of such filters include, but are not limited to, a convolution neural network, a band-pass filter, a Kalman filter, a high pass filter, a low pass filter, an average filter, a noise reduction filter, a delay filter, a summation filter, a format conversion filter, and any other type of digital or analog data filters. The preprocessed data can then be classified for use in prediction and optimization of one or more operating variables and controllable parameters for different stages of the cementing operation, as will be described in further detail below. In other examples, the data may not need to be preprocessed due to the properties of the real-time models described herein.

[0051] In one or more examples, at least one operating variable of interest can be selected by a user 302 via the GUI 330. The operating variable selected by user 302 can be, for example, downhole component position. The operating variable(s) selected by user 302 in this example can be used to monitor the downhole component position and / or positional uncertainty and enable the user to determine timing for a subsequent operational action in the cementing operation. In one or more examples, a visualization of estimated values of the operating variable and / or controllable parameters affecting the operating variable can be presented to the user 302 via a visualization window or content viewing area of the GUI 330. The GUI 330 can be displayed using any type of display device (not shown) coupled to system 300. Such a display device can be, for example and without limitation, a cathode ray tubes (CRT), liquid crystal displays (LCD), or light emitting diode (LED) monitor. The user 302 can interact with the GUI 330 using an input device (not shown) coupled to the system 300. The user input device can be, for example and without limitation, a mouse, a QWERTY or T9 keyboard, a touch-screen, a stylus or other pointer device,a graphics tablet, or a microphone. In some implementations, the user 302 can use the information displayed via the GUI 330 to assess cementing performance at each stage of the operation and make any manual adjustments to the cementing operation, e.g., by entering appropriate commands into a cementing operation control module used to control the cementing operations at the wellsite. However, it should be appreciated that such adjustments can be made automatically by an automated control system for the wellsite.

[0052] During the cementing operation, a first cementing plug (i.e., bottom cementing plug) is used to separate the cement composition from fluids that can be inside the casing prior to cementing. The major physical and engineering aspects of the cementing process can be very complex and any wellsite data collected as the cement composition is introduced into the casing can have a large amount of noise. As a result, the response surface for operating variables, such as downhole component position, tends to be non-linear and discontinuous.

[0053] In one or more examples, cementing optimizer 314 can use a neural network model and optionally stochastic optimization to estimate or predict optimal values for both the selected operating variable(s) and controllable parameters of the cementing operation that affect the operating variable(s) during the operation. Such a stochastic-based approach can provide a level of accuracy and speed needed to perform real-time applications, e.g., real-time modeling, in relatively short period of time for optimizing the cementing operation.

[0054] FIG. 4 illustrates a neural network for determining downhole component position at various stages 402a, 402b, 402c, (i.e., time steps) of a cementing operation along a casing 402. Each stage can correspond to a position of the downhole component along a casing. While three stages are shown in FIG. 4, it should be appreciated that the cementing operation can include any number of stages.

[0055] While the cementing operation is performed along casing 402, a cementing operator or automated control system at the wellsite can adjust the values of one or more controllable parameters, e.g., cement flow rate 422, pump parameters, or other controllable parameters 426, to account for the current position of the downhole component. The value of the operating variable can also change in response to the changes made to the controllable parameters. Accordingly, the operating variable in this context can be referred to as a response variable and a value of the operating variable as a response value. In one or more examples, real-time data including current values of the controllable parameters can be collected at the wellsite during each of stages 402a,402b, and 402c. The real-time data can be multidimensional temporal data, e.g., cementing data samples captured with pressure over a time series, which can correspond to the cementing rate. Neural network model 400 can be used to couple the pressure data with nonlinear constraints to resolve the time and spatial variation of the response variable during the cementing operation.

[0056] In one or more examples, the values of the controllable parameters associated with a current stage (e.g., 402a) of the cementing operation can be applied as input variables for training neural network model 400 to minimize a loss function and estimate a value for the operating variable to be optimized for a subsequent stage (e.g., 402 b and / or 402 c) of the operation. In some examples, the neural network model 400 can also output an uncertainty for the response value.

[0057] To account for any high levels of nonlinearity and / or noise in the real-time or cementing rate time series data, the neural network model 400 can be subject to a set of constraints 410. In some examples, the constraints can include a friction coefficient 412 of the downhole component, a rubber stiffness 414 of the downhole component, or other material parameters 416 which can affect the downhole component position at each stage.

[0058] Neural network model 400 with the constraints applied, as described above, can then be used to estimate or predict a value (e.g., estimated downhole position) for the operating variable to be optimized for a subsequent stage of the cementing operation along the casing 402. In one or more examples, stochastic optimization, e.g., Bayesian optimization, can be applied to the response value to produce an optimized response value.

[0059] The optimized response value produced by neural network model 400 can then be used to predict or estimate optimal values of controllable parameters 420. Controllable parameters 420 in this example can include, but are not limited to, cement flow rate, pump parameters (e.g., pump speed, etc.), or other controllable parameters. The controllable parameters can be controlled by an operator based on the operating variable (i.e., estimated position of the downhole component). For example, when the downhole component is nearing landing, the operator can reduce the flow rate, and thereby the pressure, on the downhole component, thereby slowing the displacement rate of the downhole component.

[0060] The modeling and simulation operations described herein for optimizing the response value and controllable parameter values using neural network model 400 can be performed by cementing optimizer 314, based on the real-time data acquired and preprocessed by data manager312. The response value and / or values of the controllable parameters can be stored as output data 324 within the memory 320.

[0061] In one or more examples, cementing optimizer 314 can provide the estimated values of the controllable parameters to well controller 316 of the well planner 310 at one or more stages of the cementing operation at the wellsite. The well controller 316 can provide the parameter values as control inputs to cementing equipment, which can be used to control the parameters of the cementing equipment. For example, the well controller 316 can be communicatively coupled to the cementing equipment via a wireless or wired communication interface (not shown) of the system 300. Such a communication interface can be used by the well controller 316 to transmit the controllable parameter values as control signals to the cementing equipment. The control signals can allow the well controller 316 to control, for example, the flow rate of the cement composition into the casing, thereby allowing control over the displacement rate of the downhole component.

[0062] As the operation is performed along the casing, additional wellsite data can be collected by downhole sensors, measurement devices at the surface of the wellbore or a combination of both. Such data can include, for example and without limitation, current values of controllable parameters, e.g., cement flow rate, etc. However, it should be appreciated that the collected data can also include formation property measurements and other data related to the downhole operation in progress. As described above, such wellsite data can be obtained either directly or indirectly by system 300 via the network 304. In one or more examples, the cementing optimizer 314 can use such additional data to automatically update and further optimize the response value of the selected operating variable(s) (e.g., downhole component position) for subsequent stages of the operation along the casing.

[0063] In one or more examples, the neural network model 400 used by cementing optimizer 314 to estimate the response value of the operating variable and values of the controllable parameters, as described above, can be a Bayesian Recurrent Neural Network (Bayesian RNN). In some examples, the neural network model can be a recurrent neural network with Bayesian layers or similar neural networks (e.g., deterministic neural networks). Deterministic neural networks can boost low-latency states of estimation of the downhole component position for faster predictions. However, the quantification of the uncertainty may not be as robust as that offered by the Bayesian RNN described herein. Techniques such as bootstrapping and dropout can be used to train multipledeterministic neural networks and use the ensemble of the their predictions to estimate the uncertainty.

[0064] As shown in FIG. 5, Bayesian optimization (BO) can be applied iteratively to retrain a neural network model as necessary to meet a predetermined criterion. Such a criterion can be, for example, an error tolerance threshold and / or a loss function threshold, and the neural network model can be retrained each time it is determined that a difference between the estimated response value and an actual value of the operating variable exceeds the threshold. The actual value of the operating variable can be based on additional real-time data acquired during a subsequent stage of the cementing operation or simulated data. In one or more examples, the neural network model can be retrained by applying the Bayesian optimization to one or more hyperparameters of the model. Examples of such hyperparameters include, but are not limited to, the number of layers of the neural network, the number of nodes in each layer, the learning rate of decay and any other parameter that relates to the behavior and / or capacity of the model.

[0065] FIG. 6A illustrates a many-to-many architecture for a Bayesian RNN 600 to estimate downhole component position and uncertainty with outputs at every time step. As described further herein, the Bayesian RNN 600 can be trained using training data generated by the training data generation method described further herein or measured data. The Bayesian RNN 600 can include multiple Bayesian layers 602, 604, 606, 608. Each Bayesian layer 602, 604, 606, 608 can be configured to output an estimated (mean) position (Xk) of the downhole component and an uncertainty (ok) (i.e., standard deviation) in the position of the downhole component, where k indicates the time step for the Bayesian layer. The input at each Bayesian layer 602, 604, 606, 608 can be the pressure (Pk) at the time step. The hidden states akcan capture the time dependency of the position of the downhole component.

[0066] FIG. 6B illustrates a many-to-one architecture for a Bayesian RNN 610 to estimate downhole component position and uncertainty only at a final or targeted time step. The Bayesian RNN 610 can still include Bayesian layers 612, 614, 616, 618 for each time step, however, the Bayesian layers 612, 614, 616 do not have outputs. Rather, only the Bayesian layer 618 has an output. The Bayesian layer 618 can output the estimated (mean) position (Xk) of the downhole component and an uncertainty(i.e., standard deviation) in the position of the downhole component at the final time step (k). The many-to-one Bayesian RNN 610 can be useful when only a final or targeted downhole component position and uncertainty is necessary.

[0067] The Bayesian RNNs 600, 610 can have a custom loss function defined to account for both accuracy and uncertainty of the predicted downhole component position. The accuracy of the predicted downhole component position can be determined based on the mean predicted downhole component position compared to the ground truth obtained by the physics-based simulation used during the training process. The uncertainty can be the standard deviation in the position of the downhole component or other measures of uncertainty.

[0068] The neural network model 400 can be trained using simulation data as well as recorded operational data. FIG. 7 illustrates a training data generation model 700. The training data generation model 700 can include a finite element analysis simulator 702 and a physics based Monte Carlo simulation 704. The finite element analysis simulator 702 is a physics-based model. The training data generation model 700 can generate data for use in training the neural network model. A major limitation of current systems and methods for predicting and determining downhole component position is a lack of training data available to train neural networks.

[0069] The finite element analysis simulator 702 can be used to develop one or more sets of training data. The finite element analysis simulator 702 can be operable to determine the effects (e.g., displacement rate) on a downhole component based on various physical parameters. Various parameters (i.e., constraints) can be input into the finite element analysis simulator 702. For example, parameters such as friction coefficient of the downhole component, rubber stiffness of the downhole component, and the pressure exerted on the downhole component can be used by the finite element analysis simulator 702 to generate training data. In some examples, the pressure can have variations and uncertainties. The finite element analysis simulator 702 can then output the position of the downhole component as a function of time. The various parameters acting on the downhole component can influence the displacement rate of the downhole component given the pressure exerted on the downhole component.

[0070] The parameters affecting the displacement rate of the downhole component (e.g., friction coefficient of the downhole component, rubber stiffness of the downhole component, pressure profile, etc.) can be varied based on a probability distribution, such as a Gaussian distribution or other relevant distributions. A random sampling technique can then be used to determine various simulation cases for the physics-based simulation such as finite element analysis simulator 702 using the varied parameters. The finite element analysis simulator 702 can similarly output position of the downhole component as a function of time for the varied parameters Thedata generated utilizing the varied additional parameters affecting position can be referred to as a first training data set.

[0071] The Monte Carlo simulation 704 includes combining (e.g., ensembling) all of the outputs of the finite element analysis simulator 702 in the first training data set to determine uncertainty (e.g., standard deviation) and a mean value of the position of the downhole component. The output of the Monte Carlo simulation 704 is ensemble probability 706 of the downhole position of the downhole component as a function of time. The ensemble probability 706 takes into account all of the variations and uncertainties in the downhole component parameters (e.g., friction coefficient, rubber stiffness, pressure variations, etc.). The ensemble probability is then used to train the Bayesian neural network. The input for training the Bayesian neural network is the pressure as a function of time and the output is the mean (i.e., predicted) downhole component position as a function of time and the uncertainty (e.g., standard deviation) in the plug position at each time step.

[0072] FIG. 8 illustrates a training data generation method 800 using the training data generation model 700. The training data generation method 800 can be a Monte Carlo simulation utilizing a physics-based model (e.g., finite element analysis simulator 702). At block 802, the training data generation method 800 can include providing a physics-based model (e.g., finite element analysis simulator 702) of the one or more downhole components based on one or more parameters (e.g., rubber stiffness, friction coefficient, pressure variations, etc.). At block 804, the training data generation method 800 can include applying a probability distribution (e.g., Gaussian distribution or other relevant distributions) to each of the one or more parameters for a first training data set.

[0073] At block 806, the training data generation method 800 can include applying a random sampling technique to the probability distribution for each parameter for the first training data set. The first training data set can include all of the samples taken by the random sampling technique. At block 808, the training data generation method 800 can include simulating component position of the one or more downhole components as a function of time for each sample in the first training data set. The component position of the one or more downhole components at each time step will depend on the random samples of the probability distribution for each sample. At block 810, the training data generation method 800 can include ensembling the component position of the one or more downhole components as a function of time for each sample in the first training data set. Atblock 812, the training data generation method 800 can include outputting a mean position at each time step and a standard deviation as a measure of uncertainty of the position at each time step for the first training data set. The training data generation method 800 can be repeated for at least a second training data set. In some examples, the training data generation method 800 can be repeated hundreds, thousands, or more times for additional training data sets. Each additional training data set can be applied different parameters, including pressure profiles, friction coefficients, rubber stiffnesses, and other parameters.

[0074] The ensembled probabilities can be preprocessed prior to being used to train the neural network model. For example, preprocessing can include scaling and / or normalizing the training data. Further, preprocessing can include removing any numerical error.

[0075] FIG. 9 illustrates a flowchart for a method 900 for determining a position of one or more downhole components in a wellbore. At block 902, the method 900 can include acquiring data including values for one or more input variables associated with one or more time steps in a cementing operation. The data can be real time data or characteristic data. The one or more inputs for the real-time data can be pressure exerted on the one or more downhole components. For example, the pressure on the one or more downhole components can be measured using downhole pressure sensors or other sensors. The characteristic data (e.g., unseen test data set) can be data generated using the training data generation method 900. The one or more inputs for the characteristic data can be simulated pressures in a simulated environment that is similar to the environment of the cementing operation being performed.

[0076] In an example, the one or more time steps can have a time interval between each time step of less than about 0.1 second, about 0.1 second to about 1 second, about 1 second to about 2 seconds, about 2 seconds to about 3 seconds, about 3 seconds to about 4 seconds, about 4 seconds to about 5 seconds or more.

[0077] At block 904, the method 900 can include training the neural network by minimizing a loss function to estimate a value for a position of the one or more downhole components at the one or more time steps and an associated uncertainty in the position of the one or more downhole components at the one or more time steps. In some examples, the neural network model can be trained to estimate a mean position of the one or more downhole components at the one or more time steps.

[0078] Training the neural network model can be conducted using the training data sets generated by the training data generation method 800 and minimizing a loss function. The pressure at each time step (e.g., pressure as a function of time) is the input to the neural network model. The labeled data (e.g., output of the neural network model) is the mean position of the one or more downhole components at each time step and the uncertainty (i.e., standard deviation) of the position of the one or more downhole components at each time step. The neural network model can be trained using the first training data set and any additional training sets. The trained neural network model can be configured to estimate a value (e.g., downhole component position) and, optionally, an uncertainty (e.g., the standard deviation of the position for given input pressure).

[0079] At block 906, the method 900 can include estimating the value for the position of the one or more downhole components (e.g., estimated downhole position) at the one or more time steps via the trained neural network model. In some examples, the value for the position of the one or more downhole components is a mean position. At block 906, the method 900 can further include estimating the associated uncertainty (e.g., standard deviation) in the position of the downhole component at the one or more time steps. The associated uncertainty can be a standard deviation generated by the trained neural network for the mean position of the one or more downhole components at the one or more time steps. In some examples, the mean position and associated uncertainty can be estimated using an unseen test data set, meaning the unseen test data set was not used to train the neural network model. In other words, the neural network model can be trained (e.g., pre-trained neural network model) and then a test data set that was not used to train the neural network model can be used to estimate the mean position and associated uncertainty of the position of one or more downhole components at the one or more time steps. In some examples, the unseen test data set can include different parameters (e.g., pressure profdes, friction coefficients, rubber stiffness, etc.) and can be generated by the finite element analysis simulator and the Monte Carlo simulation. In other examples, the unseen test data set can be data collected in the field.

[0080] At block 908, the method 900 can include determining an operation position of the one or more downhole components and the associated uncertainty (e.g., standard deviation) in the operation position when an operation is to be performed. In some examples, the operation position can also include a corresponding time step (e.g., a time step of the one or more time steps corresponding to the operation position). The operation can include decreasing the displacementrate (e.g., by decreasing pressure and / or cement flow rate) of the one or more downhole components for landing or adequately increasing the displacement rate (e.g., by increasing pressure and / or cement flow rate) to push the one or more downhole components through the casing ID (inner diameter) transition. For example, the operator can know that the one or more downhole components is nearing a final landing position and thereby slow the one or more downhole components for a more effective landing. The operator can know that the one or more downhole components is nearing a casing ID transition and speed up the one or more downhole components to push the one or more downhole components through the casing ID transition.

[0081] In other examples, the position of the one or more downhole components can provide additional information related to the cementing operation. For example, the displaced fluids in the wellbore can be verified by the position of the one or more downhole components.

[0082] The method 900 can include determining a time step (e.g., time step corresponding to the operation position when the operation is to be performed). For example, when real time pressure data is used, the downhole component position can be determined by the neural network model and provide the predicted time step at which the operation is to be performed. In other examples, the neural network model can predict the position of the one or more downhole components throughout the cementing operation for a predicted or given pressure profile based on known or estimated parameters. A time for the one or more downhole components to reach the position where the operation is to be performed can be estimated. In some examples, the speed of the one or more downhole components can be estimated based on the position / time data, thereby providing an operator with a time step for slowing or increasing the speed of the one or more downhole components. In some examples, the method 900 can further include performing the operation.

[0083] At block 910, the method 900 can further include determining whether to increase or decrease a displacement rate of the one or more downhole components based on the mean value and associated uncertainty at the one or more time steps. For example, the estimations (e.g., estimated position of the downhole component and associated uncertainty in the estimated position at the one or more time steps) can be used to determine a time step and / or operation position for when to increase or decrease a displacement rate of the downhole component. Increasing or decreasing the displacement rate of the downhole component can include increasing or decreasing a pressure and / or cement flow rate acting on the downhole component.

[0084] In some examples, the method 900 can further include outputting the position of the one or more downhole components at the one or more time steps on a display. The method 900 can include outputting the time the operation is to be performed on the display.

[0085] In some examples, the method 900 can include validating the position of the one or more downhole components with measured field data. In an example, the measured field data can further be used as training data to refine the neural network model.

[0086] In some examples, the method 900 can further include estimating values of at least one controllable variable to perform the operation. The neural network model or another model or software program can be configured to estimate a value of a controllable variable to perform the operation. For example, the operation can include slowing the displacement rate of the one or more downhole components and the estimated controllable variable can be a decrease in the flow rate of the cement. In some examples, the operation can include increasing the displacement rate of the one or more downhole components during an ID transition and the estimated controllable variable can be the pump pressure increase.

[0087] The method 900 can be performed on any of the systems described herein. The method 900 can be performed on a system comprising at least one processor and a memory coupled to the processor having instructions stored therein, which when executed by the processor, cause the processor to perform a plurality of functions, including functions to perform the method 900 and / or method 800.

[0088] FIG. 10 is an illustrative example of a deep learning neural network 1000 that can be used to implement the machine learning-based alignment prediction described herein. An input layer 1020 includes input data. In one illustrative example, the input layer 1020 can include pressure data. The neural network 1000 includes multiple hidden layers 1022a, 1022b, through 1022n. The hidden layers 1022a, 1022b, through 1022n include “n” number of hidden layers, where “n” is an integer greater than or equal to one. The number of hidden layers can be made to include as many layers as needed for the given application. The neural network 1000 further includes an output layer 1021 that provides an output resulting from the processing performed by the hidden layers 1022a, 1022b, through 1022n. In one illustrative example, the output layer 1021 can provide a position and uncertainty of the downhole component. The prediction can be a prediction of material properties (e.g., position of the downhole component, etc.).

[0089] The neural network 1000 is a multi-layer neural network of interconnected nodes. Each node can represent a piece of information. Information associated with the nodes is shared among the different layers and each layer retains information as information is processed. In some cases, the neural network 1000 can include a feed-forward network, in which case there are no feedback connections where outputs of the network are fed back into itself. In some cases, the neural network 1000 can include a recurrent neural network, which can have loops that allow information to be carried across nodes while reading in input.

[0090] Information can be exchanged between nodes through node-to-node interconnections between the various layers. Nodes of the input layer 1020 can activate a set of nodes in the first hidden layer 1022a. For example, as shown, each of the input nodes of the input layer 1020 is connected to each of the nodes of the first hidden layer 1022a. The nodes of the first hidden layer 1022a can transform the information of each input node by applying activation functions to the input node information. The information derived from the transformation can then be passed to and can activate the nodes of the next hidden layer 1022b, which can perform their own designated functions. Example functions include convolutional, up-sampling, data transformation, and / or any other suitable functions. The output of the hidden layer 1022b can then activate nodes of the next hidden layer, and so on. The output of the last hidden layer 1022n can activate one or more nodes of the output layer 1021, at which an output is provided. In some cases, while nodes (e.g., node 1026) in the neural network 1000 are shown as having multiple output lines, a node has a single output and all lines shown as being output from a node represent the same output value.

[0091] In some cases, each node or interconnection between nodes can have a weight that is a set of parameters derived from the training of the neural network 1000. Once the neural network 1000 is trained, it can be referred to as a trained neural network, which can be used to classify one or more activities, objects, or parameters. For example, an interconnection between nodes can represent a piece of information learned about the interconnected nodes. The interconnection can have a tunable numeric weight that can be tuned (e.g., based on a training dataset), allowing the neural network 1000 to be adaptive to inputs and able to learn as more and more data is processed.

[0092] The neural network 1000 is pre-trained to process the features from the data in the input layer 1020 using the different hidden layers 1022a, 1022b, through 1022n in order to provide the output through the output layer 1021. In an example in which the neural network 1000 is used to identify and predict values from raw data, the neural network 1000 can be trained using trainingdata that includes both data and labeled values as described herein. For instance, training data can be input into the network, with each training data having a label indicating a corresponding value.

[0093] In some cases, the neural network 1000 can adjust the weights of the nodes using a training process called backpropagation. As described herein, a b ackpropagation process can include a forward pass, a loss function, a backward pass, and a weight update. The forward pass, loss function, backward pass, and parameter update is performed for one training iteration. The process can be repeated for a certain number of iterations for each set of training data until the neural network 1000 is trained well enough so that the weights of the layers are accurately tuned.

[0094] For the example of predicting values and parameters based on raw data, the forward pass can include passing a raw data and corresponding experimental values through the neural network 1000. The weights are initially randomized before the neural network 1000 is trained. A

[0095] As noted above, for a first training iteration for the neural network 1000, the output will likely include values that do not give preference to any particular class due to the weights being randomly selected at initialization. For example, if the output is a vector with probabilities that the object includes different classes, the probability value for each of the different classes may be equal or at least very similar (e.g., for ten possible classes, each class may have a probability value of 0.1). With the initial weights, the neural network 1000 is unable to determine low level features and thus cannot make accurate predictions. A loss function can be used to analyze error in the output. Any suitable loss function definition can be used, such as a Cross-Entropy loss. Another example of a loss function includes the mean squared error (MSE).

[0096] The loss (or error) will be high for the first training data since the actual values will be much different than the predicted output. The goal of training is to minimize the amount of loss so that the predicted output is the same as the training label. The neural network 1000 can perform a backward pass by determining which inputs (weights) most contributed to the loss of the network and can adjust the weights so that the loss decreases and is eventually minimized. A derivative of the loss with respect to the weights (denoted as dL / dW, where W are the weights at a particular layer and L is the loss) can be computed to determine the weights that contributed most to the loss of the network. After the derivative is computed, a weight update can be performed by updating all the weights of the filters. For example, the weights can be updated so that they change in the opposite direction of the gradient. The weight update can be denoted as w = wi - q * dL / dW, where w denotes a weight, wi denotes the initial weight, and q denotes a learning rate. The learning ratecan be set to any suitable value, with a high learning rate including larger weight updates and a lower value indicating smaller weight updates.

[0097] The neural network 1000 can include any suitable deep network. One example includes a convolutional neural network (CNN), which includes an input layer and an output layer, with multiple hidden layers between the input and out layers. The hidden layers of a CNN include a series of convolutional, nonlinear, pooling (for downsampling), and fully connected layers. The neural network 1000 can include any other deep network other than a CNN, such as an autoencoder, a deep belief nets (DBNs), a Recurrent Neural Networks (RNNs), BNNs, among others.

[0098] FIG. 11 is a diagram illustrating an example of a system for implementing certain aspects of the present technology. In particular, FIG. 11 illustrates an example of computing system 1100, which can be for example any computing device making up internal computing system, a remote computing system, a camera, or any component thereof in which the components of the system are in communication with each other using connection 1105. Connection 1105 can be a physical connection using a bus, or a direct connection into processor 1110, such as in a chipset architecture. Connection 1105 can also be a virtual connection, networked connection, or logical connection.

[0099] In some aspects, computing system 1100 is a distributed system in which the functions described in this disclosure can be distributed within a datacenter, multiple data centers, a peer network, etc. In some aspects, one or more of the described system components represents many such components each performing some or all of the function for which the component is described. In some aspects, the components can be physical or virtual devices.

[0100] Example computing system 1100 includes at least one processing unit (CPU or processor) 1110 and connection 1105 that couples various system components including system memory 1115, such as read only memory (ROM) 1120 and read only memory (RAM) 1125 to processor 1110. Computing system 1100 can include a cache 1112 of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 1110.

[0101] Processor 1110 can include any general purpose processor and a hardware service or software service, such as services 1132, 1134, and 1136 stored in storage device 1130, configured to control processor 1110 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. Processor 1110 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.

[0102] To enable user interaction, computing system 1100 includes an input device 1145, which can represent any number of input mechanisms, such as a microphone for speech, a touch- sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech, etc. Computing system 1100 can also include output device 1135, which can be one or more of a number of output mechanisms. In some instances, multimodal systems can enable a user to provide multiple types of input / output to communicate with computing system 1100. Computing system 1100 can include communications interface 1140, which can generally govern and manage the user input and system output. The communication interface may perform or facilitate receipt and / or transmission wired or wireless communications using wired and / or wireless transceivers, including those making use of an audio jack / plug, a microphone jack / plug, a universal serial bus (USB) port / plug, an Apple® Lightning® port / plug, an Ethernet port / plug, a fiber optic port / plug, a proprietary wired port / plug, a Bluetooth® wireless signal transfer, a BLE wireless signal transfer, an IBEACON® wireless signal transfer, an RFID wireless signal transfer, near-field communications (NFC) wireless signal transfer, dedicated short range communication (DSRC) wireless signal transfer, 802.11 WiFi wireless signal transfer, WLAN signal transfer, Visible Light Communication (VLC), Worldwide Interoperability for Microwave Access (WiMAX), IR communication wireless signal transfer, Public Switched Telephone Network (PSTN) signal transfer, Integrated Services Digital Network (ISDN) signal transfer, 3G / 4G / 5G / LTE cellular data network wireless signal transfer, ad-hoc network signal transfer, radio wave signal transfer, microwave signal transfer, infrared signal transfer, visible light signal transfer, ultraviolet light signal transfer, wireless signal transfer along the electromagnetic spectrum, or some combination thereof. The communications interface 1140 may also include one or more Global Navigation Satellite System (GNSS) receivers or transceivers that are used to determine a location of the computing system 1100 based on receipt of one or more signals from one or more satellites associated with one or more GNSS systems. GNSS systems include, but are not limited to, the USbased GPS, the Russia-based Global Navigation Satellite System (GLONASS), the China-based BeiDou Navigation Satellite System (BDS), and the Europe-based Galileo GNSS. There is no restriction on operating on any particular hardware arrangement, and therefore the basic featureshere may easily be substituted for improved hardware or firmware arrangements as they are developed.

[0103] Storage device 1130 can be a non-volatile and / or non-transitory and / or computer- readable memory device and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, a floppy disk, a flexible disk, a hard disk, magnetic tape, a magnetic strip / stripe, any other magnetic storage medium, flash memory, memristor memory, any other solid-state memory, a compact disc read only memory (CD-ROM) optical disc, a rewritable compact disc (CD) optical disc, digital video disk (DVD) optical disc, a blu-ray disc (BDD) optical disc, a holographic optical disk, another optical medium, a secure digital (SD) card, a micro secure digital (microSD) card, a Memory Stick® card, a smartcard chip, a EMV chip, a subscriber identity module (SIM) card, a mini / micro / nano / pico SIM card, another integrated circuit (IC) chip / card, RAM, static RAM (SRAM), dynamic RAM (DRAM), ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash EPROM (FLASHEPROM), cache memory (L1 / L2 / L3 / L4 / L5 / L#), resistive random-access memory (RRAM / ReRAM), phase change memory (PCM), spin transfer torque RAM (STT-RAM), another memory chip or cartridge, and / or a combination thereof.

[0104] The storage device 1130 can include software services, servers, services, etc., that when the code that defines such software is executed by the processor 1110, it causes the system to perform a function. In some aspects, a hardware service that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 1110, connection 1105, output device 1135, etc., to carry out the function. The term “computer-readable medium” includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other mediums capable of storing, containing, or carrying instruction(s) and / or data. A computer-readable medium may include a non-transitory medium in which data can be stored and that does not include carrier waves and / or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium may include, but are not limited to, a magnetic disk or tape, optical storage media such as CD or DVD, flash memory, memory or memory devices. A computer-readable medium may have stored thereon code and / or machine-executable instructionsthat may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, or the like.

[0105] In some cases, the computing device or apparatus may include various components, such as one or more input devices, one or more output devices, one or more processors, one or more microprocessors, one or more microcomputers, one or more cameras, one or more sensors, and / or other component(s) that are configured to carry out the steps of processes described herein. In some examples, the computing device may include a display, one or more network interfaces configured to communicate and / or receive the data, any combination thereof, and / or other component(s). The one or more network interfaces can be configured to communicate and / or receive wired and / or wireless data, including data according to the 3G, 4G, 5G, and / or other cellular standard, data according to the Wi-Fi (802.1 lx) standards, data according to the BluetoothTM standard, data according to the IP standard, and / or other types of data.

[0106] The components of the computing device can be implemented in circuitry. For example, the components can include and / or can be implemented using electronic circuits or other electronic hardware, which can include one or more programmable electronic circuits (e.g., microprocessors, GPUs, DSPs, CPUs, and / or other suitable electronic circuits), and / or can include and / or be implemented using computer software, firmware, or any combination thereof, to perform the various operations described herein.

[0107] In some aspects, the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.

[0108] Numerous examples are provided herein to enhance understanding of the present disclosure. A specific set of statements are provided as follows.

[0109] Statement 1 : A computer-implemented method for determining a position of one or more downhole components with a neural network model, the computer-implemented methodcomprising: acquiring data including values for one or more input variables associated with one or more time steps in a cementing operation; training the neural network model to minimize a loss function and estimate a value for a position of one or more downhole component at the one or more time steps and an uncertainty at the one or more time steps; estimating the value for the position of the one or more downhole components at the one or more time steps via the trained neural network model; estimating an uncertainty in the value at the one or more time steps via the neural network model; determining an operation position of the one or more downhole components when an operation is to be performed; and determining the time step when the operation is to be performed.

[0110] Statement 2: The method according to Statement 1, the computer-implemented method further comprising estimating values of at least one controllable variable to perform the operation.

[0111] Statement 3: The method according to Statement 2, wherein the at least one controllable variable comprises a cement flow rate, and the operation comprises slowing a displacement rate of the one or more downhole components.

[0112] Statement 4: The method according to any of preceding Statements 1 to 3, wherein the one or more input variables comprise pressure on the one or more downhole components.

[0113] Statement 5: The method according to any of preceding Statements 1 to 4, wherein the one or more downhole components includes a cement plug and / or a wiper cup on the cement Plug.

[0114] Statement 6: The method according to any of preceding Statements 1 to 5, wherein the neural network model comprises a Bayesian recurrent neural network (RNN).

[0115] Statement 7: The method according to any one of preceding Statements 1 to 6, wherein the neural network model is trained using training data, wherein the training data is generated by a training data method comprising: providing a physics based model of the one or more downhole components based on one or more parameters; applying a probability distribution for each of the one or more parameters for a first training data set; applying a random sampling technique to the probability distribution for each parameter for the first training data set; simulating component position of the one or more downhole components at each time step based on a pressure at each time step for each sample in the first training data set utilizing the physics based model; ensembling the component position of the one or more downhole components as a function of timefor each sample in the first training data set; and outputting a mean position of the one or more downhole components at each time step and a standard deviation of the position at each time step for the first training data set.

[0116] Statement 8: The method according to Statement 7: wherein the one or more parameters are rubber stiffness, friction coefficient, or other parameters affecting the position of the one or more downhole components.

[0117] Statement 9: The method according to Statement 7 or Statement 8: wherein the pressure at each time step, the position of the one or more downhole components at each time step, and the standard deviation of the position at each time step are preprocessed prior to being used to train the neural network model.

[0118] Statement 10: The method according to any of preceding Statements 1 to 9, the computer-implemented method further comprising outputting the position of the one or more downhole components at the one or more time steps and the time step when the operation is to be performed on a display.

[0119] Statement 11 : A system comprising: at least one processor; and a memory coupled to the at least one processor having instructions stored therein, which when executed by the at least one processor, cause the at least one processor to perform a plurality of functions, including functions to: acquire data including values for one or more input variables associated with one or more time steps in a cementing operation; train a neural network model to minimize a loss function and estimate value for a position of one or more downhole components and an uncertainty at the one or more time steps; estimate the value for the position of the one or more downhole at the one or more time steps via the neural network model; estimate an uncertainty in the value at the one or more time steps via the neural network model; determine an operational position of the one or more downhole components when an operation is to be performed; and determine the time step when the operation is to be performed.

[0120] Statement 12: The system according to Statement 11, wherein the functions further include functions to estimate values of at least one controllable variable to perform the operation.

[0121] Statement 13: The system according to Statement 12, wherein the at least one controllable variable comprises a cement flow rate, and the operation comprises slowing a displacement rate of the one or more downhole components.

[0122] Statement 14: The system according to any of preceding Statements 11 to 13, wherein the one or more input variables comprise pressure on the one or more downhole components.

[0123] Statement 15: The system according to any of preceding Statements 11 to 14, wherein the one or more downhole components includes a cement plug and / or wiper cup on the cement plug.

[0124] Statement 16: The system according to any of preceding Statements 11 to 15, wherein the neural network model comprises a Bayesian recurrent neural network (RNN).

[0125] Statement 17: The system according to any of preceding Statements 11 to 16, wherein training the neural network model comprises generating training data, wherein the training data is generated by a function to: provide a physics based model of the one or more downhole components based on one or more parameters; apply a probability distribution for each of the one or more parameters for a first training data set; apply a random sampling technique to the probability distribution for each parameter for the first training data set; simulate component position of the one or more downhole components at each time step based on a pressure at each time step for each sample in the first training data set utilizing the physics based model; ensemble the component position of the one or more downhole components as a function of time for each sample in the first training data set; and output a mean position of the one or more downhole components at each time step and a standard deviation of the position at each time step for the first training data set.

[0126] Statement 18: The system according to Statements 17, wherein the one or more parameters are rubber stiffness, friction coefficient, or other parameters affecting the position of the one or more downhole components.

[0127] Statement 19: The system according to any of preceding Statements 17 to 18, wherein the pressure at each time step, the position of the one or more downhole components at each time step, and the standard deviation of the position at each time step are preprocessed prior to being used to train the neural network model.

[0128] Statement 20: The system according to any of preceding Statements 11 to 19, wherein the functions further include functions to output the position of the one or more downhole components at the one or more time steps and the time step when the operation is to be performed on a display.

[0129] The embodiments shown and described above are only examples. Even though numerous characteristics and advantages of the present technology have been set forth in the foregoing description, together with details of the structure and function of the present disclosure, the disclosure is illustrative only, and changes may be made in the detail, especially in matters of shape, size and arrangement of the parts within the principles of the present disclosure to the full extent indicated by the broad general meaning of the terms used in the attached claims. It will therefore be appreciated that the embodiments described above may be modified within the scope of the appended claims.

Claims

CLAIMSWhat is claimed is:

1. A computer-implemented method for determining a position of one or more downhole components with a neural network model, the computer-implemented method comprising: acquiring data including values for one or more input variables associated with one or more time steps in a cementing operation; training a neural network model to minimize a loss function and estimate a value for a position of one or more downhole components and an uncertainty at the one or more time steps; estimating the value for the position of the one or more downhole components at the one or more time steps via the trained neural network model; estimating the uncertainty in the value at the one or more time steps; determining an operation position of the one or more downhole components when an operation is to be performed; and determining the time step when the operation is to be performed.

2. The computer-implemented method of claim 1, the computer-implemented method further comprising estimating values of at least one controllable variable to perform the operation.

3. The computer-implemented method of claim 2, wherein the at least one controllable variable comprises a cement flow rate, and the operation comprises increasing or decreasing a displacement rate of the one or more downhole components.

4. The computer-implemented method of claim 1, wherein the one or more input variables comprise pressure on the one or more downhole components.

5. The computer-implemented method of claim 1, wherein the one or more downhole components includes a cement plug and / or a wiper cup on the cement plug.

6. The computer-implemented method of claim 1, wherein the neural network model comprises a Bayesian recurrent neural network (RNN).

7. The computer-implemented method of claim 1 , wherein the neural network model is trained using training data, wherein the training data is generated by a training data method comprising: providing a physics based model of the one or more downhole components based on one or more parameters; applying a probability distribution for each of the one or more parameters for a first training data set; applying a random sampling technique to the probability distribution for each parameter for the first training data set; simulating component position of the one or more downhole components at each time step based on a pressure at each time step for each sample in the first training data set utilizing the physics based model; ensembling the component position of the one or more downhole components as a function of time for each sample in the first training data set; and outputting a mean position of the one or more downhole components at each time step and a standard deviation of the position at each time step for the first training data set.

8. The computer-implemented method of claim 7, wherein the one or more parameters are rubber stiffness and / or friction coefficient.

9. The computer-implemented method of claim 7, wherein the pressure at each time step, the position of the one or more downhole components at each time step, and the standard deviation of the position at each time step are preprocessed prior to being used to train the neural network model.

10. The computer-implemented method of claim 1, the computer-implemented method further comprising outputting the position of the one or more downhole components at the one or more time steps and the time step when the operation is to be performed on a display.

11. A system comprising: at least one processor; anda memory coupled to the at least one processor having instructions stored therein, which when executed by the at least one processor, cause the at least one processor to perform a plurality of functions, including functions to: acquire data including values for one or more input variables associated with one or more time steps in a cementing operation; train a neural network model to minimize a loss function and estimate a value for a position of one or more downhole components and an uncertainty at the one or more time steps; estimate the value for the position of the one or more downhole components at the one or more time steps via the trained neural network model; estimate the uncertainty in the value at the one or more time steps via the trained neural network model; determine an operational position of the one or more downhole components when an operation is to be performed; and determine the time step when the operation is to be performed.

12. The system of claim 11, wherein the functions further include functions to estimate values of at least one controllable variable to perform the operation.

13. The system of claim 12, wherein the at least one controllable variable comprises a cement flow rate, and the operation comprises increasing or decreasing a displacement rate of the one or more downhole components.

14. The system of claim 11, wherein the one or more input variables comprise pressure on the one or more downhole components.

15. The system of claim 11, wherein the one or more downhole components includes a cement plug and / or wiper cup on the cement plug.

16. The system of claim 11, wherein the neural network model comprises a Bayesian recurrent neural network (RNN).

17. The system of claim 11, wherein training the neural network model comprises generating training data, wherein the training data is generated by a function to:provide a physics based model of the one or more downhole components based on one or more parameters; apply a probability distribution for each of the one or more parameters for a first training data set; apply a random sampling technique to the probability distribution for each parameter for the first training data set; simulate component position of the one or more downhole components at each time step based on a pressure at each time step for each sample in the first training data set utilizing the physics based model; ensemble the component position of the one or more downhole components as a function of time for each sample in the first training data set; and output a mean position of the one or more downhole components at each time step and a standard deviation of the position at each time step for the first training data set.

18. The system of claim 17, wherein the one or more parameters are rubber stiffness and / or friction coefficient.

19. The system of claim 17, wherein the pressure at each time step, the position of the one or more downhole components at each time step, and the standard deviation of the position at each time step are preprocessed prior to being used to train the neural network model.

20. The system of claim 11, wherein the functions further include functions to output the position of the one or more downhole components at the one or more time steps and the time step when the operation is to be performed on a display.