Skip to content

Package to calculate Oil or Gas Wells' Nodal Analysis.

License

Notifications You must be signed in to change notification settings

EverJRamosI/nodanapy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


stars forks watchers issues license

NodAnaPy

NodAnaPy is the fundamental package petroleum, in this package you will find to determine the Well Nodal Analysis for oil and gas.

Table of Contents

Installation

You can install NodAnaPy using pip:

pip install nodanapy

Usage

Here is a quick example of how to use NodAnaPy to calculate the optimal rate of an oil well.

INPUT

import matplotlib.pyplot as plt
from nodanapy import WellNAOilR

pr = 4500 # reservoir pressure
tr = 140 + 460 # reservoir temperature
ph = 140 # wellhead pressure
th = 84 + 460 # wellhead temperature
pb = 1500 # bubble pressure

well = WellNAOilR(ph, th, pr, tr, pb)

ipr_well = well.ipr
vlp_well = well.vlp

fig, (ax_ql, ax_qg, ax_qo) = plt.subplots(3, 1)

ax_ql.set_xlabel('Ql(bbl/d)')
ax_ql.set_ylabel('Pwf(psia)')
ax_ql.plot(ipr_well.Ql, ipr_well.Pwf)
ax_ql.plot(vlp_well.Ql, vlp_well.Pwf)
    
ax_qg.set_xlabel('Qg(Mscf/d)')
ax_qg.set_ylabel('Pwf(psia)')
ax_qg.plot(ipr_well.Qg, ipr_well.Pwf)
ax_qg.plot(vlp_well.Qg, vlp_well.Pwf)
    
ax_qo.set_xlabel('Qo(bbl/d)')
ax_qo.set_ylabel('Pwf(psia)')
ax_qo.plot(ipr_well.Qo, ipr_well.Pwf)
ax_qo.plot(vlp_well.Qo, vlp_well.Pwf)

OUTPUT

Well Nodal Analysis

Ql(bbl/d) vs Pwf(psia); Qg(Mscf/d) vs Pwf(psia); Qo(bbl/d) vs Pwf(psia)

Theory

it will be to calculate inflow performance relationship (IPR) and vertical lift performance (VLP) curves for oil and gas wells. In addition, it will be to determine the holdup liquid well.

Click to expand the theory section.

Inflow Performance Relationship (IPR)

The curve is calculated using the different correlations, for example:

  • Oil
    • Vogel
    • Fetkovich
  • Gas
    • LIT
    • Darcy

Vertical Lift Performance (VLP)

The curve is calculated using the different correlations, for example:

  • Oil
    • Hagedorn Brown
    • Beggs and Brill
  • Gas
    • Gray

Dependencies

NodAnaPy requires the following Python (=>3.12) libraries:

  1. PetProPy
  2. Numpy
  3. Scipy
  4. Pandas
pip install -r requirements.txt

License

This project is licensed under the GNU Lesser General Public License v3.0 - see the LICENSE file for details.

API Documentation

For detailed API documentation, please refer to the official documentation