US20250270906A1
2025-08-28
18/584,799
2024-02-22
Smart Summary: FRACTURE EVENT DETECTION focuses on understanding how a fracturing system behaves during operations. A computer system collects different types of data, including reference and process variable information. It then analyzes this data to create sensitivity information that shows how changes affect the system. Based on this analysis, the system can modify certain control settings to improve performance. Finally, it adjusts specific targets for the manipulated variables to optimize the overall process. 🚀 TL;DR
Aspects of the subject technology relate to systems, methods, and computer-readable media for determining the response or behavior of the fracturing system on a fracturing spread level and utilizing the determined response or behavior to adjust a process variable. An example computing system may be configured to receive reference data, process variable data and manipulated variable data. Additionally, the computing system may be configured to generating sensitivity data based on the manipulated variable data and the process variable data. Moreover, the computing system may be configured to adjust one or more controller parameters based on the sensitivity data. Further, the computing system may be configured to adjust a setpoint of the first manipulated variable based on the one or more adjusted controller parameters, the reference data, and the process variable data.
Get notified when new applications in this technology area are published.
E21B43/12 » CPC main
Methods or apparatus for obtaining oil, gas, water, soluble or meltable materials or a slurry of minerals from wells Methods or apparatus for controlling the flow of the obtained fluid to or in wells
E21B43/26 » CPC further
Methods or apparatus for obtaining oil, gas, water, soluble or meltable materials or a slurry of minerals from wells; Methods for stimulating production by forming crevices or fractures
The present technology pertains to monitoring and managing process variables of a fracturing spread during a fracturing operation, and more particularly to adaptively managing or controlling process variables of the fracturing spread adaptively based on a formation response.
Completion of a wellbore through hydraulic fracturing is a complex process. Specifically, the hydraulic fracturing process includes a number of different variables, e.g. surface variables, that can be altered to perform a well completion. As follows, a large number events occur both at the surface and downhole during the hydraulic fracturing process. Such events can be used in controlling the variables and ultimately the hydraulic fracturing process. In particular, the variables can be automatically controlled based on certain events occurring and not occurring to automate at least portion of the fracturing process.
Automating the fracturing process can provide numerous advantages in terms of consistency, safety, reliability, efficiency, and improved performance in various aspects of the fracturing process. However, it is difficult to both accurately and consistently detect and report events that occur during the fracturing process. In particular, an operator is usually relied on to monitor diagnostic data in real time and flag events as they happen based on such diagnostics data. As follows, this makes it difficult to correctly automate the fracturing process and realize the benefits of process automation.
In order to describe the manner in which the features and advantages of this disclosure can be obtained, a more particular description is provided with reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only exemplary embodiments of the disclosure and are not therefore to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which:
FIG. 1 is a schematic diagram of an example fracturing system, in accordance with various aspects of the subject technology;
FIG. 2 shows a well during a fracturing operation in a portion of a subterranean formation of interest surrounding a wellbore, in accordance with various aspects of the subject technology;
FIG. 3 shows a portion of a wellbore that is fractured using multiple fracture stages, in accordance with various aspects of the subject technology;
FIG. 4 illustrates an example system for controlling or adjusting a process variable associated with a fracturing process or operation, in accordance with various aspects of the subject technology;
FIG. 5 illustrates diagrams of portions of the example system for controlling or adjusting a process variable associated with a fracturing process or operation, in accordance with various aspects of the subject technology;
FIG. 6 illustrates additional diagrams of portions of the example system for controlling or adjusting a process variable associated with a fracturing process or operation, in accordance with various aspects of the subject technology;
FIG. 7 illustrates additional diagrams of portions of the example system for controlling or adjusting a process variable associated with a fracturing process or operation, in accordance with various aspects of the subject technology;
FIG. 8 illustrates additional diagrams of portions of the example system for controlling or adjusting a process variable associated with a fracturing process or operation, in accordance with various aspects of the subject technology;
FIG. 9 illustrates a flowchart for an example process for controlling or adjusting a process variable associated with a fracturing process or operation, in accordance with various aspects of the subject technology; and
FIG. 10 illustrates an example computing device architecture which can be employed to perform various steps, methods, and techniques disclosed herein.
Various embodiments of the disclosure are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the disclosure.
Additional features and advantages of the disclosure will be set forth in the description which follows, and in part will be obvious from the description, or can be learned by practice of the principles disclosed herein. The features and advantages of the disclosure can be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the disclosure will become more fully apparent from the following description and appended claims or can be learned by the practice of the principles set forth herein.
It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures, and components have not been described in detail so as not to obscure the related relevant feature being described. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features. The description is not to be considered as limiting the scope of the embodiments described herein.
Subterranean hydraulic fracturing is conducted to increase or “stimulate” production from a well, such as a hydrocarbon well. In some examples, a fracturing system may include a controller that automatically monitors, controls, and manages fracturing equipment of a fracturing spread that is utilized to perform fracturing stages or operations. Additionally, the controller of the fracturing system may automatically monitor and control a process variable associated with the fracturing stages or operations being completed by the fracturing system. As described herein, the process variable may characterize an aspect of the state or condition of the fracturing stages or operations (e.g., discharge pressure). Additionally, the process variable may be measured by one or more sensors of the fracturing system (e.g. sensors in a well that fracturing operations are being completed on). Further, the process variable may be associated with and depend on a manipulated variable. The manipulated variable may be a physical property or parameter of fracturing equipment that may be directly controlled by the controller of the fracturing system. Moreover, in such examples, the controller may control or manage the process variable by adjusting one or more parameters of a corresponding manipulated variable on a unit level (per equipment). Further, the controller may utilize a fixed control schedule to control or manage the process variable. In such examples, the controller of the fracturing system may not adapt to the behavior or response of the fracturing system as it completes the fracturing operations, such as the relationship between the process variable and corresponding manipulated variable. As such, the controller may adjust the corresponding manipulated variable too aggressively or too passively and causing adjustments to the process variable to be overly corrected or under corrected. For instance, the controller may adjust the manipulated variable associated with a slurry rate so that process variable associated with treatment pressure is overly corrected in relation to a reference setpoint or process variable setpoint.
Aspects of the disclosed technology address the foregoing problems by providing solutions for determining the response or behavior of the fracturing system on a fracturing spread level and utilizing the determined response or behavior to adjust a process variable. In some approaches, the determined response or behavior may be based on a determined relationship between a process variable and a manipulated variable associated with a fracturing spread utilized to complete fracturing operations of a well of a drill site. As described herein, the adjustments to the process variable may be based on the relationship between the process variable and the manipulated variable. As such, the adjustments may be more precise.
In some examples, a method comprises receiving reference data, process variable data, and manipulated variable data associated with (i) a fracturing spread utilized to complete one or more fracturing operations on a well and (ii) a first manipulated variable. Additionally, the method comprises generating sensitivity data based on the manipulated variable data and the process variable data. In some instances, the sensitivity data characterizing a relationship between the manipulated variable data and the process variable data. Moreover, the method comprises adjusting one or more controller parameters based on the sensitivity data. Further, the method comprises adjusting a setpoint of the first manipulated variable based on the one or more adjusted controller parameters, the reference data, and the process variable data.
In other examples, a computing system comprises a communications interface, a memory storing instructions, and at least one processor coupled to the communications interface and the memory. In such examples, the at least one processor may be configured to execute the instructions to receive reference data, process variable data, and manipulated variable data associated with (i) a fracturing spread utilized to complete one or more fracturing operations on a well and (ii) a first manipulated variable. Additionally, the at least one processor may be further configured to generate sensitivity data based on the manipulated variable data and the process variable data. In some instances, the sensitivity data characterizing a relationship between the manipulated variable data and the process variable data. Moreover, the at least one processor may be further configured to adjust one or more controller parameters based on the sensitivity data. Further, the at least one processor may be further configured to adjust a setpoint of the first manipulated variable based on the reference data, the process variable data and the one or more adjusted controller parameters.
In various examples, a non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising receiving reference data, process variable data, and manipulated variable data associated with (i) a fracturing spread utilized to complete one or more fracturing operations on a well and (ii) a first manipulated variable. Additionally, the operations further comprise generating sensitivity data based on the manipulated variable data and the process variable data. In some instances, the sensitivity data characterizing a relationship between the manipulated variable data and the process variable data. Moreover, the operations further comprise adjusting one or more controller parameters based on the sensitivity data. Further, the operations further comprise adjusting a parameter of the first manipulated variable associated based on the reference data, the process variable data and the one or more adjusted controller parameters.
Turning now to FIG. 1, an example fracturing system 10 is shown. The example fracturing system 10 shown in FIG. 1 can be implemented using the systems, methods, and techniques described herein. In particular, the disclosed system, methods, and techniques may directly or indirectly affect one or more components or pieces of equipment associated with the example fracturing system 10, according to one or more embodiments. The fracturing system 10 includes a fracturing fluid producing apparatus 20, a fluid source 30, a solid source 40, and a pump and blender system 50. All or an applicable combination of these components of the fracturing system 10 can reside at the surface at a well site/fracturing pad where a well 60 is located.
During a fracturing job, the fracturing fluid producing apparatus 20 can access the fluid source 30 for introducing/controlling flow of a fluid, e.g. a fracturing fluid, in the fracturing system 10. While only a single fluid source 30 is shown, the fluid source 30 can include a plurality of separate fluid sources. Further, the fracturing fluid producing apparatus 20 can be omitted from the fracturing system 10. In turn, the fracturing fluid can be sourced directly from the fluid source 30 during a fracturing job instead of through the fracturing fluid producing apparatus 20.
The fracturing fluid can be an applicable fluid for forming fractures during a fracture stimulation treatment of the well 60. For example, the fracturing fluid can include water, a hydrocarbon fluid, a polymer gel, foam, air, wet gases, and/or other applicable fluids. In various embodiments, the fracturing fluid can include a concentrate to which additional fluid is added prior to use in a fracture stimulation of the well 60. In certain embodiments, the fracturing fluid can include a gel pre-cursor with fluid, e.g. liquid or substantially liquid, from fluid source 30. Accordingly, the gel pre-cursor with fluid can be mixed by the fracturing fluid producing apparatus 20 to produce a hydrated fracturing fluid for forming fractures.
The solid source 40 can include a volume of one or more solids for mixture with a fluid, e.g. the fracturing fluid, to form a solid-laden fluid. The solid-laden fluid can be pumped into the well 60 as part of a solids-laden fluid stream that is used to form and stabilize fractures in the well 60 during a fracturing job. The one or more solids within the solid source 40 can include applicable solids that can be added to the fracturing fluid of the fluid source 30. Specifically, the solid source 40 can contain one or more proppants for stabilizing fractures after they are formed during a fracturing job, e.g. after the fracturing fluid flows out of the formed fractures. For example, the solid source 40 can contain sand.
The fracturing system 10 can also include additive source 70. The additive source 70 can contain/provide one or more applicable additives that can be mixed into fluid, e.g. the fracturing fluid, during a fracturing job. For example, the additive source 70 can include solid-suspension-assistance agents, gelling agents, weighting agents, and/or other optional additives to alter the properties of the fracturing fluid. The additives can be included in the fracturing fluid to reduce pumping friction, to reduce or eliminate the fluid's reaction to the geological formation in which the well is formed, to operate as surfactants, and/or to serve other applicable functions during a fracturing job. As will be discussed in greater detail later, the additives can function to maintain solid particle suspension in a mixture of solid particles and fracturing fluid as the mixture is pumped down the well 60 to one or more perforations.
The pump and blender system 50 functions to pump fracture fluid into the well 60. Specifically, the pump and blender system 50 can pump fracture fluid from the fluid source 30, e.g. fracture fluid that is received through the fracturing fluid producing apparatus 20, into the well 60 for forming and potentially stabilizing fractures as part of a fracture job. The pump and blender system 50 can include one or more pumps. Specifically, the pump and blender system 50 can include a plurality of pumps that operate together, e.g. concurrently, to form fractures in a subterranean formation as part of a fracturing job. The one or more pumps included in the pump and blender system 50 can be an applicable type of fluid pump. For example, the pumps in the pump and blender system 50 can include electric pumps and/or hydrocarbon and hydrocarbon mixture powered pumps. Specifically, the pumps in the pump and blender system 50 can include electric pumps, diesel powered pumps, natural gas powered pumps, and diesel combined with natural gas powered pumps.
The pump and blender system 50 can also function to receive the fracturing fluid and combine it with other components and solids. Specifically, the pump and blender system 50 can combine the fracturing fluid with volumes of solid particles, e.g. proppant, from the solid source 40 and/or additional fluid and solids from the additive source 70. In turn, the pump and blender system 50 can pump the resulting mixture down the well 60 at a sufficient pumping rate to create or enhance one or more fractures in a subterranean zone, for example, to stimulate production of fluids from the zone. While the pump and blender system 50 is described to perform both pumping and mixing of fluids and/or solid particles, in various embodiments, the pump and blender system 50 can function to just pump a fluid stream, e.g. a fracture fluid stream, down the well 60 to create or enhance one or more fractures in a subterranean zone.
The fracturing fluid producing apparatus 20, fluid source 30, and/or solid source 40 may be equipped with one or more monitoring devices (not shown). The monitoring devices can be used to control the flow of fluids, solids, and/or other compositions to the pumping and blender system 50. Such monitoring devices can effectively allow the pumping and blender system 50 to source from one, some or all of the different sources at a given time. In turn, the pumping and blender system 50 can provide just fracturing fluid into the well at some times, just solids or solid slurries at other times, and combinations of those components at yet other times.
FIG. 2 shows the well 60 during a fracturing operation in a portion of a subterranean formation of interest 102 surrounding a wellbore 104. The fracturing operation can be performed using one or an applicable combination of the components in the example fracturing system 10 shown in FIG. 1. The wellbore 104 extends from the surface 106, and the fracturing fluid 108 is applied to a portion of the subterranean formation 102 surrounding the horizontal portion of the wellbore 104. Although shown as vertical deviating to horizontal, the wellbore 104 may include horizontal, vertical, slant, curved, and other types of wellbore geometries and orientations, and the fracturing treatment may be applied to a subterranean zone surrounding any portion of the wellbore 104. The wellbore 104 can include a casing 110 that is cemented or otherwise secured to the wellbore wall. The wellbore 104 can be uncased or otherwise include uncased sections. Perforations can be formed in the casing 110 to allow fracturing fluids and/or other materials to flow into the subterranean formation 102. As will be discussed in greater detail below, perforations can be formed in the casing 110 using an applicable wireline-free actuation. In the example fracture operation shown in FIG. 2, a perforation is created between points 114.
The pump and blender system 50 is fluidly coupled to the wellbore 104 to pump the fracturing fluid 108, and potentially other applicable solids and solutions into the wellbore 104. When the fracturing fluid 108 is introduced into wellbore 104 it can flow through at least a portion of the wellbore 104 to the perforation, defined by points 114. The fracturing fluid 108 can be pumped at a sufficient pumping rate through at least a portion of the wellbore 104 to create one or more fractures 116 through the perforation and into the subterranean formation 102. Specifically, the fracturing fluid 108 can be pumped at a sufficient pumping rate to create a sufficient hydraulic pressure at the perforation to form the one or more fractures 116. Further, solid particles, e.g. proppant from the solid source 40, can be pumped into the wellbore 104, e.g. within the fracturing fluid 108 towards the perforation. In turn, the solid particles can enter the fractures 116 where they can remain after the fracturing fluid flows out of the wellbore. These solid particles can stabilize or otherwise “prop” the fractures 116 such that fluids can flow freely through the fractures 116.
While only two perforations at opposing sides of the wellbore 104 are shown in FIG. 2, as will be discussed in greater detail below, greater than two perforations can be formed in the wellbore 104, e.g. along the top side of the wellbore 104, as part of a perforation cluster. Fractures can then be formed through the plurality of perforations in the perforation cluster as part of a fracturing stage for the perforation cluster. Specifically, fracturing fluid and solid particles can be pumped into the wellbore 104 and pass through the plurality of perforations during the fracturing stage to form and stabilize the fractures through the plurality of perforations.
FIG. 3 shows a portion of a wellbore 300 that is fractured using multiple fracture stages. Specifically, the wellbore 300 is fractured in multiple fracture stages using a plug-and-perf technique.
The example wellbore 300 includes a first region 302 within a portion of the wellbore 300. The first region 302 can be positioned in proximity to a terminal end of the wellbore 300. The first region 302 is formed within the wellbore 300, at least in part, by a plug 304. Specifically, the plug 304 can function to isolate the first region 302 of the wellbore 300 from another region of the wellbore 300, e.g. by preventing the flow of fluid from the first region 302 to the another region of the wellbore 300. The region isolated from the first region 302 by the plug 304 can be the terminal region of the wellbore 300. Alternatively, the region isolated from the first region 302 by the plug 304 can be a region of the wellbore 300 that is closer to the terminal end of the wellbore 300 than the first region 302. While the first region 302 is shown in FIG. 3 to be formed, at least in part, by the plug 304, in various embodiments, the first region 302 can be formed, at least in part, by a terminal end of the wellbore 300 instead of the plug 304. Specifically, the first region 302 can be a terminal region within the wellbore 300.
The first region 302 includes a first perforation 306-1, a second perforation 306-2, and a third perforation 306-3. The first perforation 306-1, the second perforation 306-2, and the third perforation 306-3 can form a perforation cluster 306 within the first region 302 of the wellbore 300. While three perforations are shown in the perforation cluster 306, in various embodiments, the perforation cluster 306 can include fewer or more perforations. As will be discussed in greater detail later, fractures can be formed and stabilized within a subterranean formation through the perforations 306-1, 306-2, and 306-3 of the perforation cluster 306 within the first region 302 of the wellbore 300. Specifically, fractures can be formed and stabilized through the perforation cluster 306 within the first region 302 by pumping fracturing fluid and solid particles into the first region 302 and through the perforations 306-1, 306-2, and 306-3 into the subterranean formation.
The example wellbore 300 also includes a second region 310 positioned closer to the wellhead than the first region 302. Conversely, the first region 302 is in closer proximity to a terminal end of the wellbore 300 than the second region 310. For example, the first region 302 can be a terminal region of the wellbore 300 and therefore be positioned closer to the terminal end of the wellbore 300 than the second region 310. The second region 310 is isolated from the first region 302 by a plug 308 that is positioned between the first region 302 and the second region 310. The plug 308 can fluidly isolate the second region 310 from the first region 302. As the plug 308 is positioned between the first and second regions 302 and 310, when fluid and solid particles are pumped into the second region 310, e.g. during a fracture stage, the plug 308 can prevent the fluid and solid particles from passing from the second region 310 into the first region 302.
The second region 310 includes a first perforation 312-1, a second perforation 312-2, and a third perforation 312-3. The first perforation 312-1, the second perforation 312-2, and the third perforation 312-3 can form a perforation cluster 312 within the second region 310 of the wellbore 300. While three perforations are shown in the perforation cluster 312, in various embodiments, the perforation cluster 312 can include fewer or more perforations. As will be discussed in greater detail later, fractures can be formed and stabilized within a subterranean formation through the perforations 312-1, 312-2, and 312-3 of the perforation cluster 312 within the second region 310 of the wellbore 300. Specifically, fractures can be formed and stabilized through the perforation cluster 312 within the second region 310 by pumping fracturing fluid and solid particles into the second region 310 and through the perforations 312-1, 312-2, and 312-3 into the subterranean formation.
In fracturing the wellbore 300 in multiple fracturing stages through a plug-and-perf technique, the perforation cluster 306 can be formed in the first region 302 before the second region 310 is formed using the plug 308. Specifically, the perforations 306-1, 306-2, and 306-3 can be formed before the perforations 312-1, 312-2, and 312-3 are formed in the second region 310. As will be discussed in greater detail later, the perforations 306-1, 306-2, and 306-3 can be formed using a wireline-free actuation. Once the perforations 306-1, 306-2, and 306-3 are formed, fracturing fluid and solid particles can be transferred through the wellbore 300 into the perforations 306-1, 306-2, and 306-3 to form and stabilize fractures in the subterranean formation as part of a first fracturing stage. The fracturing fluid and solid particles can be transferred from a wellhead of the wellbore 300 to the first region 302 through the second region 310 of the wellbore 300. Specifically, the fracturing fluid and solid particles can be transferred through the second region 310 before the second region 310 is formed, e.g. using the plug 308, and the perforation cluster 312 is formed. This can ensure, at least in part, that the fracturing fluid and solid particles flow through the second region 310 and into the subterranean formation through the perforations 306-1, 306-2, and 306-3 within the perforation cluster 306 in the first region 302.
After the fractures are formed through the perforations 306-1, 306-2, and 306-3, the wellbore 300 can be filled with the plug 308. Specifically, the wellbore 300 can be plugged with the plug 308 to form the second region 310. Then, the perforations 312-1, 312-2, and 312-3 can be formed, e.g. using a wireline-free actuation. Once the perforations 312-1, 312-2, and 312-3 are formed, fracturing fluid and solid particles can be transferred through the wellbore 300 into the perforations 312-1, 312-2, and 312-3 to form and stabilize fractures in the subterranean formation as part of a second fracturing stage. The fracturing fluid and solid particles can be transferred from the wellhead of the wellbore 300 to the second region 310 while the plug 308 prevents transfer of the fluid and solid particles to the first region 302. This can effectively isolate the first region 302 until the first region 302 is accessed for production of resources, e.g. hydrocarbons. After the fractures are formed through the perforation cluster 312 in the second region 310, a plug can be positioned between the second region 310 and the wellhead, e.g. to fluidly isolate the second region 310. This process of forming perforations, forming fractures during a fracture stage, followed by plugging on a region-by-region basis can be repeated. Specifically, this process can be repeated up the wellbore 300 towards the wellhead until a completion plan for the wellbore 300 is finished.
Referring to FIG. 4, the example fracturing system 400 may include controller system 402, fracturing spread 404, and well sensor system 406. As described herein, controller system 402, may perform any of the example process described herein to, among other things, monitor, control and/or manage a process variable (e.g., treating pressure) associated with the completion of one or more fracturing stages or operations (e.g., fracturing completion) of one or more wells of a drill site. Additionally, controller system 402 may adjust the process variable of the fracturing completion by determining a relationship between the process variable and a manipulated variable associated with a fracturing spread utilized to complete the fracturing stages or operations of the wells. Further, controller system 402 may adjust the process variable in accordance with the determined relationship between the process variable and the manipulated variable.
Additionally, controller system 402 may obtain, from well sensor system 406, process variable data characterizing and identifying one or more states, conditions or measurements of a process variable. As described herein the process variable may be associated with fracturing operations being completed on wells of a drill site. In some instances, well sensor system 406 may include one or more sensors that generate sensor data associated with conditions or states of the fracturing operations.
In other instances, the sensors may be placed or provided into a wellbore of a well that fracturing operations are being performed on. Additionally, one or more measurements associated with the process variable may be determined from the sensor data generated by the sensors of well sensor system 406. In various instances, well sensor system 406 may determine the measurements associated with a process variable based on the sensor data generated by the sensors. Additionally, well sensor system 406 may generate process variable data characterizing the measurements of the process variable. Further, well sensor system 406 may provide or transmit the process variable data to controller system 402. In some instances, controller system 402 may determine the measurements of a process variable based on the sensor data generated by the sensors. In such instances, well sensor system 406 may provide the sensor data to controller system 402. Additionally, controller system 402 may generate process variable data characterizing the measurements of the process variable. In some instances, the measurements may be represented by a value or process variable value. Examples of the process variable includes treating pressure, wellhead pressure, downhole pressure, hydraulic horsepower used, electrical power used, density of the slurry, viscosity of the slurry, and any function of the variable(s), such as the rate of change of the treating pressure (e.g., time-derivative of the treating pressure) or a linear combination of treating pressure and downhole pressure.
As described herein, a process variable associated with the fracturing operations being completed on the wells may be affected by a manipulated variable of a fracturing spread, such as fracturing spread 404, utilized to complete the fracturing operations. Additionally, the fracturing spread may include fracturing equipment, such as one or more fracturing pumps (e.g., reciprocating positive displacement pumps), fracturing blenders (e.g., machinery that performs operations associated with well acidizing and proppant blending), fracturing sand equipment (e.g., sand storage and delivery systems for continuous delivery of proppant to one or more fracturing blenders), and chemical delivery units (e.g., units, devices, or systems that delivery/provide chemical additives that for the fracturing operations/stages). Moreover, the manipulated variable may characterize a desired setpoint for an aspect of the operating state of fracturing spread. For instance, a fracturing system that includes fracturing spread 404 may include an additional control system. Additionally, the additional control system may obtain from controller system 402 data characterizing a desired setpoint of a manipulated variable (e.g., a desired total slurry rate setpoint). In such instance, the additional control system may command or instruct individual fracturing pumps to appropriate settings or setpoints (e.g., slurry rate setpoints) such that the operating state of fracturing spread 404 matches the desired setpoint of the manipulated variable (e.g., the total slurry rate of the fracturing pumps tracks or follows the desired total slurry rate setpoint). Examples of manipulated variables includes slurry rate, proppant concentration, and liquid additive concentration. Further, controller system 402 may control or adjust the process variable of fracturing operations being completed on the wells of a drill site by adjusting the manipulated variable or the desired setpoint or parameter of the manipulated variable. In some instances, controller system 402 may generate manipulated variable data that identifies and characterizes the manipulated variable or the desired setpoint of the manipulated variable. In such instances, the manipulated variable data may include a value representing the desired setpoint of the manipulated variable.
Moreover, controller system 402 may utilize a reference setpoint to control or adjust a process variable of fracturing operations being completed on a well by a fracturing spread. The reference setpoint may be associated with the process variable and may identify and characterize a measurement of the process variable controller system 402 is to achieve or reach. For example, the reference setpoint may identify and characterize a target treating pressure, such as a particular pounds per square inch measurement (PSI). Additionally, controller system 402 may determine whether the measurements of the process variable track or match a corresponding reference setpoint. Further, based on the process variable not tracking or matching the reference setpoint, controller system 402 may adjust the process variable by adjusting one or more parameters of a corresponding manipulated variable. In some instances, reference setpoint may be based on a user provided input (e.g., an operator of controller system 402). In other instances, the reference setpoint may be based on another manipulated variable. In such instances, and as described below, such reference setpoint may be provided by another controller system (e.g., a supervisory computing system).
By way of example, controller system 402 may obtain manipulated variable data characterizing and identifying a desired total setpoint of the manipulated variable of fracturing spread 404. Fracturing spread 404 may be completing fracturing operations of a well on a drill site. Additionally, controller system 402 may obtain, from well sensor system 406, process variable data characterizing measurements of a process variable associated with the fracturing operations being completed by the fracturing spread. In such an example, the manipulated variable may be a desired total slurry rate setpoint while the process variable may be associated with a treating pressure. Moreover, controller system 402 may obtain a reference setpoint that indicates or characterizes a target treating pressure. Further, controller system 402 may determine whether the measured treating pressure meets or matches the target treating pressure. In instances where controller system 402 determines the measured treating pressure does not meet or match the target treating pressure, controller system 402 may adjust the desired total slurry rate setpoint (e.g., parameters associated with the desired slurry rate setpoint) for fracturing spread 404 until the measurements of the treating pressure matches or meets the target treating pressure. For instance, controller system 402 determines the measured treating pressure is below or above the target treating pressure. In such an instance, controller system 402 may adjust the desired total slurry rate setpoint of fracturing spread 404. Additionally, controller system 402 may provide the adjust desired total slurry rate setpoint to an additional controller system. The additional controller system may adjust the fracturing operations being completed by fracturing spread 404 by commanding or instructing individual fracturing pumps to operate in accordance with the adjusted desired total slurry rate setpoint. For instance, the additional controller system may instruct the individual fracturing pumps to appropriate slurry rate settings or setpoints such that the total slurry rate of the fracturing pumps tracks or follows the desired total slurry rate setpoint. Additionally, controller system 402 may obtain additional process variable data characterizing subsequent measurements of the treating pressure associated with the modified fracturing operations being completed by fracturing spread 404. Controller system 402 may continue to adjust the desired total slurry rate until the additional process variable data includes subsequent measurements of the treating pressure that matches or tracks the target treating pressure.
As described herein, controller system 402 may adjust a process variable to a reference setpoint in accordance with a determined relationship between the process variable and the manipulated variable. As such, controller system 402 may minimize the occurrence of over correcting or under correcting the adjustments when adjusting the process variable to the reference setpoint. In some examples, controller system 402 may determine a relationship between the process variable and corresponding the manipulated variable. For example, controller system 402 may determine a change in a measurement of the process variable per change in a desired setpoint of an operating state of fracturing spread 404 characterized by the manipulated variable.
By way of example, controller system 402 may obtain process variable data and manipulated variable data. In such an instance, the manipulated variable data may characterize and identify a desired total slurry rate of fracturing spread 404 that is completing fracturing operations of a well on a drill site. Additionally, the process variable data may characterize measurements of the total power utilized by fracturing spread 404 to complete the fracturing operations on the well. Based on the manipulated variable data and the process variable data, controller system 402 may determine a relationship between the slurry rate and the total power utilized by fracturing spread 404, such as a change in the total power utilized by fracturing spread 404 to complete the fracturing operations per change in the slurry rate of fracturing spread 404. Moreover, controller system 402 may adjust the process variable, such as the total power utilized by fracturing spread 404, to track with or match a corresponding reference setpoint (e.g., a target power utilization), in accordance with the determined relationship. As described herein, controller system 402 may adjust the treating pressure (e.g., the process variable) by adjusting the total desired slurry setpoint (e.g., manipulated variable).
Referring back to FIG. 4, each of controller system 402 and well sensor system 406 may represent a computing system that includes one or more servers and tangible, non-transitory memory devices storing executable code and application modules. The one or more servers may each include one or more processors or processor-based computing devices, which may be configured to execute portions of the stored code or application modules to perform operations consistent with the disclosed embodiments. Further, in some examples, each of controller system 402 and well sensor system 406 may include a communications unit or interface coupled to the one or more processors for accommodating wired or wireless communication across communications network 408 with any of the computing systems or any additional network-connected systems or devices described herein.
Examples of communications network 408 include, but are not limited to, a wireless local area network (LAN), e.g., a “Wi-Fi” network, a network utilizing radio-frequency (RF) communication protocols, a Near Field Communication (NFC) network, a wireless Metropolitan Area Network (MAN) connecting multiple wireless LANs, and a wide area network (WAN), e.g., the Internet. In some instances, the devices and systems operating within fracturing system 400 may perform operations that establish and maintain one or more secure channels of communication across communications network 408, such as, but not limited to, a transport layer security (TSL) channel, a secure socket layer (SSL) channel, or any other suitable secure communication channel.
Referring to FIG. 5, at least one process of controller system 402 may execute controller engine 500 and adjustment mechanism engine 502 to perform any of the example process described herein to, among other things, monitor, control and/or manage a process variable (e.g., treating pressure) associated with the completion of one or more fracturing stages or operations (e.g., fracturing completion) of one or more wells of a drill site. Additionally, executed controller engine 500 and executed adjustment mechanism engine 502 may monitor, control and/or manage a process variable in accordance with a determined relationship between the process variable and a manipulated variable.
As illustrated in FIG. 5, executed controller engine 500 may control or adjust a manipulated variable or one or more parameters of the manipulated variable of fracturing spread 404. As described herein, the manipulated variable or the parameters of the manipulated variable may characterize a desired setpoint for an aspect of the operating state of fracturing spread 404. In some instances, and as illustrated in FIG. 5, executed controller engine 500 may generate manipulated variable data 506 that identifies and characterizes the manipulated variable and/or parameters associated with the manipulated variable. Additionally, executed controller engine 500 may provide manipulated variable data 506 to a computing system associated with fracturing spread 404. The computing system may adjust a corresponding aspect of the operating state of fracturing spread 404 in accordance with manipulated variable data 506. For example, manipulated variable data 506 may identify and characterize a desired total pump rate setpoint of fracturing spread 404. Based on manipulated variable data 506, the computing system may command or instruct each pump of fracturing spread 404 to adjust a corresponding pump rate such that the total pump rate of fracturing spread 404 matches the desired total pump rate setpoint.
Additionally, executed controller engine 500 may perform any of the example process described herein to, among other things, to monitor, control and/or adjust a process variable associated with the completion of fracturing operations (e.g., fracturing completion) of one or more wells of a drill. As illustrated in FIG. 5, executed controller engine 500 may monitor, control and/or adjust a process variable based on corresponding reference data 504, manipulated variable data 506 and process variable data 508. As described herein, reference data 504 may identify and characterize a reference setpoint. The reference setpoint may be associated with the process variable and may identify and characterize a measurement of the process variable that executed controller engine 500 is to achieve or reach (e.g., a desired measurement of the process variable). Additionally, process variable data 508 may identify and characterize one or more measurements associated with the completion of fracturing operations of at least one well by fracturing spread 404. Moreover, executed controller engine 500 may determine whether the measurements of the process variable of process variable data 508 matches the reference setpoint of reference data 504.
In examples where executed controller engine 500 determines the measurements of the process variable do not meet, match or track with the reference setpoint of reference data 504, executed controller engine 500 may adjust a corresponding manipulated variable or setpoint of the manipulated variable of fracturing spread 404. Additionally, executed controller engine 500 may generate additional manipulated variable data 506 that identifies and characterizes the adjusted manipulated variable or adjusted parameters of the manipulated variable. Moreover, executed controller engine 500 may provide the additional manipulated variable data 506 to the computing system of fracturing spread 404. The computing system, as described herein, may adjust a corresponding aspect of the operating state of fracturing spread 404 in accordance with the additional manipulated variable data 506. For example, pumps of fracturing spread 404 may be adjust such that the total pump rate of fracturing spread 404 matches the desired pump rate setpoint characterized and identified by manipulated variable data 506. Further, executed controller engine 500 may obtain additional process variable data 508 characterizing subsequent measurements of the process variable. Executed controller engine 500 may continue to adjust the manipulated variable of manipulated variable data 506 until the additional process variable data 508 indicates the subsequent measurements of the process variable match or track with the reference setpoint of reference data 504.
In some examples, executed controller engine 500 may utilize a controller process to monitor, control and/or adjust the process variable. In such examples, the controller process may be in the form of a proportional-integral (PI) controller process, such as:
u ( t ) = K p [ e ( t ) + ∫ 1 T i de ( t ) ] ( 1 )
where:
e(t)=r(t)−y(t)
is defined as error signal. Kp and Ti are controller parameters and known as proportional gain and integral time, respectively. Additionally, other examples of controller processes that executed controller engine 500 may utilize or implement to monitor, control and/or adjust the process variable include a proportional-integral-derivative (PID) controller process, a linear quadratic regulator (LQR) process, fuzzy controller process, state-feedback controller process and model predictive controller (MPC) process.
Moreover, executed adjustment mechanism engine 502 may perform any of the example process described herein to, among other things, determine a relationship between a process variable and a manipulated variable, such as a process variable of process variable data 508 and a manipulated variable of manipulated variable data 506. As described herein, executed controller engine 500 may utilize the determined relationship to adjust the process variable. Additionally, executed controller engine 500 may avoid over correcting or under correcting when utilizing the determined relationship to adjust the process variable. For example, as illustrated in FIG. 5, executed adjustment mechanism engine 502 may obtain manipulated variable data 506 from executed controller engine 500 and process variable data 508 from well sensor system 406. Additionally, based on manipulated variable data 506 and process variable data 508, executed adjustment mechanism engine 502 may determine a relationship between the measurements of the process variable and the setpoint of the manipulated variable. For instance, executed adjustment mechanism engine 502 may determine a change in a measurement of the process variable per change in a setpoint characterized by the manipulated variable, based on manipulated variable data 506 and process variable data 508.
In some examples, executed adjustment mechanism engine 502 may determine a model describing or characterizing the relationship or the dynamics between the process variable of process variable data 508 and the manipulated variable of manipulated variable data 506. In such examples, the model may be in the form of an autoregressive moving average (ARMA). The ARMA model may have the order of (0, 1), (1, 1), (1, 2) or (2,). Alternatively, the model may be in the form of an autoregressive integrated moving average (ARIMA).
Additionally, in examples where executed controller engine 500 is utilizing a controller process to monitor, control and/or adjust the process variable, executed adjustment mechanism engine 502 may perform any of the example processes described herein to modify one or more controller parameters of the controller process in accordance with the determined relationship or model of the relationship. As illustrated in FIG. 5, executed adjustment mechanism engine 502 may generate controller parameter data 510. As described herein, controller parameter data 510 may identify and characterize one or more adjustments to one or more controller parameters of the controller process, such as controller parameters associated with proportional gain and integral time. Additionally, executed adjustment mechanism engine 502 may determine such adjustments based on the determined relationship or model of the relationship.
In some examples, and referring to FIG. 6, one or more processors of controller system 402 may execute system identification module 600 and parameter adjustment module 602. As described herein, executed system identification module 600 may perform any of the example processes as described herein to determine a relationship between a process variable and a manipulated variable based on manipulated variable data 506 and process variable data 508. In some instances, executed system identification module 600 may utilize a reference setpoint of reference data 504 to determine the relationship between the manipulated variable and the process variable. In such instances, executed system identification module 600 may determine an error based on the reference set point and utilize the error along with the manipulated variable and the process variable to determine the relationship. Additionally, executed parameter adjustment module 602 may perform the example processes described herein to, among other things, generate controller parameter data 510 based on the determined relationship and reference data 504.
For example, executed system identification module 600 may perform any of the example processes as described herein to determine a relationship between measurements of a process variable and setpoints of a manipulated variable based on manipulated variable data 506 and process variable data 508. In some instances, executed system identification module 600 may determine a model characterizing the relationship or dynamics between the measurements of the process variable and the setpoints of the manipulated variable based on manipulated variable data 506 and process variable data 508. Additionally, executed system identification module 600 may generate sensitivity data 604. In some instances, sensitivity data 604 may include a sensitivity value that represents the determined relationship between the process variable data and the manipulated variable data. In other instances, sensitivity data 604 may characterize the determined model characterizing the determined relationship. Moreover, executed parameter adjustment module 602 may perform the example processes described herein to, among other things, generate controller parameter data 510 based on sensitivity data 604 and reference data 504.
Further, and referring back to FIG. 5, executed adjustment mechanism engine 502 may provide controller parameter data 510 to executed controller engine 500. Executed controller engine 500 may update the controller process in accordance with controller parameter data 510. As described herein, the updated controller process may incorporate the determined relationship between the measurements of the process variable and the setpoints of the manipulated variable or model representing such relationship. Additionally, executed controller engine 500 may utilize the updated controller process to adjust the setpoint of the manipulated variable. The adjusted setpoint may cause measurements of the process variable to be adjusted. As such, executed controller engine 500 may implement an updated controller process that adjusts a setpoint of the manipulated variable to adjust measurements of the process variable with minimal over correction or under correction in relation to the reference setpoint of reference data 504.
In some instances, executed adjustment mechanism engine 502 may update the controller process by adjusting one or more controller parameters of a controller process. In such instances, controller parameter data 510 may identify and characterize the updated controller process. Further, executed controller engine 500 may utilize the updated controller process to adjust the manipulated variable to adjust the process variable to meet the reference setpoint of reference data 504.
By way of example, and referring back to FIG. 6, executed system identification module 600 may perform any of the example processes as described herein to determine model characterizing a relationship between measurements of a process variable and setpoints of a manipulated variable based on manipulated variable data 506 and process variable data 508. In such example, the model may be an ARMA model, such as:
y ( t k ) - y ( t k - 1 ) = b 0 u ( t k ) + b 1 u ( t k - 1 ) ( 2 )
where tk is the k-th time step, and bi are model coefficients and b*0 and b*1 are model coefficients. Additionally, executed system identification module 600 may generate sensitivity data 604 that characterizes the ARMA model. Moreover, executed system identification module 600 may provide sensitivity data 604 to executed parameter adjustment module 602. Further, executed parameter adjustment module 602 may obtain, from executed controller engine 500, data characterizing the controller process currently being utilized by executed controller engine 500. In such an example, the controller process may be the controller process of equation 1.
Additionally, executed parameter adjustment module 602 may update the controller process by adjusting the controller parameter associated with proportional gain (Kp) of the control process of equation 1. The adjustment may be based on sensitivity data 604 (e.g., ARMA model of equation 2) and the data characterizing the controller process of equation 1. The adjusted controller parameter Kp may be set to:
K p = 2 K p , 0 b 0 * - b 1 * ( 3 )
where Kp,0 is a pre-selected constant. Moreover, executed parameter adjustment module 602 may generate controller parameter data 510 that characterizes the updated controller process (e.g., the controller process of equation 1 and the adjusted or updated controller parameter of equation 3). Further, executed parameter adjustment module 602 may provide controller parameter data 510 to executed controller engine 500. Executed controller engine 500 may utilize the updated controller process of controller parameter data 510 when adjusting the manipulated variable to adjust the process variable. In some instances, executed adjustment mechanism engine 502 may impose an additional constraint
b0=−b1
and may impose upper/lower bounds of b0. In such instances, the adaptive model that executed adjustment mechanism engine 502 determines may become
y(tk)−y(tk−1)=b0u(tk)−b0u(tk−1)
and the controller parameter is adjusted by
Kp=Kp,0/b*0.
In another example, executed parameter adjustment module 602 may adjust the controller parameter associated with proportional gain (Kp) of the control process of equation 1 and the controller parameter associated with integral time (Ti). In such example, based on manipulated variable data 506 and process variable data 508, executed system identification module 600 may determine a model characterizing a relationship between measurements of a process variable and setpoints of a manipulated variable. The model may be an ARMA model, such as:
a 0 y ( t k ) + a 1 y ( t k - 1 ) = u ( t k ) - u ( t k - 1 ) ( 4 )
where a*0 and a*1 are model coefficients. In some instances, at is typically a negative number. Additionally, executed system identification module 600 may generate sensitivity data 604 that characterizes the ARMA model. Moreover, executed system identification module 600 may provide sensitivity data 604 to executed parameter adjustment module 602. Further, executed parameter adjustment module 602 may obtain, from executed controller engine 500, data characterizing the controller process currently being utilized by executed controller engine 500. In such an example, the controller process may be the controller process of equation 1. Additionally, executed parameter adjustment module 602 may update the controller process by adjusting the controller parameter associated with proportional gain (Kp) of the control process of equation 1 and the controller parameter associated with integral time (Ti) of the control process of equation 1. The adjustment may based on sensitivity data 604 (e.g., ARMA model of equation 4) and the data characterizing the controller process of equation 1. The adjusted controller parameters Kp and Ti may be set to
K p = a 0 * C 0 ( 5 ) T i = 1 - a 1 * - a 0 * C 0 ( 6 )
where C0 is a pre-selected positive constant and that the product of the model and the controller is a constant. Moreover, executed parameter adjustment module 602 may generate controller parameter data 510 that characterizes the updated controller process (e.g., the controller process of equation 1 and the adjusted or updated controller parameter of equations 5 and 6). Further, executed parameter adjustment module 602 may provide controller parameter data 510 to executed controller engine 500. Executed controller engine 500 may utilize the updated controller process of controller parameter data 510 when adjusting the setpoint of the manipulated variable. The adjusted manipulated variable may adjust the measurements of the process variable.
Based on the adjusted controller parameters Kp and Ti of the control process of equation 1 (e.g., equations (6) and (7)), the product of control process and ARMA model is the constant C0 which ensures a relatively same closed-loop behavior. In some instances, the control process as described by equation 1 may be executed in a discrete time domain (i.e., the control process may be converted from a differential equation to a difference equation).
In other instances, executed controller engine 500 may update the controller process by adjusting one or more controller parameters of the controller process. In such instances, executed controller engine 500 may perform any of the example processes as described herein with regard to executed system identification module 600, executed parameter adjustment module 602 and/or adjustment mechanism engine 502 to update the controller process. Additionally, based on sensitivity data 604, executed parameter adjustment module 602 may generate controller parameter data 510 that includes one or more portions of sensitivity data 604. Further, executed parameter adjustment module 602 may provide controller parameter data 510 to executed controller engine 500.
In various examples, executed controller engine 500 or executed adjustment mechanism engine 502 may adjust the controller parameter associated with proportional gain (e.g., Kp) based on a gain scheduling mechanism. As described herein, the gain scheduling mechanism may identify, for each difference range, a corresponding gain. By way of example, a gain scheduling mechanism may be associated with a treating pressure. Further, the gain scheduling mechanism may be as follows:
| TABLE 1 |
| Example Gain Scheduling Mechanism |
| Pressure difference (e = r − y) | Additional gain | |
| >2500 psi | 2.0 | |
| <=2500 psi but >1000 psi | 1.0 | |
| <1000 psi | 0.5 | |
In such examples, executed controller engine 500 or executed adjustment mechanism engine 502 may obtain process variable data 508 from well sensor system 406 and reference data 504. Additionally, executed controller engine 500 or executed adjustment mechanism engine 502 may determine the difference between a reference setpoint of reference data 504 and measurement of a process variable characterized by process variable data 508. Based on the determined difference, executed controller engine 500 or executed adjustment mechanism engine 502 may utilize the gain scheduling mechanism to determine which difference range the determined difference may be associated with. Moreover, based on the determined difference range and the gain scheduling mechanism, executed controller engine 500 or executed adjustment mechanism engine 502 may determine a corresponding gain. Further, executed controller engine 500 or executed adjustment mechanism engine 502 may apply the determined gain to the controller parameter associated with proportional gain (e.g., Kp) (e.g., multiply the determined gain to the controller parameter Kp).
In some examples, executed adjustment mechanism engine 502 may impose additional constraints to executed controller engine 500 or controller parameters to the controller process. In such examples, executed adjustment mechanism engine 502 or parameter adjustment module 602 may generate controller parameter data 510 that further includes data characterizing the additional constraints or controller parameters. In some instances, the additional constraints or controller parameters may characterize the upper or lower bounds of each adjustment made to the manipulated variable or parameter of the manipulated variable (e.g., the maximum or minimum adjustments made to the slurry rate). In other instances, the additional constraints or controller parameters may characterize the upper or lower bounds of the manipulated variable or parameter of the manipulated variable (e.g., the maximum or minimum slurry rate). In various instances, the additional constraints or controller parameters may be based on limitations of the equipment included in fracturing spread 404 and/or are design limitations. The additional constraints or controller parameters may be user provided.
In other examples, executed adjustment mechanism engine 502 may apply additional filtering, such as a smoothing filter, non-linear filter, etc., to process variable data 508. In such examples, the data characterizing the measurements may be noisy. For example, for diesel pumps, the data may be noisy due to the shifting of gears. A filter may be applied to the corresponding process variable data 508 to reduce the noise.
In various examples, executed adjustment mechanism engine 502 may be based on a model-reference adaptive control (MRAC) scheme or system. FIG. 7 illustrates executed adjustment mechanism engine 502 based on MRAC. As illustrated in FIG. 7, one or more processors of controller system 402 may execute reference model module 700 and parameter adjustment module 602. As described herein executed reference model module 700 may directly adjust the parameters of a controller process, such as the controller process of equation 1, executed controller engine 500 may implement to adjust a setpoint of a manipulated variable. The adjusted setpoint of the manipulated variable may adjust a measurement of the process variable. For example, executed reference model module 700 may obtain manipulated variable data 506 from executed controller engine 500 and process variable data 508 from well sensor system 406. Additionally, executed reference model module 700 may obtain reference data 504. Based on the reference setpoint of reference data 504, executed reference model module 700 may determine a reference trajectory (e.g., yref) associated with the process variable of process variable data 508. For instance, if the reference trajectory is a 1st-order exponent function of the reference setpoint (e.g., r), then executed reference model module 700 may determine reference trajectory may be
yref=b(r−yref).
Additionally, executed reference model module 700 may determine the difference between a measurement of a process variable characterized in process variable data 508 and the reference trajectory may be defined as
ye:=ye−y
with error dynamic
{dot over (y)}e=Yref−{dot over (y)}.
Further, executed reference model module 700 may update or adjust the controller parameters by applying a control law to make ye converge to 0.
In some examples, the reference setpoint may be provided by a user. In such examples, a user may provide input to executed controller engine 500. The input may indicate a reference setpoint for a process variable. Executed controller engine 500 may generate reference data 504 characterizing the reference setpoint indicated by the input of the user.
In other examples, the reference setpoint may be provided by another computing system, such as supervisory computing system 800 of FIG. 8. Referring to FIG. 8, fracturing system 400 may include supervisory computing system 800. Additionally, one or more processors of supervisory computing system 800 may execute supervisory controller engine 802. Executed supervisory controller engine 802 may generate reference data 804 that includes a reference setpoint based on another manipulated variable. The reference setpoint may be a trajectory instead of a constant. In some instances, the reference setpoint of reference data 504 of FIG. 5, may be a constant. In other instances, the manipulated variable that executed supervisory controller engine 802 utilizes to determine the trajectory reference setpoint may be different from the manipulated variable that executed controller engine 500 adjusts to adjust the process variable of process variable data 508. Additionally, the trajectory reference setpoint of reference data 804 may be associated with the process variable of process variable data 508. Moreover, the trajectory reference setpoint of reference data 804 may identify and characterize a measurement of the process variable that executed controller engine 500 is to achieve or reach.
By way of example, executed supervisory controller engine 802 may obtain, from a user, an input characterizing a reference setpoint for a process variable, such as a desired treating pressure. Additionally, executed supervisory controller engine 802 may obtain, from executed controller engine 500, manipulated variable data 806 of a second manipulated variable, such as power (e.g., indicating available power). Moreover, based on manipulated variable data 806 and the user provided input, executed supervisory controller engine 802 may determine a trajectory reference setpoint. Further, executed supervisory controller engine 802 may generate reference data 804 that characterizes the trajectory reference setpoint. In some instances, executed supervisory controller engine 802 may provide reference data 804 to controller system 402. Controller system 402 may perform any of the example processes described herein, among other things, to adjust the setpoint of the first manipulated variable of manipulated variable data 506 and the measurement of the process variable of process variable data 508 based on reference data 804 instead of reference data 504.
In other instances, the second manipulated variable may fluctuate or change. In such instances, executed supervisory controller engine 802 may adjust the trajectory reference setpoint in accordance with manipulated variable data 806 of the changed second manipulated variable. For instance, the second manipulated variable may be associated with power usage or available power of fracturing spread 404, and the user provided input is associated with a desired treating pressure. Additionally, executed supervisory controller engine 802 may determine a trajectory reference setpoint associated with treating pressure based on manipulated variable data 806 of the second manipulated variable and the user provided input. Moreover, the changes to the power usage or available power as indicated by manipulated variable data 806 may cause executed supervisory controller engine 802 to adjust the trajectory reference setpoint. Further, controller system 402 may perform any of the example processes described herein, among other things, to adjust the first manipulated variable of manipulated variable data 506 and the process variable of process variable data 508 in accordance with the adjusted trajectory reference point of reference data 804.
By way of example, manipulated variable data 806 associated with power usage may indicate the power usage of fracturing spread 404 is too high (e.g., above a power threshold). In such example, executed supervisory controller engine 802 may reduce a trajectory reference setpoint associated with treating pressure (e.g., lower the desired treating pressure). As such, controller system 402 may perform any of the example processes described herein, among other things, to adjust the setpoint of the first manipulated variable of manipulated variable data 506 (e.g., slurry rate) and the measurement of the process variable of process variable data 508 (e.g., treating pressure) in accordance with the reduced trajectory reference point of reference data 804.
In another example, manipulated variable data 806 associated with power usage may indicate the available power of fracturing spread 404 is too low (e.g., below a threshold). In such example, executed supervisory controller engine 802 may reduce a trajectory reference setpoint associated with treating pressure (e.g., lower the desired treating pressure). As such, controller system 402 may perform any of the example processes described herein, among other things, to adjust the setpoint of the first manipulated variable of manipulated variable data 506 (e.g., slurry rate) and the measurement of the process variable of process variable data 508 (e.g., treating pressure) in accordance with the reduced trajectory reference point of reference data 804.
In various instances, and not illustrated in FIG. 8, executed supervisory controller engine 802 may obtain data characterizing a designed job rate and utilize such data when determining the trajectory reference setpoint. In such instances, the designed job rate may indicate a predicted future state of the manipulated variable (e.g., slurry rate). For instance, manipulated variable data 506 may indicate the current slurry rate is 90 barrels per minute and manipulated variable data 806 may indicate the current power usage of fracturing spread 404 may be 95%. Additionally, the designed job rate may be 100 barrels per minute, and the predicted power usage could go up to 105%. In such an instance, executed supervisory controller engine 802 may adjust the trajectory reference set point based on the designed job rate and predicted power usage to be more conservative.
FIG. 9 is a flowchart of an example process 900 for controlling or adjusting a process variable associated with a fracturing process or operation. In some instances, one or more components of fracturing system 400 may perform all or a portion of the steps of example process 900, which include but are not limited to receiving reference data, manipulated variable data of a first variable and process variable data, generating sensitivity data and adjusting a first manipulated variable of the manipulated variable data.
Referring to FIG. 9, controller system 402 may receive reference data, manipulated variable data of a first variable and process variable data. In some examples, process variable data 508 may identify and characterize a state or condition (e.g., one or more measurements) of a process variable (e.g., a measured treatment pressure) associated with a completion of one or more fracturing operations of one or more wells of a drill site. Additionally, process variable data 508 may be obtained from well sensor system 406. In other examples, manipulated variable data 506 may identify and characterize manipulated variable. Additionally, the manipulated variable may characterize a desired setpoint for an aspect of the operating state of fracturing spread 404 utilized to complete the fracturing operations of the wells (e.g., a slurry rate setpoint). Moreover, manipulated variable data 506 may be obtained from executed controller engine 500. In various examples, reference data 504 may identify and characterize a reference setpoint. The reference setpoint may be associated with a process variable (e.g., a target treatment pressure). In some instances, the reference setpoint may be based on user provided input. In other instances, the reference setpoint may be based on another manipulated variable. In such instances, another computing system, such as supervisory computing system 800 of FIG. 8 may provide such reference setpoint.
Referring to FIG. 9, controller system 402 may generate sensitivity data. In some examples, sensitivity data, such as sensitivity data 604, may be based on the manipulated variable data, process variable data and/or reference data. In such examples, the sensitivity data may characterize a relationship or dynamic between the measurements of a process variable included in process variable data and setpoints of a manipulated variable included in manipulated variable data. In some instances, the sensitivity data, may include a value representing the relationship or dynamic between the measurements of the process variable and the setpoints of the manipulated variable. In other instances, the sensitivity data may characterize a model of the relationship or dynamic between the measurements of the process variable and the setpoints of the manipulated variable.
Referring to FIG. 9, controller system 402 may adjust a first manipulated variable of the manipulated variable data. In some examples, controller system 402 may adjust a first manipulated variable of the manipulated variable data, such as a setpoint of the first manipulated variable, based on the reference data, the process variable data and the sensitivity data. For example, executed adjustment mechanism engine 502 may adjust one or more controller parameters of a controller process that executed controller engine 500 utilizes to adjust a setpoint of the first manipulated variable. In such example, executed adjustment mechanism engine 502 may adjust the controller parameters based on the sensitivity data, such as sensitivity data 604. Additionally, executed controller engine 500 may utilize the adjusted controller process to adjust the setpoint of the first manipulated variable. For instance, executed controller engine 500 may apply the adjusted controller process to the process variable data and the reference data. Based on the application of the adjusted controller process to the process variable data and the reference data, executed controller engine 500 may adjust the setpoint of the first variable such that adjustments consequently made to measurements of the process variable may not be an overcorrection or under correction.
As noted above, FIG. 10 illustrates an example computing device architecture 1000 of a computing device which can implement the various technologies and techniques described herein. The various implementations will be apparent to those of ordinary skill in the art when practicing the present technology. Persons of ordinary skill in the art will also readily appreciate that other system implementations or examples are possible. The components of the computing device architecture 1000 are shown in electrical communication with each other using a connection 1005, such as a bus. The example computing device architecture 1000 includes a processing unit (CPU or processor) 1010 and a computing device connection 1005 that couples various computing device components including the computing device memory 1015, such as read only memory (ROM) 1020 and random access memory (RAM) 1025, to the processor 1010.
The computing device architecture 1000 can include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of the processor 1010. The computing device architecture 1000 can copy data from the memory 1015 and/or the storage device 1030 to the cache 1012 for quick access by the processor 1010. In this way, the cache can provide a performance boost that avoids processor 1010 delays while waiting for data. These and other modules can control or be configured to control the processor 1010 to perform various actions. Other computing device memory 1015 may be available for use as well. The memory 1015 can include multiple different types of memory with different performance characteristics. The processor 1010 can include any general purpose processor and a hardware or software service, such as service 1 1032, service 2 1034, and service 3 1036 stored in storage device 1030, configured to control the processor 1010 as well as a special-purpose processor where software instructions are incorporated into the processor design. The processor 1010 may be a self-contained system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.
To enable user interaction with the computing device architecture 1000, an input device 1045 can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture input, keyboard, mouse, motion input, speech and so forth. An output device 1035 can also be one or more of a number of output mechanisms known to those of skill in the art, such as a display, projector, television, speaker device, etc. In some instances, multimodal computing devices can enable a user to provide multiple types of input to communicate with the computing device architecture 1000. The communications interface 1040 can generally govern and manage the user input and computing device output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
Storage device 1030 is a non-volatile memory and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 1025, read only memory (ROM) 1020, and hybrids thereof. The storage device 1030 can include services 1032, 1034, 1036 for controlling the processor 1010. Other hardware or software modules are contemplated. The storage device 1030 can be connected to the computing device connection 1005. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as the processor 1010, connection 1005, output device 1035, and so forth, to carry out the function.
For clarity of explanation, in some instances the present technology may be presented as including individual functional blocks including functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software.
In some embodiments the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
Methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer readable media. Such instructions can include, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or a processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, source code, etc. Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to described examples include magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on.
Devices implementing methods according to these disclosures can include hardware, firmware and/or software, and can take any of a variety of form factors. Typical examples of such form factors include laptops, smart phones, small form factor personal computers, personal digital assistants, rackmount devices, standalone devices, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.
The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are example means for providing the functions described in the disclosure.
In the foregoing description, aspects of the application are described with reference to specific embodiments thereof, but those skilled in the art will recognize that the application is not limited thereto. Thus, while illustrative embodiments of the application have been described in detail herein, it is to be understood that the disclosed concepts may be otherwise variously embodied and employed, and that the appended claims are intended to be construed to include such variations, except as limited by the prior art. Various features and aspects of the above-described subject matter may be used individually or jointly. Further, embodiments can be utilized in any number of environments and applications beyond those described herein without departing from the broader spirit and scope of the specification. The specification and drawings are, accordingly, to be regarded as illustrative rather than restrictive. For the purposes of illustration, methods were described in a particular order. It should be appreciated that in alternate embodiments, the methods may be performed in a different order than that described.
Where components are described as being “configured to” perform certain operations, such configuration can be accomplished, for example, by designing electronic circuits or other hardware to perform the operation, by programming programmable electronic circuits (e.g., microprocessors, or other suitable electronic circuits) to perform the operation, or any combination thereof.
The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the examples disclosed herein may be implemented as electronic hardware, computer software, firmware, or combinations thereof. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices such as general purposes computers, wireless communication device handsets, or integrated circuit devices having multiple uses including application in wireless communication device handsets and other devices. Any features described as modules or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a computer-readable data storage medium comprising program code including instructions that, when executed, performs one or more of the method, algorithms, and/or operations described above. The computer-readable data storage medium may form part of a computer program product, which may include packaging materials.
The computer-readable medium may include memory or data storage media, such as random access memory (RAM) such as synchronous dynamic random access memory (SDRAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), FLASH memory, magnetic or optical data storage media, and the like. The techniques additionally, or alternatively, may be realized at least in part by a computer-readable communication medium that carries or communicates program code in the form of instructions or data structures and that can be accessed, read, and/or executed by a computer, such as propagated signals or waves.
Other embodiments of the disclosure may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
In the above description, terms such as “upper,” “upward,” “lower,” “downward,” “above,” “below,” “downhole,” “uphole,” “longitudinal,” “lateral,” and the like, as used herein, shall mean in relation to the bottom or furthest extent of the surrounding wellbore even though the wellbore or portions of it may be deviated or horizontal. Correspondingly, the transverse, axial, lateral, longitudinal, radial, etc., orientations shall mean orientations relative to the orientation of the wellbore or tool. Additionally, the illustrate embodiments are illustrated such that the orientation is such that the right-hand side is downhole compared to the left-hand side.
The term “coupled” is defined as connected, whether directly or indirectly through intervening components, and is not necessarily limited to physical connections. The connection can be such that the objects are permanently connected or releasably connected. The term “outside” refers to a region that is beyond the outermost confines of a physical object. The term “inside” indicates that at least a portion of a region is partially contained within a boundary formed by the object. The term “substantially” is defined to be essentially conforming to the particular dimension, shape or another word that substantially modifies, such that the component need not be exact. For example, substantially cylindrical means that the object resembles a cylinder, but can have one or more deviations from a true cylinder.
The term “radially” means substantially in a direction along a radius of the object, or having a directional component in a direction along a radius of the object, even if the object is not exactly circular or cylindrical. The term “axially” means substantially along a direction of the axis of the object. If not specified, the term axially is such that it refers to the longer axis of the object.
Although a variety of information was used to explain aspects within the scope of the appended claims, no limitation of the claims should be implied based on particular features or arrangements, as one of ordinary skill would be able to derive a wide variety of implementations. Further and although some subject matter may have been described in language specific to structural features and/or method steps, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to these described features or acts. Such functionality can be distributed differently or performed in components other than those identified herein. The described features and steps are disclosed as possible components of systems and methods within the scope of the appended claims.
Moreover, claim language reciting “at least one of” a set indicates that one member of the set or multiple members of the set satisfy the claim. For example, claim language reciting “at least one of A and B” means A, B, or A and B.
Statements of the disclosure include:
1. A method comprising:
receiving measurements associated with data of a process variable and data of a manipulated variable, wherein the process variable is associated with pressures of a wellbore, wherein the process variable is dependent on the manipulated variable, wherein the manipulated variable is associated with (i) a fracturing spread utilized to complete one or more fracturing operations on a well and (ii) a first manipulated variable, and wherein the fracturing spread comprises a plurality of fracturing equipment utilized in a fracturing process;
generating sensitivity data based on the manipulated variable data and the process variable data, the sensitivity data characterizing a relationship between the manipulated variable data and the process variable data;
inputting the process variable data, the manipulated variable data, and a reference target point into a controller to determine, through an application of a model, a first value of the first manipulated variable for maintaining a targeted pressure setpoint, wherein the controller is a spread level controller that controls the fracturing spread, and wherein the reference target point includes a targeted pressure setpoint for the process variable;
controlling the fracturing spread to maintain the targeted pressure setpoint based on the determined first value of the first manipulated variable and the sensitivity data;
identifying based on a formation response and the targeted pressure setpoint, a second value for the first manipulated variable for maintaining the targeted pressure setpoint, wherein the second value is determined by adjusting one or more controller parameters of the controller based on the formation response and the sensitivity data; and
controlling the fracturing spread to maintain the targeted pressure setpoint based on the determined second value of the first manipulated variable.
2. The method of claim 1, wherein adjusting the one or more controller parameters includes adjusting the one or more controller parameters of a controller.
3. The method of claim 2, wherein the controller adjusts the first value of the first manipulated variable based on the one or more adjusted controller parameters, the targeted pressure setpoint, and the process variable data.
4. The method of claim 3, wherein the controller provides the adjusted first value of the first manipulated variable to a computing system configured to adjust one or more equipment of the fracturing spread in accordance with the adjusted setpoint.
5. The method of claim 3, wherein the one or more controller parameters characterize an upper limit associated with the adjustment of the first value of the first manipulated variable.
6. The method of claim 3, wherein the one or more controller parameters characterize an upper limit associated with the first manipulated variable.
7. The method of claim 3, wherein the controller is at least one of a proportional-integral (PI) controller, a proportional-integral-derivative (PID) controller, a linear quadratic regulator (LQR), fuzzy controller, state-feedback controller, model predictive controller (MPC), or combination thereof.
8. The method of claim 1, wherein the targeted pressure setpoint is received from a supervisory controller, the supervisory controller generates the targeted pressure setpoint based on manipulated variable data of a second manipulated variable.
9. The method of claim 1, wherein the reference target point includes a targeted power usage.
10. The method of claim 1, wherein the plurality of fracturing equipment includes at least one of a fracturing pump, a fracturing blender, a fracturing sand equipment, a fracturing chemical delivery unit, or combination thereof.
11. The method of claim 1, wherein the first manipulated variable is associated with at least one of a pump rate, slurry rate, proppant concentration, liquid additive concentration, or combination thereof.
12. The method of claim 1, wherein the process variable data is associated with at least one of treating pressure, wellhead pressure, downhole pressure, power utilization, electrical power utilization, slurry density, slurry viscosity or combination thereof.
13. The method of claim 1, further comprising:
determining a reference value associated with a reference setpoint based on the targeted pressure setpoint;
determining a process variable value based on the process variable data;
determining a difference between the reference value and the process variable value;
comparing the difference with a difference threshold;
determining a gain function based on a comparison; and
wherein adjusting the first value of the first manipulated variable is further based on the gain function.
14. The method of claim 1 further comprising:
applying a smoothing filter to the process variable data.
15. A computing system comprising:
a communications interface;
a memory storing instruction; and
at least one processor coupled to the communications interface and the memory, the at least one processor being configured to execute the instructions to:
receive measurements associated with data of a process variable and data of a manipulated variable, wherein the process variable is associated with pressures of a wellbore, wherein the process variable is depends on the manipulated variable, wherein the manipulated variable is associated with (i) a fracturing spread utilized to complete one or more fracturing operations on a well and (ii) a first manipulated variable, and wherein the fracturing spread comprises a plurality of fracturing equipment utilized in a fracturing process;
generate sensitivity data based on the manipulated variable data and the process variable data, the sensitivity data characterizing a relationship between the manipulated variable data and the process variable data;
input the process variable data, the manipulated variable data, and a reference target point, the reference target point includes a targeted pressure setpoint for the process variable into a controller to determine, through an application of a model, a first value of the first manipulated variable for maintaining the targeted pressure setpoint, wherein the controller is a spread level controller that controls the fracturing spread, and wherein the reference target point includes a targeted pressure setpoint for the process variable;
control the fracturing spread to maintain the targeted pressure setpoint based on the determined first value of the first manipulated variable and the sensitivity data;
identify based on a formation response and the targeted pressure setpoint, a second value for the first manipulated variable for maintaining the targeted pressure setpoint, wherein the second value is determined by adjusting one or more controller parameters of the controller based on the formation response and the sensitivity data; and
control the fracturing spread to maintain the targeted pressure setpoint based on the determined second value of the first manipulated variable.
16. The computing system of claim 15, wherein adjusting the one or more controller parameters includes adjusting the one or more controller parameters of a controller.
17. The computing system of claim 16, wherein the controller adjusts the first value of the first manipulated variable based on the one or more adjusted controller parameters, the targeted pressure setpoint, and the process variable data.
18. The computing system of claim 16, wherein the controller provides the adjusted first value of the first manipulated variable to a second computing system configured to adjust one or more equipment of the fracturing spread in accordance with the adjusted setpoint.
19. The computing system of claim 15, wherein:
the targeted pressure setpoint includes a reference setpoint for the process variable data;
the plurality of fracturing equipment includes at least one of a fracturing pump, a fracturing blender, a fracturing sand equipment, a fracturing chemical delivery unit or combination thereof; and
the first value of the first manipulated variable is associated with at least one of a pump rate, slurry rate, proppant concentration, liquid additive concentration, or combination thereof.
20. A tangible, non-transitory computer readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform operations comprising:
receiving measurements associated with data of a process variable and data of a manipulated variable, wherein the process variable is associated with pressures of a wellbore, wherein the process variable is dependent on the manipulated variable, wherein the manipulated variable is associated with (i) a fracturing spread utilized to complete one or more fracturing operations on a well and (ii) a first manipulated variable, and wherein the fracturing spread comprises a plurality of fracturing equipment utilized in a downhole fracturing operation;
generating sensitivity data based on the manipulated variable data and the process variable data, the sensitivity data characterizing a relationship between the manipulated variable data and the process variable data;
inputting the process variable data, the manipulated variable data, and a reference target point into a controller to determine, through an application of a model, a first value of the first manipulated variable for maintaining a targeted pressure setpoint, wherein the controller is a spread level controller that controls the fracturing spread, and wherein the reference target point includes a targeted pressure setpoint for the process variable;
controlling the fracturing spread to maintain the targeted pressure setpoint based on the determined first value of the first manipulated variable and the sensitivity data;
identifying based on a formation response and the targeted pressure setpoint, a second value for the first manipulated variable for maintaining the targeted pressure setpoint, wherein the second value is determined by adjusting one or more controller parameters based on the formation response and the sensitivity data; and
controlling the fracturing spread to maintain the targeted pressure setpoint based on the determined second value of the first manipulated variable.