The present disclosure relates to modelling a hydrocarbon system. More particularly, the present disclosure relates to real-time model based analysis and control of a hydrocarbon system.
One implementation of the present disclosure is a method for generating and using a digital twin of a hydrocarbon system, according to some embodiments. In some embodiments, the method includes performing a plurality of simulations using design of experiments (DOE) techniques to create a hyperdimensional space mapping simulation inputs, outputs and attributes. In some embodiments, the method includes using the hyperdimensional space from the plurality of simulations to generate one or more reduced order models (ROMs) using a regression technique or a machine learning technique. In some embodiments, the method includes generating a digital twin of the hydrocarbon system by instantiating the one or more ROMs at an operational point 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 estimating values of one or more variables of the hydrocarbon system in real-time using the digital twin. In some embodiments, the method includes controlling the hydrocarbon system based on the estimated values of the one or more variables.
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 system for a hypothetical 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.
In some embodiments, the inverse ROM is configured to solve an inversion 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.
In some embodiments, the calibration ROM is configured to estimate one or more calibration variables for the forward ROM and the inverse ROM 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 measured variables. In some embodiments, the digital twin includes an instantiation of a plurality of ROMs, wherein one or more of the plurality of ROMs are configured to provide an output to a different ROM of the plurality of ROMs as an input.
In some embodiments, the method further includes performing an on-site test at the hydrocarbon system to obtain calibration data. In some embodiments, the method includes, at least one of (1) re-generating the one or more ROMs and re-generating the digital twin using 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.
In some embodiments, the re-generation includes an automated selection of an optimal combination of both a DOE sampling scheme, and ROM model and parameters, simultaneously in the presence of calibration measurements and a calibration match criteria. In some embodiments, the re-generation includes an iterative process and a Bayesian regularization technique.
Another implementation of the present disclosure is a system for generating and using a digital twin of a hydrocarbon system, according to some embodiments. In some embodiments, the system includes a processor. In some embodiments, the processor is configured to perform a plurality of simulations in a hyperdimensional space to generate outputs. In some embodiments, the processor is configured to use the outputs of the plurality of simulations to generate one or more reduced order models (ROMs) using a regression technique or a machine learning technique. In some embodiments, the processor is configured to generate a digital twin of the hydrocarbon system by instantiating the one or more ROMs at an operational point of the hydrocarbon system, and configuring the digital twin to use real-time data obtained from the hydrocarbon system. In some embodiments, the processor is configured to operate the hydrocarbon system based on outputs of the digital twin.
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 real-time data. In some embodiments, the real-time data includes at least one of a wellhead pressure, a flow line pressure, an injection pressure, an injection rate, a pump discharge pressure, a pump intake pressure, a voltage, a current, or a motor temperature of the hydrocarbon system.
In some embodiments, the processor is configured to perform an automatic calibration check of the digital twin. In some embodiments, performing the automatic 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 if 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 is configured to adjust one or more of the predictor variables and re-determine the one or more quasi-static parameters and re-determine if the one or more quasi-static parameters have converged.
In some embodiments, the processor is configured to perform an automatic calibration check of the digital twin. In some embodiments, performing the automatic 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 re-determining the predicted response, and re-comparing the predicted response to the actual response to determine the prediction error of the response.
In some embodiments, at least one of the ROMs of the digital twin is a transient ROM. In some embodiments, 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. In some embodiments, the filter function is configured to use deconvolution and the filter function to determine a predicted response given an input of one or more measurements of the hydrocarbon system.
In some embodiments, the processor is configured to use a plurality of measurements from a first data source, and data of the operational point from a second data source to instantiate the one or more ROMs of the digital twin. In some embodiments, the plurality of measurements from the first data source and the data of the operational point are temporally synchronized with each other.
In some embodiments, the processor is configured to automatically temporally synchronize the plurality of measurements from the first data source, and the data of the operational point from the second data source. In some embodiments, the processor is configured to instantiate the one or more ROMs using a plurality of data of the operational point of the hydrocarbon system, each of the plurality of data of the operational point having a weighting indicating a confidence factor of each of the plurality of data of the operational point.
In some embodiments, the processor is configured to re-calculate parameters of the one or more ROMs over time and monitor changes of the parameters of the one or more ROMs. In some embodiments, the processor is configured to alert a technician in response to the parameters of the one or more ROMs changing by more than a threshold amount.
Another implementation of the present disclosure is a twinning tool for generating and using a digital twin of a hydrocarbon system, according to some embodiments. In some embodiments, the twinning tool includes processing circuitry configured to perform a plurality of simulations using design of experiments (DOE) techniques to create a hyperdimensional space mapping simulation inputs, outputs and attributes. In some embodiments, the processing circuitry is configured to use the hyperdimensional space from the plurality of simulations to generate a plurality of reduced order models (ROMs) using a curve-fitting technique. In some embodiments, the processing circuitry is configured to determine a plurality of quasi-static parameters by providing calibration data obtained from performing a test at the hydrocarbon system as inputs to the plurality of ROMs. In some embodiments, the processing circuitry is configured to generate a digital twin of the hydrocarbon system based on the plurality of quasi-static parameters and the plurality of ROMs. In some embodiments, the processing circuitry is configured to predict a response of the hydrocarbon system over a future time horizon using the digital twin, and display the predicted response of the hydrocarbon system over the future time period to a technician.
The disclosure will become more fully understood from the following detailed description, taken in conjunction with the accompanying figures, wherein like reference numerals refer to like elements, in which:
Before turning to the FIGURES, which illustrate the exemplary embodiments in detail, it should be understood that the present application is not limited to the details or methodology set forth in the description or illustrated in the FIGURES. It should also be understood that the terminology is for the purpose of description only and should not be regarded as limiting.
Referring particularly to
The offline techniques 106 can include using one or more simulators 108 to perform a design and execution of experiments (DOE) 110. The simulators 108 and the DOE 110 can be multiple what-if scenarios in a hyperdimensional space (e.g., different values of speed of the pump or other parameters). For example, the simulators 108 may be different models, equations, operational curves, etc., of various components, sub-systems, or devices of the system that the digital twin 116 represents, and may also include various interrelationships (e.g., which models feed into each other, etc.) of the various components, sub-systems, devices, etc., of the system that the digital twin 116 represents. The simulators 108 and DOE 110 can use advanced techniques based on known information of the system that the digital twin 116 represents so that excessive numbers of simulations do not need to be simulated. For example, the simulations may be performed in a hyperdimensional space of various variables that the system which the digital twin 116 is to represent are expected to operate within. For example, if the system is a pump for a hydrocarbon system that is expected to operate at a pressure between 1000 and 3000 psi, the simulations may be performed for pressure in this range. In another example, if the system that the digital twin 116 represents is a hydrocarbon pump, the DOE 110 can simulate or estimate choke percentage, water output, etc., for different values of manipulated variables (e.g., speed or rpm of the system that the digital twin 116 represents), or different ranges of manipulated variables. The results of the DOE 110 may be operational or hypothetical (e.g., simulated operational) curves of different output variables of the system that the digital twin 116 represents, given different ranges or values of input variables. The DOE 110 may use Naïve DOE techniques, or randomized DOE sampling techniques (e.g., latin hypercube DOE techniques, Sobol DOE techniques, Halton DOE techniques, etc.). In some embodiments, the randomized DOE sampling techniques overlap with operational range of all quantities of the digital twin to avoid extrapolation.
The results of the DOE 110 can be used to create ROMs, shown as ROM creation technique 112. The ROMs 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 inversion problem and estimate different 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 different calibration variables of the system that the digital twin 116 represents). Transient ROMs may be more complex than static or steady-state ROMs and may require additional elaboration or further techniques for generation, such as deconvolution, gradient search techniques, etc. In some embodiments, inputs to tROMs are quasi-static parameters or outputs of calibration ROMs. In some embodiments, the tROMs output predictions that are used to solve a deconvolution problem in order to estimate unmeasured or unmeasurable dynamic system variables. In some embodiments, tROMs also include convolutional neural networks. The ROMs can be generated using an advanced regression technique, a neural network, and/or or machine learning technique. For example, the ROMs can be generated based on the outputs of the DOE 110 using a linear regression technique, a Gaussian process regression technique, neural networks, XGBoost for regression, LGBoost, an auto-select (e.g., a Bayesian-based) regression technique, etc.
The digital twin 116 may be generated based on the one or more ROMs that are created when performing the ROM creation technique 112. For example, the digital twin 116 may include several of the ROMs and interrelationships between the ROMs (e.g., which ROM feeds 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. Outputs of the calibration ROM can be provided to both the inverse ROM and the forward ROM. Outputs of the inverse ROM may be provided to the forward ROM.
The digital twin 116 includes one or more of the ROMs and can be instantiated at a particular point in time based on the real-time inputs 118, according to some embodiments. The outputs of the ROMs that define the digital twin 116 for the instantiation at the particular point in time can the real-time outputs 120 of the digital twin 116. In this way, the digital twin 116 operates based on real-time inputs 118 to provide real-time outputs 120, according to some embodiments.
Referring still to
Referring now to
The forward ROM 300 can generally have the form:
varpredict=ffwd(varcontrol,varconfig,varcal)
where varpredict is multiple sets of time-series data of different variables that are predicted by the forward ROM 300, varcontrol is multiple sets time-series data of different controllable variables (e.g., the controllable variables 302), varconfig is multiple sets of time-series data of different configuration parameters (e.g., the configuration parameters 304), varcal is multiple sets of time-series data of different calibration variables (e.g., the calibration variables 306), and ffwd is the forward ROM 300 (e.g., a function). If the system that the digital twin 116 represents is a hydrocarbon well pump, the controllable variables 302 may include pump speed, choke position/percent, valve position, etc., the configuration parameters 304 may be well design or pump configuration parameters, the calibration variables 306 may be GOR, WC, PI, friction factor, etc., variables, and the predicted variables 308 may be pressure, temperature, torque, liquid flow rate, pump leakage, etc. The forward ROM 300 can output values of the predicted variables 308 (e.g., a response of the system) given different inputs of the controllable variables 302 (e.g., an impact on pressure, temperature, torque, liquid flowrate, pump leakage, boundary conditions, etc., that will occur if the speed of the pump or the choke is adjusted).
Referring now to
The inverse ROM 400 is configured to solve an inversion problem to estimate or calculate system variables 410 for the system that the digital twin 116 represents based on the controllable variables 402, the configuration parameters 404, the calibration variables 406, and the measured variables 408. For example, given different control inputs, configuration of the system, calibration of the system, and sensor data of the system, the inverse ROM 400 can estimate values of the system variables 410 that the system had to result in the measured variables 408. For example, the system variables 410 can include GOR, WC, liquid flowrate, pump leakage, etc., or any other variable that is difficult to measure. Advantageously, the inverse ROM 400 allows the inference of various parameters that are difficult to measure or that cannot be measured in real-time. Such unmeasurable parameters can be valuable and usable in a control scheme for the system that the digital twin 116 represents.
The inverse ROM 400 can generally have the form:
varsys=finv(varcontrol,varconfig,varcal,varmeas)
where varsys is multiple sets of time-series data of system variables that are estimated by the inverse ROM 400 (e.g., the system variables 410), varcontrol is multiple sets of time-series data of different controllable variables (e.g., the controllable variables 402 or the controllable variables 302), varconfig is multiple sets of time-series data of different configuration parameters (e.g., the configuration parameters 404 or the configuration parameters 304), varcal is multiple sets of time-series data of different calibration variables (e.g., the calibration variables 406), varmeas is multiple sets of time-series data of different measured variables (e.g., the measured variables 408), and finv is the inverse ROM 400 (e.g., a function). The calibration variables 406 can include PI, friction factor, etc., and may be outputs of a calibration ROM (e.g., the calibration ROM 500 as described in greater detail below with reference to
Referring now to
The calibration ROM 500 is configured to generate calibration values that can be used to update other calibration inputs of different ROMs of the digital twin 116 (e.g., the inverse ROM 400, the forward ROM 300, etc.). The calibration ROM 500 can generally have the form:
varcal,varunmeas=fcal(varcontrol,varconfig,varmeas)
where varcal is multiple sets of time-series data of calibration variables that are estimated by the calibration ROM 500 (e.g., the calibration variables 406 or a portion of the calibration variables 306), varunmeas is multiple sets of time-series data of different unmeasurable or system variables (e.g., the unmeasurable variables 506, the system variables 410) estimated by the calibration ROM 500, varcontrol is multiple sets time-series data of different controllable variables (e.g., the controllable variables 502, the controllable variables 402 or the controllable variables 302), varconfig is multiple sets of time-series data of different configuration parameters (e.g., the configuration parameters 504, the configuration parameters 404 or the configuration parameters 304), and fcal is the calibration ROM 500 (e.g., a function). The outputs of the calibration ROM 500 can be provided as inputs to other ROMs of the digital twin 116 (e.g., the inverse ROM 400 and/or the forward ROM 300).
Referring now to
The calibration ROM 500 also provides its outputs (e.g., the calibration variables 510) to a calibration report application 604. The calibration report application 604 can be an external application that is configured to generate a report for a technician to view (e.g., graphs, charts, values of the calibration variables 510, use of the calibration variables 510, etc.).
The inverse ROM 400 is configured to provide its outputs to the forward ROM 300, according to some embodiments. The inverse ROM 400 may also provide its outputs (e.g., the system variables 410) to the calibration ROM 500 for use in determining the calibration variables 510. For example, the inverse ROM 400 can provide the system variables 410 to the forward ROM 300. The inverse ROM 400 and the forward ROM 300 both provide their outputs (e.g., the system variables 410 and the predicted variables 308) to a simulation application 606, an MPC/optimization application 608, a feedback controller 610, or a dashboard 612. In this way, outputs of the digital twin 602 can be used to perform simulations, to perform MPC or optimization of the system that the digital twin 602 represents, to perform feedback or closed loop control (e.g., PID control) of the system that the digital twin 602 represents, and for data presentation on dashboards. In some embodiments, outputs of the MPC or optimization are provided to the inverse ROM 400, the forward ROM 300, or the calibration ROM 500 as inputs.
Referring now to
The memory 708 can include one or more devices (e.g., memory units, memory devices, storage devices, etc.) for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure. The memory 708 can 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 can include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. The memory 708 can be communicably connected to the processor 706 via the processing circuitry 704 and can include computer code for executing (e.g., by the processor 706) one or more processes described herein.
The memory 708 includes one or more simulators 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
In some embodiments, the twinning tool 702 is also configured to receive independent test results (e.g., results of a test performed at the system 728 by a technician). A technician can perform a test at the system 728 (e.g., a well test) to obtain one or more measurements and provide the one or more measurements to the twinning tool 702 (e.g., via a user interface, a smartphone, a touchscreen device, etc.). It should be understood that the functionality of the twinning tool 702 can be implemented locally at the system 728 (e.g., on a single processing circuit) or may be implemented remotely and/or in a distributed manner (e.g., in a cloud computing system). For example, the twinning tool 702 can be cloud based such that the twinning tool 702 receives the real-time inputs, the system information, and the independent test results at a remote location, performs its functionality, and then provides outputs (e.g., the digital twin, the digital twin outputs, etc.) to one or more applications (e.g., a closed loop controller 720, an MPC/optimization system 722, one or more simulators 724, dashboards 726, edge devices 730, etc.) that are positioned locally at the system 728 or are positioned remotely from the system 728 in the cloud computing system.
The simulators 710 can be or include one or more functions, models, operational curves, etc., that represent different portions of the system 728, and/or one or more interrelationships of the one or more functions, models, operational curves, etc., of the different portions of the system 728 so that outputs of the system 728 can be simulated, according to some embodiments. The simulators 710 can be configured to implement a multi-variable or hyper-dimensional simulation of the system 728 to generate different outputs of the system 728 given different inputs of the system 728 (e.g., control inputs, temperature settings, flow rates, pump speed, etc., depending on a type of the system 728), according to some embodiments. For example, the simulators 710 may be configured to perform a high-fidelity simulation of the system 728. For example, the simulators 710 can include an electric submersible pump (ESP) simulator, a rod pump dynamic simulator, a pipe simulator, etc. The simulation outputs of the simulators 710 may be in the form of multi-dimensional graphs, curves, surface plots, etc., that express relationships between different variables (e.g., input and output variables of the system 728), according to some embodiments.
In some embodiments, the DOE manager 712 is configured to use the simulators 710 to implement the one or more simulations by performing one or more DOE techniques. The DOE techniques can include Naïve DOE techniques, randomized DOE techniques, latin hypercube DOE techniques, Sobol DOE techniques, Halton DOE techniques, etc. The DOE manager 712 uses the simulators 710 to generate the simulation outputs and provides the simulation outputs to the ROM generator 714. For example, the DOE manager 712 can provide one or more multi-dimensional graphs to the ROM generator 714. The DOE manager 712 may implement any of the techniques of the DOE 110 as described in greater detail above with reference to
The ROM generator 714 is configured to use the simulation outputs provided by the DOE manager 712 that are generated using the simulators 710 to generate one or more ROMs based on the simulation outputs, according to some embodiments. The ROMs can be generated by the ROM generator 714 using an advanced regression technique and the simulation outputs of the simulators 710, according to some embodiments. For example, the ROM generator 714 can be configured to use a linear regression technique, a Gaussian process regression technique, neural networks, machine learning techniques, a Bayesian-based regression technique, etc. The ROMs can include the calibration ROM 500, the inverse ROM 400, the forward ROM 300, or a transient ROM 732.
Referring still to
The digital twin 718 is configured to provide any of the outputs discussed above (e.g., the predicted variables, the system variables, and/or the calibration variables, etc.) to one or more external applications such as the closed loop controller 720, the MPC/optimization system 722, the simulators 724, the dashboards 726, and/or the edge devices 730. It should be understood that this list is not exhaustive and that the digital twin 718 may provide its outputs to additional external applications. In some embodiments, the twinning tool 702 is configured to provide the digital twin 718 to any of the closed loop controller 720, the MPC/optimization system 722, the simulators 724, the dashboards 726, and/or the edge devices 730 for implementation and use of the digital twin 718 locally.
In some embodiments, the digital twin generator 716 is configured to calibrate the digital twin 718 based on the independent test results or calibration variables obtained by performing the independent test at the system 728. For example, the digital twin generator 716 may re-instantiate the digital twin 718 using the calibration variables obtained by performing the independent test at the system 728. In some embodiments, the simulators 710, the DOE manager 712, and the ROM generator 714 are configured to re-perform their functionality using the calibration variables of the independent test results to re-generate the ROMs. If the system 728 is a hydrocarbon well pump, the calibration variables obtained by performance of the independent test can be GOR, WC, and liquid flowrate.
The closed loop controller 720 is configured to use the digital twin outputs and/or the digital twin 718 to perform closed-loop control of the system 728, according to some embodiments. For example, the closed loop controller 720 can implement a PID control scheme to operate the system 728. The MPC/optimization system 722 can be configured to minimize, maximize, or otherwise optimize a cost function (e.g., a reward function) relative to one or more constraints by adjusting one or more control variables over a future 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 a value of the objective function, or to impose constraints on the objective function. In some embodiments, the MPC/optimization system 722 is configured to determine high-level control decisions for the system 728, and may provide the high-level control decisions to the closed loop controller 720. In some embodiments, the dashboards 726 are configured to use to digital twin and/or the digital twin outputs to generate dashboards for a technician and provide the dashboards to the technician.
Referring to
Process 200 includes performing multiple simulations in a hyperdimensional space to generate outputs (step 202), according to some embodiments. In some embodiments, step 202 is configured to perform simulations using the simulators 710. In some embodiments, step 202 is performed by DOE manager 712 and simulators 710. Results of the simulations may include multi-dimensional graphs, surface plots, etc., showing relationships between different variables of the system that the digital twin represents.
Process 200 includes using the outputs of the multiple simulations to generate one or more reduced order models (ROMs) using a regression or machine learning technique (step 204), according to some embodiments. In some embodiments, step 204 is performed by the ROM generator 714 using any of the techniques described in greater detail above with reference to
Process 200 includes generating a digital twin of the system using the one or more ROMs, the digital twin including at least one of the one or more ROMs (step 206), according to some embodiments. In some embodiments, the digital twin is the digital twin 116, the digital twin 602, etc., or any other digital twin described herein. Step 206 can be performed by the digital twin generator 716 of the twinning tool 702, according to some embodiments. The digital twin can include the forward ROM, the inverse ROM, and/or the calibration ROM, and may include an interrelationship between the ROMs so that outputs of certain ROMs are fed into other ROMs as inputs, according to some embodiments. In some embodiments, the digital twin is an instantiation of the one or more ROMs and uses real-time data (e.g., sensor data) from the system that it represents. In this way, steps 202-206 may be performed off-line, while the ROM is used online with real-time data.
Process 200 includes using the digital twin to predict or output values of one or more variables of the system in a real-time application (step 208), according to some embodiments. In some embodiments, the digital twin is implemented in an on-line mode and is configured to receive real-time data from the system that it represents. The real-time data that the digital twin receives may depend on a particular application of the digital twin, according to some embodiments. The digital twin can use the ROMs to output different sets of variables including predicted variables, system variables, and calibration variables, according to some embodiments. In some embodiments, the predicted variables include pressure, temperature, torque, liquid flowrate, and pump leakage of the system that the digital twin represents. In some embodiments, the system variables include GOR, WC, liquid flow rate, and pump leakage of the system that the digital twin represents. In some embodiments, the calibration variables include PI and friction factor.
Process 200 includes performing an independent test on measurable outputs of the system that the digital twin represents (step 210), according to some embodiments. In some embodiments, for example, if the system is a hydrocarbon well pump, the test may be a well test to measure GOR, WC, and liquid flowrate of the hydrocarbon well pump. In some embodiments, step 210 is performed by a technician at the system that the digital twin represents. A well test can include updating one or more calibration knobs or quasi-static parameters of the digital twin.
Process 200 includes performing a calibration based on results of the independent test (step 212), according to some embodiments. In some embodiments, step 212 is performed by digital twin generator 716 by providing new calibration values as inputs to the various ROMs of the digital twin. In some embodiments, step 212 is performed by the simulators 710, the DOE manager 712, and the ROM generator 714 to re-generate the ROMs based on new calibration values that are obtained.
Process 200 includes updating one or more parameters of the digital twin or of the ROMs of the digital twin based on the calibration (step 214), according to some embodiments. Step 214 can be performed by the simulators 710, the DOE manager 712, and the ROM generator 714, according to some embodiments. In response to performing step 214, process 200 can return to step 208, or alternatively to step 202. It should be understood that steps 210-214 (or alternatively steps 202-214) may be performed in a non-real time basis (e.g., every month, every six months, etc.). In some embodiments, steps 212-214 (or steps 202-214) are only performed in response to step 210 if the independent test that is performed indicates that the digital twin needs to be re-calibrated.
Referring now to
In some embodiments, one or more of the variables or parameters are measured values (e.g., measured and provided to a digital twin as real-time data). In some embodiments, one or more of the variables or parameters are obtained by performing a hyperdimensional simulation (e.g., performed when generating the inverse ROM). In some embodiments, one or more of the variables or parameters can be obtained by performing an on-site test, or can be 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).
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
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 a calculation speed, as opposed to using simulations, which may be computationally heavy. The digital twin can be implemented in an online mode to use real-time measurements from the real-world system (e.g., a hydrocarbon well pump) for real-time control, analysis, optimization, etc. The digital twin can be calibrated periodically to ensure that the digital twin accurately represents the real-world system.
Calibration ROMs with Optimization
Referring to
Referring to
Once built, generated, instantiated, etc., by the ROM builder 1704, the calibration ROM 1702 can be configured to predict, output, estimate, calculate, etc., one or more quasi-static parameters given inputs of predictor variables. The predictor variables can include any calibration measurements or normal measurements provided by a system (e.g., by the system 728, by sensors of the ESP well 826, etc.). For example, the predictor variables may be measurements of various parameters of the system that is being twinned (e.g., the system 728). In some embodiments, if the system is an ESP, the predictor variables may include GOR.
The quasi-static parameters can be parameters that are used by an inverse ROM to predict one or more of the predictor variables (e.g., a predicted version of the predictor variables, where the predictor variables are measurements). The quasi-static parameters, for example, may be a separator efficiency in the case of an ESP so that one or more inverse ROMs may use the quasi-static parameters to predict values of the GOR (e.g., one of the predictor variables).
Referring to
As shown in
Advantageously, the first optimization implementation shown in diagram 1800 of
Referring to
The calibration ROMs 1906 receive various values of calibration measurements, shown as predictor variables, and output predicted quasi-static parameters, according to some embodiments. The predicted quasi-static parameters are provided, in combination with normal measurements as inputs to the inverse ROMs 1908, according to some embodiments.
The calibration ROMs 1906 are configured to output predicted quasi-static parameters to the inverse ROMs 1908 based on the predictor variables (e.g., measurements of the predictor variables and other normal measurements), according to some embodiments. The inverse ROMs 1908 receive the predicted quasi-static parameters from the calibration ROMs 1906, and one or more normal measurements of calibration points of the system, according to some embodiments. In some embodiments, the inverse ROMs 1908 are configured to use the predicted quasi-static parameters and the normal measurements to output a predicted response (e.g., a predicted flow rate). The cost function 1910 obtains both the response predicted by the inverse ROMs 1908 for the predicted quasi-static parameters and the normal measurements, and the actual response as measured, according to some embodiments. In some embodiments, the predicted response is a response that is predicted to occur in the system given the current measured conditions (the normal measurements) and the predicted quasi-static parameters that define the behavior of the system. Since the current conditions are measured conditions, and the predicted response can be compared to the actual response, any differences or discrepancies between the predicted response of the system and the real response of the system may indicate that adjustments should be made to the quasi-static parameters in order to more accurately define the behavior of the system.
The cost function 1910 compares the predicted response and the real response of the system and quantifies an error (e.g., a prediction error) between the predicted response and the real response, according to some embodiments. The optimizer 1912 uses the error provided by the cost function 1910 and adjusts the calibration ROMs 1906, the predicted quasi-static parameters, or both, to drive the error towards zero (e.g., minimizing the cost function 1910).
The cost function 1910 may determine error between a predicted response and an actual response for a single variable or parameter, or for multiple variables or parameters. If the cost function 1910 models multiple variables or parameters (e.g., flow rate, GOR, etc.), then each of the prediction errors associated with the multiple variables or parameters can be assigned a weighting value so that the cost function 1910 outputs an overall or weighted prediction error which the optimizer 1912 may minimize (by adjusting the predicted quasi-static parameters or by tuning the calibration ROMs 1906). In some embodiments, the optimization problem solved by the optimizer 1912 includes constraints on variability of the quasi-static parameters so that the optimizer 1912 minimizes the prediction error (e.g., the output of the cost function 1910) by adjusting the calibration ROMs 1906 and/or the predicted quasi-static parameters. The functionality and techniques described herein with reference to
Referring to
In some embodiments, the calibration ROMs are configured to receive measurements of the 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 the parameterized filter function 2006 is configured to predict or calculate dependencies between dynamic behaviors. In some embodiments, outputs of the parameterized filter function 2006 are deconvoluted 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.
Referring to
In some embodiments, the synchronization is performed manually by a technician. For example, the data collected may be the real-time inputs (e.g., sensor data obtained from the system 728) or reported data from a technician performing the well test. In some embodiments, the technician can synchronize the data to account for errors in the calibration or well-test data relative to when the well test was performed, different time zones between the different sources of data, etc. 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 may obtain data from different sources (e.g., the real-time inputs, or historical data from the system 728, and the independent test results provided by a technician) and identify a same data point between the two sources (e.g., an identical value of a specific set of data). The digital twin generator 716 may synchronize the timestamps of the data from either source so that the timestamp of the same data point 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 responses of the various obtained data and synchronize the calibration data with the other data sources.
Referring to
Referring to
Referring to
The calibration ROM may be implemented as an optimization system as shown in
As utilized herein, the terms “approximately”, “about”, “substantially”, and similar terms are intended to have a broad meaning in harmony with the common and accepted usage by those of ordinary skill in the art to which the subject matter of this disclosure pertains. It should be understood by those of skill in the art who review this disclosure that these terms are intended to allow a description of certain features described and claimed without restricting the scope of these features to the precise numerical ranges provided. Accordingly, these terms should be interpreted as indicating that insubstantial or inconsequential modifications or alterations of the subject matter described and claimed are considered to be within the scope of the invention as recited in the appended claims.
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, representations, and/or illustrations of possible embodiments (and such term is not intended to connote that such embodiments are necessarily extraordinary or superlative examples).
The terms “coupled,” “connected,” and the like, as used herein, mean the joining of two members directly or indirectly to one another. Such joining may be stationary (e.g., permanent) or moveable (e.g., removable, releasable, etc.). Such joining may be achieved with the two members or the two members and any additional intermediate members being integrally formed as a single unitary body with one another or with the two members or the two members and any additional intermediate members being attached to one another.
References herein to the positions of elements (e.g., “top,” “bottom,” “above,” “below,” etc.) are merely used to describe the orientation of various elements in the figures. It should be noted that the orientation of various elements may differ according to other exemplary embodiments, and that such variations are intended to be encompassed by the present disclosure.
Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list. Conjunctive language such as the phrase “at least one of X, Y, and Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to convey that an item, term, etc. may be either X, Y, Z, X and Y, X and Z, Y and Z, or X, Y, and Z (i.e., any combination of X, Y, and Z). Thus, such conjunctive language is not generally intended to imply that certain embodiments require at least one of X, at least one of Y, and at least one of Z to each be present, unless otherwise indicated.
It is important to note that the construction and arrangement of the elements of the systems and methods as shown in the exemplary embodiments are illustrative only. Although only a few embodiments of the present disclosure have been described in detail, those skilled in the art who review this disclosure will readily appreciate that many modifications are possible (e.g., variations in sizes, dimensions, structures, shapes and proportions of the various elements, values of parameters, mounting arrangements, use of materials, colors, orientations, etc.) without materially departing from the novel teachings and advantages of the subject matter recited. For example, elements shown as integrally formed may be constructed of multiple parts or elements. It should be noted that the elements and/or assemblies of the components described herein may be constructed from 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 inventions. Other substitutions, modifications, changes, and omissions may be made in the design, operating conditions, and arrangement of the preferred and other exemplary embodiments without departing from scope of the present disclosure or from the spirit of the appended claims.
This application claims the benefit of and priority to U.S. Provisional Application No. 63/122,325, filed Dec. 7, 2020, the entire disclosure of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
63122325 | Dec 2020 | US |