Welcome to PETGEM’s documentation!

PETGEM (Parallel Exascale Toolkit for Geophysical Electromagnetic Modeling) is an open-source software for large-scale 3D electromagnetic (EM) modeling. It implements a high-order edge finite element method on unstructured tetrahedral meshes, enabling accurate simulations for active-source EM problems in both forward modeling and inverse modeling (inversion).

Originally developed in Python, PETGEM has been refactored in C and integrated with PETSc to improve scalability on massively parallel architectures, memory efficiency, and mesh handling. These advances make PETGEM well suited for current and future exascale systems.

PETGEM has been successfully applied to subsurface exploration in oil & gas, geothermal reservoir characterization, and environmental EM surveys.

Key features

  • High-order edge finite element method

  • Forward modeling and inversion (L-BFGS with adjoint-state gradients)

  • Unstructured tetrahedral mesh support (Gmsh)

  • Parallel computing with MPI and PETSc

  • Python bindings for pre- and post-processing

  • Integration with performance analysis tools (Extrae)

More information

Indices and tables