PETGEM: A parallel code for 3D CSEM forward modeling using edge finite elements

Octavio Castillo-Reyes,Josep de la Puente,José María Cela
DOI: https://doi.org/10.1016/j.cageo.2018.07.005
2018-08-01
Abstract:We present the capabilities and results of the Parallel Edge-based Tool for Geophysical Electromagnetic modeling (PETGEM), as well as the physical and numerical foundations upon which it has been developed. PETGEM is an open-source and distributed parallel Python code for fast and highly accurate modeling of 3D marine controlled-source electromagnetic (3D CSEM) problems. We employ the Nédélec Edge Finite Element Method (EFEM) which offers a good trade-off between accuracy and number of degrees of freedom, while naturally supporting unstructured tetrahedral meshes. We have particularised this new modeling tool to the 3D CSEM problem for infinitesimal point dipoles asumming arbitrarily isotropic media for low-frequencies approximations. In order to avoid source-singularities, PETGEM solves the frequency-domain Maxwell's equations of the secondary electric field, and the primary electric field is calculated analytically for homogeneous background media. We assess the PETGEM accuracy using classical tests with known analytical solutions as well as recent published data of real life geological scenarios. This assessment proves that this new modeling tool reproduces expected accurate solutions in the former tests, and its flexibility on realistic 3D electromagnetic problems. Furthermore, an automatic mesh adaptation strategy for a given frequency and specific source position is presented. We also include a scalability study based on fundamental metrics for high-performance computing (HPC) architectures.
Computational Physics,Numerical Analysis
What problem does this paper attempt to address?
The main problem that this paper attempts to solve is to develop an efficient, accurate and scalable 3D marine controlled - source electromagnetic method (3D CSEM) forward - simulation tool to meet the high - precision modeling requirements under complex geological structures. Specifically, the paper proposes PETGEM (Parallel Edge - based Tool for Geophysical Electromagnetic Modeling), which is a parallel Python code based on the Nédélec edge finite - element method (EFEM) for fast and accurate 3D CSEM problem modeling. ### Main problems 1. **Efficiency**: Be able to obtain accurate results above the data noise level within a reasonable time and cost. 2. **Fidelity**: Be able to handle complex geological structures, especially the complexity of the seabed topography. 3. **Scalability**: Be able to run on workstations or computing clusters and be easy to modify and expand. ### Solutions - **Nédélec edge finite - element method**: This method provides a good balance between precision and degrees of freedom while maintaining the complexity of the geometric structure. - **Parallel computing**: PETGEM uses MPI and PETSc libraries for parallel computing to improve computational efficiency and scalability. - **Automatic mesh adaptation**: Automatically adjust the mesh according to the frequency and source location to reduce the number of degrees of freedom, thereby reducing the computational time and memory requirements. ### Application scenarios 1. **Standard model verification**: Verify the accuracy of PETGEM by comparing it with the quasi - analytical solution. 2. **3D CSEM modeling including seabed topography**: Demonstrate the advantages of PETGEM in handling complex geological structures such as seabed topography. 3. **Automatic mesh adaptation**: Analyze the effect of the automatic mesh adaptation technique at different frequencies and source locations to ensure that the computational domain is consistent with the discretization of the EM equations. ### Mathematical formulas - **Diffusion form of Maxwell equations**: \[ \nabla\times\mathbf{E} = i\omega\mu_0\mathbf{H} \] \[ \nabla\times\mathbf{H} = \mathbf{J}_s+\tilde{\sigma}\mathbf{E} \] where \(\omega\) is the angular frequency, \(\mathbf{E}\) is the electric field, \(\mathbf{H}\) is the magnetic field, \(\mu_0\) is the permeability of free space, \(\mathbf{J}_s\) is the source current distribution, and \(\tilde{\sigma}\) is the conductivity. - **Curl - curl form of the problem**: \[ \nabla\times\nabla\times\mathbf{E}+i\omega\mu_0\tilde{\sigma}\mathbf{E}=i\omega\mu_0\mathbf{J}_s \] - **Skin depth**: \[ \delta=\sqrt{\frac{2}{\mu_0\omega\sigma}}\approx503\sqrt{\frac{1}{f\sigma}} \] where \(\mu_0\) is the permeability of free space, \(\omega\) is the angular frequency, \(\sigma\) is the conductivity, and \(f\) is the frequency. - **Spacing of automatic mesh adaptation**: \[ d_{\delta}(f)=\frac{\delta_{\text{min}}(f)}{r_{\delta}} \] \[ d_s = \min\left(\frac{L_s}{r_s},d_{\delta}(f)\right) \] where \(\delta_{\text{min}}\) is the minimum skin depth and \(r_{\delta}\) is between 2