Skip to main content

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

Metadata

Release files for nodanapy 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nodanapy 1.0.2
File Size Uploaded
nodanapy-1.0.2.tar.gz 27.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nodanapy 1.0.2
File Interpreter ABI Platform
nodanapy-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 64.4 kB

Release files / nodanapy-1.0.2.tar.gz

Download URL nodanapy-1.0.2.tar.gz
Size 27.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e1a65485f3d49b9452920cef0b9f567b8147928a04187380b6a602f1c33eab31
BLAKE2b-256 checksum
How to use checksums
3d8624cb3ace14827520e0dbfe2e09d302bd822f6f1a9ea0f192866eada59d68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.2

Release files / nodanapy-1.0.2-py3-none-any.whl

Download URL nodanapy-1.0.2-py3-none-any.whl
Size 37.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e37bb51023a38c8313ed377c38a4a4f07cc4a40f8dd69126348adc47044438c4
BLAKE2b-256 checksum
How to use checksums
7c17921a0f794f16ced2d7e252f7eebac596ccc91e9b5c12d8b3d0fe02aed9ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.2

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page