Skip to content

compgeo-mox/pygeon

Repository files navigation

Pytest Mypy, ruff, isort CodeQL Documentation Status DOI License: GPL v3

PyGeoN: a Python package for Geo-Numerics

PyGeoN is a Python library for structure-preserving numerical methods in geoscience applications. It provides finite element (FEM) and virtual element (VEM) discretizations for mixed-dimensional problems, with a focus on porous media flow and fracture networks. The library includes tools for grid generation, differential operators, and advanced solvers for coupled multi-physics simulations.

Key Features:

  • Simplicial, Voronoi, and polyhedral grid generation with mixed-dimensional support
  • FEM/VEM discretizations for H1, Hdiv, Hcurl, and L2 spaces
  • Structure-preserving discrete differential operators (grad, div, curl)
  • Spanning tree and Poincaré operators
  • Seamless integration with PorePy

Installation for Linux

PyGeoN requires Python >= 3.13

Since for many functionalities PyGeoN depends on PorePy, we assume that the latter is accessible in your PYTHONPATH. To install PyGeoN

pip install -e .

avoid the -e if you do not want the editable version. It might be useful to add PyGeoN to your PYTHONPATH.

Docker

PyGeoN is also available through a Docker image. The image of the main branch be obtained by

docker pull pygeon/main

More details can be found here, docker image is hosted on Docker Hub here.

Issues

Create an issue.

Documentation

Docs website: https://pygeon-docs.readthedocs.io/

Getting started

See the tutorials.

Papers

For a list of papers that use PyGeoN see papers.

License

See license.