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
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.
PyGeoN is also available through a Docker image. The image of the main branch be obtained by
docker pull pygeon/mainMore details can be found here, docker image is hosted on Docker Hub here.
Create an issue.
Docs website: https://pygeon-docs.readthedocs.io/
See the tutorials.
For a list of papers that use PyGeoN see papers.
See license.