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
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:
- PetProPy
- Numpy
- Scipy
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| nodanapy-1.0.2.tar.gz | 27.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|