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.14.4.tar.gz (68.5 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.14.4-py3-none-any.whl (50.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pvtlib-1.14.4.tar.gz
Algorithm Hash digest
SHA256 9e8a4cddcad69419b050a79ab560677f75c385483eeb12073f511660b96f844c
MD5 11766942f9536134780394492dfe153a
BLAKE2b-256 90f4473d51e77b3b18f465da1c9ec6f0dacde8b53cd2b321d7c96f5216a9ea68

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pvtlib-1.14.4-py3-none-any.whl
  • Upload date:
  • Size: 50.8 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.14.4-py3-none-any.whl
Algorithm Hash digest
SHA256 335203df31dac305bc86cf7182cc4102847c4c382de730fda79e31cfcd3d430d
MD5 942aba264ca19447168025d7e2fef6f7
BLAKE2b-256 63a90000fc62defaefbdac567c817cf9be665f8f80a8b178be32380a1ade080c

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