Skip to content

Repository files navigation

GitHub CI

A 2D, two-phase, immiscible reservoir simulator using TPFA (two-point flux approximation). Documentation.

  • small (all physics fit in core.py's 300 lines of code, <2% of the code of JutulDarcy)
  • equipped with an adjoint model (verified against finite differences)
  • capable (two-phase, compressibility, BHP control) for a toy model (uniform grid, immiscible, isothermal)
  • python (easy to demo in a web browser via Colab or WASM)
  • fast (comparable to JutulDarcy at equal accuracy on 2D two-phase cases, but no waiting on JIT startup)
  • reliable (reproduces the numbers of the Matlab code (2007) from NTNU/Sintef by Jørg E. Aarnes, Tore Gimse, and Knut–Andreas Lie)
  • tested and documented

One waterflood: permeability, pressure, water front, and the adjoint sensitivity

Examples

The examples double as regression tests. Each has a page in the documentation.

One panel per feature, from the examples

Used by

Please let me know (or make a PR) if you use this in your work, and I will add it to this list.

Installation

TODO

Contributions

Get uv and do uv sync, after which you can run the tests with uv run pytest (no further args), and linting with uv run ruff check.

About

Toy petroleum reservoir simulator using TPFA

Topics

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages