System and method for digital twinning of hydrocarbon systems
Patent Information
- Application Number
- JP2023534374
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2020-12-07
- Filing Date
- 2021-12-07
- Publication Date
- 2024-12-16
- Estimated Expiration
- 2041-12-07
AI Technical Summary
Existing technologies face challenges in effectively modeling and controlling hydrocarbon systems in real-time due to the complexity and variability of these systems, making it difficult to accurately predict and manage variables such as gas-oil ratio, water content, and productivity index.
The development of a digital twin system that utilizes reduced-order models (ROMs) generated through design of experiments and machine learning, allowing for real-time estimation and control of hydrocarbon systems by instantiating ROMs at operating points and integrating real-time data, along with calibration and inverse models to estimate unmeasurable variables.
Enables accurate, real-time prediction and control of hydrocarbon systems, improving computational efficiency and reducing the need for extensive simulations, while ensuring the digital twin remains calibrated to represent the real-world system accurately.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to modeling of hydrocarbon systems. In particular, the present disclosure relates to real-time model-based analysis and control of hydrocarbon systems.
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of and priority to U.S. Provisional Patent Application No. 63 / 122,325, filed December 7, 2020, the disclosure of which is incorporated by reference in its entirety. Summary of the Invention
[0003] One embodiment of the present invention is a method for generating and using a digital twin of a hydrocarbon system, according to some embodiments. In some embodiments, the method includes running multiple simulations using a design of experiments (DOE) method to generate a hyper-dimensional space that maps inputs, outputs, and attributes of the simulations. In some embodiments, the method includes using the hyper-dimensional space obtained from the multiple simulations to generate one or more reduced order models (ROMs) using regression or machine learning methods. In some embodiments, the method includes generating a digital twin of the hydrocarbon system by instantiating one or more ROMs at operating locations of the hydrocarbon system, and configuring the digital twin to use real-time data obtained from the hydrocarbon system. In some embodiments, the method includes using the digital twin to estimate values of one or more variables of the hydrocarbon system in real time. In some embodiments, the method includes controlling the hydrocarbon system based on the estimated values of the one or more variables.
[0004] In some embodiments, the one or more ROMs include a forward ROM, an inverse ROM, or a calibration ROM, In some embodiments, the forward ROM is configured to predict values of one or more variables of the hydrocarbon system for a what-if scenario based on values of the one or more controllable variables, values of the one or more configuration parameters, and values of the one or more calibration variables.
[0005] In some embodiments, the inverse ROM is configured to solve an inverse problem to estimate values of one or more system variables of the hydrocarbon system based on values of one or more controllable variables, values of one or more configuration parameters, values of one or more calibration variables, and values of one or more measured variables of the hydrocarbon system.
[0006] In some embodiments, the calibration ROM is configured to estimate one or more calibration variables for the forward ROM or the inverse ROM based on values of the one or more controllable variables, values of the one or more configuration parameters, values of the one or more unmeasurable variables, and values of the one or more measurement variables. In some embodiments, the digital twin includes instantiations of multiple ROMs, one or more of the multiple ROMs configured to provide as inputs outputs for different ones of the multiple ROMs.
[0007] In some embodiments, the method includes conducting field testing at the hydrocarbon system to obtain calibration data. In some embodiments, the method includes at least one of: (1) regenerating one or more ROMs and regenerating the digital twin with the calibration data to generate a calibrated digital twin, or (2) providing the calibration data to a calibration ROM for use in updating one or more other ROMs of the digital twin.
[0008] In some embodiments, the reconstruction step includes an automatic selection of an optimal combination of both the DOE sampling scheme and the ROM model and parameters in the simultaneous presence of the calibration measurements and the calibration matching criteria, hi some embodiments, the reconstruction step includes an iterative process and a Bayesian regularization method.
[0009] Another embodiment of the present invention is, according to some embodiments, a system for generating and using a digital twin of a hydrocarbon system. In some embodiments, the system includes a processor. In some embodiments, the processor is configured to run multiple simulations in a hyper-dimensional space to generate outputs. In some embodiments, the processor is configured to use the outputs of the multiple simulations to generate one or more reduced order models (ROMs) using regression or machine learning methods. In some embodiments, the processor is configured to generate the digital twin of the hydrocarbon system by instantiating the one or more ROMs at an operating location of the hydrocarbon system, and configure the digital twin such that the digital twin uses real-time data obtained from the hydrocarbon system. In some embodiments, the processor is configured to operate the hydrocarbon system based on the outputs of the digital twin.
[0010] In some embodiments, the processor is further configured to estimate values of one or more variables of the hydrocarbon system in real time using the digital twin and the real-time data, in some embodiments, the real-time data includes at least one of a wellhead pressure, a flowline pressure, an injection pressure, an injection rate, a pump discharge pressure, a pump suction pressure, a voltage, a current, or a motor temperature of the hydrocarbon system.
[0011] In some embodiments, the processor is configured to perform an auto-calibration check of the digital twin. In some embodiments, performing the auto-calibration check includes obtaining measurements of one or more predictor variables of the hydrocarbon system, determining one or more quasi-static parameters using the measurements of the one or more predictor variables, and determining whether the one or more quasi-static parameters have converged. In some embodiments, in response to determining that the one or more quasi-static parameters have not converged, the processor includes adjusting one or more of the predictor variables, re-determining the one or more quasi-static parameters, and re-determining whether the one or more quasi-static parameters have converged.
[0012] In some embodiments, the processor is configured to perform an auto-calibration check of the digital twin. In some embodiments, performing the auto-calibration check includes obtaining measurements of one or more predictor variables of the hydrocarbon system, determining one or more quasi-static parameters using the measurements of the one or more predictor variables, determining a predicted response using the one or more quasi-static parameters, comparing the predicted response to an actual response of the hydrocarbon system to determine a prediction error of the response, and minimizing the prediction error by adjusting the quasi-static parameters and then again determining the predicted response, and comparing the predicted response to the actual response again to determine a prediction error of the response.
[0013] In some embodiments, at least one of the ROMs of the digital twin includes a transient ROM. In some embodiments, the transient ROM includes a filter function, and parameters of the filter function are one or more quasi-static parameters output by the calibration ROM. In some embodiments, the filter function is configured to determine a predicted response given an input of one or more measurements of the hydrocarbon system using deconvolution and the filter function.
[0014] In some embodiments, the processor is configured to instantiate one or more ROMs of the digital twin using the plurality of measurements from the first data source and the data of the moving part from the second data source, in some embodiments, the plurality of measurements from the first data source and the data of the moving part are synchronized in time with each other.
[0015] In some embodiments, the processor is configured to automatically time synchronize the plurality of measurements from the first data source and the operating location data from the second data source. In some embodiments, the processor is configured to instantiate one or more ROMs with the plurality of operating location data of the hydrocarbon system, each of the plurality of operating location data including a weighting indicating a confidence factor for each of the plurality of operating location data.
[0016] In some embodiments, the processor is configured to recalculate the one or more parameters of the ROM over time and monitor changes in the one or more parameters of the ROM, hi some embodiments, the processor is configured to alert a technician in response to the one or more parameters of the ROM changing by an amount equal to or greater than a threshold amount.
[0017] Another embodiment of the present invention is a twinning tool that generates and uses a digital twin of a hydrocarbon system, according to some embodiments. In some embodiments, the twinning tool includes processing circuitry configured to run multiple simulations using a design of experiments (DOE) methodology to generate a hyper-dimensional space that maps inputs, outputs, and attributes of the simulations. In some embodiments, the processing circuitry is configured to use the hyper-dimensional space from the multiple simulations to generate multiple reduced order models (ROMs) using a curve fitting methodology. In some embodiments, the processing circuitry is configured to determine multiple quasi-static parameters by providing calibration data obtained by running tests on the hydrocarbon system as input to the multiple ROMs. In some embodiments, the processing circuitry is configured to generate a digital twin of the hydrocarbon system based on the multiple quasi-static parameters and the multiple ROMs. In some embodiments, the processing circuitry is configured to use the digital twin to predict the response of the hydrocarbon system over a future time horizon and display the predicted response of the hydrocarbon system over the future time horizon to an engineer.
[0018] The present invention will become more fully apparent from the following detailed description taken in conjunction with the accompanying drawings, in which like reference numerals refer to like elements and in which: [Brief description of the drawings]
[0019] [Figure 1] 1 is a schematic diagram of a system for generating a digital twin of a hydrocarbon system based on one or more reduced order models (ROMs), according to some embodiments. [Diagram 2] 1 is a flow diagram of a process for generating a digital twin of a hydrocarbon system based on one or more ROMs, according to some embodiments. [Diagram 3] 4 is a schematic diagram of a forward ROM showing inputs and outputs of the forward ROM according to some embodiments. [Figure 4]4 is a schematic diagram of an inverse ROM showing inputs and outputs of the inverse ROM according to some embodiments. [Diagram 5] 4 is a schematic diagram of a calibration ROM showing inputs and outputs of the calibration ROM according to some embodiments. [Figure 6] FIG. 1 is a schematic diagram of a digital twin including a calibration ROM, an inverse ROM, and a forward ROM that interact with each other to provide an output, according to some embodiments. [Figure 7] FIG. 1 is a block diagram of a system for creating and using digital twins according to some embodiments. [Figure 8] 1 is a schematic diagram of an inverse ROM for an electric submersible pump (ESP) well, according to some embodiments. [Figure 9] FIG. 9 is a block diagram of the ESP wellhead calibration ROM and inverse ROM of FIG. 8 according to some embodiments. [Figure 10] FIG. 10 is a graph illustrating estimated and measured flow over time for the calibration ROM and inverse ROM of FIG. 9 according to some embodiments. [Figure 11] FIG. 10 is a graph illustrating estimated and measured water content (WC) over time for the calibration ROM and inverse ROM of FIG. 9, according to some embodiments. [Figure 12] FIG. 10 is a graph illustrating estimated gas oil ratio (GOR) and measured GOR over time for the calibrated ROM and inverse ROM of FIG. 9, according to some embodiments. [Figure 13] FIG. 10 is a graph illustrating estimated pump leakage (PL) for the calibrated ROM and inverse ROM of FIG. 9, according to some embodiments. [Figure 14] 1 is a schematic diagram of a gas lift well according to some embodiments. [Figure 15] 15 is a schematic diagram of a forward ROM toward the gas lift well of FIG. 14 according to some embodiments. [Figure 16]FIG. 1 illustrates a dashboard for presentation to a technician on a web page according to some embodiments. [Figure 17] FIG. 1 is a block diagram of a calibration ROM workflow according to some embodiments. [Figure 18] FIG. 13 is a block diagram of a workflow for a first implementation of optimization of a calibration ROM, according to some embodiments. [Figure 19] FIG. 13 is a block diagram of a workflow for a second implementation of optimization of the calibration ROM, according to some embodiments. [Figure 20] FIG. 2 is a block diagram of a Transient ROM workflow according to some embodiments. [Figure 21] FIG. 13 is a graph illustrating how data for calibration of a digital twin is synchronized according to some embodiments. [Figure 22] FIG. 13 is a graph illustrating how calibration data for a digital twin is weighted according to some embodiments. [Figure 23] FIG. 13 is a graph illustrating various quasi-static parameters of a digital twin tracked over time according to some embodiments. [Figure 24] FIG. 2 is a block diagram of an optimization that may be implemented in place of a calibration ROM according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] Before referring to the figures detailing the exemplary embodiments, it should be understood that the present application is not limited to the details or methodology described or illustrated in the description, and that the present techniques should not be considered as limiting the present invention, but are for illustrative purposes only.
[0021] Overview
[0022] With particular reference to FIG. 1 , a schematic diagram of a system 100 for generating a digital twin 116 of a hydrocarbon, oil, or petroleum system or equipment of the system is shown. The system 100 can embody one or more offline techniques 106 and one or more online or live techniques 114 for generating the digital twin 116. The digital twin 116 can be an instantiation of one or more ROMs that digitally encapsulate the necessary model attributes across an expected workspace as a system, and can include design, installation, and model variables. The digital twin 116 can be an instantiation of a ROM at a particular point in time, and can operate in real time based on measurements and / or real time information shown as real time inputs 118. The digital twin 116 can output real time outputs 120 of any of the ROMs included in the digital twin 116. The digital twin 116 may be embodied as one of the live technologies 114 of the system 100 that uses real-time inputs 118 (e.g., sensor data, measurements, etc.) and outputs real-time outputs 120 (e.g., predicted values of one or more variables of a system, calculated values of one or more variables of the system, values of calibration variables of the system, etc.). The digital twin 116 may be configured to estimate or predict values of unmeasurable variables, such as gas oil ratio (GOR), water cut (WC), liquid flow rate, etc. It should be understood that these particular unmeasurable variables are provided by way of example and should not be understood as limiting the present invention.
[0023] The offline techniques 106 may include techniques using one or more simulators 108 to perform a design of experiments (DOE) 110. The simulators 108 and DOE 110 may be multiple what-if scenarios (e.g., different values of pump speeds or other parameters) in a hyper-dimensional space. For example, the simulators 108 may be different models, equations, operating curves, etc. of the various components, subsystems, or devices of the system that the digital twin 116 represents, and may further include various interrelationships (e.g., which models feed into each other, etc.) of the various components, subsystems, devices, etc. of the system that the digital twin 116 represents. The simulators 108 and DOE 110 may use applied techniques based on known information of the system that the digital twin 116 represents, so that an excessive number of simulations do not have to be performed. For example, the simulations may be performed in a hyper-dimensional space of various variables expected to operate the system that the digital twin 116 is to represent. For example, if the system is a pump for a hydrocarbon system expected to operate at pressures between 1000 and 3000 psi, the simulation may be performed for pressures within this range. In another example, if the system represented by the digital twin 116 is a hydrocarbon pump, the DOE 110 may simulate or estimate choke percentage, water output, etc., for different values of a manipulated variable (e.g., speed or rpm of the system represented by the digital twin 116) or different ranges of the manipulated variable. The results of the DOE 110 may be working or hypothetical curves (e.g., simulated working curves) of different output variables of the system represented by the digital twin 116 given different ranges or values of the input variables. The DOE 110 may use a naive DOE technique or a randomized DOE sampling technique (e.g., Latin Hypercube DOE technique, Sobol DOE technique, Halton DOE technique, etc.). In some embodiments, the randomized DOE sampling technique overlaps the operating range of all quantities of the digital twin to avoid extrapolation.
[0024] The results of the DOE 110 can be used to create a ROM, denoted as ROM generation technique 112. The ROM can be any of a transient ROM (e.g., a reduced order model that outputs multiple values of variables for a transient or dynamic phase of the system that the digital twin 116 represents), a static ROM (e.g., a reduced order model that outputs static variables for a steady-state phase of the system that the digital twin 116 represents), a forward ROM (e.g., a reduced order model that predicts future values or what-if scenarios of various variables for one or more control decisions), an inverse ROM (e.g., a reduced order model that can be used to solve an inverse problem to estimate various system parameters based on actual measurements and / or calibration variables), or a calibration ROM (e.g., a reduced order model that can be used to estimate or predict various calibration variables of the system that the digital twin 116 represents). Transient ROMs can be more complex than static or steady-state ROMs and can require additional refinement or further techniques for generation, such as deconvolution, gradient search techniques, and the like. In some embodiments, the input to the tROM is the quasi-static parameters or output of the calibration ROM. In some embodiments, the tROM outputs predicted values that are used to solve a deconvolution problem to estimate unmeasured or unmeasurable dynamic system variables. In some embodiments, the tROM also includes a convolutional neural network. The ROM can be generated using new regression methods, neural networks, and / or machine learning methods. For example, the ROM can be generated based on the output of the DOE 110 using linear regression methods, Gaussian process regression methods, neural networks, XGBoost, LGBoost, auto-selected (e.g., Bayesian-based) regression methods for regression, etc.
[0025] The digital twin 116 may be generated based on one or more ROMs created when the ROM generation technique 112 is executed. For example, the digital twin 116 may include some of the ROMs and the relationships between the ROMs (e.g., which ROM sends an output to an input of a different ROM). In one example, the digital twin 116 includes a calibration ROM, an inverse ROM, and a forward ROM. The output of the calibration ROM may be provided to both the inverse ROM and the forward ROM. The output of the inverse ROM may be provided to the forward ROM.
[0026] The digital twin 116 includes one or more ROMs, which, according to some embodiments, may be instantiated at particular times based on real-time inputs 118. The output of the ROMs that define the digital twin 116 for instantiation at particular times may be the real-time outputs 120 of the digital twin 116. Thus, according to some embodiments, the digital twin 116 operates based on the real-time inputs 118 to produce the real-time outputs 120.
[0027] Still referring to FIG. 1 , tests 104 may be performed on measurable outputs of the system represented by the digital twin 116. For example, the tests 104 may be a test of whether the system represented by the digital twin 116 is a hydrocarbon well pump. The tests 104 may be performed by a technician or automatically at regular intervals (e.g., monthly, six months, etc.). The tests 104 may be performed to obtain different values of or adjustments to the calibration variables of the system represented by the digital twin 116. For example, if the digital twin 116 represents a hydrocarbon well pump, the calibration variables obtained by performing the tests 104 may be the gas-oil ratio (GOR), water content (WC), or productivity index (PI) or reservoir pressure of the hydrocarbon system. The results (e.g., calibration variables) of the tests 104 may be used to calibrate 102 the simulator 108 (e.g., to adjust, redefine, or update the simulator 108 based on real-world test results on the system represented by the digital twin 116). The digital twin 116 may then be regenerated using offline techniques 106 as described herein. In this manner, the digital twin 116 may be recalibrated intermittently or periodically in a non-real-time manner as the tests 104 are performed, and the results of the tests 104 are used to calibrate the simulator 108. Alternatively, the results of the tests 104 may also be provided to the digital twin 116 to establish new settings for the calibration variables (e.g., post-test calibration of the system represented by the digital twin 116) if the calibration variables were used as part of the original DOE. The real-time output 120 of the digital twin 116 can be used in a variety of applications, including, but not limited to, simulation, model predictive control (MPC) or optimization, feedback control of the system the digital twin 116 represents, or dashboards. In some embodiments, testing or calibration measurements are required to avoid indeterminacy in the regression problems that generate the ROM or to compensate for inaccuracies in the underlying measurements or estimates.In some embodiments, calibration can be achieved by re-running the simulation with adjusted simulation input parameters, correcting for inaccurate measurements or estimates, and / or determining output parameters for the inverse or forward ROM from a calibration ROM or procedure.
[0028] Forward ROM
[0029] Referring now to FIG. 3, a forward ROM 300 is shown that may be generated using the techniques described in detail above with reference to FIG. 1 (and described in more detail below with reference to FIG. 2 and FIG. 7), according to some embodiments. In some embodiments, the forward ROM 300 is configured to receive inputs of controllable variables 302, configuration parameters 304, and calibration variables 306. In some embodiments, the forward ROM 300 is configured to output one or more predictor variables 308 (e.g., given values of the controllable variables 302). The predictor variables 308 may be simulated values of the system represented by the digital twin 116. The controllable variables 302 may be variables that represent operating settings (e.g., adjustable settings) of one or more actuators, motors, etc., or other controllable devices of the system represented by the digital twin 116. The configuration parameters may be known parameters of the system represented by the digital twin 116 (e.g., well design, pump configuration, etc., if the system represented by the digital twin 116 is a hydrocarbon well pump). The calibration variables 306 may be the output of a calibration ROM (eg, a calibration ROM 500, described in more detail below with reference to FIG. 5), or the results from a test 104 (eg, manual measurements).
[0030] The forward ROM 300 can generally be expressed in the following format: var predict =f fwd (var control ,var config ,var cal ) In the above formula, var predict is a large set of time series data of various variables predicted by the forward ROM 300, and var control are a number of sets of time series data of various controllable variables (e.g., controllable variables 302), and var config is a set of multiple time series data of various configuration parameters (e.g., configuration parameters 304), and var cal are multiple sets of time series data for various calibration variables (e.g., calibration variables 306), and f fwd is a forward ROM 300 (e.g., a function). If the system represented by the digital twin 116 is a hydrocarbon well pump, the controllable variables 302 may include pump speed, choke position / percentage, valve position, etc., the setting parameters 304 may be well design or pump setting parameters, the calibration variables 306 may be variables such as GOR, WC, PI, friction coefficient, etc., and the predicted variables 308 may be pressure, temperature, torque, liquid flow rate, pump leakage, etc. The forward ROM 300 may output a value of the predicted variable 308 (e.g., the response of the system) given different inputs of the controllable variables 302 (e.g., the effect on pressure, temperature, torque, liquid flow rate, pump leakage, boundary conditions, etc. that occurs when the pump speed or choke is adjusted).
[0031] Inverse ROM
[0032] 4, an inverse ROM 400 is shown according to some embodiments that may be generated using the techniques described in detail above with reference to FIG. 1 (and described in detail below with reference to FIG. 2 and FIG. 7). In some embodiments, the inverse ROM 400 is configured to receive inputs of controllable variables 402, set parameters 404, calibration variables 406, and measured variables 408. The controllable variables 402 may be the same as the controllable variables 302 described in detail above with reference to FIG. 3. The set parameters 404 may be the same as the set parameters 304 described in detail above with reference to FIG. 3. The calibration variables 406 may include some of the calibration variables 306 described in detail above with reference to FIG. 4. The measured variables 408 may be any variable of the system represented by the digital twin 116, and any such variable may be obtained (e.g., in real time) from one or more sensors of the system (e.g., pressure, temperature, torque, etc.).
[0033] The inverse ROM 400 is configured to solve an inverse problem to estimate or calculate system variables 410 for the system represented by the digital twin 116 based on the controllable variables 402, the configuration parameters 404, the calibration variables 406, and the measurement variables 408. For example, given different control inputs, system configurations, system calibrations, and system sensor data, the inverse ROM 400 estimates the values of the system variables 410 that the system would have had, resulting in the measurement variables 408. For example, the system variables 410 may include GOR, WC, liquid flow rate, pump leakage, etc., or any other variables that are difficult to measure. Advantageously, the inverse ROM 400 allows for the inference of various parameters that are difficult to measure or cannot be measured in real time. Such unmeasurable parameters may be useful and effective in control schemes for the system represented by the digital twin 116.
[0034] The inverse ROM 400 can generally be represented in the following format: var sys =finv (var control ,var config ,var cal ,var means ) In the above formula, var sys is a large set of time series data of system variables (e.g., system variables 410) to be estimated by the inverse ROM 400, and var control are multiple sets of time series data of various controllable variables (e.g., controllable variables 402 or controllable variables 302), and var config are multiple sets of time series data of various configuration parameters (e.g., configuration parameters 404 or configuration parameters 304), and var cal are multiple sets of time series data for various calibration variables (e.g., calibration variables 406), and var meas are a number of sets of time series data for various measured variables (e.g., measurement variables 408), and f inv is an inverse ROM 400 (e.g., a function). Calibration variables 406 may include PI, coefficient of friction, etc., and such calibration variables may be the output of a calibration ROM (e.g., calibration ROM 500, described in more detail below with reference to FIG. 5) or may be values obtained from performing a test (e.g., test 104). In some embodiments, calibration variables 406 are subject to constraints similar to those shown in FIG. 23 and described in more detail below.
[0035] Calibration ROM
[0036] 5, a calibration ROM 500 is shown according to some embodiments that may be generated using the techniques described in detail above with reference to FIG. 1 (and described in detail below with reference to FIG. 2 and FIG. 7). In some embodiments, the calibration ROM 500 is configured to receive inputs of controllable variables 502, configuration parameters 504, and measured variables 508. In some embodiments, the calibration ROM 500 is configured to output, predict, estimate, etc., calibration variables 510 and unmeasured variables 506. The controllable variables 502 may be the same as the controllable variables 402 or 302 described in detail above with reference to FIG. 3 and FIG. 4. The configuration parameters 504 may be the same as the configuration parameters 404 or 304 described in detail above with reference to FIG. 3 and FIG. 4. The unmeasurable variables 506 may be variables that are difficult to measure, for example, the unmeasurable variables 506 may be or include any of the system variables 410 described in detail above with reference to FIG. 4. The measurement variables 508 may be or include measurements obtained by performing the tests 104 (e.g., GOR, WC, liquid flow rate, etc.), and may further include values measured by various sensors of the system represented by the digital twin 116 (e.g., pressure, temperature, torque, etc.). The calibration variables 510 may be estimated calibration factors or variables that are difficult to measure in real time (e.g., PI, coefficient of friction, etc.).
[0037] The calibration ROM 500 is configured to generate calibration values that can be used to update other calibration inputs of various ROMs (e.g., inverse ROM 400, forward ROM 300, etc.) of the digital twin 116. The calibration ROM 500 can be generally represented in the following form: var cal ,var unmeas =f cal (var control ,var config ,varmeas ) In the above formula, var cal are multiple sets of time series data of the calibration variables (e.g., the calibration variables 406 or a portion of the calibration variables 306) estimated by the calibration ROM 500, and var unmeas are multiple sets of time series data for various unmeasurable or system variables (e.g., unmeasurable variables 506, system variables 410) estimated by the calibration ROM 500, and var control is a set of multiple time series data of various controllable variables (e.g., controllable variables 502, controllable variables 402, or controllable variables 302), and var config is a number of sets of time series data of various configuration parameters (e.g., configuration parameters 504, configuration parameters 404, or configuration parameters 304), and f cal is a calibration ROM 500 (e.g., a function). The output of the calibration ROM 500 may be provided as an input to other ROMs of the digital twin 116 (e.g., the inverse ROM 400 and / or the forward ROM 300).
[0038] An example digital twin
[0039] 6, a diagram 600 illustrates the interaction of a digital twin 602 with one or more applications 614, according to some embodiments. The digital twin 602 may be identical to or similar to the digital twin 116, and such a digital twin may be generated using similar techniques. The digital twin 602 includes a calibration ROM 500, an inverse ROM 400, and a forward ROM 300, according to some embodiments. The output of the calibration ROM 500 (e.g., calibration variables 510) is provided as an input (e.g., as calibration variables 306 and calibration variables 406) to the inverse ROM 400 and the forward ROM 300. The calibration ROM 500 can receive its inputs (e.g., controllable variables 502, configuration parameters 504, unmeasurable variables 506, and measured variables 508) from one or more external sources (e.g., a controller of the system represented by the digital twin 602, e.g., a feedback controller 610, sensors of the system represented by the digital twin 602, results of tests performed on the digital twin's system, known configurations or system settings, etc.). The inverse ROM 400 and the forward ROM 300 can further receive similar inputs from one or more external sources.
[0040] The calibration ROM 500 also provides its output (e.g., calibration variables 510) to a calibration reporting application 604. The calibration reporting application 604 may be an external application configured to generate reports (e.g., graphs, charts, values of the calibration variables 510, usage of the calibration variables 510, etc.) for viewing by a technician.
[0041] The inverse ROM 400 is configured to provide its output to the forward ROM 300, according to some embodiments. The inverse ROM 400 may also provide its output (e.g., system variables 410) to the calibration ROM 500 for use in determining the calibration variables 510. For example, the inverse ROM 400 may provide the system variables 410 to the forward ROM 300. Both the inverse ROM 400 and the forward ROM 300 may provide their output (e.g., system variables 410 and predictor variables 308) to a simulation application 606, an MPC / optimization application 608, a feedback controller 610, or a dashboard 612. In this manner, the output of the digital twin 602 may be used to run simulations, perform MPC or optimization of the system that the digital twin 602 represents, perform feedback or closed loop control (e.g., PID control) of the system that the digital twin 602 represents, and provide data on a dashboard. In some embodiments, the output of the MPC or optimization is provided as an input to the inverse ROM 400, the forward ROM 300, or the calibration ROM 500.
[0042] Twinning Tools
[0043] Referring now to FIG. 7, the techniques described herein for the generation and use of digital twins can be embodied in a twinning system 700, which includes a twinning tool 702 and various external applications. The twinning tool 702 is configured to generate a digital twin 718, which provides the output of the digital twin 718 and / or the digital twin 718 itself to various external applications. As shown in FIG. 7, the twinning tool 702 incorporates processing circuitry 704, which includes a processor 706 and a memory 708. The processor 706 can be a general-purpose or special-purpose processor, an application-specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. The processor 706 can be configured to execute computer code and / or instructions stored in the memory 708 or received from other computer-readable media (e.g., a CD-ROM, a network storage device, a remote server, etc.).
[0044] The memory 708 may include one or more devices (e.g., memory units, memory devices, storage devices, etc.) that store data and / or computer code for completing and / or facilitating the various processes described in this disclosure. The memory 708 may include random access memory (RAM), read only memory (ROM), hard drive storage, temporary storage, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and / or computer instructions. The memory 708 may include database components, object code components, script components, or any other type of information structure that supports the various activities and information structures described in this disclosure. The memory 708 may be communicatively coupled to the processor 706 via the processing circuitry 704, and such memory may include computer code for executing (e.g., by the processor 706) one or more processes described herein.
[0045] The memory 708 includes one or more of a simulator 710, a DOE manager 712, a ROM generator 714, a digital twin generator 716, and a digital twin 718, according to some embodiments. As shown in FIG. 7, the twinning tool 702 is configured to receive real-time input from a system 728 (e.g., the system that the digital twin 718 represents). The real-time input can be from sensors, measuring devices, gauges, flow meters, etc. of the system 728, according to some embodiments. The system 728 can be a hydrocarbon well pump, according to some embodiments. The twinning tool 702 is also configured to receive system information (e.g., from a technician, from a remote device, from a database, etc.), according to some embodiments. In some embodiments, the system information is metadata about the system 728. In some embodiments, the system information is stored in the memory 708 of the twinning tool 702.
[0046] In some embodiments, twinning tool 702 is also configured to receive independent test results (e.g., results of tests performed at system 728 by a technician). The technician can perform tests (e.g., well tests) at system 728 to obtain one or more measurements and provide such one or more measurements to twinning tool 702 (e.g., via a user interface, a smart phone, a touch screen device, etc.). It should be understood that the functionality of twinning tool 702 can be embodied locally at system 728 (e.g., on a single processing circuit) or can be embodied remotely and / or in a distributed manner (e.g., in a cloud computing system). For example, the twinning tool 702 may be cloud-based such that the twinning tool 702 receives real-time inputs, system information, and independent test results at a remote location, performs its functions, and then provides output (e.g., digital twin, digital twin output, etc.) to one or more applications (e.g., closed-loop controller 720, MPC / optimization system 722, one or more simulators 724, dashboard 726, edge device 730, etc.) located locally at the system 728 or located remotely from the system 728 within a cloud computing system.
[0047] Simulator 710, according to some embodiments, may be or may include one or more functions, models, operating curves, etc., representing different portions of system 728 and / or one or more interrelationships of one or more functions, models, operating curves, etc. of different portions of system 728, such that an output of system 728 may be simulated. Simulator 710, according to some embodiments, may be configured to perform a multivariate or hyper-dimensional simulation of system 728 to produce different outputs of system 728 given various inputs of system 728 (e.g., control inputs, temperature settings, flow rates, pump speeds, etc., depending on the type of system 728). For example, simulator 710 may be configured to perform a high-fidelity simulation of system 728. For example, simulator 710 may include an electric submersible pump (ESP) simulator, a rod pump dynamic simulator, a pipe simulator, etc. Simulation output of simulator 710 may be in the form of multi-dimensional graphs, curves, surface plots, etc., representing relationships between various variables (eg, input and output variables of system 728), according to some embodiments.
[0048] In some embodiments, the DOE manager 712 is configured to perform one or more simulations by implementing one or more DOE techniques using the simulator 710, such as a naive DOE technique, a randomized DOE technique, a Latin hypercube DOE technique, a Sobol DOE technique, a Halton DOE technique, and the like. The DOE manager 712 uses the simulator 710 to generate simulation outputs and provide the simulation outputs to the ROM generator 714. For example, the DOE manager 712 may provide one or more multi-dimensional graphs to the ROM generator 714. The DOE manager 712 may perform any of the techniques of the DOE 110 described in detail above with reference to FIG. 1.
[0049] The ROM generator 714, according to some embodiments, is configured to use simulation output provided by the DOE manager 712, which is generated using the simulator 710, to generate one or more ROMs based on the simulation output. The ROMs may be generated by the ROM generator 714 using a new regression method and the simulation output of the simulator 710, according to some embodiments. For example, the ROM generator 714 may be configured to use linear regression, Gaussian process regression, neural networks, machine learning methods, Bayesian-based regression methods, etc. The ROMs may include the calibration ROM 500, the inverse ROM 400, the forward ROM 300, or the transient ROM 732.
[0050] Still referring to FIG. 7 , the digital twin generator 716 is configured, according to some embodiments, to receive a ROM from the ROM generator 714 and generate a digital twin 718 using such ROM. The digital twin generator 716 is configured to instantiate the ROM obtained from the ROM generator 714 using real-time inputs and to define one or more interrelationships between the ROMs to generate the digital twin 718. In some embodiments, the digital twin 718 is or is similar to the digital twin 116 or the digital twin 602 described in detail above. The digital twin 718 may be configured to estimate values of various calibration, system, and predictor variables. For example, if the system 728 is a hydrocarbon well pump, the digital twin 718 may be configured to output predictor variables, such as hydrocarbon well pump pressure, hydrocarbon well pump temperature, hydrocarbon well pump torque, liquid flow rate, pump leakage, etc., system variables, such as GOR, WC, liquid flow rate, pump leakage, etc., and / or calibration variables, such as PI, friction coefficient, etc.
[0051] The digital twin 718 is configured to provide any of the outputs described above (e.g., predictor variables, system variables, and / or calibration variables, etc.) to one or more external applications, such as the closed-loop controller 720, the MPC / optimization system 722, the simulator 724, the dashboard 726, and / or the edge device 730. It should be understood that this list is not exhaustive and that the digital twin 718 can provide its outputs to additional external applications. In some embodiments, the twinning tool 702 is configured to provide the digital twin 718 to the closed-loop controller 720, the MPC / optimization system 722, the simulator 724, the dashboard 726, and / or the edge device 730 for local instantiation and use of the digital twin 718.
[0052] In some embodiments, the digital twin generator 716 is configured to calibrate the digital twin 718 based on independent test results or calibration variables obtained by performing independent testing at the system 728. For example, the digital twin generator 716 can re-instantiate the digital twin 718 with calibration variables obtained by performing independent testing at the system 728. In some embodiments, the simulator 710, DOE manager 712, and ROM generator 714 are configured to run their functions again using the calibration variables of the independent test results to generate the ROM again. If the system 728 is a hydrocarbon well pump, the calibration variables obtained by performing independent testing can be GOR, WC, and liquid flow rate.
[0053] The closed-loop controller 720 may be configured to implement closed-loop control of the system 728 using the digital twin output and / or the digital twin 718, according to some embodiments. For example, the closed-loop controller 720 may implement a PID control scheme to operate the system 728. The MPC / optimization system 722 may be configured to minimize, maximize, or otherwise optimize a cost function (e.g., a reward function) against one or more constraints by adjusting one or more control variables over a time horizon, according to some embodiments. In some embodiments, the MPC / optimization system 722 may use the digital twin 718 for the system 728 as a model of the system 728 to estimate values of or impose constraints on the objective function. In some embodiments, the MPC / optimization system 722 may be configured to issue high-level control decisions for the system 728, which may be provided to the closed-loop controller 720. In some embodiments, dashboard 726 uses the digital twin and / or digital twin output to generate a dashboard for the technician and provide such dashboard to the technician.
[0054] process
[0055] 2, a flow diagram of a process 200 for generating a digital twin based on one or more ROMs is shown according to some embodiments. Process 200 includes steps 202-214, which may be performed by system 100 or by twinning tool 702. Process 200 may be advantageously performed to generate a digital twin of a system (e.g., a hydrocarbon well pump) that has reduced complexity compared to various other simulations. The digital twin may be embodied or used in various applications, such as a closed-loop or feedback controller of the system that the digital twin represents, an MPC or optimization system, one or more simulators, a dashboard, and / or an edge device.
[0056] Process 200, according to some embodiments, includes performing multiple simulations in the hyper-dimensional space to generate outputs (202). In some embodiments, step 202 includes performing the simulations using a simulator 710. In some embodiments, step 202 is performed by a DOE manager 712 and a simulator 710. Results of the simulations may include multi-dimensional graphs, surface plots, etc., showing relationships between various variables of the system represented by the digital twin.
[0057] Process 200, according to some embodiments, includes generating one or more reduced order or reduced model (ROM) (204) using regression or machine learning techniques using the output of multiple simulations. In some embodiments, step 204 is performed by ROM generator 714 using any of the techniques described in detail above with reference to FIG. 7. In some embodiments, the ROM includes a calibration ROM, an inverse ROM, a forward ROM, and / or a transient ROM. The calibration ROM, according to some embodiments, may be configured to estimate one or more set parameters (e.g., PI, friction coefficient, etc.). In some embodiments, the inverse ROM is configured to estimate one or more system variables (e.g., GOR, WC, liquid flow rate, pump leakage, etc.). For example, the inverse ROM may be configured to solve an inverse problem, which, according to some embodiments, may be configured to receive various controllable variables, set parameters, calibration variables, and measurement variables for a particular condition of the system, and estimate the system variables that must be the case to achieve the measurement and controllable variables. In some embodiments, the forward ROM is configured to predict or estimate a predictor variable (e.g., a measurable variable, a system variable, etc.) given certain conditions (e.g., given different values of a controllable variable, a configuration parameter, or a calibration variable).
[0058] Process 200 includes, according to some embodiments, generating (206) a digital twin of a system that uses one or more ROMs, where the digital twin includes at least one of the one or more ROMs. In some embodiments, the digital twin is digital twin 116, digital twin 602, or the like, or any other digital twin described herein. Step 206 may be performed by digital twin generator 716 of twinning tool 702, according to some embodiments. The digital twin may include forward direction ROMs, inverse ROMs, and / or calibration ROMs, where such digital twins may include interrelationships between ROMs such that outputs of one particular ROM feed into other ROMs as inputs, according to some embodiments. In some embodiments, the digital twin is an instantiation of one or more ROMs, where such digital twins use real-time data (e.g., sensor data) from the system it represents. Thus, steps 202-206 may be performed offline while the ROMs are used online with real-time data.
[0059] Process 200 includes, according to some embodiments, using the digital twin to predict or output (208) values of one or more variables of the system in a real-time application. In some embodiments, the digital twin is run in an online mode and is configured to receive real-time data from the system it represents. The real-time data received by the digital twin may depend on the particular application of the digital twin, according to some embodiments. According to some embodiments, the digital twin can use the ROM to output different sets of predictor variables, system variables, and calibration variables. In some embodiments, the predictor variables include pressure, temperature, torque, liquid flow rate, and pump leakage of the system represented by the digital twin. In some embodiments, the system variables include GOR, WC, liquid flow rate, and pump leakage of the system represented by the digital twin. In some embodiments, the calibration variables include PI and friction coefficient.
[0060] Process 200, according to some embodiments, includes performing (210) an independent test on a measurable output of the system represented by the digital twin. In some embodiments, for example, if the system is a hydrocarbon well pump, the test may be a well test to measure the GOR, WC, and liquid flow rate of the hydrocarbon well pump. In some embodiments, step 210 is performed by a technician at the system represented by the digital twin. The well test may include updating one or more calibration knobs or quasi-static parameters of the digital twin.
[0061] Process 200, according to some embodiments, includes a step of performing calibration (212) based on the results of the independent testing. In some embodiments, step 212 is performed by digital twin generator 716 by providing the new calibration values as inputs for various ROMs of the digital twin. In some embodiments, step 212 is performed by simulator 710, DOE manager 712, and ROM generator 714, thereby regenerating the ROMs based on the obtained new calibration values.
[0062] Process 200, according to some embodiments, includes updating one or more parameters of the digital twin or the ROM of the digital twin based on the calibration (214). Step 214 may be performed by simulator 710, DOE manager 712, and ROM generator 714, according to some embodiments. In response to performing step 214, process 200 may return to step 208, or alternatively, may return to step 202. It should be understood that steps 210-214 (or alternatively steps 202-214) may be performed in a non-real-time manner (e.g., monthly, six months, etc.). In some embodiments, steps 212-214 (or steps 202-214) are only performed in response to step 210 if independent testing performed indicates that recalibration of the digital twin is required.
[0063] Example Implementations
[0064] 8, the systems and methods described herein may be implemented to generate a digital twin or inverse ROM for an ESP well 826, according to some embodiments. Diagram 800 illustrates an example configuration of various simulation models or simulators that may be used to generate an inverse ROM for an ESP well 826, according to some embodiments. In some embodiments, the inverse ROM for an ESP well 826 includes one or more analytical models 802, one or more numerical models 804, a drive model 806, a formation model 814, and a flowline model 824. Analytical model 802 includes a transformer model 808, a cable model 810, and a motor model 812, according to some embodiments. Numerical model 804 includes a pipe model 816, a pump model 818, a well model 820, and a choke model 822, according to some embodiments. In some embodiments, the various models described herein use variables or parameters such as voltage, current, frequency, speed, torque, density, viscosity, formation pressure, Productivity Index (PI), derating, intake temperature, suction pressure, inflow rate, output wellhead pressure, flow rate, WC, and GOR.
[0065] In some embodiments, one or more of the variables or parameters are measured values (e.g., measured and provided to the digital twin as real-time data). In some embodiments, one or more of the variables or parameters are obtained by performing a hyper-dimensional simulation (e.g., performed in generating an inverse ROM). In some embodiments, one or more of the variables or parameters may be obtained by performing field testing or determined by a calibration ROM. In some embodiments, one or more of the variables or parameters are measured values or set values (e.g., known or fixed values).
[0066] 9, a diagram 900 illustrates a calibration ROM 902 and an inverse ROM 904 that work together to model an ESP well (e.g., ESP well 826), according to some embodiments. The calibration ROM 902, according to some embodiments, includes a set of parameters such as speed, torque, P i and P d The calibration ROM 902 receives inputs of the measured flow rate Q, WC, and GOR, and a predicted pump leakage (PL) (e.g., values of the PID control scheme). Using these inputs, the calibration ROM 902 outputs calibration variables, including updated choke openings and updated torque derating, according to some embodiments. The calibration variables are provided as inputs to the inverse ROM 904, which predicts the flow rate Q, WC, GOR, and PL using the updated choke openings and updated torque derating, according to some embodiments. In some embodiments, the calibration ROM 902 and the inverse ROM 904 may be instantiated at a particular operating location of the ESP well and brought online, thereby allowing them to function as a digital twin of the ESP well with real-time data. The calibration ROM 902 and the inverse ROM 904 may be created or generated using techniques described in detail above (e.g., by the twinning tool 701 described in detail with reference to FIG. 7), according to some embodiments.
[0067] 10, a graph 1000 illustrates the difference between the estimated flow rate and the measured flow rate for the ROM shown in diagram 900, according to some embodiments. Graph 1000 illustrates the difference between the measured flow rate and the estimated flow rate over time, according to some embodiments. If the error between the measured flow rate and the estimated flow rate exceeds a corresponding threshold, then according to some embodiments, the calibration ROM 902 and the inverse ROM 904 may be adjusted or calibrated again to minimize the overall error.
[0068] 11, a graph 1100 illustrates the difference between the estimated WC and the measured WC for the ROM illustrated in diagram 900, according to some embodiments. Graph 1100 illustrates the difference between the estimated WC and the measured WC over time, according to some embodiments. If the error between the measured WC and the estimated WC exceeds a corresponding threshold, then the calibration ROM 902 and the inverse ROM 904 may be adjusted or calibrated again to minimize the overall error, according to some embodiments.
[0069] 12, a graph 1200 illustrates the difference between the estimated GOR and the measured GOR for the ROM shown in diagram 900, according to some embodiments. Graph 1200 illustrates the difference between the estimated GOR and the measured GOR over time, according to some embodiments. If the error between the measured GOR and the estimated GOR exceeds a corresponding threshold, then the calibration ROM 902 and the inverse ROM 904 may be adjusted or calibrated again to minimize the overall error, according to some embodiments.
[0070] 13, a graph 1300 illustrates an estimated PL over time according to some embodiments. In some embodiments, the PL may be difficult to measure, and therefore a comparison between the estimated and measured PL may not be possible. However, if the error between the estimated and measured flow rates, the error between the estimated and measured WC, and the error between the estimated and measured GOR are minimal, the estimated PL can be confidently considered accurate.
[0071] 14 and 15, a diagram 1500 of a gas lift well 1400 illustrates various simulation models or simulators that may be used to generate a forward ROM for the gas lift well 1400, according to some embodiments. The models may include a dry hole (DH) well model 1514, a formation model 1516, an injection well model 1512, a production well model 1510, a gauge model 1508, a sulfur (SF) valve model 1502, a flow line model 1504, and a stock tank model 1506, according to some embodiments. In some embodiments, the various models described herein are configured to use variables or parameters, such as formation pressure, GOR, WC, PI, fluid flow rate, gas flow rate, downhole pressure, injection pressure, injection flow rate, wellhead pressure, flow line pressure, etc. In some embodiments, one or more of the variables or parameters described herein are variables that can be measured at any time. In some embodiments, one or more of the variables or parameters described herein are non-measurable values. In some embodiments, one or more of the variables or parameters described herein are values that may be obtained from a well test or output of a calibration ROM, or may otherwise be obtained by calibration. The forward ROM of diagram 1500 may be generated, according to some embodiments, using the systems and methods described herein (e.g., by the twinning tool 702 described in detail above with reference to FIG. 7).
[0072] Example Dashboard
[0073] 16, a dashboard 1600 is shown that can be presented on a web page according to some embodiments. The dashboard 1600 can be one of the dashboards 726 based on the output of a digital twin (e.g., digital twin 718) or the digital twin itself according to some embodiments. In some embodiments, the dashboard 1600 includes one or more graphs or tables of time series data of the system that the digital twin represents, such as various outputs, forecasts, estimates, system values, etc. For example, the graphs can include gas lift performance graphs, node analysis graphs, pressure vs. temperature ratio graphs, temperature graphs, liquid flow rate graphs, etc. The dashboard 1600 can be generated and provided to an engineer for subsequent analysis and control according to some embodiments. The dashboard 1600 can further include various menus or sub-menus for navigation according to some embodiments.
[0074] advantage
[0075] Advantageously, the systems and methods described herein can be used to provide a reliable digital twin of a real-world system. Using a digital twin that is an instantiation of one or more ROMs can improve computational speed as opposed to using simulations, which can be computationally intensive. The digital twin can be embodied in an online mode to use real-time measurements from the real-world system (e.g., a hydrocarbon well pump) for real-time control, real-time analysis, real-time optimization, etc. The digital twin can be periodically calibrated to ensure that the digital twin accurately represents the real-world system.
[0076] Optimized calibration ROM
[0077] 17-19, various implementations of a calibration ROM are shown as block diagrams, according to some embodiments. Specifically, FIG. 17 shows an overall workflow of a calibration ROM (e.g., calibration ROM 500, calibration ROM 902, etc.), FIG. 18 shows a first optimization implementation with a calibration ROM, and FIG. 19 shows a second optimization implementation with a calibration ROM. Any of the block diagrams, techniques, systems, etc. described herein with reference to FIG. 17-19 may be implemented by the twinning tool 702 (e.g., its processing circuitry 704), remote processing circuitry, distributed processing circuitry, one or more servers, a local controller, a cloud computing system, etc., or any combination thereof.
[0078] 17, according to some embodiments, a diagram 1700 illustrates an implementation of a calibration ROM 1702. In some embodiments, the calibration ROM 1702 is generated by a ROM builder 1704 that uses curve fitting techniques to determine parameters of the calibration ROM 1702 (e.g., to instantiate the calibration ROM 1702 based on simulation data, shown as DOE simulation data). In some embodiments, the calibration ROM 1702 is generated (e.g., by the twinning tool 702) using any of the techniques described in detail above with reference to FIGS. 1-16. For example, the DOE simulation data may be the output of the simulator 710 and / or the DOE manager 712, and the ROM builder 1704 may be a ROM generator 714.
[0079] Once constructed, generated, instantiated, etc. by ROM builder 1704, calibration ROM 1702 may be configured to predict, output, estimate, calculate, etc., one or more quasi-static parameters given inputs of predictors. The predictors may include any calibration or normal measurements provided by a system (e.g., by system 728, by sensors in ESP wells 826, etc.). For example, the predictors may be measurements of various parameters of the system being twinned (e.g., system 728). In some embodiments, if the system is an ESP, the predictors may include GOR.
[0080] The quasi-static parameters may be parameters used by the inverse ROM to predict one or more of the predictor variables (e.g., predicted versions of the predictor variables, where the predictor variables are the measured values). The quasi-static parameters may be, for example, the separator efficiency in the case of ESP, and thus, one or more inverse ROMs may use the quasi-static parameters to predict the value of the GOR (e.g., one of the predictor variables).
[0081] 18, a diagram 1800 of a first optimization implementation is shown according to some embodiments. The diagram 1800 includes a ROM builder 1802 configured to generate one or more calibration ROMs shown as calibration ROM 1804 and calibration ROM 1806, an optimizer 1810, and an adjuster 1808. The first optimization system shown in diagram 1800 may be implemented on any processing circuitry of the digital twin (e.g., twinning tool 702, remote processing circuitry, etc.). The first optimization implementation shown in diagram 1800 may be implemented to determine coefficients or derating coefficients that achieve convergence or stability along with other coefficients (e.g., derating coefficients) for quasi-static parameters of the digital twin. For example, the calibration ROM 1804 may be a calibration ROM for a first quasi-static parameter, which outputs the coefficients of the first quasi-static parameter to the inverse ROM and the calibration ROM 1806. Similarly, the calibration ROM 1806 may be for a second quasi-static parameter, which outputs the calculated second quasi-static parameter or the coefficients of the second quasi-static parameter to the optimizer 1810 and / or the inverse ROM. In some embodiments, two or more calibration ROMs 1804-1806 are used in series, each calibration ROM associated with a corresponding quasi-static parameter and outputs the corresponding quasi-static parameter to another one of the calibration ROMs. Each of the multiple calibration ROMs may also be provided with the unknown particular quasi-static parameter as an input.
[0082] As shown in FIG. 18 , the optimizer 1810 can monitor the quasi-static parameters received from the calibration ROMs 1804, 1806 to determine whether the quasi-static parameters are changing or have converged (e.g., are stable). If the quasi-static parameters have not converged, the optimizer 1810 can inform the adjuster 1808, which can adjust or vary one of the quasi-static parameters (e.g., the unknown quasi-static parameter) and provide the adjusted or varied quasi-static parameter to the calibration ROMs 1804, 1806. The optimizer 1810 and adjuster 1808 can continue checking the quasi-static parameters and adjusting at least one of the quasi-static parameters until the optimizer 1810 determines that the quasi-static parameters have converged or are no longer changing. This can be seen to find the value of the unknown quasi-static parameter, resulting in an internally stable or converged ROM or digital twin. The quasi-static parameters, including the unknown quasi-static parameter values or coefficients, may be provided as input to an inverse ROM.
[0083] Advantageously, the first optimization implementation shown in diagram 1800 of Figure 18 may be used for undefined or underdetermined problems (e.g., problems where one or more of the quasi-static parameters are unknown). The quasi-static parameters may be adjusted, tuned, changed, etc., and monitored to observe the convergence of these parameters until convergence or stability is met.
[0084] 19, a diagram 1900 of a second optimization implementation is shown according to some embodiments. Diagram 1900 includes a ROM builder 1902 for a calibration ROM, i.e., calibration ROM 1906, a ROM builder 1904 for an inverse ROM, i.e., inverse ROM 1908, a cost function 1910, and an optimizer 1912. According to some embodiments, ROM builder 1902 is configured to calculate, determine, instantiate, etc., the calibration ROM 1906, and ROM builder 1904 is configured to calculate, determine, instantiate, etc., the inverse ROM 1908. In some embodiments, ROM builder 1902 and ROM builder 1904 are configured to implement any of the functions or techniques of ROM generator 714 to generate inverse ROM 1908 and calibration ROM 1906. ROM builder 1902 and ROM builder 1904 may be configured to perform a curve fitting method to generate a calibration ROM 1906 and an inverse ROM 1908. In some embodiments, the technique described herein with reference to Figure 19 is part of an automatic calibration check. A second optimization implementation may be performed to check the consistency between the calibration ROM (e.g., the input of the calibration ROM) and the output of the inverse ROM.
[0085] The calibration ROM 1906, according to some embodiments, receives various values of calibration measurements, designated as predictor variables, and outputs predicted quasi-static parameters, which, according to some embodiments, are provided as input to the inverse ROM 1908 in combination with normal measurements.
[0086] The calibration ROM 1906, according to some embodiments, is configured to output predicted quasi-static parameters to the inverse ROM 1908 based on the predictor variables (e.g., measurements of the predictor variables and other normal measurements). The inverse ROM 1908, according to some embodiments, receives the predicted quasi-static parameters from the calibration ROM 1906 and one or more normal measurements of the calibration points of the system. In some embodiments, the inverse ROM 1908 is configured to output a predicted response (e.g., a predicted flow rate) using the predicted quasi-static parameters and the normal measurements. The cost function 1910, according to some embodiments, obtains both the response predicted by the inverse ROM 1908 for the predicted quasi-static parameters and the normal measurements, and the measured actual response. In some embodiments, the predicted response is the response predicted to occur in the system given the current measurement conditions (normal measurements) and the predicted quasi-static parameters that define the behavior of the system. Since the current situation is the measured condition and the predicted response can be compared to the actual response, any difference or discrepancy between the predicted response of the system and the actual response of the system may indicate that adjustments should be made to the quasi-static parameters to more accurately define the system behavior.
[0087] A cost function 1910, according to some embodiments, compares the predicted response of the system with the actual response and quantifies the error between the predicted response and the actual response (e.g., prediction error). An optimizer 1912 uses the error provided by the cost function 1910 and adjusts the calibration ROM 1906, the predicted quasi-static parameters, or both, to drive the error toward zero (e.g., minimize the cost function 1910).
[0088] The cost function 1910 can determine the error between the predicted response and the actual response for a single variable or parameter, or for multiple variables or parameters. When the cost function 1910 models multiple variables or parameters (e.g., flow rate, GOR, etc.), each of the prediction errors associated with the multiple variables or parameters can be assigned a weighted value, such that the cost function 1910 outputs an overall or weighted prediction error that the optimizer 1912 can minimize (by adjusting the predicted quasi-static parameters or by adjusting the calibration ROM 1906). In some embodiments, the optimization problem solved by the optimizer 1912 includes constraints on the variability of the quasi-static parameters, and thus the optimizer 1912 is adapted to minimize the prediction error (e.g., the output of the cost function 1910) by adjusting the calibration ROM 1906 and / or the predicted quasi-static parameters. The functions and techniques described herein with reference to FIG. 18 or FIG. 19 may, according to some embodiments, be implemented at a particular operating point in the system (e.g., a calibration point) or at multiple operating points in the system (e.g., multiple calibration points).
[0089] Transient ROM
[0090] 20, a diagram 2000 of a workflow for a transient ROM ("tROM") is shown according to some embodiments. Diagram 2000 includes a ROM builder 2002, a calibration ROM 2004, a parameterized filter function 2006, and a deconvolution 2008. In some embodiments, ROM builder 2002 is the same as or similar to any of ROM builders 1904, 1902, 1802, 1704, ROM generator 714, etc. According to some embodiments, tROM uses convolution and deconvolution as opposed to using curve fitting methods, since tROM predicts a time curve as a function of another time curve (e.g., the transient response that occurs given a time-varying input).
[0091] In some embodiments, the calibration ROM is configured to receive measurements of predictor variables and output quasi-static parameters. The quasi-static parameters are used as parameters in a filter, shown as parameterized filter function 2006, according to some embodiments. In some embodiments, the parameterized filter function 2006 is an analytical parameterized model, and the quasi-static parameters are parameters of the model. In some embodiments, the model or parameterized filter function 2006 is configured to predict or calculate dependencies between dynamic behaviors. In some embodiments, the output of the parameterized filter function 2006 is deconvolved at deconvolution 2008 to determine a predicted response of the system. In some embodiments, the parameterized filter function 2006 and the deconvolution 2008 define a tROM 2010.
[0092] Data Synchronization
[0093] 21, a graph 2100 showing collected data over time for a system (e.g., ESP) includes a series of GOR points, a series of WC points, a series of fluid flow rate points, a series of discharge pressures, a series of suction pressures, a series of tubing head pressures, and a series of drive frequencies. According to some embodiments, graph 2100 shows well test performance and recording of GOR, WC, and liquid flow rate data points. As shown in graph 2100, a first well test 2114 is performed between times t2 and t3 (represented by lines 2104 and 2106), but data for the first well test (i.e., GOR, WC, and liquid flow rate values) is recorded as having been obtained at time t1 (represented by line 2102). Similarly, a second well test 2116 is performed between times t5 and t6 (represented by lines 2110 and 2112), while the data for the second well test (i.e., values of GOR, WC, and liquid flow rate) is recorded as having been obtained at time t4 (represented by line 2108). Thus, as can be seen in FIG. 21, the timestamps for the data for the well test (e.g., calibration data) are not synchronized with the actual time the well test is performed. This may be due to the GOR, WC, and liquid flow rate data being obtained from a different source than the discharge pressure, suction pressure, etc. However, using digital twin data that is not synchronized with other data will result in inconsistencies in the digital twin's output. In some embodiments, the calibration data for the well test (e.g., GOR, WC, and liquid flow rate) are average values collected over the duration of the well test. Thus, to synchronize calibration data for a well test from one source with other data for a well test from a second source, it may be necessary to synchronize the time periods (e.g., to synchronize both the start and end times associated with the calibration data and the other data). In some embodiments, GOR, WC, and liquid flow rate are independent test results, as shown in FIG.
[0094] In some embodiments, the synchronization is performed manually by an engineer. For example, the collected data can be real-time input (e.g., sensor data obtained from system 728) or data reported by an engineer performing a well test. In some embodiments, the engineer can synchronize the data to account for errors in the well test data during calibration or relative to the time the well test was performed, different time zones between different sources of data. In some embodiments, the synchronization is performed automatically by the digital twin 718 or the digital twin generator 716. For example, the digital twin generator 716 can obtain data from different sources (e.g., real-time input from system 728, or historical data, and independent test results provided by an engineer) and identify identical data points (e.g., identical values of a particular set of data) between the two sources. The digital twin generator 716 can synchronize the timestamps of the data from either source so that the timestamps of the identical data points match, and also adjust the rest of the data in the sources, thereby synchronizing the data from the two sources. In some embodiments, the graph 2100 is displayed to a user (e.g., via a display screen on the dashboard 1600) so that the user can observe the various acquired data responses and synchronize the calibration data with other data sources.
[0095] Weighted Calibration Data
[0096] Referring to FIG. 22, a graph 2200 illustrates data obtained from an ESP (e.g., discharge pressure, suction pressure, tubing head pressure, and drive frequency), a predicted liquid flow rate (shown by a series of points 2202), and a well test or calibration data set 2204, 2206 (including GOR, WC, and liquid flow rate), according to some embodiments. The graph 2200 illustrates a first well test 2208 and a second well test 2210, according to some embodiments. In some embodiments, the predicted liquid flow rate is an output of the digital twin generated using the calibration data sets 2204, 2206. In some embodiments, the weighting of the calibration set 2204 or 2206, or the weighting of the digital twin's output (e.g., liquid flow rate), is assigned a weighting based on the expected accuracy of the well test 2208 or 2210. In some embodiments, the weighting is a value assigned by a user. In some embodiments, the weighting is in the range of 0% to 100%. For example, well test 2210 may be shown as having a shorter duration than the duration of well test 2208, and therefore may provide less reliable data. Thus, a user may provide a 50% weighting to calibration data set 2206 and a 100% weighting to calibration data set 2204, thereby generating a digital twin. The weighting may be used to determine a weighted average of the values of calibration data sets 2204, 2206 (which may be used in any of the techniques described in detail above in connection with any of the calibration ROMs). In some embodiments, the time synchronization techniques described in detail above with reference to FIG. 21 and the weighting techniques described with reference to FIG. 22 are implemented in connection with the digital twin in a closed loop manner. In some embodiments, graph 2200 and / or graph 2100 are presented to a user on dashboard 1600 to allow the user to provide different weightings to the calibration data 2204, 2206 (e.g., to the digital twin generator 716), adjust time synchronization, etc., and observe the resulting effects of adjustments to the weightings and time synchronization on the digital twin output.
[0097] Quasi-static parameter thresholds
[0098] 23, a graph 2300 illustrates tracking of various quasi-static parameters of a digital twin (e.g., quasi-static parameters of digital twin 718) over time, according to some embodiments. In some embodiments, graph 2300 illustrates tracking values of a first quasi-static parameter, a second quasi-static parameter, and a third quasi-static parameter over time. In some embodiments, twinning tool 702 or digital twin 718 is configured to compare values of the quasi-static parameters (e.g., a series of points 2302, 2304, 2306) over time to corresponding thresholds (e.g., thresholds 2308, 2310, 2312). In some embodiments, thresholds 2308, 2310, 2312 are based on an average value of the last n values of the quasi-static parameters. If the value of the quasi-static parameter deviates from the threshold 2308, 2310, 2312, this may indicate that an improper calibration test (e.g., well test) has been performed, and therefore a warning may be issued to the user (e.g., by the twinning tool 702, dashboard 726, etc.). In some embodiments, the threshold 2308, 2310, 2312 may cause the quasi-static parameter to deviate by a certain percentage of the previous value of the quasi-static parameter or an average value of the previous number of values of the quasi-static parameter. For example, if the previous value of the second quasi-static parameter is 0.55, the threshold may be 0.55±0.05 (0.55).
[0099] Separate Calibration ROM
[0100] 24, diagram 2400 illustrates a variation of any of the calibration ROMs described herein, according to some embodiments. It should be understood that the system illustrated in diagram 2400 and described herein with reference to FIG. 24 can be used in place of any of the calibration ROMs described throughout this specification.
[0101] The calibration ROM, according to some embodiments, may be embodied as an optimization system as shown in FIG. 24. Specifically, the inverse ROM 400 may receive controllable variables 502 and set parameters 504 and may output one or more measurement predictions (e.g., predictions of measurable variables). The measurement predictions, according to some embodiments, may be predictions of pressure, temperature, torque, GOR, WC, flow rate, etc., or any other variable or parameter that can be measured. In some embodiments, the measurement predictions and the measured variables 508 are used (e.g., at the junction 2402) to calculate a prediction error (e.g., the difference between the measurement predictions and the measured variables 508). The prediction error may be used in a weighted cost function 2404, which is provided to an optimization solver 2406. The optimization solver 2406 may output, adjust, predict, etc., the unmeasurable variables 506 for the inverse ROM 400, according to some embodiments. In this manner, the optimization solver 2406 can vary or adjust the values of the unmeasurable variables 506 to drive the weighted cost function 2404 or prediction error toward zero. The unmeasurable variables 506 provided to and used by the inverse ROM 400 to determine the measurement predictions may be a form of tuning or internal parameters used by the inverse ROM 400. Thus, finding the optimal values of the unmeasurable variables 506 with respect to the inverse ROM 400 provides a recursive optimization that can be performed in place of a calibration ROM.
[0102] Configuration of the Example Embodiment
[0103] As used herein, the terms "approximately," "about," "substantially," and similar terms are intended to have broad meanings consistent with normal and accepted usage by those of ordinary skill in the art in connection with the subject matter of the present disclosure. As should be understood by those of ordinary skill in the art who review the present disclosure, these terms are intended to allow for the description of certain features described and claimed without constraining the scope of such features to the exact numerical ranges provided. Thus, these terms should be interpreted as indicating that insignificant or inconsequential modifications or variations of the subject matter described and claimed are considered to be within the scope of the invention as set forth in the claims.
[0104] It should be noted that the term "exemplary" as used herein to describe various embodiments is intended to indicate that such embodiments are possible examples, representatives, and / or illustrations of possible embodiments (and such terminology does not necessarily imply that such embodiments are unexpected or best examples).
[0105] As used herein, the terms "coupled," "connected," and the like refer to the direct or indirect joining of two members to one another. Such joining may be immovable (e.g., permanent) or movable (e.g., removable, releasable, etc.). Such joining may be accomplished with two members, or two members and optional additional intermediate members, integrally formed with one another as a single unitary body, or with two members or two members and optional additional intermediate members attached to one another.
[0106] References herein to the location of elements (e.g., "top", "bottom", "up", "down", etc.) are merely used to describe the orientation of the various elements shown in the figures. It should be noted that the orientation of the various elements may vary according to other exemplary embodiments, and such variations are intended to be included in the present disclosure.
[0107] Also, the term "or" is used in its inclusive sense (rather than its exclusive sense), such that, for example, when used to connect elements shown as a list, the term "or" means one, some, or all of the elements in the list. Following a conjunction, for example, "at least one of X, Y, Z" is understood in the context in which it is commonly used to mean that an item, term, etc. may be X, Y, Z, X and Y, X and Z, Y and Z, or X and Y and Z (i.e., any combination of X, Y, and Z), unless specifically specified otherwise. Thus, such conjunctions generally do not imply that a particular embodiment requires that at least one of X, at least one of Y, and at least one of Z each be present, unless specifically specified otherwise.
[0108] It is important to note that the configuration and arrangement of the elements of the system and method as shown in the illustrated embodiments are merely exemplary. Although only a few embodiments of the present disclosure have been described in detail, as will be readily understood by those skilled in the art reviewing this disclosure, many modifications (e.g., variations in size, dimensions, configuration, shape and proportions of various elements, parameter values, mounting arrangements, use of materials, colors, orientations) are possible that do not significantly depart from the novel teachings and advantages of the present subject matter described. For example, an element shown as integrally formed may be composed of multiple parts or elements. It should be noted that the elements and / or assemblies of components described herein may be composed of any of a wide variety of materials that provide sufficient strength or durability in any of a wide variety of colors, textures, and combinations. Accordingly, all such modifications are intended to be included within the scope of the present invention. Other substitutions, modifications, changes, and omissions of the design, operating conditions, and arrangements of the preferred and other embodiments may be made without departing from the scope of this disclosure or the spirit of the invention as set forth in the appended claims.
Claims
1. 1. A method for creating and using a digital twin of a hydrocarbon system, the method comprising: running multiple simulations using a design of experiments (DOE) methodology to generate a hyper-dimensional space that maps the inputs, outputs, and attributes of the simulations; using the hyper-dimensional space obtained from the multiple simulations to generate one or more reduced order models (ROMs) using regression or machine learning methods; generating a digital twin of the hydrocarbon system by instantiating the one or more ROMs at an operating location of the hydrocarbon system based on data from field testing on the hydrocarbon system, and configuring the digital twin such that it uses real-time data obtained from the hydrocarbon system; using the digital twin to estimate values of one or more variables of the hydrocarbon system in real time; controlling the hydrocarbon system based on the estimates of the one or more variables.
2. The one or more ROMs include Forward ROM, Inverse ROM, or The method of claim 1 further comprising a calibration ROM.
3. The method of claim 2 , wherein the forward ROM is configured to predict values of one or more variables of the hydrocarbon system for a what-if scenario based on values of one or more controllable variables, values of one or more configuration parameters, and values of one or more calibration variables.
4. 3. The method of claim 2, wherein the inverse ROM is configured to solve an inverse problem to estimate values of one or more system variables of the hydrocarbon system based on values of one or more controllable variables, values of one or more configuration parameters, values of one or more calibration variables, and values of one or more measured variables of the hydrocarbon system.
5. 3. The method of claim 2, wherein the calibration ROM is configured to estimate one or more calibration variables based on values of one or more controllable variables, values of one or more configuration parameters, values of one or more unmeasurable variables, and values of one or more measurement variables for the forward ROM or the inverse ROM.
6. 2. The method of claim 1 , wherein the digital twin includes instantiations of a plurality of ROMs, one or more of the plurality of ROMs configured to provide as inputs outputs to different ROMs of the plurality of ROMs.
7. The method of claim 1, further comprising the steps of: conducting said field tests at said hydrocarbon system to obtain calibration data; 2. The method of claim 1 , further comprising at least one of regenerating the one or more ROMs and regenerating the digital twin with the calibration data to generate a calibrated digital twin, or providing the calibration data to the calibration ROM for use in updating one or more other ROMs of the digital twin.
8. 8. The method of claim 7, wherein the reconstructing step includes the step of automatically selecting an optimal combination of both DOE sampling scheme and ROM model and parameters in the simultaneous presence of calibration measurements and calibration matching criteria.
9. The method of claim 8 , wherein the reconstruction step includes an iterative process and a Bayesian regularization method.
10. 1. A system for creating and using a digital twin of a hydrocarbon system, the system comprising: a processor, the processor comprising: Multiple simulations are run in a hyper-dimensional space to generate outputs, using the output of the multiple simulations to generate one or more reduced order models (ROMs) using regression or machine learning techniques, at least one of the ROMs being a transient ROM; generating a digital twin of the hydrocarbon system by instantiating the one or more ROMs at an operating site of the hydrocarbon system, and configuring the digital twin such that it uses real-time data obtained from the hydrocarbon system; and A system configured to operate the hydrocarbon system based on an output of the digital twin.
11. The processor further comprises: The system of claim 10 , configured to estimate values of one or more variables of the hydrocarbon system in real time using the digital twin and the real-time data.
12. The system of claim 11 , wherein the real-time data includes at least one of a wellhead pressure, a flowline pressure, an injection pressure, an injection rate, a pump discharge pressure, a pump suction pressure, a voltage, a current, or a motor temperature of the hydrocarbon system.
13. The processor is configured to perform an auto-calibration check of the digital twin, the operation of performing the auto-calibration check comprising: obtaining measurements of one or more predictor variables of said hydrocarbon system; determining one or more quasi-static parameters using said measurements of said one or more predictor variables; determining whether the one or more quasi-static parameters have converged; 11. The system of claim 10, further comprising, in response to determining that the one or more quasi-static parameters have not converged, adjusting one or more of the predictor variables, re-determining the one or more quasi-static parameters, and determining again whether the one or more quasi-static parameters have converged.
14. The processor is configured to perform an auto-calibration check of the digital twin, the operation of performing the auto-calibration check comprising: obtaining measurements of one or more predictor variables of said hydrocarbon system; determining one or more quasi-static parameters using said measurements of said one or more predictor variables; determining a predicted response using said one or more quasi-static parameters; comparing said predicted response with an actual response of said hydrocarbon system to determine a prediction error of said response; and 11. The system of claim 10, further comprising the steps of: adjusting the quasi-static parameters and then again determining the predicted response to minimize the prediction error; and again comparing the predicted response to the actual response to determine the prediction error of the response.
15. The system of claim 10, wherein the transient ROM includes a filter function, the parameters of the filter function being one or more quasi-static parameters output by a calibration ROM, and the filter function is configured to determine a predicted response given an input of one or more measurements of the hydrocarbon system using deconvolution and the filter function.
16. 16. The system of claim 15, wherein the processor is configured to instantiate the one or more ROMs of the digital twin with a plurality of measurements from a first data source and data of the moving parts from a second data source, the plurality of measurements from the first data source and the data of the moving parts being synchronized in time with each other.
17. 17. The system of claim 16, wherein the processor is configured to automatically time synchronize the plurality of measurements from the first data source and the operating location data from the second data source.
18. 11. The system of claim 10, wherein the processor is configured to instantiate the one or more ROMs with a plurality of data for the operating locations of the hydrocarbon system, each of the plurality of data for the operating locations including a weighting indicating a reliability factor for each of the plurality of data for the operating locations.
19. 11. The system of claim 10, wherein the processor is configured to recalculate the parameters of the one or more ROMs over time and monitor changes in the parameters of the one or more ROMs, and the processor is configured to alert a technician in response to the parameters of the one or more ROMs changing by an amount equal to or greater than a threshold amount.
20. 1. A twinning tool for generating and using a digital twin of a hydrocarbon system, the twinning tool having processing circuitry, the processing circuitry comprising: running multiple simulations using a design of experiments (DOE) methodology, thereby generating a hyper-dimensional space that maps inputs, outputs, and attributes of the simulations; using the hyper-dimensional space from the multiple simulations to generate multiple reduced order models (ROMs) using curve fitting techniques; determining a plurality of quasi-static parameters by providing as input to the plurality of ROMs calibration data obtained by performing field tests on the hydrocarbon system; generating a digital twin of the hydrocarbon system based on the plurality of quasi-static parameters and the plurality of ROMs; using the digital twin to predict the response of the hydrocarbon system over a future time horizon; and and a twinning tool configured to display to an engineer the predicted response of the hydrocarbon system over the future time horizon.
