Sucker Rod Pump Analysis

In this project, I wrote a MATLAB code to calculate the performance of a sucker rod pump with respect to pumping speed. I am still working on the user interface part since the program takes plenty of parameters. 

The code in this project is completed and the calculations are accurate. I double-checked every parameter in my code using the "SuckerRodPumpingLoad.xls" file, which is the companion software of the book "Petroleum Production Engineering" by Boyun Guo. 

As I mentioned above, the program takes many inputs, these are:

  • API size of the pumping unit,
  • Outer and inner diameters of the tubing,
  • Diameters of rod sections, and their lengths,
  • Perforation depth,
  • Reservoir pressure,
  • Productivity index,
  • API gravity of oil,
  • Water cut,
  • Pump setting depth,
  • Flowing tubing head pressure,
  • Bubble point pressure,
  • Oil formation volume factor,
  • Water formation volume factor,
  • Water specific gravity,
  • Safety factor to prime mover power,
  • The maximum allowable acceleration factor,
  • Volumetric efficiency of the pump,
  • The density of steel,
  • The elasticity modulus of steel,
  • Plunger diameter.
After the input data are given, the code gives the following outputs and graphs.

  • Pump Speed vs Peak Polished Rod Load,
  • Pump Speed vs Peak Torque,
  • Pump Speed vs Stress at Rod Top,
  • Pump Speed vs Pump Displacement Rate,
  • Pump Speed vs Oil Production Rate.
The code also gives the maximum pumping speed, and the limiting condition of the speed, such as the peak polished rod load limit and the peak torque limit of the unit.

Sample Figures:


Figure 1: Sample Input in the Beta UI


Figure 2: Max SPM & Limiting Condition

Figure 3: Pumping Speed vs Oil Production Rate

Figure 4: Pumping Speed vs Peak Polished Rod Load