/open_petro_elastic

Utility for calculating elastic properties of petroleum fields

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

open_petro_elastic

A Python library for petro-elastic modelling. It contains a Material class for representing rocks and fluids, as well as various rock physics models and algorithms such as Hashin-Shtrikman bounds and Gassmann fluid substitution.

Build and test Build documentation PyPI version PyPI versions PyPI license

Installation

pip install open_petro_elastic

Developers and contributors can download the repository and do pip install ".[dev,test,docs]" to install the package with all its dependencies for development, testing, and building the docs.

Usage

The tool can be used as a library, or from the command line using YAML configuration files. For example, see the tutorial config file.

Generally, the open_petro_elastic.material module is used for interfacing with open_petro_elastic as a Python library:

>>> from open_petro_elastic.material import Material
>>> from open_petro_elastic.material.sandstone import hertz_mindlin
>>> mineral = Material(bulk_modulus=1e9, shear_modulus=1e9, density=1000)
>>> sand = hertz_mindlin(mineral, porosity=0.4, pressure=1e6)
>>> print(sand.density)
600.0

To get help on the command line interface:

open_petro_elastic --help

See the docs for more usage instructions.

Run tests

Developers and contributors should install everything test_requirements.txt. Then tests can be run with:

pytest

Developers should also intall everything in doc_requirements.txt and read the Code of Conduct.