CROSS-REFERENCE TO RELATED APPLICATIONSThis application claims the benefit of U.S. Patent Application Ser. No. 61/552,812 entitled “Modified Everitt-Jennings With Dual Iteration on the Damping Factors and Adaptation to Deviated Wells by Including Coulombs Friction” and filed 28 Oct. 2011; Ser. No. 61/598,438 entitled “Modified Everitt-Jennings With Dual Iteration on the Damping Factors” and filed 14 Feb. 2012; Ser. No. 61/605,325 entitled “Implementing Coulombs Friction for the Calculation of Downhole Cards in Deviated Wells” and filed 1 Mar. 2012; and Ser. No. 61/706,489 entitled “Iterating on Damping when Solving the Wave Equation and Computation of Fluid Load Lines and Concavity Testing” and filed 27 Sep. 2012, each of which is incorporated herein by reference in its entirety. This application is also filed concurrently with co-pending application Ser. No. 13/663,155 entitled “Calculating Downhole Cards in Deviated Wells,” Ser. No. 13/663,161 entitled “Fluid Load Line Calculation and Concavity Test for Downhole Pump Card,” Ser. No. 13/663,167 entitled “Calculating Downhole Pump Card With Iterations on Single Damping Factor,” each of which is incorporated herein by reference in its entirety.
BACKGROUND OF THE DISCLOSUREA. Sucker Rod Pump System
Reciprocating pump systems, such as sucker rod pump systems, extract fluids from a well and employ a downhole pump connected to a driving source at the surface. A rod string connects the surface driving force to the downhole pump in the wall. When operated, the driving source cyclically raises and lowers the downhole pump, and with each stroke, the downhole pump lifts well fluids toward the surface.
For example,FIG. 1 shows a suckerrod pump system10 used to produce fluid from a well. Adownhole pump14 has abarrel16 with a standingvalve24 located at the bottom. The standingvalve24 allows fluid to enter from the wellbore, but does not allow the fluid to leave. Inside thepump barrel16, a plunger20 has a traveling valve22 located at the top. The traveling valve22 allows fluid to move from below the plunger20 to theproduction tubing18 above, but does not allow fluid to return from thetubing18 to thepump barrel16 below the plunger20. A driving source (e.g., a pump jack11) at the surface connects by arod string12 to the plunger20 and moves the plunger20 up and down cyclically in upstrokes and downstrokes.
During the upstroke, the traveling valve22 is closed, and any fluid above the plunger20 in theproduction tubing18 is lifted towards the surface. Meanwhile, the standingvalve24 opens and allows fluid to enter thepump barrel16 from the wellbore. The highest point of the plunger's motion is typically referred to as the “top of stroke” (TOS), while the lowest point of the pump plunger's motion is typically referred to as the “bottom of stroke” (BOS).
At the TOS, the standingvalve24 closes and holds in the fluid that has entered thepump barrel16. Additionally, at the TOS, the weight of the fluid in theproduction tubing18 is supported by the traveling valve22 in the plunger20 and, therefore, also by therod string12, which causes therod string12 to stretch.
During the downstroke, the traveling valve22 initially remains closed until the plunger20 reaches the surface of the fluid in thebarrel16. Sufficient pressure builds up in the fluid below the traveling valve22 to balance the pressure. The build-up of pressure in thepump barrel16 reduces the load on therod string12 so that therod string12 relaxes.
This process takes place during a finite amount of time when the plunger20 rests on the fluid, and thepump jack11 at the surface allows the top of therod string12 to move downward. The position of the pump plunger20 at this time is known as the “transfer point” because the load of the fluid column in theproduction tubing18 is transferred from the traveling valve22 to the standingvalve24. This results in a rapid decrease in load on therod string12 during the transfer.
After the pressure balances, the traveling valve22 opens and the plunger20 continues to move downward to its lowest position (i.e., the BOS). The movement of the plunger20 from the transfer point to the BOS is known as the “fluid stroke” and is a measure of the amount of fluid lifted by thepump14 on each stroke. In other words, the portion of the pump stroke below the transfer point may be interpreted as the percentage of the pump stroke containing fluid, and this percentage corresponds to the pump's fillage. Thus, the transfer point can be computed using a pump fillage calculation.
If there is sufficient fluid in the wellbore, thepump barrel16 may be completely filled during an upstroke. Yet, under some conditions, thepump14 may not be completely filled with fluid on the upstroke so there may be a void left between the fluid and the plunger20 as it continues to rise. Operating thepump system10 with only a partially filledpump barrel16 is inefficient and, therefore, undesirable. In this instance, the well is said to be “pumped off,” and the condition is known as “pounding,” which can damage various components of the pump system. For a pumped off well, the transfer point most likely occurs after the TOS of the plunger20.
Typically, there are no sensors to measure conditions at thedownhole pump14, which may be located thousands of feet underground. Instead, numerical methods are used calculate the position of the pump plunger20 and the load acting on the plunger20 from measurements of the position and load for therod string12 at thepump jack11 located at the surface. These measurements are typically made at the top of thepolished rod28, which is a portion of therod string12 passing through astuffing box13 at the wellhead. Apump controller26 is used for monitoring and controlling thepump system10.
To efficiently control the reciprocatingpump system10 and avoid costly maintenance, arod pump controller26 can gather system data and adjust operating parameters of thesystem10 accordingly. Typically, therod pump controller26 gathers system data such as load and rod string displacement by measuring these properties at the surface. While these surface-measured data provide useful diagnostic information, they may not provide an accurate representation of the same properties observed downhole at the pump. Because these downhole properties cannot be easily measured directly, they are typically calculated from the surface-measured properties.
Methods for determining the operational characteristics of the downhole pump20 have used the shape of the graphical representation of the downhole data to compute various details. For example, U.S. Pat. No. 5,252,031 to Gibbs, entitled “Monitoring and Pump-Off Control with Downhole Pump Cards,” teaches a method for monitoring a rod pumped well to detect various pump problems by utilizing measurements made at the surface to generate a downhole pump card. The graphically represented downhole pump card may then be used to detect the various pump problems and control the pumping unit. Other techniques for determining operational characteristics are disclosed in U.S. Patent Publication Nos. 2011/0091332 and 2011/0091335, which are both incorporated herein by reference in their entireties.
B. Everitt-Jennings Method
In techniques to determine operational characteristics of a suckerrod pump system10 as noted above, software analysis computes downhole data (i.e., a pump card) using position and load data measured at the surface. The most accurate and popular of these methods is to compute the downhole card from the surface data by solving a one-dimensional damped wave equation, which uses surface position and load as recorded at the surface.
Various algorithms exist for solving the wave equation. Snyder solved the wave equation using a method of characteristics. See Snyder, W. E., “A Method for Computing Down-Hole Forces and Displacements in Oil Wells Pumped With Sucker Rods,” Paper 851-37-K, 1963. Gibbs employed separation of variables and Fourier series in what can be termed the “Gibb's method.” See Gibbs, S. G. et al., “Computer Diagnosis of Down-Hole Conditions in Sucker Rod Pumping Wells,” JPT (Jan. 1996) 91-98; Trans., AIME, 237; Gibbs, S. G., “A Review of Methods for Design and Analysis of Rod Pumping Installations,” SPE 9980, 1982; and U.S. Pat. No. 3,343,409.
In 1969, Knapp introduced finite differences to solve the wave equation. See Knapp, R. M., “A Dynamic Investigation of Sucker-Rod Pumping,” MS thesis, U. of Kansas, Topeka (Jan. 1969). This is also the method used by Everitt and Jennings. See Everitt, T. A. and Jennings, J. W., “An Improved Finite-Difference Calculation of Downhole Dynamometer Cards for Sucker-Rod Pumps,” SPE 18189, 1992; and Pons-Ehimeakhe, V., “Modified Everitt-Jennings Algorithm With Dual Iteration on the Damping Factors,” 2012 South Western Petroleum Short Course. The Everitt-Jennings method has also been implemented and modified by Weatherford International. See Ehimeakhe, V., “Comparative Study of Downhole Cards Using Modified Everitt-Jennings Method and Gibbs Method,” Southwestern Petroleum Short Course 2010.
To solve the one-dimensional wave equation, the Everitt-Jennings method uses finite differences. The rod string is divided into Mfinite difference nodes of length Li(ft), density ρi(lbm/ft3) and area Ai(in2). If we let u=u(x, t) be the displacement of position x at time t in a sucker rod pump system, the condensed one-dimensional wave equation reads:
where the acoustic velocity is given by:
and D represents a damping factor.
The first and second derivatives with respect to time are replaced by the first-order-correct forward differences and second-order-correct central differences. The second derivative with respect to position is replaced by a slightly rearranged second-order-correct central difference.
In the method, the damping factor D is automatically selected by using an iteration on the system's net stroke (NS) and the damping factor D. The damping factor D can be computed by the equation:
Where HPRis the polished rod horsepower (hp), S is the net stroke (in), τ is the period of one stroke (sec.), and HHYDis the hydraulic horsepower (hp) obtained as follows:
HHYD=(7.36·10−6)QγFl  (3)
where Q is the pump production rate (B/D), γ is the fluid specific gravity, and Flis the fluid level (ft). The pump production rate is given by:
Q=(0.1166)(SPM)Sd2  (4)
where SPM is the speed of the pumping unit in strokes/minute, and d is the diameter of the plunger.
Additional details on the derivation of the damping factor D in equation (2) and the original iteration on the net stroke and damping factor algorithm are provided in Everitt, T. A. and Jennings, J. W., “An Improved Finite-Difference Calculation of Downhole Dynamometer Cards for Sucker-Rod Pumps,” SPE 18189, 1992.
A modified Everitt-Jennings method also uses finite differences to solve the wave equation. As before, the rod string is discretized into M finite difference elements, and position and load (including stress) are computed at each increment down the wellbore. Then, as shown inFIG. 2, an iteration is performed on the net stroke and damping factor, which automatically selects a damping factor for each stroke.
The wave equation is initially solved to calculate the downhole card using surface measurements and an initial damping factor D set to 0.5 (Block41). The initial net stroke S0is determined from the computed card, and the fluid level in the well is calculated (Block4442). At this point, a new damping factor D is calculated from equation (2) (Block43) and so forth, and the downhole card is again computed with the new damping factor D (Block44). Based on the recalculated downhole card, a new net stroke S is determined (Block45).
At this point, a check is then made to determine whether the newly determined net stroke S is close within some tolerance C of the initial or previous net stroke (Decision46). If not, then another iteration is needed, and theprocess40 returns to calculating the damping factor D (Block43). If the newly determined net stroke is close to the previously determined net stroke (yes at Decision46), then the iteration for determining the net stroke can stop, and theprocess40 continues on to iterate on the damping factor D using the converged net stroke S (Block47). The downhole data is then calculated using the newly calculated damping factor D (Block48), and the pump horsepower Hpumpis then calculated (Block49a).
At this point, a check is made to see if the pump horsepower Hpumpis close within some tolerance to the hydraulic horsepower Hhyd(Decision49b). If so, then theprocess40 ends as successfully calculating the downhole pump card with converged net stroke and damping factor D (Block49c). If the pump horsepower Hpumpand the hydraulic horsepower Hhydare not close enough (no atDecision49b), then theprocess40 adjusts the current damping factor D by a ratio of the pump horsepower Hpumpand the hydraulic horsepower HHyd(Block49d). Theprocess40 of calculating the pump card with this adjusted damping factor D is repeated until the values for the pump and hydraulic horsepower Hpumpand HHydare close within the specified tolerance (Blocks18 through49d).
The advantage of the automatic iteration on the net stroke and the damping factor D as set forth above is that the damping factor D is adjusted automatically without human intervention. Thus, users managing a medium group to a large group of wells do not have to spend time manually adjusting the damping factor D as may be required by other methods.
C. Downhole Card and Damping
FIG. 3A showsexemplary surface data50 obtained at the surface of the well. Load (y-axis) is graphed in relation to position (x-axis) as measured at the surface by a dynamometer system or the like. Using the techniques discussed previously, the measuredsurface data50 can be mathematically translated to downhole data orpump card60, which is shown ideally in this figure.
Thepump card60 has an upstroke fluid load line62 (F0up) and a downstroke fluid load line (F0down). Theheight63 of thepump card60 is referred to as the fluid stroke F0, where F0=the upstroke fluid load line62 (F0up)—the downstroke fluid load line64 (F0down).
The pump or downhole stroke (PS) refers to the measure of extreme travel of the rod derived at the location of the pump. Thus, the “pump stroke” refers to the maximum displacement minus the minimum displacement and corresponds to the horizontal span or width of thedownhole pump card60.
Yet, the net stroke68 (NS) refers to the measure of the portion of the pump stroke (PS) during which the fluid load is supported by the pump's standing valve. For a pumped offcard60′ as shown inFIG. 3B, the net stroke68 (NS) is measured relative to thetransfer point66, which is the displacement in the pump stroke where load is transferred from the pump's traveling valve to the standing valve. (The transfer point can be computed using a pump fillage calculation.) Thetransfer point66 occurs because the pressure in the pump barrel has exceeded the pressure in the plunger. The portion of the stroke below (with lower displacement than) thetransfer point66 is the net stroke NS and is interpreted as the portion of the pump stroke (PS) that actually contains liquid.
The displacement and load data can be used to determine one or more characteristics of the downhole pump's operation, such as the minimum pump stroke, the maximum pump stroke, and the transfer point in the downhole stroke. In turn, the area A of thepump card60 or60′ gives the pump horsepower of the downhole pump (20).
Using the wave equation as noted previously, thedownhole pump card60 is calculated from thesurface data50. The calculation requires that a damping factor D be used in the wave equation to add or remove energy from the calculation. If the calculation is over-damped as shown inFIG. 3C, then thedownhole card60A will be calculated with a shape as schematically shown. By contrast, if the calculation is under-damped, then thedownhole card60B will be calculated with a shape as schematically shown inFIG. 3D.
When analyzingsurface data50 and calculating thedownhole card60, thefluid load lines62 and64 represent the maximum and minimum loads applied to the rod string (12) by the pump (20) based on the current fluid level. When gas measurements are available, thefluid load lines62 and64 can be readily computed using the pump's intake pressure and the pump's discharge pressure. In the absence of these measurements, however, thefluid load lines62 and64 must be computed by other means.
In general, thefluid load lines62 and64 can be drawn on a graphical representation of thedownhole card60 because thefluid load lines62 and64 can generally be identified visually. When dealing with a large group of wells, however, any type of visual determination offluid load lines62 and64 is highly impractical. Thus, because thefluid load lines62 and64 determine the fluid load used to compute the volumetric displacement of the pump (20) as well as fluid levels of the well, being able to determinefluid load lines62 and64 based on measured and calculated data can be quite useful for operating and diagnosing sucker rod pump systems.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates a sucker rod pump system.
FIG. 2 illustrates iteration on net stroke and damping factor for the modified Everitt-Jennings algorithm to compute a pump card according to the prior art.
FIG. 3A shows the correlation between surface data obtained at the surface of the well to downhole data for a pump.
FIG. 3B shows the net stroke for a pumped off card.
FIG. 3C diagrams a downhole card that is over-damped.
FIG. 3D diagrams a downhole card that is under-damped.
FIG. 4 is a flow chart for determining fluid load lines and determining the concavity of the fluid load lines according to the present disclosure.
FIG. 5A shows fluid load lines being determined for an over-damped downhole card.
FIG. 5B shows fluid load lines being determined for an under-damped downhole card.
FIG. 6A is a flow chart for computing a downhole card by iterating on a single damping factor according to one technique of the present disclosure.
FIG. 6B is a flow chart for determining the damping variation for the iteration on the single damping factor inFIG. 6A.
FIG. 7A is a flow chart for computing a downhole card by iterating on dual damping factors according to another technique of the present disclosure.
FIG. 7B is a flow chart for determining the damping variation for the iteration on the dual damping factors inFIG. 7A.
FIGS. 8A through 8J show comparisons of iterating on single and dual damping factors on a number of data examples.
FIG. 9A illustrates a pump controller according the present disclosure for a sucker rod pump system.
FIG. 9B illustrates a schematic of the pump controller for controlling/diagnosing the sucker rod pump system according to the present disclosure.
DETAILED DESCRIPTION OF THE DISCLOSUREA. Computation of Fluid Load Lines and Concavity Testing
As noted above, downhole data in a sucker rod pump system is either measured at the downhole pump or calculated from surface measured data using the wave equation. Knowledge of the downhole conditions is important for diagnosing and controlling the reciprocating system efficiently. For example, downhole data can help diagnose downhole conditions, calculate volumetric displacements, and compute efficiency of the pump system.
The teachings of the present disclosure provide a method for determining actual fluid load lines as well as calculated (representative) fluid load lines for a downhole pump card. The actual fluid load lines are the lines referred to inFIGS. 3A-3D, while the calculated fluid load lines depend on the load distribution of the pump card. Using these two lines, a concavity test can determine if the downhole card in question is under-damped or over-damped.
Turning toFIG. 4, aprocess100 determines fluid load lines of a downhole pump card (e.g.,60A and60B;FIGS. 5A-5B) and determines a concavity of the fluid load lines. In turn, these determinations can be used for the various purposes disclosed herein.
Theprocess100 begins by calculating the downhole card (e.g.,60A and60B;FIGS. 5A-5B) using available techniques or more preferably the techniques disclosed herein (Block102). The upstroke and downstroke actual fluid load lines are then determined from the downhole card (Block104).
FIGS. 5A and 5B show representations of downhole cards—onecard60A is over-damped and anothercard60B is under-damped for illustrative purposes. For the purposes of the present disclosure, the actualfluid load lines72 and74 are load lines that would typically be selected by a user. Thesefluid load lines72 and74 correspond to fluid load values disregarding any upstroke or downstroke friction and correspond to the pump intake pressure and the pump discharge pressure, respectively. The upstroke actualfluid load line72 is referred to as F0upactual, and the downstroke actualfluid load line74 is referred to as F0downactual.
Finding the upstroke and downstroke actualfluid load lines72 and74 involves locating the right hand corners of the graphical representation of thedownhole card60A or60B. Although this can be done visually, it is done mathematically when processed by a pump controller or other processing device as disclosed herein. For example, the upstroke actualfluid load line72 corresponds to the top of stroke, which is located by finding the zero of the first derivative of the pump's position downhole (i.e., finding when the velocity of the pump's movement is zero).
The downstroke actualfluid load line74 corresponds to the lower right hand corner. Finding the lower right corner corresponds to finding the concave up point after the transfer point, which is the point at which the fluid load is transferred from the standing valve to the traveling valve in the downhole pump. Thus, the concave up point can be found by finding the absolute minimum of the second derivative of the pump's position downhole (i.e., finding the minimum acceleration after the transfer point).FIGS. 5A-5B show idealized downhole cards, but additional figures disclosed herein show actual fluid load lines calculated for exemplary data.
With the actualfluid load lines72 and74 determined in theprocess100 ofFIG. 4 (Block104), theprocess100 then determines calculated (representative) fluid load lines (Block106). The calculated fluid load lines, which may also be referred to herein as representative fluid load lines, represent load values corresponding to the distribution of the upstroke and downstroke loads in the downhole data.
Determining the calculated fluid load lines can be done statistically, although other mathematical methods can be used. As shown inFIGS. 5A-5B, upstroke loads82 are distributed along the upstrokefluid load lines62 of thedownhole cards60A-B, and downstroke loads84 are likewise distributed along the downstrokefluid load lines64 of thedownhole cards60A-B.
The upstroke and downstroke loads82 and84 are statistically ordered by load ranges to produce probability density functions. The maximums of the probability functions yield the set of load ranges in which most of the upstroke and downstroke loads reside, respectively. In other words, the maximum of the probability density function for the upstroke loads is referred to as the upstroke calculated fluid load line F0upcalc, while the maximum of the probability density function for the downstroke loads is referred to as the downstroke calculated fluid load line F0downcalc.
For example, the upstroke and downstroke loads82 and84 are statistically ordered so that theloads82 and84 are grouped in load ranges, such as 0 to 100, 101 to 200, 201 to 300, etc., although any segments or ranges may be used. Partitioned in this way, the load range with the most load values82 before the top of stroke in the upstroke corresponds to the upstroke calculated fluid load line73 (F0upcalc). Similarly, the load range with the most load values84 after the transfer point in the downstroke corresponds to the downstroke calculated fluid load line75 (F0downcalc).
Thus, theseload lines73 and75 represent in a sense the median values for the upstroke loads72 and downstroke loads74, respectively. Although statistical analysis for the load values in ranges has been described here to find the calculatedfluid load lines73 and74, any other numerical method could be used, such as best fit line or linear interpolation. However, preferably as here, the techniques used are robust and do not require extensive computing power for a pump controller or other processing device.
By knowing the actual and calculatedfluid load lines72 &73 and74 &75, parameters associated with the calculation of thedownhole pump card60A-B and associated with the diagnosis and control of the pump system (10) can be changed. This can achieve any of the various purposes disclosed herein, including adjusting the damping factor, stopping thepump system10 periodically to allow more fluid to enter the wellbore, or controlling the speed of thepump system10 so that it does not pump more fluid than enters the wellbore.
In particular, using both the actual and the calculatedfluid load lines72 &73 and74 &75, theprocess100 ofFIG. 4 can also determine the concavity of the card's upstroke load line62 (Block108) and the concavity of the card's downstroke load line64 (Block110). By knowing the concavity of theload lines62 and64, parameters associated with the calculation of thedownhole card60A-B and associated with the diagnosis and control of thepump system10 can be changed to achieve any of the various purposes disclosed herein.
For example, the actual and calculated fluid load lines computed72 &73 and74 &75 can indicate whether the downhole card is over-damped (e.g.,60A) or under-damped (e.g.,60B). As mentioned above, the actualfluid load lines72 and74 are the theoretical values where the fluid load lines of thecard60A-B should be. Thus, where the calculatedfluid load lines73 and75 are located with respect to the actualfluid load lines72 and74 gives an indication of the state of damping in the wave equation used to calculate the downhole card. Ideally, the respective actualfluid load lines72 and74 and the calculatedfluid load lines73 and75 are equal because this would mean that the pump horsepower (i.e., the area of the downhole pump card) is equal to the hydraulic horsepower (i.e., the fluid lifted).
By comparing the actual and calculatedfluid load lines72 &73 and74 &75, the concavity of the load values in thedownhole data60A-B can be determined so that the damping used in the wave equation can be adjusted accordingly or so that some other purpose may be achieved as will be appreciated by one skilled in the art.
As shown inFIG. 5A where the upstroke calculated fluid load line73 (F0upcalc) is less than the upstroke actual fluid load line72 (F0upactual), the downhole data may be determined as over-damped. Likewise inFIG. 5A, where the downstroke calculated fluid load line75 (F0downcalc) is greater than the downstroke actual fluid load line74 (F0downactual), the downhole data may be determined as over-damped. A tolerance may be used in the comparison of the values for the fluid load lines that may depend on the particular implementation. Moreover, depending on the processing used, both conditions of the upstroke calculatedfluid load line73 being less than the upstroke actualfluid load line72 and the downstroke calculatedfluid load line75 being greater than the downstroke actualfluid load line74 may need to be true for the downhole data to be determined over-damped.
By contrast as shown inFIG. 5B where the upstroke calculated fluid load line73 (F0upcalc) is greater than the upstroke actual fluid load line72 (F0upactual), the downhole data may be determined as under-damped. Likewise inFIG. 5B, where the downstroke calculated fluid load line75 (F0downcalc) is less than the downstroke actual fluid load line74 (F0downactual), the downhole data may be determined as under-damped. Again, depending on the processing used, both conditions of the upstroke calculatedfluid load line73 being greater than the upstroke actualfluid load line72 and the downstroke calculatedfluid load line75 being less than the downstroke actualfluid load line74 may need to be true for the downhole data to be determined under-damped.
Knowing the relationship of the actual and calculatedfluid load lines72 &73 and74 &75 and whether the data is over or under damped, any damping factor used in the wave equation calculation of the surface data can be appropriately adjusted so that thedownhole card60 will more appropriately represent actual conditions downhole. Additionally, knowing the relationship of the actual and calculatedfluid load lines72 &73 and74 &75 can be used for other purposes.
Additional details related to calculating the fluid load lines and testing their concavity can be found in co-pending U.S. application Ser. No. 13/663,161 entitled “Fluid Load Line Calculation and Concavity Test for Downhole Pump Card” filed concurrently herewith, which is incorporated herein by reference in its entirety.
B. Modified Everitt-Jennings with Iteration on Damping Factor
The teachings of the present disclosure modify the Everitt-Jennings algorithm when solving the wave-equation and computing a downhole pump card by incorporating a fluid level calculation with a fluid load line calculation and a concavity test to improve the accuracy and convergence of the Everitt-Jennings algorithm.
When calculating downhole data using the wave equation, it is important to handle damping properly. In the modified Everitt-Jennings method, finite differences are used to solve the wave equation, and position and load, including stress, are computed at each increment down the wellbore. The damping factor D in the wave equation relies on the net stroke and the hydraulic horsepower, both of which are unknown or approximated at the beginning of the calculation. The hydraulic horsepower is a factor of the fluid level, which reflects the amount of fluid in the wellbore annulus. Therefore, unless calculated for that particular stroke, the fluid level may be highly inaccurate.
In the present techniques, iteration on the net stroke and the damping factor is modified to incorporate a fluid level calculation and to include an initialization step of the variables needed for the iteration. The iteration on damping is further modified to treat either one damping factor or separate upstroke and downstroke damping factors.
In one embodiment, an iteration is performed on a single damping factor when solving the wave equation and computing downhole data. The iteration calculates actual fluid load lines and calculated (representative) fluid load lines and performs a concavity test of the downhole data. As detailed above, the actual fluid load lines are computed using calculus and the first and second derivative of the downhole position data. The calculated fluid load lines are computed using a statistical analysis of the downhole load data. The concavity test is a step by step comparison of those two sets of lines. The addition of the concavity test improves the speed and accuracy of convergence when iterating on the damping factor by providing better convergence criteria.
In another embodiment, an iteration is performed on dual damping factors when solving the wave equation and computing downhole data. The dual damping factors include separate upstroke and downstroke damping factors. Conditions can be very different between the upstroke and downstroke, mainly due to the direction of the fluid flowing with or against the rods. Thus, the process splits and iterates on upstroke and downstroke damping factors separately. The iteration on the dual damping factors combines a two-step process for damping factor modification.
1. Iteration on Single Damping Factor
Turning toFIG. 6A, aprocess200 according to one technique of the present disclosure computes a downhole card by iterating first on the net stoke and then iterating on a single damping factor. In theprocess200, some initial calculations and steps are performed (Block202). An initial net stroke (NS0) and top of stroke (TOS) are selected. This allows a daily production rate (Q) and hydraulic horsepower (Hhyd) to be computed. The damping factor D is then set to an initial value, e.g., D=0.5.
Having these initial values, a number of subsequent calculations are performed (Block204). In particular, the surface data is computed to produce an initial downhole pump card based on the set damping factor D and the guessed net stroke (NS0) and top of stroke (TOS) using the wave equation model disclosed herein. Form the downhole card, the actual fluid load lines (F0upactual, F0downactual) and the net stroke (NS) are obtained, and the fluid level (FL), and a new damping factor D is calculated from equation (2).
At this point after initial assumptions have been corrected and a new damping D factor calculated, a check is made to determine if the calculated net stroke (NS) is within a given tolerance to the initially guessed net stroke (NS0). In particular, theprocess200 determines whether the absolute value of the difference between the guessed net stroke (NS0) and the calculated net stroke (NS) is within a tolerance C (Decision206). (The actual tolerance C for the difference can vary and can depend on the particular implementation, well, load levels, type of pump, etc.) If the net stroke has converged, theprocess200 proceeds to iterate on the new damping factor D (Block212). Otherwise, theprocess200 continues iterating on the net stroke (NS) (Block208).
To continue iterating on the net stroke (NS), theprocess200 calculates the daily production rate (Q), the hydraulic horsepower (Hhyd), a new damping factor (D), and the downhole card again using the computed net stroke (NS) (Block208). Again, a check is made whether the absolute value of the difference between the previous net stroke (NSI-1) and the new net stroke (NSI) is within tolerance C (Decision210), and theprocess200 either reverts back to iterate on the net stroke (NS) (Block208) or proceeds to iterate on the damping factor D (Block212).
To iterate on the damping factor D once the net stroke (NS) has converged, theprocess200 calculates the daily production rate (Q), the hydraulic horsepower (Hhyd), and a new damping factor D based on the computed net stroke (NS) (Block212). Then, the downhole pump card is calculated using the wave equation model as disclosed herein, and the calculated fluid load lines (F0upcalc, F0downcalc) and the pump horsepower (Hpump) are computed (Block212). The calculated fluid load lines (F0upcalc, F0downcalc) are calculated using the techniques discussed above. The pump horsepower (Hpump) is computed from the area of the downhole pump card.
At this point, theprocess200 enters a damping variation algorithm250 (FIG. 6B) that compares the hydraulic horsepower (Hhyd) with the pump horsepower (Hpump). If thecomparison250 is successful, the process exits as successfully iterating on the damping factor D to characterize the pump's operation (Block216); otherwise, theprocess200 again computes the downhole card (Block214) so another iteration on the damping factor D can be completed.
Turning to the damping variation algorithm in more detail, acomparative process250 inFIG. 6B determines the damping variation for the iteration on the single damping factor D inFIG. 6A. Thiscomparative process250 serves as a test of the concavity of the fluid load lines in the downhole pump card, which indicates whether the downhole pump card is over-damped or under-damped.
In thecomparative process250, the direction of the variation on the damping factor D is determined by the sign of the difference between the pump horsepower (Hpump) and the hydraulic horsepower (Hhyd). If the pump horsepower (Hpump) is greater than the hydraulic horsepower (Hhyd), the downhole card is deemed to be under-damped. Consequently, the damping factor D needs to be increased. Similarly, if the pump horsepower (Hpump) is less than the hydraulic horsepower (Hhyd), the downhole card is deemed to be over-damped, and the damping factor D needs to be decreased.
To determine if and to what extent to change in the damping factor D, thecomparative process250 inFIG. 6B initially determines whether the pump horsepower (Hpump) is within tolerance of the hydraulic horsepower (Hhyd) (Decision252). If so, the iteration is successful and exits (Block254) because the amount of damping used in the calculating of the downhole pump card is sufficient.
If these horsepowers are not within tolerance, however, theprocess250 continues with a secondary comparison (Decision256). Here, theprocess250 determines whether the calculated downstroke fluid load line (F0downcalc) is within a given range of the actual downstroke fluid load line (F0downactual) and whether the calculated upstroke fluid load line (F0upcalc) is within a given range of the actual upstroke fluid load line (F0upactual). The range can vary and can depend on the particular implementation, such as the fluid load levels, type of downhole pump, etc. In general, the given ranges are selected to determine whether the actual and calculated fluid load lines for the upstroke and downstroke are essentially equivalent to one another.
If both the actual and calculated fluid load lines for the upstroke and downstroke are essentially equivalent, the iteration is successful and exits (Block254) because no adjustment of the damping factor D is needed. If not, then theprocess250 proceeds to one stage (Block260) or another stage (Block270) depending on whether the pump horsepower (Hpump) is greater or less than the hydraulic horsepower (Hhyd).
As noted above, the set of actual fluid load lines (F0upactual and F0downactual) are calculated by finding the right hand corners of the downhole pump card. The set of calculated fluid load lines (F0upcalc and F0downcalc) are calculated using statistics or other technique as disclosed herein. When comparing the position of these fluid load lines, it becomes possible to determine how little or how much damping is needed. Therefore, the fluid load line calculations and the concavity test disclosed above is made part of the convergence criteria for the damping factor D as will be detailed below.
If the pump horsepower (Hpump) is greater than the hydraulic horsepower (Hhyd) indicative of under-damping (Block260), two analyses are made: (1) Is the calculated upstroke fluid load line (F0upcalc) greater than the actual upstroke fluid load line (F0upactual)? and (2) Is the calculated downstroke fluid load line (F0downcalc) less than the actual downstroke fluid load (F0downactual)? (Decision262) If both are true, then theprocess250 updates the damping factor D because the downhole pump card is essentially under-damped (See e.g.,FIG. 5B) (Block250). If not, no update may be necessary because any over or under-damping of the downhole pump card may be inconclusive, although additional adjustment of the damping factor D can be performed (Block264).
Similarly, if the pump horsepower (Hpump) is less than the hydraulic horsepower (Hhyd) (Block270), two analyses are also made: (1) Is the calculated upstroke fluid load line (F0upcalc) less than the actual upstroke fluid load (F0upactual)? and (2) Is the calculated downstroke fluid load line (F0downcalc) greater than the actual downstroke fluid load line (F0doiwnactual)|? (Decision272). If both are true, then theprocess250 updates the damping factor because the downhole pump card is essentially over-damped (See e.g.,FIG. 5A) (Block280). If not, no update may be necessary because any over or under-damping of the downhole pump card may be inconclusive, although additional adjustment of the damping factor D can be performed (Block274).
As shown here, the update of the damping factor D (Block280) is based on a ratio of the pump horsepower (Hpump) to the hydraulic horsepower (Hhyd), which scales the previous value for the damping factor D used in calculating the downhole pump card. When no update is necessary (Blocks264 &274), the dampingvariation algorithm250 returns to theiterative process200 inFIG. 6A with the existing damping factor unadjusted so theprocess200 ends successfully (Block216;FIG. 6A). When an update is necessary (Blocks280), the dampingvariation algorithm250 returns to theiterative process200 inFIG. 6A with the existing damping factor adjusted by the horsepower ratio so theprocess200 does another iteration with the adjusted damping factor (Block214;FIG. 6A).
2. Iteration on Dual Damping Factors
As disclosed above, finite differences and an iteration on the damping factor D are used to solve the one-dimensional damped wave equation to calculate downhole pump card. The process assumes that the friction due to viscous forces can be grouped into only one common coefficient D for the upstroke and the downstroke. As noted herein, however, it is possible for damping to be differentiated between the upstroke and downstroke. Therefore, separate upstroke and downstroke damping factors are preferably used as detailed below.
In the current technique, upstroke and downstroke damping factors Dupand Ddownare split and iterated on separately. The iteration on the dual damping factors Dupand Ddowncombines a two-step process for damping factor modification to select the values for the damping factors accurately. The original damping factor is preferably split into upstroke and downstroke damping factors Dupand Ddownbecause the upstroke and downstroke damping can be very different. On the downstroke, for example, the rods of the rod string move against the fluids in the well, while on the upstroke, the rods move with the fluids. Therefore, allocating separate damping factors Dupand Ddownfor the upstroke and the downstroke can account for these differences.
For each stroke, the top of stroke (TOS) is calculated. As defined, the top of stroke is the turning point at which the upward movement of the pump system stops and the downstroke begins, making it the delimiting factor between the downstroke and upstroke. The top of stroke is computed by calculating the zero of the first derivative of the displacement u=u(x, t), i.e., the point where the velocity is 0. Additional details on the computation of the top of stroke (TOS) as well as other useful calculations (e.g., transfer point, pump fillage, etc.) can be found in U.S. Patent Publication Nos. 2011/0091332 and 2011/0091335, which are incorporated herein by reference in their entireties.
Knowing the top of stroke (TOS), the modified Everitt-Jennings finite difference algorithm is changed to treat the two damping factors Dupand Ddownas follows:
- Initialization: For timesteps j=1, . . . , N, the surface displacement at theinitial node 0 is given as: u0,j=gPR,j.
- From Hooke's law: For timesteps j=1, . . . , N, the surface displacement at the next node 1 is given as:
 
where fPRis the dynamic polished rod load (i.e., the surface-recorded load minus the buoyed weight of the rods).
- For the subsequent nodes along the rod string i=2, . . . , M:
- For the upstroke timesteps j=1, . . . , TOS, the finite-difference analog for the upstroke displacement along the rod string is given as:
 
For the downstroke timesteps j=TOS+1, . . . , N, the finite-difference analog for the downstroke displacement along the rod string is given as:
For the upstroke timesteps j=1, . . . , TOS, the pump displacement is given as:
upump,j=(1+DupΔt)·uM−1,j+1−DupΔt·uM−1,j+uM−1,j−1−uM−1,j,  (7)
For the downstroke timesteps j=TOS+1, . . . , N, the pump displacement is given as:
upump,j=(1+DdownΔt)·uM−1,j+1−DdownΔt·uM−1,j+uM−1,j−1−uM−1,j,  (8)
- For the entire stroke timesteps j=1, . . . , N, the pump load based on Hooke's law is given as:
 
In equation (5-8), the upstroke damping factor Dupis used for the timesteps j=1, . . . , TOS, while the downstroke damping factor Ddownis used for the timesteps j=TOS+1, . . . , N.
With understanding of the split between the upstroke and downstroke damping factors Dupand Ddown, we now turn to aprocess300 for iterating on the dual damping factors until convergence as shown inFIG. 7A.
The iteration on the dual damping factors Dupand Ddownis composed of two parts. Similar to the modified iteration on the single damping factor, the iteration on the net stroke (NS) and the iteration on the dual damping factors Dupand Ddownare treated separately. Because the net stroke (NS) varies only little with the variation of the damping factors Dupand Ddown, the iteration on the net stroke (NS) is done first. Once the net stroke (NS) has converged, the iteration on the dual damping factors Dupand Ddownbegins.
Theprocess300 inFIG. 7A begins by performing some initial calculations (Block302). An initial net stroke (NS0) and top of stroke (TOS) are selected. This allows a daily production rate (Q) and a hydraulic horsepower (Hhyd) to be computed. The damping factors Dupand Ddownare then set to initial values, e.g., Dupis set to 0.25 and Ddownis set to 0.5. This selection can be based on empirical data or other factors.
Having these initial values, a number of subsequent calculations are performed (Block304). In particular, the surface data is computed to produce an initial downhole pump card based on the set damping factors (Dupand Ddown) and the guessed net stroke (NS0) and top of stroke (TOS). From the downhole pump card, the actual fluid load lines (F0upactual, F0downactual) and the net stroke (NS) are obtained, and the fluid level (FL), and new upstroke and downstroke damping factors (Dupand Ddown) are calculated from a bifurcated form of equation (2).
At this point after initial assumptions have been corrected and new damping factors (Dupand Ddown) calculated, a check is made to determine if the calculated net stroke (NS) is within a given tolerance to the guessed nest stroke (NS0). In particular, theprocess300 determines whether the absolute value of the difference between the guessed net stroke (NS0) and the calculated net stroke (NS) is within a tolerance C, which as previously noted may vary depending on the implementation (Decision306). If the calculated net stroke (NS) has converged, theprocess300 proceeds to iterating on the dual damping factors (Dupand Ddown) to convergence (Block312). Otherwise, theprocess300 continues iterating on the net stroke (NS) until it converges (Block308).
To continue iterating on the net stroke (NS), theprocess300 calculates the daily production rate (Q), the hydraulic horsepower (Hhyd), the damping factors (Dup, Ddown), and the downhole pump card again using the computed net stroke (NS) (Block308). Again, a check is made whether the absolute value of the difference between the previous net stroke (NSI-1) and the new net stroke (NSI) is within tolerance E (Decision310), and theprocess300 either reverts back or proceeds on to iterating on the damping factors (Dupand Ddown).
To iterate on the damping factors (Dupand Ddown) once the net stroke (NS) has converged, theprocess300 calculates s daily production rate (Q), a hydraulic horsepower (Hhyd), and the damping factors (Dupand Ddown) using the converged net stroke (NS) (Block312). Then, the downhole pump card, the calculated fluid load lines (F0upcalc, F0downcalc), and the pump horsepower (Hpump) are computed (Block312).
At this point, theprocess300 enters a damping variation algorithm350 (FIG. 7B) that compares the hydraulic horsepower (Hhyd) with the pump horsepower (Hpump) and adjusts the damping factors (Dupand Ddown) if necessary. If thecomparison350 is successful or the damping factors (Dupand Ddown) do not need adjustment, theprocess200 exits successfully as computing the downhole pump card with proper damping factors (Dupand Ddown) (Block316); otherwise, theprocess300 again computes the downhole pump card (Block314) so another iteration can be completed on the damping factors (Dupand Ddown).
Turning to the damping variation algorithm in more detail, acomparative process350 inFIG. 7B determines the damping variation for the iteration on the dual damping factors (Dupand Ddown) inFIG. 7A. Thiscomparative process350 serves as a test of the concavity of the fluid load lines, which indicates whether a given damping factor (Dupand Ddown) over damps or under damps.
Again, in thecomparative process350, the direction of the variation on the damping factor is determined by the sign of the difference between the pump horsepower (Hpump) and the hydraulic horsepower (Hhyd). If the pump horsepower (Hpump) is greater than the hydraulic horsepower (Hhyd), the data is deemed to be under-damped. Consequently, the damping factors Dupand Ddownneed to be increased. Similarly, if the pump horsepower (Hpump) is less than the hydraulic horsepower (HHYD), the data is deemed to be over-damped, and the damping factors Dupand Ddownneed to be decreased.
Similar to the iteration on the single damping factor, the absolute value of the difference between the pump horsepower (Hpump) and the hydraulic horsepower (Hhyd) is monitored closely. Ideally, the pump horsepower (Hpump) should equal the hydraulic horsepower (Hhyd). Therefore, the difference between the pump horsepower (Hpump) and the hydraulic horsepower is determined. If that difference is less than a certain tolerance, the damping factors (Dupand Ddown) are assumed to be correct, and the iteration on the damping factors (Dupand Ddown) is considered to be converged.
Moreover, if the pump horsepower (Hpump) and the hydraulic horsepower (Hhyd) are not within the set tolerance, and if the pump horsepower (Hpump) is greater than the hydraulic horsepower (Hhyd), this is assumed to mean there is not enough damping when solving the wave equation. Similarly, if the pump horsepower (Hpump) is less than the hydraulic horsepower (Hhyd), it is assumed that there is too much damping when solving the wave equation.
Ideally, the graphical representation of the upstroke and the downstroke should be horizontal lines. If the downhole card is concave, too much damping has been used when solving the one-dimensional damped wave equation. Similarly, if the downhole card is convex, too little damping has been used when solving the one-dimensional damped wave equation.
To determine the required change in the damping factors Dupand Ddown, thecomparative process350 inFIG. 7B initially determines whether the pump horsepower (Hpump) is within tolerance of the hydraulic horsepower (Hhyd) (Decision352). If so, the iteration is successful and exits (Block354) because the iteration on the damping factors Dupand Ddown) is converged. If not, theprocess350 continues with a secondary comparison (Decision356).
In the event that the pump horsepower (Hpump) and the hydraulic horsepower (Hhyd) are not within tolerance and the damping needs to be adjusted, a second set of tests is set in place (Decision356). These tests compare the statistical distributions of the upstroke points and the downstroke points to the computed values of the actual fluid load lines so the concavity of the upstroke and downstroke lines is tested.
Here, theprocess350 determines whether the calculated downstroke fluid load lines (F0downcalc) is within a given range of the actual downstroke fluid load lines (F0downactual) and whether the calculated upstroke fluid load line (F0upcalc) is within range of the actual upstroke fluid load line (F0upactual). If both of these are true, the iteration is successful and exits (Block354) because no adjustment of the damping factors Dupand Ddownis essentially needed. If not, then theprocess350 proceeds to one stage (Block360) or another stage (Block370) depending on whether the pump horsepower (Hpump) is greater than the hydraulic horsepower (Hhyd) or not.
As noted above, the actual fluid load lines are determined by using the first and second derivatives of the position. The set of actual fluid load lines called F0upactual and F0downactual are calculated by finding the right hand corners of the downhole card. The upstroke actual fluid load line F0upactual is calculated as the load corresponding to the top of stroke. The top of stroke is computed by finding the zero of the first derivative of the downhole position data. To compute the downstroke actual fluid load line F0downactual, the location of the transfer point is calculated, which is the point at which the load is transferred from the traveling valve to the standing valve. The transfer point is computed using a pump fillage calculation. The actual fluid load line F0downactual is taken to be the load of the absolute minimum of the second derivative of the downhole position data after the transfer point, i.e. the lower right corner of the downhole card.
As also noted above, the set of calculated fluid load lines (F0upcalc and F0downcalc) are calculated using statistics or other technique as disclosed herein. The upstroke and downstroke data is statistically ordered by load in order to produce a probability density function. The maximums of the probability functions yield a set of load ranges in which most of the upstroke and downstroke data reside. The maximum of the probability density function for the upstroke data is referred to as the calculated fluid load line (F0upcalc) while the maximum of the probability density function for the downstroke data is referred to as the calculated fluid load line (F0downcalc).
When comparing the position of these fluid load lines, it becomes possible to determine how little or how much damping is needed. Therefore, the fluid load line calculation and concavity test is made part of the convergence criteria as detailed below.
If the pump horsepower (Hpump) is greater than the hydraulic horsepower (HHYD) indicative of under-damping (Block360), two separated analyses are made: (1) Is the calculated upstroke fluid load line (F0upcalc) greater than the actual upstroke fluid load line (F0upactual)? and (2) Is the calculated downstroke fluid load line (F0downcalc) less than the actual downstroke fluid load line (F0downactual)? (Decision362) If either is true, then theprocess350 updates the requisite damping factor (Dupor Ddown) (Block380 or382). If not, no update is necessary (Block364).
Similarly, if the pump horsepower (Hpump) is less than the hydraulic horsepower (Hhyd) (Block370), two separate analyses are made: (1) Is the calculated upstroke fluid load line (F0upcalc) less than the actual upstroke fluid load line (F0upactual)? and (2) Is the calculated downstroke fluid load line (F0downcalc) greater than the actual downstroke fluid load line (F0downactual)? (Decision372). If either is true, then theprocess350 updates the requisite damping factor Dupor Ddown(Block384 or386). If not, no update is necessary (Block374).
As shown here, the update of the requisite damping factors Dupor Ddownare based on a ratio of the pump horsepower (Hpump) to the hydraulic horsepower (Hhyd), which scales the previous value used for the damping factor Dupor Ddownin calculating the downhole pump card.
Results of the iteration on the damping factors are presented inFIGS. 8A through 8J. The results show downhole cards comparing iterations on a single damping factor D and iterations on dual damping factors Dupand Ddownon example well data. The results for the single and dual damping factors are also compared with results from the Delta program available in the prior art, which uses the Gibbs' method as coded in LOWIS™ software (Life of Well Information Software), which is a web-based well management program available from Weatherford International.
In the top left corner of theFIGS. 8A through 8J, the downhole card resulting from the iteration on the dual damping factors Dupand Ddownis depicted. In the right hand side, the downhole card resulting from the iteration on the single damping factor D is depicted. Finally, on the lower left side, the downhole card resulting from the Delta program is depicted. All of the downhole cards presented as results have been shifted to the zero line to offer a better comparison between the methods.
As further shown on the bottom right corner, details about the iterations are presented. These details for the iteration on the dual damping factors include the actual and calculated fluid load lines, the polished rod horsepower, the hydraulic horsepower, the pump horsepower, the damping factors Dupand Ddownas well as the number of iterations. For the iteration on the single damping factor D, the details include the polished rod horsepower, the hydraulic horsepower, the pump horsepower, the damping factor as well as the number of iterations.
As also depicted, a set of two numbers is presented for the number of iterations. The first number is the number of iterations for the iteration on the net stroke, while the second number is the number of iterations for the damping factor(s). The computer code for the iteration on the net stroke is identical for both methods.
Because the damping factors are values designed to remove and add “noise” to the wave equation, the range for a damping factor is from 0 to 1. As a precaution, the damping factors are corrected so that they do not exceed the value 1 or go below 0. Therefore, a limit value for each end of the range is set in place with Dmax=0.99 and Dmin=0.01.
For the examples presented, the numerical value for the damping used for the Delta program is not comparable to the damping used for the modified Everitt-Jennings algorithm. This is so because the damping used for the Delta program is computed using rod information provided by the rod manufacturers and requires manual adjustment.
In the first example depicted inFIG. 8A, a well has an original stroke length of 100 inches. The iteration on the net stroke converged in 2 iterations to a value of 61.78 inches. The polished rod horsepower is 2.52 hp, while the hydraulic horsepower is 2.04 hp. For both the iterations on the dual damping factors and the single damping factor, the pump horsepower is 2.22 hp. The F0upactual and F0downactual are 2311 and 26 lbs respectively, while the F0upcalc and F0downcalc are 2265 and 163 lbs respectively.
The iteration on the dual damping factors exited after only 1 iteration, since the F0upactual>F0upcalc and the F0downactual<F0downcalc, even though |Hpump−Hhyd|>0.1. The corresponding damping factors are Dup=0.25 and Ddown=0.5. The iteration on the single damping factor also stopped at the first iteration since the Hpump>Hhyd, with a damping factor of 0.5. The card obtained through the Delta program shows over-damping.
In the second example depicted inFIG. 8B, another well has original stroke length of 144.05 inches. The iteration on the net stroke converged in 2 iterations to a value of 119.44 inches. The polished rod horsepower is 7.98 hp, while the hydraulic horsepower is 6.9 hp. For the dual iteration on the damping factors, the pump horsepower is 7.23 hp, while for the single iteration on the damping factor, the pump horsepower 6.96 hp. The F0upactual and F0downactual are 4734 and 10 lbs respectively, while the F0upcalc and F0downcalc are 4746 and −16 lbs respectively.
The iteration on the dual damping factors exited after 1 iteration since Hpump>Hhydand the F0upactual and F0downactual are within tolerance of the values for the F0upcalc and F0downcalc. The corresponding damping factors are 0.25 and 0.5.
The iteration on the single damping factor also exited in 1 iteration since Hpump>Hhyd, resulting in a damping factor of 0.5. The card obtained through the Delta program displays a loop on the right hand side.
In the third example depicted inFIG. 8C, a third well has an original stroke length for the well is 64.00 inches. The iteration on the net stroke converged in 2 iterations to a value of 37.56 inches. The polished rod horsepower is 2.38 hp, while the hydraulic horsepower is 1.56 hp. For the iteration on the dual damping factors, the pump horsepower is 1.6 hp, while for the single iteration on the damping factor the pump horsepower is 1.47 hp. The F0upactual and F0downactual are1502 and −753 lbs respectively, while the F0upcalc and F0downcalc are1603 and −624 lbs respectively.
The iteration on the dual damping factor converged in 4 iterations, with |Hpump−Hhyd|<0.1 with damping factors Dupand Ddownequal to 0.1 and 0.2 respectively. Moreover, the actual fluid load lines are within tolerance of the calculated fluid load lines, which further confirms that the appropriate damping factors were selected.
For the iteration on the single damping factor, the iteration converged after 2 iterations with a damping factor of 0.88. However from the presented downhole card, the card is clearly over-damped. The downhole card obtained through the Delta program also displays a “loop”.
In the fourth example depicted inFIG. 8D, a fourth well has an original stroke length for the well is 86.3 inches. The iteration on the net stroke converged in 2 iterations to a value of 10.06 inches. The polished rod horsepower is 1.26 hp, while the hydraulic horsepower is 1.19 hp. For the iteration on the dual damping factors the pump horsepower is 1.16 hp, while for the iteration on the single damping factor, the pump horsepower is 1.01 hp. The actual fluid load lines are2612 and 0 lbs, while the calculated fluid load lines are2613 and 67 lbs.
The iteration of the dual damping factors converged in 7 iterations satisfying |Hpump−Hhyd|<0.1 with damping factors Dup=0.1 and Ddown=0.5. For this example the values for the actual fluid load lines are within tolerance of the values for the calculated fluid load lines.
The iteration on the single damping factor converged in 1 iteration also satisfying |Hpump−Hhyd|<0.1 with a damping factor of 0.5. The downhole card obtained with the Delta program shows a “loop”, suggesting over-damping.
In the fifth example depicted inFIG. 8E, a fifth well has an original stroke length for the well is 123.2 inches. The iteration on the net stroke converged in 2 iterations to a value of 59.84 inches. The polished rod horsepower is 5.37 hp while the hydraulic horsepower is 3.8 hp. For the dual iteration on the damping factors, the pump horsepower is 4.45 hp while for the single iteration on the damping factor, the pump horsepower is 3.72 hp. The values for the actual fluid load lines are5783 and 343 lbs respectively, while the values for the calculated fluid load lines are5626 and −371 lbs.
The dual iteration on the damping factors exited after 4 iterations even though |Hpump−Hhyd|>0.1 since F0upactual>F0upcalc and F0downactual>F0downcalc with damping factors equal to 0.1 and 0.4 respectively.
For the single iteration on the damping factor, the algorithm converged in 5 iterations satisfying |Hpump−Hhyd|<0.1 with a damping factor of 0.41. Both downhole cards from the modified Everitt-Jennings with single iteration on damping factor and the downhole card obtained through the Delta program show a “loop”.
In the sixth example depicted inFIG. 8F, a well has an original stroke length for the well is 120.00 inches. The iteration on the net stroke converged in 2 iterations to a value of 85.21 inches. The polished rod horsepower is 8.45 hp, while the hydraulic horsepower is 5.35 hp. For the dual iteration on the damping factor, the pump horsepower is 6.65 hp, while for the single iteration on the damping factor, the pump horsepower is 7.0 hp. The F0upactual and F0downactual are3268 and −1113 lbs respectively, while the F0upcalc and F0downcalc are3210 and −1086 lbs respectively.
The dual iteration on the damping factors exited in 6 iterations with Hpump>Hhyd, F0upactual≈F0upcalc and F0downactual<F0downcalc. The corresponding damping factors are Dup=0.75 and Ddown=0.5.
For the single iteration on the damping factor, the algorithm exited after 1 iteration since Hpump>Hhydwith a damping factor of 0.5. The downhole card associated with the Delta program show under-damping.
In seventh example depicted inFIG. 8G, a well has an original stroke length for the well is 86.1 inches. The iteration on the net stroke converged in 2 iterations to a value of 75.91 inches. The polished rod horsepower is 8.55 hp, while the hydraulic horsepower is 4.38 hp. For the dual iteration on the damping factors, the pump horsepower is 6.59 hp while for the single iteration on the damping factor, the pump horsepower is 5.84 hp. The values for the actual fluid load lines are2424 and −1197 lbs respectively, while the values for the calculated fluid load lines are2732 and −972 lbs respectively.
The iteration on the dual damping factors exited after 9 iterations since Hpump>Hhyd, F0upactual<F0upcalc but Dup=Dmax=0.99 and F0downactual<F0downcalc. The corresponding damping factors are Dup=0.99 and Ddown=0.5. For the iteration on the single damping factor, the algorithm exited after 1 iteration since Hpump>Hhydwith a damping factor of 0.99. The associated downhole card, however shows over-damping. The downhole card associated with the Delta program shows under-damping.
In the eighth example depicted inFIG. 8H, a well has an original stroke length of 57.10 inches. The iteration on the net stroke converged in 2 iterations to a value of 13.05 inches. The polished rod horsepower is 0.74 hp, while the hydraulic horsepower is 0.6 hp. For the iteration on the dual damping factors the pump horsepower is 0.67 hp, while for the iteration on the single damping factor the pump horsepower is 0.56 hp. The values for the actual fluid load lines are2234 and 311 lbs respectively, while the values for the calculated fluid load lines are1909 and 338 lbs respectively.
The iteration on the dual damping factors converged in 4 iterations with |Hpump−Hhyd|<0.1 with damping factors of Dup=0.01 and Ddown=0.2. Furthermore F0upactual>F0upcalc and F0downactual F0downcalc. The iteration on the single damping factor converged in 1 iteration to a damping factor of 0.99. The downhole card obtained through the Delta program shows over-damping.
In a ninth example depicted inFIG. 8I, a well has an original stroke length of 119.90 inches. The iteration on the net stroke converged in 2 iterations to a value of 95.92 inches. The polished rod horsepower is 17.04 hp, while the hydraulic horsepower is 10.44 hp. For the dual iteration on the damping factors the pump horsepower is 11.6 hp, while for the single iteration on the damping factor the pump horsepower is 10.87 hp. The values for the actual fluid load lines are4831 and 676 lbs respectively, while the values for the calculated fluid load lines are4832 and −1034 lbs respectively.
The dual iteration on the damping factors exited after 7 iterations with F0upactual≈F0upcalc and Dup=0.75, while F0downactual>F0downcalc with Ddown=Dmax=0.99 even though Hpump>Hhyd.
For the single iteration on the damping factor, the algorithm exited after 1 iteration since Hpump>Hhydwith a damping factor of 0.9. The downhole card associated with the Delta program shows under-damping.
In the tenth example depicted inFIG. 8J, a well has an original stroke length of 144.00 inches. The iteration on the net stroke converged in 2 iterations to a value of 123.33 inches. The polished rod horsepower is 24.00 hp, while the hydraulic horsepower is 16.20 hp. For the dual iteration on the damping factors the pump horsepower is 15.13 hp, while for the single iteration on the damping factor the pump horsepower is 16.15 hp. The values for the actual fluid load lines are7220 and 2223 lbs. respectively, while the values for the calculated fluid load lines are7346 and 2329 lbs. respectively.
For the iteration on the dual damping factors, the algorithm exited after 7 iterations with F0upactual<F0upcalc, F0downactual<F0downcalc and Hpump<Hhydwith damping factor values of 0.75 and 0.8 respectively.
For the iteration on the single damping factor, the algorithm converged in 6 iterations with a damping factor of 0.6845 to satisfy |Hpump−Hhyd|<0.1. The downhole card associated with the Delta program suggests under-damping.
For the examples inFIGS. 8A, 8B, 8D, 8H and 8I, the results from the iteration on the dual damping factors and the single damping factor are very similar. Indeed, for both methods, the downhole cards show appropriate damping. However, on these examples, the downhole card obtained through the Delta program shows inappropriate damping. InFIG. 8I, for example, the downhole card obtained through the Delta program displays not enough damping as seen by the “fat” appearance of the card, whereas for examples inFIGS. 8A, 8B, 8D and 8H, the downhole card obtained through the Delta programs shows too much damping since the cards loop over themselves.
For the examples inFIGS. 8C and 8E, the results from the dual iteration on the damping factors and the single iteration on the damping factor are different. In both cases, the single iteration on the damping converged; however, the damping factors are not appropriate since the downhole cards loop on themselves. The same “looping” phenomenon is also observed for the downhole cards obtained through the Delta program, which is a sign of over-damping. For both examples, the dual iteration on the damping factors did not converge through the horsepower test but rather through testing the concavity of the fluid load lines according to the present disclosure.
For the examples in8F,8G and8J, each downhole card obtained through all three methods vary in “thickness”. Even though for each example, it appears that the downhole card obtained through the dual and single iterations show more appropriate damping than for the “fatter” Delta card, it is hard to determine which damping is most accurate. Some of the above examples clearly come from wells with mechanical friction, which can complicate the selection of the damping, since the viscous damping is not meant to overcome the mechanical friction. Accordingly, additional techniques can be used, such as disclosed in co-pending application Ser. No. 13/663,161, which is incorporated herein by reference in its entirety.
Handling the damping of the one-dimensional damped wave equation can be done using a single damping factor or by using both an upstroke damping factor and a downstroke damping factor. As can be seen by the above results, in most instances, the difference between the results of both methods may be small. However, in some instances, the single iteration on the damping factor is not enough to overcome the downhole conditions present in the well so that iterating on the single damping factors selects, even upon convergence, an inappropriate damping factor.
Consistently, however, the results from either iterations on damping prove better than the calculation of the damping factor as present in the Delta program. The damping factors in the Delta program must be manually adjusted to match the results from the dual iteration on the damping factors or the single iteration on the damping factor. Moreover, the addition of the fluid load line calculations and concavity tests improve the results and the speed of convergence of the algorithm.
As will be appreciated, teachings of the present disclosure can be implemented in digital electronic circuitry, computer hardware, computer firmware, computer software, or any combination thereof. Teachings of the present disclosure can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor so that the programmable processor executing program instructions can perform functions of the present disclosure.
To that end, the teachings of the present disclosure can be implemented in a remote processing device or a pump controller. For example,FIG. 9A shows an embodiment of apump controller400 installed on a sucker-rod pump system10, such as a pump jack commonly used to produce fluid from a well. Thepump system10 includes awalking beam11 connected to aframe15. Thewalking beam11 operatively connects to apolished rod12 connected via a rod string (not shown) to a downhole pump (not shown), which can be any downhole reciprocating pump as discussed herein. Amotor control panel19 controls amotor17 to move thewalking beam11 and reciprocate thepolished rod12, which in turn operates the downhole pump. Although a pump jack is shown, other sucker-rod pump systems can be used, such as a strap jack, or any other system that reciprocates a rod string using cables, belts, chains, and hydraulic and pneumatic power systems.
In general,sensors402 and404 measure load and position data of thepump system10 at the surface, and the measured data from thesensors402 and404 is relayed to thecontroller400. After processing the information, thecontroller400 sends signals to themotor control panel19 to operate thepump system10. A particular arrangement ofcontroller400 andsensors402 and404 is disclosed in U.S. Pat. No. 7,032,659, which is incorporated herein by reference.
As shown, thecontroller400 uses aload sensor402 to detect the weight of the fluid in the production tubing during operation of thepump system10 and uses aposition sensor404 to measure the position of thepump system10 over each cycle of stroke. Theposition sensor404 can be any position measurement device used for measuring position relative to the top or bottom of the stroke. For example, theposition sensor404 can be a dual position sensor that produces a continuous position measurement and a discrete switch output that closes and opens at preset positions of thepolished rod12.
Alternatively, the degree of rotation of the pump system's crank arm can provide displacement data. For example, a sensor can determine when the system's crank arm passes a specific location, and a pattern of simulated polished rod displacement versus time can be adjusted to provide an estimate of polished rod positions at times between these crank arm indications. In another alternative, a degree of inclination of thewalking beam11 can provide displacement data. For example, a device can be attached to thewalking beam11 to measure the degree of inclination of the pumping unit.
Load data of thesystem10 can be directly measured using a load cell inserted between a polished rod clamp and carrier bar. Alternatively, the strain on thewalking beam11 can provide the load data. Using aload sensor402, for example, thecontroller400 can measure the strain on thepolished rod12 and can then control thepump system10 based on the strain measured. Theload sensor402 may use any of a variety of strain-measuring devices known to a person of ordinary skill in the art. For example, theload sensor402 can be a load measurement device used on thepump system10 that includes a load cell installed on the pumpingrod12 or mounted on thewalking beam11. Theload sensor402 can measure strain in thepolished rod12 and can use a strain-gage transducer welded to the top flange of thewalking beam11.
Alternatively, theload sensor402 can be a strain measuring device that clamps on to a load-bearing surface of thewalking beam11 or any convenient location as disclosed in U.S. Pat. No. 5,423,224. In another example, theload sensor402 can use an assembly similar to what is disclosed in U.S. Pat. No. 7,032,659, which is incorporated herein by reference in its entirety.
Finally, the amplitude and frequency of the electrical power signal applied to themotor17 can be used to determine motor rotation (i.e. displacement data) and motor torque (i.e. load data). In this way, the motor speed and the displacement of the polished rod can provide a series of motor speed and displacement data pairs at a plurality of displacements along the polished rod. That displacement data which represents a complete stroke of thepump system10 can then be converted to load on the rod string and displacement of the rod string at a plurality of displacements along the polished rod, as described in U.S. Pat. No. 4,490,094.
Details of thepump controller400 are schematically shown inFIG. 9B. In general, thecontroller400 includes one ormore sensor interfaces412 receiving measurements from the load andposition sensors402 and404. Additional inputs of thecontroller400 can connect to other devices, such as an infrared water-cut meter, an acoustic sounding device (ASD) provide real-time data which can be logged for pressure buildup analysis and real-time calibration for fluid-level control. Thecontroller400 also include a power system (not shown), as conventionally provided.
Thecontroller400 can havesoftware422 anddata424 stored inmemory420. Thememory420 can be a battery-backed volatile memory or a non-volatile memory, such as a one-time programmable memory or a flash memory. Further, thememory420 may be any combination of suitable external and internal memories.
Thesoftware422 can include motor control software and pump diagnostic software, and thedata424 stored can be the measurements logged from the various load andposition sensors402 and404 and calculation results. Thedata424 in thememory420 stores characteristics of the well, including the depth, azimuth, and inclination of points along the well, which can be derived from drilling and survey data. Because the rod string may be tapered as is sometimes the case, thedata424 in thememory420 can also store characteristics of the sucker rods taper, such as depth, diameter, weight, and length of various sections of the rod.
Aprocessing unit410 having one or more processors then processes the measurements by storing the measurement asdata424 in thememory420 and by running thesoftware422 to make various calculations as detailed herein. For example, theprocessing unit410 obtains outputs from the surface sensors, such as the load and position measurements from thensensors402 and404. In turn, theprocessing unit410 correlates the output from theload sensor402 to the position of thepolished rod12 and determines the load experienced by thepolished rod12 during the stroke cycles. Using thesoftware412, theprocessing unit410 then calculates the downhole card indicative of the load and position of the downhole pump.
To control thepump system10, thepump controller400 preferably uses an unabbreviated Everitt-Jennings algorithm with finite differences to solve the wave equation. Thecontroller400 calculates pump fillage and optimizes production on each stroke. This information is used to minimize fluid pounding by stopping or slowing down thepump system10 at the assigned pump fillage setting. Thepump controller400 can also analyze the downhole pump card and determine potential problems associated with the pump and its operation. This is so because the shape, pattern, and other features associated with the downhole pump card represents various conditions of the pump and its operation.
After processing the measurements, thecontroller400 sends signals to themotor control panel19 to operate thepump system10. For example, one ormore communication interfaces414 communicate with themotor control panel19 to control operation of thepump system10, such as shutting off themotor17 to prevent pump-off, etc. The communication interfaces414 can be capable of suitable forms of communications, and they may also communicate data and calculation results to a remote site using any appropriate communication method.
The foregoing description of preferred and other embodiments is not intended to limit or restrict the scope or applicability of the inventive concepts conceived of by the Applicants. It will be appreciated with the benefit of the present disclosure that features described above in accordance with any embodiment or aspect of the disclosed subject matter can be utilized, either alone or in combination, with any other described feature, in any other embodiment or aspect of the disclosed subject matter.
In exchange for disclosing the inventive concepts contained herein, the Applicants desire all patent rights afforded by the appended claims. Therefore, it is intended that the appended claims include all modifications and alterations to the full extent that they come within the scope of the following claims or the equivalents thereof.