Skip to main content

A library containing various tools in the categories of thermodynamics, fluid mechanics, metering etc.

Project description

pvtlib logo

PyPI version Python versions Tests License: MIT

pvtlib is a Python library that provides various tools in the categories of thermodynamics, fluid mechanics, metering and various process equipment. The library includes functions for calculating flow rates, gas properties, and other related calculations.

Installation

You can install the library using pip:

pip install pvtlib

Usage

Here is an example of how to use the library:

from pvtlib.metering import differential_pressure_flowmeters

# Example usage of the calculate_flow_venturi function
result = differential_pressure_flowmeters.calculate_flow_venturi(D=0.1, d=0.05, dP=200, rho1=1000)
print(result)

More examples are provided in the examples folder: https://github.com/equinor/pvtlib/tree/main/examples

Features

  • Thermodynamics: Thermodynamic functions
  • Fluid Mechanics: Fluid mechanic functions
  • Metering: Metering functions
  • aga8: Equations for calculating gas properties (GERG-2008 and DETAIL) using the Rust port (https://crates.io/crates/aga8) of NIST's AGA8 code (https://github.com/usnistgov/AGA8). Note: AGA8 is only valid for single-phase gas conditions. It does not check for phase state and will produce erroneous results in the two-phase or liquid region.
  • Unit converters: Functions to convert between different units of measure
  • Equipment:
    • Compressors: Compressor performance calculations (e.g. polytropic exponent, polytropic head and efficiency)
    • Separators: Separator/scrubber sizing functions (e.g. K-value calculations)
    • Valves: Valve flow calculations (e.g. Kv/Cv flow factor)

Handling of invalid input

This library is used for analyzing large amounts of data, as well as in live applications. In these applications it is desired that the functions return "nan" (using numpy nan) when invalid input are provided, or in case of certain errors (such as "divide by zero" errors).

Running Tests

Tests are located in the tests/ folder and use pytest. Install it before running:

pip install pytest

Then run the tests from the project root:

pytest

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any questions or suggestions, feel free to open an issue or contact the author at chaagen2013@gmail.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pvtlib-1.15.1.tar.gz (69.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pvtlib-1.15.1-py3-none-any.whl (51.5 kB view details)

Uploaded Python 3

File details

Details for the file pvtlib-1.15.1.tar.gz.

File metadata

  • Download URL: pvtlib-1.15.1.tar.gz
  • Upload date:
  • Size: 69.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for pvtlib-1.15.1.tar.gz
Algorithm Hash digest
SHA256 6c5dad71582ab91096e5bf050e2a2aa991f212a8dc6ec35184c4a145f20159c0
MD5 e45bcbd0bd4ba7b13403a0bd8094ef90
BLAKE2b-256 7ade9051cdf72ffbb6c82943f355eecadda735c092b62c91f7864ff47d7b1ebf

See more details on using hashes here.

File details

Details for the file pvtlib-1.15.1-py3-none-any.whl.

File metadata

  • Download URL: pvtlib-1.15.1-py3-none-any.whl
  • Upload date:
  • Size: 51.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for pvtlib-1.15.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7b327e9301bcf3566657766d88928dfc01777267a6263f296bf613ed8a650ecd
MD5 db817f1bf586fa17f9033a8b0ee55d53
BLAKE2b-256 94d7945759c15426b1193c6ea13c2aa6c09c0bd6d742e2c506746a7e89906ee1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page