Parallel Edge-based Tool for Geophysical Electromagnetic Modelling
petgem is a Python code for the scalable solution of electromagnetic diffusion fields on tetrahedral meshes, as these are the easiest to scale-up to very large domains or arbitrary shape. It supports distributed-memory parallelism through petsc4py package. petgem allow users to specify high-order edge-based variational forms of H(curl) for the simulation of electromagnetic fields in realistic 3D CSEM/MT surveys with accuracy, reliability and efficiency.
For more information regarding installation, usage, contributing and bug reports see:
- Website: https://petgem.bsc.es/
- Documentation: https://petgem.bsc.es/
- Installation: https://petgem.bsc.es/
- Source Code: https://github.com/ocastilloreyes/petgem
- Pypi site: https://pypi.org/project/petgem/
- Examples: https://github.com/ocastilloreyes/petgem
The documentation source is in the doc/ directory. The following steps summarize how to generate petgem documentation.
Move to the petgem doc directory:
$ cd doc
Generate the petgem documentation in HTML format by typing:
$ make html
Or, if you prefer the PDF format by typing:
$ make latexpdf
Requests and contributions are welcome.
- A matching version of PETSc_
- Python_ (versions 3.5.2, 3.6.3, 3.6.9, 3.12.0, 3.14.0, and 3.17.0 have been tested).
- A recent NumPy_ release.
- A recent Scipy_ release.
- A recent Singleton-decorator_ release.
- A recent Sphinx_ release.
- A recent texlive_ release.
- A recent Petsc4py_ release.
- A recent Mpi4py_ release.
- A recent h5py_ release.
If you publish results for which you used petgem, please give credit by citing Castillo-Reyes, O. et al. (2019):
Castillo-Reyes, O., de la Puente, J., García-Castillo, L. E., Cela, J.M. (2019). Parallel 3-D marine controlled-source electromagnetic modelling using high-order tetrahedral Nédélec elements. Geophysical Journal International, Volume 219, Issue 1, October 2019, Pages 39–65, https://doi.org/10.1093/gji/ggz285
Castillo-Reyes, O., de la Puente, J., Cela, J. M. (2018). PETGEM: A parallel code for 3D CSEM forward modeling using edge finite elements. Computers & Geosciences, vol 119: 123-136. ISSN 0098-3004, Elsevier. https://doi.org/10.1016/j.cageo.2018.07.005
petgem is developed as open-source under BSD-3 license at Computer Applications in Science & Engineering of the Barcelona Supercomputing Center - Centro Nacional de Supercomputación. Please, see the CONDITIONS OF USE described in the LICENSE.rst file.