 Technical report
 Open Access
 Published:
Multiorder vector finite element modeling of 3D magnetotelluric data including complex geometry and anisotropy
Earth, Planets and Spacevolume 71, Article number: 92 (2019)
Abstract
We introduce MoVFEM, a computational algorithm for the modeling of threedimensional magnetotelluric (MT) data using a vector finite element method of specific order from multiple elements’ orders. Our algorithm allows complex geometries, topography, and anisotropic resistivity structures. The software calculates secondary electric and magnetic fields for a planewave primary magnetic field. Accurate calculation of fields in the boundary regions of the computational domain are ensured by the implementation of the Generalized Perfect Matched Layers method. We validate the MoVFEM algorithm by applications to various scenarios, which allow a comparison with analytical or accepted numerical solutions where available. The respective results of our algorithm are in good agreement with existing solutions.
Introduction
The inversion of MT data in connection with the modeling of threedimensional resistivity structures has become a significant area of research with the increase of largescale MT surveys (e.g. Robertson et al. 2016; Schultz 2010; Schultz et al. 2019) and the availability of highperformance computing strategies (Newman 2014). The modeling step is the critical hub of inversion methods. It consists of parametrizing the subsurface in terms of resistivity and generating synthetic MT responses. The results are obtained by numerically solving the partial differential equations describing the propagation of electromagnetic (EM) fields in various media.
The primary numerical methods for 3D MT modeling are integral equation, finite difference (FD), and finite element methods (FEM) (Avdeev 2005). Finite difference methods are well developed, but the focus has been changing toward finite element methods, because these can account for topography, bathymetry, and complex geometry of subsurface structures more accurately (Newman 2014). Since the publication of Reddy et al. (1977), nodal FEM has been applied to solve the forward EM modeling problem (e.g. Mogi 1996; Puzyrev et al. 2013).
Two types of numerical element geometries are commonly used in 3D FEM; namely grids of tetrahedrons or hexahedrons. According to Yilmaz and Kuzuoglu (2008), tetrahedron meshes are commonly used, because of the availability of mesh generation schemes. They have been frequently applied for the modeling of 3D structures from EM data (e.g. Ahagon and Kameari 2017; Ahagon et al. 2018; Cai et al. 2017; Camargos et al. 2017; Liu et al. 2010, 2018; Puzyrev et al. 2013; Ren et al. 2013; Schwarzbach et al. 2011; Weiss 2017). On the other hand, hexahedron mesh geometries are also commonly applied (Cai et al. 2014; Farquharson and Miensopust 2011; Mitsuhata and Uchida 2004; Mogi 1996; Nam et al. 2007; Shi et al. 2004; Xiao et al. 2018; Xiong et al. 2018; Zyserman and Santos 2000).
Han et al. (2009) argue that although FD methods are fast, vector finite element methods (VFEM) yield more accurate solutions. In VFEM, the EM fields are calculated at the edges of the tetrahedron or hexahedron element of the grid. On the other hand, FEM computes them as a vector with three unknowns on each node of the element. Therefore, VFEM reduces the degrees of freedom of the modeling problem and includes the continuity of EM fields among shared elements of the computational domain.
Mostly linearorder edge elements have been applied in the modeling of MT data (Farquharson and Miensopust 2011; Mitsuhata and Uchida 2004; Nam et al. 2007; Shi et al. 2004; Jin 2002). Mitsuhata and Uchida (2004) used linearorder edge elements and nodal basis functions to model MT data with the help of the \({{\mathbf {T}}}{}\varOmega\) Helmholtz field decomposition on rectilinear elements. Shi et al. (2004) incorporated a divergence correction technique into VFEM for 3D MT modeling using linearorder edge elements on a hexahedral mesh. Farquharson and Miensopust (2011) also applied a divergence correction to 3D MT forward modeling and then used piecewise linear functions to define the vector basis functions on a rectilinear mesh. Nam et al. (2007) were the first to apply distorted hexahedrons in order to include surface topography for 3D MT modeling, using linearorder edge elements.
Edge elements of linear order require a fine grid spacing of the finite elements to obtain accurate solutions. Consequently, the problem has to be formulated with a large numbers of unknowns, which again leads to large numerical arrays. Yilmaz and Kuzuoglu (2008) therefore recommended the use of highorder edge elements for the EM scattering problem, since it is possible to obtain accurate solutions with larger elements. The resulting numerical problem contains fewer elements, which leads to reduced requirements in computer memory and faster convergence of solutions. Most recent applications of highorder elements have been using tetrahedral mesh (e.g. Ahagon et al. 2018; Schwarzbach et al. 2011; Weiss 2017). There have been some applications of highorder elements in hexahedral mesh (e.g Grayver and Kolev 2015; Käufl et al. 2018; Zyserman and Santos 2000). Kruglyakov and Kuvshinov (2018) introduced highorder polynomial basis for the volume integralequation method.
The 3D forward modeling algorithms, available within the scientific community, consider the subsurface as isotropic (Cai et al. 2014; Farquharson and Miensopust 2011; Grayver and Kolev 2015; Käufl et al. 2018; Liu et al. 2010; Mackie et al. 1993; Mitsuhata and Uchida 2004; Nam et al. 2007; Shi et al. 2004; Xiao et al. 2018; Xiong et al. 2018; Zyserman and Santos 2000). However, an anisotropy of the modeled medium affects the interpretation of MT data (e.g. Naif et al. 2013); therefore. it is advantageous to extend the computational capabilities of modeling algorithms toward the handling of full 3D anisotropic structures. Recent implementations of anisotropy in VFEM have been applied with either linearorder tetrahedral elements (Cai et al. 2017; Liu et al. 2018) or using linearorder hexahedral elements (Xiao et al. 2018).
At this point, several algorithms for the forward calculation of MT responses for a given resistivity structures exist and have been used to infer unknown subsurface structures. However, the application of highorder hexahedral elements including anisotropy has not been discussed in the literature. We developed a multiorder vector finite element Method (MoVFEM) for the calculation of MT data for 3D structures, including anisotropy and complex geometry such as topography and subsurface interfaces. In addition, highorder hexahedral elements have been implemented in the algorithm. This algorithm produces accurate results if the right choice of boundary conditions is made along with the most efficient element order.
The MT problem is based on the secondary field formulation, in which the EM fields are defined as the sum of given primary EM fields with unknown secondary EM fields, where the primary fields are the EM fields propagating in the air. Both the electric and magnetic field governing equations are implemented in MoVFEM. Boundary conditions are considered using the Generalized Perfect Matched Layers (GPML). The GPML boundary conditions are applied by defining a layer zone (called Perfect Matched Layer), where the field values will gradually decrease to a zero value on the boundary of the domain (Fang and Wu 1996; Zhou et al. 2012). This method was first proposed by Fang and Wu (1996), and later Zhou et al. (2012) modified the GPML equations for MT and CSEM modeling. Both GPML approaches are included in MoVFEM to compare their behavior. Dirichlet boundary conditions are also implemented in this algorithm.
In this feasibility study for MoVFEM, we also compare three types of edge elements: linearorder hexahedrons (12 edges), quadraticorder hexahedrons (36 edges), and Lagrangian hexahedrons (54 edges). Linear and quadraticorder hexahedral elements have been proposed by Kameari (1990). The Lagrangian edge elements are based on Crowley et al. (1988) and Kameari (1990). All element types and their respective basis function definitions lead to a global stiffness matrix, which is usually sparse and symmetric. The required matrix inversions are calculated using the MUMPS software library, which is a parallel directsolver optimized for sparse matrices (Amestoy et al. 2006).
The multiorder vector finite element method
Finite elements
According to Börner (2010), nodal basis functions force the EM fields to be continuous across element boundaries, and it becomes difficult to impose boundary conditions. It is common to obtain spurious (nonphysical) solutions, because of the lack of applying the divergence free condition (Jin 2002).
Hano (1984) introduced linear edge elements for 2D rectangular cells. Each basic polyhedral structure (i.e., each cell) consists of \(n_\text{n}\) nodes and \(n_\text{e}\) edges, on which the numerical elements are defined using mixedorder polynomials, i.e., polynomials of order \(o_\text{p}{}1\) on the direction of the edge element itself, and order \(o_\text{p}\) in other directions. Using mixedorder polynomials, the degree of freedom in the polyhedral structure is reduced from \(3 n_\text{n}\) in FEM to \(n_\text{e}\) in VFEM. In the following, we assume a tiling of the numerical domain by \(N_\text{e}\) (hexahedral) cells, and all numerical elements refer to edge elements. The overall number of nodes is \(N_\text{e}\cdot n_\text{n}N^{\text{shr}}_\text{e}\cdot n^{\text{shr}}_\text{n}\) and the overall number of edge elements \(N_\text{e} \cdot n_\text{e}N^{\text{shr}}_\text{e} \cdot n^{\text{shr}}_\text{e}\), where the superscript shr refers to shared elements.
In addition to reducing the degrees of freedom, mixedorder vector basis functions will also have zero divergence for rectangular cells and very small divergence for distorted geometries. These elements will define EM fields that are continuous across the element boundaries (Jin 2002).
Kameari (1990) introduced a linearorder hexahedral element (8 nodes, 12 elements), and highorder edges for the quadratic element (20 nodes, 36 elements). Crowley et al. (1988) presented a formulation for highorder elements on hexahedra, called covariant projection element (see Fig. 1a–c), from which the Lagrangian element (27 nodes, 54 elements) is deduced. The mixedorder vector basis functions \(B^i_{\xi _{\beta }}\) are defined locally for each element i, \(i=1\ldots N_\text{e}\).
These edge elements allow the construction of local elements by defining the covariant projection of a global vector function \(\mathbf{V }(\mathbf{r }),\mathbf{r } = (x,y,z),\) onto a local coordinate system \((\varvec{{\hat{\xi }}},\varvec{{\hat{\eta }}},\varvec{\hat{\zeta )}}\):
The coordinate orientations are shown in Fig. 1d.
EM field formulations
We consider both the electric (\({\mathbf {E}}\)) and the magnetic (\({\mathbf {H}}\)) fields as total fields, each consisting of the primary and secondary field components, as \({\mathbf {E}}={\mathbf {E}}_\text{p}+{\mathbf {E}}_\text{s}\) and \({\mathbf {H}}={\mathbf {H}}_\text{p}+{\mathbf {H}}_\text{s}\), respectively. The secondary field components are calculated within the range of the conducting medium.
Primary field
For the primary EM fields, the domain \(\varOmega\) is considered as air. The EM fields for xypolarization are
Electric field
The electric field governing equation is
with \(3\times 3\) tensors for the conductivity (\(\varvec{\sigma }\)) and for the magnetic permeability (\(\varvec{\mu }\)). The electric source term on the righthand side is
in which the primary electric field is modified by the model change \(\delta \varvec{\sigma }\). This change is defined as the difference between the model in study \(\varvec{\sigma }\) and the model used for primary fields \(\varvec{\sigma }_\text{p}\), i.e., \(\delta \varvec{\sigma }=\varvec{\sigma }\varvec{\sigma }_\text{p}\).
For MT data, it is common to approximate \({\varvec{\mu }}\approx \mu _0{\mathbf {I}}\), with \({\mathbf {I}}\in {\mathbb {R}}^{3\times 3}\) as the identity operator, and \(\varvec{\sigma }\in {\mathbb {R}}^{3\times 3}\) being a positive definite and symmetric tensor. This tensor again can be written as \(\varvec{\sigma }=\varvec{\sigma }_{\text {{real}}}+\text{i}\omega \varepsilon _0{\mathbf {I}}; \quad \varvec{\sigma }_{\text {{real}}} \in {\mathbb {R}}^{3\times 3}.\) The freeair conductivity is implemented by letting \(\varvec{\sigma }_{\text {{real}}}\equiv {\mathbf {0}}\text { S/m}\).
Magnetic field
For the magnetic component in MT modeling, we assume that the magnetic permeability does not change from the primary model to the model in study. Therefore, we assume that \(\delta {\varvec{\mu }}=0\) and \(\nabla \times \left( {\varvec{\mu }}^{1}\delta {\varvec{\mu }}\cdot {\mathbf {H}}_\text{p}\right) =0.\)
The magnetic field governing equation is given by
with a magnetic source term
Generalized formulation
The MT problem is solved for the secondary field, from a known primary field. If the electric field problem is used, the total magnetic field \({\mathbf {H}}\) is obtained by applying Faraday’s Law to the electric field solution: \({\mathbf {E}}={\mathbf {E}}_\text{p}+{\mathbf {E}}_\text{s}\Rightarrow {\mathbf {H}}=\left( \text{i}\omega {\varvec{\mu }}\right) ^{1}\nabla \times {\mathbf {E}}.\) On the other hand, if the magnetic field problem is used, the total electric field \({\mathbf {E}}\) is calculated from Ampere’s Law applied to the magnetic field solution: \({\mathbf {H}}={\mathbf {H}}_\text{p}+{\mathbf {H}}_\text{s}\Rightarrow {\mathbf {E}}=\varvec{\sigma}^{1}\nabla \times {\mathbf {H}}.\)
Because of the similarity of the governing equations. (3) and (5), a generalized governing equation can be formulated:
with
The MoVFEM procedure is applied to this general formulation.
Applying the Galerkin method to Eq. (7), the problem to be solved becomes the inner product of a differentiable weighting function \({\mathbf {w}}\) with the governing equation, such as \(\left\langle {\mathbf {w}},\mathrm {D}(\varvec{\nu },\varvec{\kappa }){\mathbf {F}}_\text{s}\right\rangle =\left\langle {\mathbf {w}},{\mathbf {s}}^F\right\rangle,\) \(\forall \,{\mathbf {w}}\in {\mathcal {C}}'(\varOmega ),\) where \(\mathrm {D}(\varvec{\nu },\varvec{\kappa })\) is the lefthand side of Eq. (7). The solution for the aforementioned partial differential equations is given by the following integrals,
These integrals are computed over the numerical domain \(\varOmega\) or over its boundary \(\varGamma\), the vector \(\hat{{\mathbf {n}}}\) is a normal vector to the respective boundary element.
The boundary \(\varGamma\) integral in Eq. (8) describes the Neumann boundary condition for tangential fields. From the construction of edge elements in MoVFEM, the tangential EM fields are considered to be continuous among shared elements; therefore, \(C_\varGamma =0\) in the local calculation of Eq. (8) (Farquharson and Miensopust 2011). On the boundary of the domain, homogeneous Neumann boundary conditions are applied. Hence, \({\mathbf {H}}_\text{s}\times \hat{{\mathbf {n}}}=0\) and \({\mathbf {H}}_\text{p}\times \hat{{\mathbf {n}}}=0\), and \({\mathbf {E}}_\text{s}\times \hat{{\mathbf {n}}}=0\) and \({\mathbf {E}}_\text{p}\times \hat{{\mathbf {n}}}=0\). By applying these conditions, we can omit the respective boundary integral.
Implemented boundary conditions
GPMLI
Dirichlet boundary conditions, in which the values of boundary elements are specified to be a known function, require that the boundaries are far away from the inhomogeneities. Therefore, the model domain is extended for several skin depths in each direction \(({\mathbf {x}},{\mathbf {y}},{\mathbf {z}})\). However, it is often computationally impossible to extend the domain until Dirichlet boundary conditions are satisfied. This results in reflections of propagating fields at the outer boundaries back into model domain and even the inhomogeneities, making the solution inaccurate. The GPML approach is based on the assumption that the secondary EM fields gradually decrease to zero in the PML zone (Fang and Wu 1996) as shown in Fig. 2.
According to Fang and Wu (1996), the original PML formulation of Berenger (1994) does not absorb efficiently evanescent waves and significant reflections can occur at the boundary of models involving wave propagation in lossy media. The author suggested the GPML method, a modified version of the original PML method, able to absorb evanescent waves propagating in lossy media. We implemented that improved version (GPML) to appropriately handle propagating and evanescent waves.
The implementation of the GPML method is based on the transformation of real valued into complex valued coordinates. The relevant governing equations in this case transform into
where \({\tilde{\mathbf {s}}}^F\) is the source term using the modified Nabla operator
and \(h^{(x_1+x_2+x_3)}=h_{x_1}h_{x_2}h_{x_3}\). The \(h_{x_m}=h_{x_m}(x_m)\,(m=1,2,3);\) are called stretching factors and are defined by Fang and Wu (1996) as follows:
The \(x_{am}\) and \(x_{bm}\) are the starting and end points of PML zone, respectively (see Fig. 2), and index m identifies the Cartesian coordinate component.
Expanding Eq. (9) with the modified Nabla operator (Eq. 10), it is possible to factorize the stretching factors from the partial differentiations (e.g., \(\partial _{m n}\)) into the model tensors \(\nu _{i j}\) in the anisotropic case, obtaining the final formulation of the MT governing equation for the GPML method:
We use the modified model tensors
The indexes \(m=1,2,3\) and \(n=1,2,3\) are related to the components of the partial derivatives in the expanded curl–curl (e.g. \(\partial _{m n}\) in Eq. 9). Consequently, \({1}/{h_{x_m}h_{x_n}}\) belongs to the partial derivatives of the expanded curl–curl with the modified Nabla operator. The indexes \(i=1,2,3\) and \(j=1,2,3\) are related to the components of \(\varvec{\nu }\) that correspond to the respective derivative. Appendix shows the expanded governing equation where the modified model tensor \(\varvec{{\tilde{\nu }}}\) can be deducted.
According to Fang and Wu (1996), it is necessary to define the best parameters \(a_0\), \(b_0\), and n that lead to a smooth increase of the stretching factor \(h_{x_m}(x_m)\) over space, for a frequency range \(f\in [f_{\text{min}},f_{\text{max}}]\). If \(b(x_m)\) and \(h_{x_0}(x_m)\) (Eq. 11) have large values, the attenuation will be faster. However, these parameters vary with space, bringing up numerical discretization errors that could cause reflections as the wave travels through the PML zone. Steeper variation of these parameters will bring larger numerical reflections (Fang and Wu 1996). For these reasons, the parameters \(b(x_m)\) and \(h_{x_0}(x_m)\) have to be increased gradually in space until the end of the PML zone. As stated by Fang and Wu (1996), \(a_0\) must be bounded by the condition that \(\lambda /(1+a_0)> 2 \, \mathrm {to} \, 3\text{d}x_m\) where \(\text{d}x_m\) is the spacing of the grid, and \(\lambda\) is the shortest wavelength. The parameter \(b_0\) could be determined from the theoretical reflection coefficient of the absorber (Fang and Wu 1996). Therefore, these parameters have to be numerically determined based on the given setup.
GPMLII
Zhou et al. (2012) modified the stretching factors to optimize the GPML method for an application to MT and CSEM forward modeling:
The smoothness of the stretching factors \(h_{x_m}(x_m)\) is modified by the parameter set \(\{a_{\text{min}}\), \(a_{\text{max}}\), \(b_{\text{min}}\), \(b_{\text{max}}\}\), which again has to be selected according to the range of signal frequencies, and based on the given setup. In both formulations, the exponent n is usually chosen from the interval [1,3] for evanescent waves.
All definitions of \(h_{x_m}(x_m)\) (Eqs. 11a and 14a) depend on the frequency applied. For higher frequencies, this stretching factor smoothness increases in space than for lower frequencies. The selection of the stretching factor parameters is important to achieve a sufficiently smooth increase for all frequencies. Figure 3 shows the increase of both definitions of the stretching factors for different frequencies, and fixed GPML parameters. However, a systematic analysis of these parameters has not been carried out up to this point.
Domain discretization
The model domain consists of an input subsurface model including an air domain with height \(h_{\text{air}}\). It is extended to a distance \(\sim 3\delta _{\text{max}}\) in all directions, where \(\delta _{\text{max}}\) is the maximum skin depth, calculated from the minimum conductivity of the model and minimum frequency of the frequency range in use. The extension can be truncated to avoid numerical problems in cases of large computational grids. The conductivity values on the extension zones will be identical to the values on the respective boundaries of the input model.
The computational domain \(\varOmega\) is the model domain together with the extension zones. This domain is discretized into \({N_\text{e}=N_x\cdot \text {N}_y\cdot \text {N}_z}\) unstructured hexahedral elements \(\{\varOmega _i\}\), such that \(\varOmega =\bigcup ^{N_\text{e}}_{i=1}\varOmega _i.\) Let \(\varGamma _{ik}\) be the kth surface of \(\varOmega _i\) and \(\varGamma _{jl}\) the lth surface of \(\varOmega _j\), then \(\varGamma _{ik}=\varGamma _{jl}\) for adjacent \(\varOmega _{i}\) and \(\varOmega _{j}\).
Each hexahedral element is defined by the outer product of intervals in directions of the orthogonal basis \(({\hat{\mathbf {x}}},{\hat{\mathbf {y}}},{\hat{\mathbf {z}}})\):
The element size is subsequently increased throughout the extension zone with a geometric stretching factor of 1.3. These hexahedral elements will fit any topography and subsurface interfaces by defining \(z=z(x,y)\). The surface and interfaces interpolation is applied using a quadratic Shepard method that interpolates scattered data by weighted average of data point values (Algorithm 660: QSHEP2D of Renka 1988). Figure 2 shows this discretization approach with its extension zones.
The \(n_\text{n}\) element nodes are defined in isoparametric coordinates (\(\varvec{\xi }\)), and the representation in Cartesian coordinates (\({\mathbf {r}}\)) is
Three types of numerical elements are defined according to the numbers of nodes used for each local calculation. These are the linear, the quadratic, and the Lagrangian element. Figure 1a–c shows the location of the respective nodes.
For the linear element, eight corner points of the hexahedral element are used (nodes 1–8 in Fig. 1e). The edge nodes are included for the quadratic element (nodes 1–20 in Fig. 1e), and in addition, the six face nodes and the center are included for the Lagrangian element (nodes 1–27 in Fig. 1e).
Vector basis functions
The vector basis function \({\mathbf {v}}\) is defined in the Sobolev space \({{\mathcal {H}}_0(\varOmega ,{\mathrm {curl}})}\) to satisfy the divergencefree condition and to have these basis functions defined on element edges. In addition, these vector functions are defined in a way that the basis function of edge \(\alpha\) will have a value of one on the node \(\beta\) of the edge, and zero on other nodes that do not belong to the edge \(\alpha\), such as \({\mathbf {v}}_{\alpha }(\varvec{\xi }_{\beta })=\delta _{\alpha \beta }\), where \(\delta _{\alpha \beta }\) is the Kronecker delta.
Crowley et al. (1988) described the field \({\mathbf {F}}\) components as \(F_{\varvec{\xi }_{\beta }}\) a projection onto the curvilinear basis vectors \({\hat{\varvec{\xi }}}_{\beta }=\partial {\mathbf {r}}/\partial \varvec{\xi }_{\beta }\):
This field component is called the covariant component, and consequently, this definition is the socalled covariant projection. According to Crowley et al. (1988), the total field and the local gradient are then locally defined as
where \({\mathbf {J}}\) is the determinant of the Jacobian matrix of the respective coordinate transformation and \(\varepsilon\) the LeviCivita symbol for permutations.
The resulting gradients \(\nabla \varvec{\xi }_{\beta }= (\nabla \xi ,\nabla \eta ,\nabla \zeta\)) are orthogonal to the surfaces spanned by pairs of basis vectors of the curvilinear elements \((\hat{\varvec{\eta }},\hat{\varvec{\zeta }})\), \((\hat{\varvec{\xi }},\hat{\varvec{\zeta }})\), \((\hat{\varvec{\xi }},\hat{\varvec{\eta }})\), and therefore, they define local basis vectors. Kameari (1990) used the same definition.
The vector basis functions are defined with mixedorder polynomials \(B^i_{\alpha } \, (\alpha \in \{1,2,3\}, i=1,\ldots, n_\text{e})\) (Crowley et al. 1988; Kameari 1990). The use of mixedorder polynomials results in a problem with \(m_\text{e}\) degrees of freedom. With a consecutive indexing of the edges within one isoparametric hexahedral cell, the field interpolation can be locally formulated as
with the respective vector basis functions (Kameari 1990):
These vector functions are continuous among shared edges, because they are constructed with the same nodes of the grid, thus the condition of continuity of tangential EM fields between interfaces is automatically satisfied (Jin 2002).
Mixedorder polynomials can be obtained from nodal basis polynomial functions by reducing the order in the direction of the edge, and normalizing it with the length of local edge. We will only define the respective polynomials in \({\hat{\xi }}\) direction here, the definitions for the other basis elements are equivalent.
Kameari (1990) presented basis functions for the linear (12 edges) and quadratic (36 edges) elements, and we use those definitions in MoVFEM. Webb and Miniowitz (1991) first presented the covariant projections for the implemented Lagrangian Element (54 edges), we modified those to obtain the formulation of Kameari (1990). The mixedorder polynomials are defined with nodes \({\varvec{\xi }^i_{j} = (\xi _{j},\eta _{j},\zeta _{j})}\), which are the end nodes of the respective edges (i), so the indexes for edges (i) and nodes (j) are bijectively connected for all element orders:

1.
Linear order
The mixedorder polynomial for the ith basis vector in \(\xi\) direction in the linear element is
$$\begin{aligned} B^i_{\xi }=\frac{1}{4}(1+\eta _j\eta )(1+\zeta _j\zeta ). \end{aligned}$$(21) 
2.
Quadratic order
Two types of mixedorder polynomials are defined, one for basis vectors at the edges of the hexahedral element, and the second for basis vectors at the faces of the hexahedral element:
$$B_{\xi }^{i} = \left\{ {\begin{array}{*{20}l} {\frac{1}{8}(1 + \eta _{j} \eta )(1 + \zeta _{j} \zeta )(\xi _{j} \xi + \eta _{j} \eta + \zeta _{j} \zeta  1),} &\quad {\xi {\text{edges}}} \\ {\frac{1}{2}(1  \eta ^{2} )(1 + \zeta _{j} \zeta ),} &\quad {(\xi \times \eta ){\text{faces}}} \\ \end{array} } \right.$$(22) 
3.
Lagrangian order
Three types of mixedorder polynomials are obtained, i.e. polynomials of order \(o_\text{p}{}1\) on the direction of the edge element itself, and order \(o_\text{p}\) in other directions. The first type is defined for basis vectors over element edges, the second type is defined for basis vectors over element faces, and the last is defined for elements on the center of this element:
$$B_{\xi }^{i} = \left\{ {\begin{array}{*{20}l} {\frac{1}{8}(1 + \xi _{j} \xi )(1 + \eta _{j} \eta )(1 + \zeta _{j} \zeta )\eta _{j} \eta \zeta _{j} \zeta } &\quad {\xi {\text{edges}}} \\ {\frac{1}{4}(1 + \xi _{j} \xi )(1  \eta ^{2} )(1 + \zeta _{j} \zeta )\zeta _{j} \zeta } &\quad {(\xi \times \eta ){\text{faces}}} \\ {\frac{1}{2}(1 + \xi _{j} \xi )(1  \eta ^{2} )(1  \zeta ^{2} )} &\quad {{\text{central}}} \\ \end{array} } \right.$$(23)
With field and vector basis functions as defined in Eqs. (19) and (20), the curl of a field is
A detailed proof for Eq. (24b) can be found in RiveraRios (2014).
Local numerical integration
When applying the basis functions in finite elements, the integration is first calculated on the local isoparametric hexahedral cell and is then transformed into global coordinates. Gauss quadrature is used in MoVFEM. The number of quadrature points \(n_g\) is selected according to the order of the respective polynomial, i.e., for linear order \(n_g=8\), and for quadratic order \(n_g=20\), and for Lagrangian elements \(n_g=27\) (Jin 2002).
From the Galerkin formulation (Eq. 8), three integrals are calculated within each hexahedral cell \(\varOmega _i\):
where \({\mathbf {w}}_i\), \({\mathbf {F}}_\text{s}^i\), and \({\mathbf {s}}_F^i\) are the weighting function, the unknown field, and the source term of the hexahedral \(\varOmega _i\), respectively.
The basis vectors \({\mathbf {v}}^i\) (Eq. 20) are applied as the weighting function \({\mathbf {w}}_i\) in the Galerkin formulation (\({\mathbf {w}}_i={\mathbf {v}}^i\) in Eq. 25). The curl of a field (Eq. 24a) is applied into \(I^i_1\) in Eq. (25a), and the field interpolation (Eq. 19) is applied into \(I^i_2\) in Eq. (25b). Subsequently, three integrals are calculated on each hexahedral cell \(\varOmega _i\), for edges \(i_1\) and \(i_2\):
The second integration in Eq. (26c) represent Dirichlet boundary conditions, in which \(F_{i_2}\) is a value assigned for the boundary edge element \(i_2\). Field values \(F_{i_2}\) at edge elements from the boundaries of the domain are usually the analytical or numerical solution of a 1D model or numerical solution of a 2D model that best represent the EM boundary parameters. In the GPML formulation, the second integration in Eq. (26c) disappears because \(F_{i_2}\) is also unknown at the boundaries.
These integrals can be rewritten in matrix form for the finite number of elements:
In the matrix formulation, \(\bar{{\mathbf {M}}}^i_1 \in {\mathbb {R}}^{n_\text{e}\times n_\text{e}}\) is commonly called stiffness matrix whose component \(M_{i_1i_2}\) is the solution of the integral in Eq. (26a) for edges \(i_1\) and \(i_2\). \(\bar{{\mathbf {M}}}^i_2 \in {\mathbb {R}}^{n_\text{e}\times n_\text{e}}\) is commonly called mass matrix and comprises the integral over the \(\varOmega _i\) element in Eq. (26b). The local source vector is \(\bar{{\mathbf {b}}}^i_F\), comprised of the edgewise integrations \(I^i_3\) in Eq. (26c).
The global matrices are assembled by summing the respective matrices from all \(N_\text{e}\) hexahedral cells: the stiffness matrix \(\bar{\bar{{\mathbf {M}}}}_1=\sum _{i=1}^{N_\text{e}}{\bar{{\mathbf {M}}}_1^{i}}\); the mass matrix \(\bar{\bar{{\mathbf {M}}}}_2=\sum _{i=1}^{N_\text{e}}{\bar{{\mathbf {M}}}_2^{i}}\); the source vector \(\bar{\bar{{\mathbf {b}}}}_F=\sum _{i=1}^{N_\text{e}}{\bar{{\mathbf {b}}}_F^{i}}\); and vector of total unknowns \(\bar{\bar{{\mathbf {F}}}}_\text{s}=\sum _{i=1}^{N_\text{e}}{\bar{{\mathbf {F}}}_\text{s}^{i}}\). The global system of equations to be solved for the MT forward modeling at this point is given by
This formulation results in a sparse and symmetric complex valued matrix, because the integration is calculated locally, and elements that are wide apart will not share any edges on the global matrix. Therefore, the matrix storage can be reduced by defining an array of the nonzero entries of global matrix. That global matrix is then inverted using MUMPS (Amestoy et al. 2006), which is a parallel direct solver optimized for sparse matrices. Direct solvers do not use preconditioner, that is why it is not shown in Eq. (28). According to the authors, this direct solver takes advantage of parallelism of sparsity and dense factorization kernels. This package factorizes the symmetric matrix into a matrix of the form \({\mathbf {L}}{\mathbf {D}}{\mathbf {L}}^T\), where \({\mathbf {L}}\) is the lower triangular matrix, and \({\mathbf {D}}\) is the diagonal matrix.
From the matrix inversion we obtain the unknown secondary field components by \(\bar{\bar{{\mathbf {F}}}}_\text{s}=\left[ \bar{\bar{{\mathbf {M}}}}_1+\text{i}\omega \bar{\bar{{\mathbf {M}}}}_2\right] ^{1}\cdot \bar{\bar{{\mathbf {b}}}}_F.\) After obtaining the total field (e.g. \({\mathbf {E}}_\text{s}+{\mathbf {E}}_\text{p}\)), the other EM field (e.g. \({\mathbf {H}}\)) can be calculated directly using Maxwell’s equations. The modeled fields are finally stored as MT response functions (i.e. impedance tensor and tipper). To obtain these responses from the field values, the equations must be solved for the xy and yxpolarization independently in the formulation of the EM source fields (Eqs. 4, 6) as well as in the complex source of GPML if used (Eq. 9). The xypolarization denotes the EM field with an nonzero amplitude of the electric component in xdirection (and a magnetic field component in ydirection, and the yxpolarization denotes the case of a nonzero electric component amplitude in ydirection (and a magnetic component in xdirection).
The impedance \(\mathbf{Z }\) is obtained by a combination of EM field components \((F_{x'}, F_{y'})\) for both polarizations (xy and yx):
The basis for the representation of the resulting matrix \(\mathbf{Z }\) can be transformed into the \((\mathbf{x },\mathbf{y })\) system, and the impedance components can be expressed as a combination of apparent resistivity \(\rho ^a\) and phase angle \(\phi\):
The tipper \((T_{x'z'}, T_{y'z'})\), i.e. the transfer function of magnetic field components, is defined by the following equation
These transfer functions are obtained for either the whole domain \(\varOmega\) or just for receivers at the surface of the model. This section has shown that MoVFEM is expected to produce results with great accuracy when the correct choice of boundary conditions is made along with the most efficient element order (in accuracy and computational time).
General validation of the MoVFEM algorithm
We validate the MoVFEM algorithm by testing it against a model with known MT responses. We start with the numerical analysis of synthetic data from a homogeneous Earth model, for which the resulting field values can be calculated analytically. The apparent resistivity is equal to the inverse of the preset conductivity \(\rho _a=1/\sigma\), and the MT signal phase is \(\phi =45^\circ\). The test input model is 100 km in each x and ydirection, and it extends down to a depth of 50 km. The resistive halfspace has a conductivity of 0.01 S/m. We analyze the MT responses obtained from MoVFEM for a frequency of 0.1 Hz. For the primary fields the domain is considered as air, where \(\varvec{\sigma }_{\text {real}}\equiv {\mathbf {0}}\text { S/m}\).
The grid spacing is chosen according to the element order, and to the skin depth \(\delta\). For linear elements, the spacing in all directions is \(\text{d}x=\text{d}y=\text{d}z=\frac{1}{8}\delta =1.99\) km, the air height is 20 km, and the model is extended to the sides in all directions by \(\sim 55\) km. The computational domain is \(\varOmega =[104.33,103.83]\times [104.33,103.83]\times [0,178.65] \text { km}^3\), and the number of cells is \(N_\text{e}=62\times 62\times 47\).
For quadratic and Lagrangian elements, \(\text{d}x=\text{d}y=\text{d}z=\frac{1}{3}\delta =5.3\) km, the air height is also 20 km, and the extension zone in all directions is \(\sim 69\) km. The computational domain is \(\varOmega =[118.9,114.3]\times [118.9,114.3]\times [0,207.8] \text { km}^3\), and the number of cells is \(N_\text{e}=26\times 26\times 20\).
GPML boundary conditions I
We have implemented GPML boundary conditions in the formulation of Fang and Wu (1996). The stretching factor parameters (c.f. Eq. 11) have been set to \(a_0=1\), \(b_0=1\), \(n=2\), selected after testing some combinations of parameters’ values. The MT responses are presented in Fig. 4.
Table 1 displays the computational time and memory consumption for solving the model with the given parameters.
Using linear elements, the resulting values for the apparent resistivity are at \(\sim 115\, \Omega \, \text {m}\) over the whole computational domain, and the profile shows less deviation toward the edges. Therefore, the effect of errors propagating from the boundaries of the computational domain is present increasing the resistivity by \(\sim 10\, \Omega \, \text {m}\).
The MT responses with quadratic elements are more accurate than before over the whole model domain. The apparent resistivity converges to 100 \(\Omega \, \text {m}\), and the phase converges to \(\sim 46^\circ\). Also, very small effects of field reflections at boundaries can be observed. The average resistivity error is small with \(0.20\%\), and the error of the phase is \(2.20\%\).
The solution based on Lagrangian elements displays almost the same accuracy as the solution for quadratic elements. The average resistivity error is \(0.17\%\), which is again slightly smaller than before. The error of the phase has not been changed compared to the results for quadratic elements. Compared to the aforementioned cases, the current numerical solutions show a subtle but systematically observable oscillatory behavior over the range of the model domains. This implies that there are still errors propagating from the boundaries of the domain, but these errors are smaller than previous cases.
The application of GPMLI boundary conditions results in a significant decrease of boundary errors, especially the small amplitude oscillations over the domain when increasing the element order. The errors are randomly distributed over the surface area of the modeling domain, and the absolute deviation is significantly small for quadratic and Lagrangian elements. This holds for both signal polarizations xy and yx. The values for the apparent resistivity are well recovered, and the values for the phase angle show a small but systematic deviation from the correct values. An increasingly oscillatory behavior of the spatial profiles of values can be observed with increasing element order, but with amplitudes closer to the real solution. These effects suggest that the selection of stretching factor parameters could also be a function of the element order. However, a systematic study of these parameters was not performed.
GPML boundary conditions II
To optimize the numerical results obtained using the GPMLI boundary conditions, we implemented the alternative formulation (GPMLII) for the parameters as proposed in Zhou et al. (2012). We present results for the parameter values \(a_{\text{min}}=0\), \(a_{\text{max}}=100\), \(b_{\text{min}}=10^{2}\), \(b_{\text{max}}=10^6\), and \(n=2\), which were the best results after tweaking with some combination of stretching factor parameters. The MT responses are shown in Fig. 5, and the computational parameters are presented in Table 2.
The grid parameters and number of degrees of freedoms in this setup are the same as the setup for GPMLI, the effective differences in computation time are therefore small.
In the linear elements, the apparent resistivity converges to \(\sim 112\,\Omega \, \text {m}\), which is slightly better than using the Fang and Wu (1996) formulation; the average surface error is \(12.77 \%\). There still the presence of errors propagating from the boundary of the domain that increases the resistivity values to \(\sim 10 \,\Omega \, \text {m}\). The phase converges to 48.5° with this GPML formulation, and the average phase error is \(3.29 \%\).
Using quadratic elements, the obtained apparent resistivity is approximately \(\sim 100 \,\Omega \, \text {m}\), the correct value, and the average resistivity error is \(0.26\%\). The phase fluctuates around 46°, and the error is similar to that from the original (Fang and Wu 1996) GPMLI formulation.
The solution for Lagrangian elements is similar to the one obtained for GPMLI. However, this solution appears more stable than the previous one. The surface resistivity values range here from 99.9 to \(101\,\Omega \, \text {m}\), while they vary from 98.9 to \(101\,\Omega \, \text {m},\) when using the formulation of Fang and Wu (1996). The average resistivity and phase errors are the same as before.
Frequency range
To demonstrate the behavior of the solutions over a range of frequencies, we model the resistivity structure for five frequencies in the range from \(10^{2}\) to \(10^{1}\) Hz. One decade was selected because of computational and time resources. The MT responses are shown to compare the boundary conditions for each element order. All displayed responses are taken from the center of the model surface \((x,y)=(0,0)\).
For higher frequencies, the results from all boundary conditions converge to the same resistivity value of \(\sim 101\,\Omega \, \text {m}\). The phase ranges from \(\sim 45^\circ\) for \(10^{2}\) Hz to \(\sim 48^\circ\) for \(10^{1}\) Hz. The results for the various setups are displayed in Fig. 6.
The skin depth ranges from 16 to 50 km for the frequency range used. The air height is set to 10 km. For linear elements, a grid spacing of 2.3 km is used for all frequencies, which we expect will yield a solution adequate for the whole frequency range. The apparent resistivity obtained with Dirichlet boundary conditions ranges from \(\sim 99\,\Omega \, \text {m}\) for the lowest frequency to \(\sim 120\,\Omega \, \text {m}\) for the highest frequency. For both GPML formulations, the apparent resistivities range from \(\sim 105\,\Omega \, \text {m}\) for \(10^{2}\) Hz to \(\sim 117\,\Omega \, \text {m}\) for \(10^{1}\) Hz, and the phase from around \(45^\circ\) for \(10^{2}\) Hz, up to \(50^\circ\) for \(10^{1}\) Hz.
For quadratic elements, the grid spacing is 10 km, and the other parameters are kept the same as before. The resulting apparent resistivity values obtained from solving the problem with Dirichlet boundary conditions range from \(\sim 98\,\Omega \, \text {m}\) for \(10^{2}\) Hz to around \(101\,\Omega \, \text {m}\) for the highest frequency. The resistivity values obtained with GPML are more accurate and range from 100 to \(101\,\Omega \, \text {m}\) for the frequency range of \([10^{2},\,10^{1}]\) Hz. The three boundary conditions produce results that converge to the same resistivity values for the higher frequencies. The phase values are similar to the behavior obtained with linear elements for all the boundary conditions, and they vary from \(\sim 45^\circ\) to \(\sim 48^\circ\) over the frequency range.
In the case of Lagrangian elements, all parameters are the same as before for quadratic elements. The behavior and accuracy of the MT responses using Lagrangian elements are therefore very similar to the results obtained before, improving only with minor differences.
In all cases, a systematic increase of error with frequency is observed. These large errors are due to not having the optimal grid setting for each frequency. As the skin depth is a function of frequency, so are the grid spacing and boundaries’ position. However, these parameters were kept the same for all frequencies used. The higher the frequency, the smaller the skin depth is. Therefore, a finer grid is required for higher frequencies to achieve better results. Results with Dirichlet boundary conditions suggest an error in the implementation of the boundary elements.
Boundary errors
During the validation of MoVFEM, large errors have been noticed for a halfspace model. For linear elements the errors are specially high, and for highorder elements, the errors oscillate closer to the solution, but are scattered across the surface. Figure 7 shows a comparison of the solution at the surface for (a) linear, (b) quadratic, and (c) Lagrangian elements. We compare the apparent resistivity, real electric field, and imaginary electric field for the xypolarization only.
In the case of linear elements, large oscillations are seen over \({\hat{y}}\) axis, suggesting large errors propagating from the boundaries of the domain. In quadratic elements, the oscillations are smoother for the real field and larger oscillations are seen in the imaginary field.
Going to Lagrangian elements, the oscillations become even smoother for both the real and imaginary fields. These errors, although closer to the solution, scatter across the surface, suggesting that the GPML parameters may depend on the element order. However, the large oscillations on linear elements suggest an error in the implementation of the boundary conditions.
Figure 8 shows the convergence of the implementation using Dirichlet boundary conditions. For linear elements to reach a similar accuracy as the highorder elements, it needs a finer grid with more unknowns. However, even with Dirichlet boundary conditions, the model converges to a large error in relation to halfspace model. This result suggests a bug in the implementation of boundary conditions or in the implementation of boundary elements. Unfortunately, this error has not been found in the code up to this point.
Modeling of complex resistivity structures
Despite of the error mentioned above, we continued to validate MoVFEM with complex resistivity structures. We analyze the model 3D2, that is a part of the COMMEMI project (Zhdanov et al. 1997), for comparing EM forward modeling responses between international researchers. We use this model to compare the outputs of our algorithm with the respective reference values. Unfortunately, the COMMEMI report does not provide information about the phase angle data, and therefore, we additionally compare the MT responses from MoVFEM with the results obtained by Mackie et al. (1993).
Effects of a nonflat topography in the model are investigated using a homogeneous Earth model including a 2D surface hill, as modeled by Wannamaker et al. (1986) and Nam et al. (2007). Results of MoVFEM are compared with that of linear VFEM modeling presented by Nam et al. (2007).
Finally, effects of an anisotropic resistivity structure are analyzed. In that case, the conductivity tensor has only diagonal components to understand the MT responses for a transverse anisotropic model.
The results for the modeling with MoVFEM are chosen from the tests executed for each synthetic example with different frequencies. Different edge elements′ orders and boundary conditions are applied to each synthetic test model. The results of MoVFEM are shown for the frequency used in previous publications. For models that have not been published, the results of MoVFEM are shown for the frequency related to the skin depth and dimensions of the input model structures.
COMMEMI 3D2
Figure 9 shows the synthetic test model COMMEMI 3D2 from Zhdanov et al. (1997), and also describes the geometry and structure of the computational grid used in MoVFEM. We compute the MT response for a signal frequency of 0.01 Hz. Dirichlet boundary conditions are applied, in which the boundaries are layered with the same thickness and resistivity as the background of the input model. Additional tests were run with GPML, changing the spacing and extensions of the model; the results showed MT responses that fluctuate around the values of each resistivity structure. Meaning that small amplitude errors propagate from the boundaries of the domain. Table 3 shows the time and memory used in this application of MoVFEM.
The matrix inversion and solution finished in \(\approx 197\) min for both xy and yxpolarizations. Zyserman and Santos (2000) applied an FEM algorithm with nonconforming vectors (12 edge elements for the electric field, plus 9 facevectors for the magnetic field); their algorithm required a model of \(54\times 54\times 32\) cells, for a total CPU time for one mode (xypolarization) of \(\sim 115\) min in sequential mode.
Figure 10 displays the apparent resistivities and phase angles, taken at the model surface. The results from the COMMEMI report (Zhdanov et al. 1997) and from the FD modeling algorithm of Mackie et al. (1994) are shown for comparison. The phase angles obtained from MoVFEM are similar to the ones published in Mackie et al. (1994).
The xypolarization plots show how the apparent resistivity changes abruptly from one body to the next in the x direction. This model shows more clearly the effect of an electric field propagating orthogonal to the contact of resistivity structures, similar to the TransverseMagnetic (TM) mode in 2D structures. Outputs of MoVFEM compare well with the results from Zhdanov et al. (1997) and Mackie et al. (1994), differences are of about \(2\,\Omega\) m and \(4^\circ\). The largest discrepancies are at the contacts of resistivity structures, due to the discretization scheme used in MoVFEM, where no grid refinement takes place.
For the yxpolarization, variations across the blocks are smoother than in the xypolarization. The obtained results fit the available reference values, although the apparent resistivities are slightly lower than those of Zhdanov et al. (1997) by \(\sim 2\,\Omega \, \text {m}\), and Mackie et al. (1994) by \(\sim 3\,\Omega \, \text {m}\) at the location of the blocks. Phase values obtained with MoVFEM are slightly higher than those of Mackie et al. (1994) (\(\sim 3^\circ\)). Some of the discrepancies between the results occur at the contacts of different structures, again most likely caused by the discretization scheme applied in MoVFEM.
The apparent resistivity surface maps indicate no significant error propagating from the side boundaries of the computational domain (Fig. 10). In addition, the xypolarization shows sharp contacts in the x direction, and the yxpolarization shows sharp contacts in the y direction. A slight asymmetry can be observed in the yxpolarization responses, probably due to a numerical round off that propagates through the matrix LU decomposition. The overall error is also influenced by the boundary errors mentioned before; however, the cause of this error has not been found in the code yet.
Topography effect for homogeneous earth
The effect of nonflat topography on the resistivity structure of MT responses is investigated using the 2D surface hill model by Wannamaker et al. (1986) and Nam et al. (2007) (Fig. 11). To compare our results with the values published by Nam et al. (2007), a signal frequency of 10 Hz is used in this test, see Fig. 11 for the geometry and structure of the computational grid. GPML boundary conditions are applied, using the scheme of Zhou et al. (2012). The stretching factor parameters are the same as in the homogeneous model shown previously in "GPML boundary conditions II" section (\(a_{\text{min}}=0\), \(a_{\text{max}}=100\), \(b_{\text{min}}=10^{2}\), \(b_{\text{max}}=10^6\), \(n=2\)).
Table 4 shows the time and memory used in this application of MoVFEM.
The time spent for the matrix inversion and to calculate the solution was \(\approx 28\) min. Nam et al. (2007) applied linear VFEM to the problem, using \(48\times 48\times 31\) cells. The total time to obtain a convergence of biconjugate gradient was about 5 min in xypolarization and 4 min in the yxpolarization. MoVFEM required more time because of the use of Lagrangian elements and anisotropy, where the isotropic model is stored as the symmetric part of \(\sigma {\mathbf {I}}\) which has six components. Consequently, 252 more local integrations are made within each element compared with the linear and isotropic case in Nam et al. (2007).
Apparent resistivity and phase angle values plots are presented (Fig. 12). Comparing the results obtained from MoVFEM to those of Nam et al. (2007), it can be seen that the yxpolarization exhibits a better agreement between the results than the xypolarization, with an average \(\rho _{yx}\) difference of \(\sim 3\,\Omega\) m and phase angle difference of \(\sim 1^\circ\). However, the results from both polarizations show a similar pattern.
Values of \(\rho _{xy}\) calculated with MoVFEM are higher than the reference values from Nam et al. (2007). They vary by around \(5\,\Omega \, \text {m}\) in the center of the 2D hill, and by \(\sim 2\,\Omega \, \text {m}\) toward the model boundaries. Phase angle values in the center of the hill are lower by around \(1^\circ\). The authors discretized the domain with a finer grid at the air/subsurface contact. Meanwhile, MoVFEM applies the same spacing over depth, but taking into consideration the topography of the model or any other subsurface interface defined, such that Eq. (15) is satisfied. In addition, the surface interpolation method used in MoVFEM obtains a smoother hill than the input model, where the break of slope is slightly different than the input surface.
For the xypolarization, the apparent resistivity starts with a value of around 100 \(\Omega \, \text {m}\) at the boundary where the topography is flat. When the topography starts to change \(\rho _{xy}\) takes its higher values and at the center of the hill, it decreases to its minimum value. The yxpolarization changes gradually from 97 \(\Omega \, \text {m}\) across the boundaries to 104 \(\Omega \, \text {m}\) on top of the center of the hill. From the apparent resistivity model surface plots, it can be inferred that errors from the boundaries of the computational domain are not significantly scattered across the inner model. Therefore, we conclude that the implemented GPML boundary conditions work appropriately, despite the mentioned bug in the implementation of boundary conditions.
Anisotropic homogeneous earth
We consider an anisotropic homogeneous model with spatial dimensions of \(100 \times 100 \times 50\) \(\text {km}^3\) and a transverse resistivity tensor in (x, y, z) (Fig. 13)
The signal frequency for the example presented here is 0.01 Hz, and Fig. 13 describes the geometry and structure of the computational grid. GPML boundary conditions following the scheme of Zhou et al. (2012) is applied, the stretching factor parameters are \({a_{\text{min}}=0}\), \({a_{\text{max}}=100}\), \({b_{\text{min}}=10^{2}}\), \({b_{\text{max}}=10^6}\), and \(n=2\). Table 5 present the time and memory used for the anisotropic model.
Figure 14 shows the resulting apparent resistivity and phase angles for both polarization modes. For the xypolarization, the apparent resistivity has a constant value of 99.8 \(\Omega \, \text {m}\) with an error of \(\sim 0.2\%\), and the phase angle has a constant value of \(44.2^\circ\), as opposed to the expected \(45^\circ\) (error of \(\sim 1.7\%\)). For the yxpolarization, the apparent resistivity has a constant value of 49.8 \(\Omega \, \text {m}\) with an error of \(\sim 0.4\%\), and the phase angle has a constant value of \(45.4^\circ\) with an error of \(\sim 0.88\%\). Consequently, the apparent resistivity in xypolarization yields the \(\rho _{xx}\) component of the input resistivity tensor, and the apparent resistivity in yxpolarization yields the \(\rho _{yy}\) component of the input resistivity tensor.
The modeled apparent resistivities are constant over the total model surface, but high errors are associated with wrongly implemented boundary conditions in the code itself.
Discussion and conclusions
We have presented the multiorder vector finite element algorithm MoVFEM, which has been implemented in Fortran to model 3D MT data for arbitrary resistivity structures, including anisotropy and complex geometry. Linear, quadratic, and Lagrangian elements have been included, with Generalized Perfect Matched Layers boundary conditions. The software enables the handling and solving of electric and magnetic field decoupled governing equations. The resulting values are returned in the form of standard MT response estimates. All calculations have been implemented directly, with the exceptions of MUMPS (Amestoy et al. 2006) and the Shepard Algorithm 660 for surface interpolation (Renka 1988).
The general functionality of MoVFEM has been demonstrated by modeling a homogeneous resistivity structure. This allowed not only the comparison of resulting values with known correct solutions, but also a detailed study of parameter dependencies. We see from the analysis that highorder elements obtain a better solution with a coarse grid; linearorder elements require a finer spacing to obtain the same accuracy. We obtained solutions with a minimum average resistivity error ranging from \(3\%\) for linear order to \(0.2\%\) for highorder elements.
GPML boundary conditions stabilize the solution as the element order increases. However, the use of GPMLI boundary conditions can cause oscillatory solutions that vary spatially on a small scale around the true value, especially for highorder numerical elements, which again return the lowest errors. These oscillations are considered to be small amplitude errors from the boundaries of the computational domain. The application of GPMLII reduces these oscillations even more and produces stabler results. In linearorder elements, the application of GPML (I and II) tends to stabilize the solution to numerical values that are systematically higher than the correct value for a homogeneous Earth. This suggests that highamplitude errors from the boundaries are encountered using linear elements, meaning that the code has a bug in the implementation of boundary conditions.
The selection of stretching factor parameters within the setup of GPML depends on the signal frequency and on the absolute value of the major conductivity structures. In addition, both GPML stretching factors seem to depend on the order of the element used. Consequently, it is difficult to implement robust values for a wide variation of Earth resistivities; a systematic study of stretching factor parameters is necessary to find the best values.
For the application of MoVFEM to complex resistivity structures, we obtained MT responses that agree with the average solutions presented in the COMMEMI project (Zhdanov et al. 1997). The main discrepancy occurred at the boundaries between resistivity structures. Most likely they stem from the applied grid spacing; in MoVFEM, a regular spacing is applied to the whole model domain, and it only increases gradually toward the boundary of the computational domain. Other authors implement a refined grid in areas of high conductivity gradients or in the location of receivers (Mackie et al. 1994; Mitsuhata and Uchida 2004; Zhdanov et al. 1997). A variable grid spacing can be implemented at a later stage in MoVFEM, but such a step requires more careful studies on the various parameter options. At the current state, we primarily focused on the correct numerical behavior for the existing setup. Furthermore, high errors are mostly related to the bug in the code.
In the case of a nonflat surface topography, MoVFEM returns results that are similar to the values published by Nam et al. (2007), especially for the yxpolarization data. In the xypolarization, the resistivity curve differs from the reference solution at locations where the topography changes most rapidly. Again, we interpret this effect to occur due to the regular grid spacing and boundary errors.
Anisotropic effects were analyzed with a homogeneous (transverse) anisotropic resistivity structure. In this case, we did not have published results as references. The MoVFEM solution for the anisotropic homogeneous model correctly returns responses, in which the field polarization is related to the conductivity tensor components. The xypolarization is related to \(\sigma _{xx}\) and yxpolarization to \(\sigma _{yy}\). Only small deviations from the expected results have been observed. Numerical inaccuracies are small and are due to the error in the implementation of boundary conditions. However, we believe that with the correction of this error, the code will have a lot of capability modeling 3D anisotropic structures with complex geometry.
Currently existing software that includes anisotropy is only able to handle 1D or 2D structures for the forward modeling and inversion of MT data (Key 2016; Pek and Santos 2006; Pek et al. 2011). A comparison of the results obtained from MoVFEM (3D forward modeling) with those of a 2D algorithm can be made, but the 3D effects of modeling anisotropic media cannot be described with a 2D algorithm.
MoVFEM assemble the global matrix in an acceptable CPU time when compared with similar algorithms (Farquharson and Miensopust 2011; Nam et al. 2007; Zyserman and Santos 2000), and first approaches toward minimizing the numerical costs have been made. However, the external MUMPS software library systematically requires a major part of the total computational time for the inversion of the global matrix.
We have presented here the results of a thorough analysis of the MoVFEM software to proof its functionality and demonstrate its capabilities. In addition to the cases discussed in the sections above, the algorithm has undergone more tests that we are not able to present within the scope of this article. We refer to RiveraRios (2014) for more detailed information on the implementation and additional test scenarios.
In conclusion, we have developed a MoVFEM computational algorithm for the forward modeling of 3DMT synthetic data, for a model including anisotropy, topography, and complex subsurface interfaces. This algorithm implements edge elements of linear, quadratic, and Lagrangian orders, in which higher orders produce accurate solutions when compared with linear order. In addition to Dirichlet boundary conditions, GPML boundary conditions were also implemented in this algorithm, showing large amplitude oscillations for linear elements, and small amplitude oscillations for higher orders. These oscillations are indicative of errors propagating from the boundaries of the domain. This suggests a bug in the code and that the selection of stretching factors’ parameters depends not only on the frequency used and conductivity, but also on the element order and spacing of the PML zone. A systematic study for the best combination of these parameters needs to be performed in order to properly apply GPML boundary conditions. Despite the oscillations with GPML, very accurate models can be obtained when choosing the right boundary conditions once the boundary error is fixed.
This algorithm provides to the EM community a set of vector basis functions of different order for hexahedral cells, in addition to the GPML boundary conditions. MoVFEM can be applied to various scenarios, including anisotropic resistivity models and models with complex geometries. The domain discretization can be modified to implement hadaptive methods, where the mesh is refined iteratively on areas that need better resolution, especially on the contacts between resistivity structures. The setting of element order can also be modified to implement padaptive methods, where the element order is increased iteratively on areas that need more accuracy. The hpadaptive method incorporates both grid refinement and element order assignment iteratively for better results.
Data availability statement
The source code and an example of input files can be accessed at: https://zenodo.org/badge/latestdoi/192611792
References
Ahagon A, Kameari A (2017) New types of secondorder edge element by reducing edge variables for electromagnetic field analysis. IEEE Trans Magn 53(6):1–4
Ahagon A, Kameari A, Ebrahimi H, Fujiwara K, Takahashi Y (2018) New type of secondorder tetrahedral edge elements by reducing edge variables for quasistatic field analysis. IEEE Trans Magn 54(3):1–4
Amestoy PR, Guermouche A, L’Excellent JY, Pralet S (2006) Hybrid scheduling for the parallel solution of linear systems. Parallel Comput 32(2):136–156
Avdeev DB (2005) Threedimensional electromagnetic modelling and inversion from theory to application. Surv Geophys 26(6):767–799
Berenger JP (1994) A perfectly matched layer for the absorption of electromagnetic waves. J Comput Phys 114:185–200
Börner R (2010) Numerical modelling in geoelectromagnetics: advances and challenges. Surveys Geophys 31(2):225–245
Cai H, Xiong B, Han M, Zhdanov M (2014) 3D controlledsource electromagnetic modeling in anisotropic medium using edgebased finite element method. Comput Geosci 73:164–176
Cai H, Hu X, Li J, Endo M, Xiong B (2017) Parallelized 3D CSEM modeling using edgebased finite element with total field formulation and unstructured mesh. Comput Geosci 99:125–134
Camargos A, Silva V, Guichon JM, Meunier G (2017) GPUaccelerated iterative solution of complexentry systems issued from 3D edgeFEA of electromagnetics in the frequency domain. J High Perform Comput Appl 31(2):119–133
Crowley CW, Silvester PP, Hurwitz H Jr (1988) Covariant projection elements for 3D vector field problems. IEEE Trans Magn 24:397–400
Fang J, Wu Z (1996) Generalized perfectly matched layer for the absorption of propagating and evanescent waves in lossless and lossy media. IEEE Trans Microw Theory Tech 44:2216–2222
Farquharson CG, Miensopust MP (2011) Threedimensional finiteelement modelling of magnetotelluric data with divergence correction. J Appl Geophys 75:699–710
Grayver AV, Kolev TV (2015) Largescale 3D geoelectromagnetic modeling using parallel adaptive highorder finite element method. Geophysics 80(6):E277–E291
Han H, Nam MJ, Kim HJ, Song Y, Suh JH (2009) A comparison of accuracy and computation time of threedimensional magnetotelluric modeling algorithms. J Geophys Eng 6(2):136–145
Hano M (1984) Finiteelement analysis of dielectricloaded waveguides. IEEE Trans Microw Theory Tech 32:1275–1279
Jin J (2002) The finite element method in electromagnetics, 2nd edn. Wiley, Hoboken
Kameari A (1990) Calculation of transient 3D eddy current using edgeelements. IEEE Trans Magn 26:466–469
Käufl JS, Grayver AV, Kuvshinov AV (2018) Topographic distortions of MT transfer functions: a high resolution 3D modeling study using real elevation data. Geophys J Int 215(3):1943–1961
Key K (2016) MARE2DEM: a 2D inversion code for controlledsource electromagnetic and magnetotelluric data. Geophys J Int 207(1):571–588
Kruglyakov M, Kuvshinov A (2018) Using high order polynomial basis in 3D EM forward modeling based on volume integral equation method. Geophys J Int 213(2):1387–1401
Liu C, Yu Y, Ren Z, Wu Q (2010) 3D magnetotelluric adaptive finiteelement modeling. In: Proceedings of the advances in computation and intelligence: 5th international symposium, ISICA, pp 465–473
Liu Y, Xu Z, Li Y (2018) Adaptive finite element modeling of threedimensional magnetotelluric fields in general anisotropic media. J Appl Geophys 151:113–124
Mackie RL, Madden TR, Wannamaker PE (1993) Threedimensional magnetotelluric modeling using difference equations—theory and comparisons to integral equation solutions. Geophysics 58(2):215–226
Mackie R, Smith J, Madden T (1994) Threedimensional electromagnetic modeling using finite difference equations: the magnetotelluric example. Radio Sci 29:923–935
Mitsuhata Y, Uchida T (2004) 3D magnetotelluric modeling using the T\(\Omega\) finiteelement method. Geophysics 69(1):108–119
Mogi T (1996) Threedimensional modeling of magnetotelluric data using finite element method. J Appl Geophys 35:185–189
Naif S, Key K, Constable S, Evans RL (2013) Meltrich channel observed at the lithosphere–asthenosphere bounday. Nature 55:356–359
Nam M, Kim H, Song Y, Lee T, Son J, Suh J (2007) 3D magnetotelluric modelling including surface topography. Geophys Prospect 55:277–287
Newman G (2014) A review of highperformance computational strategies for modeling and imaging of electromagnetic induction data. Surveys Geophys 35:85–100
Pek J, Santos FAM (2006) Magnetotelluric inversion for anisotropic conductivities in layered media. Phys Earth Planet Inter 158(2–4):139–158
Pek J, Santos FAM, Li Y (2011) Nonlinear conjugate gradient magnetotelluric inversion for 2D anisotropic conductivities. In: Smith Y (ed) Proceedings of the 24 SchmickerWeideltKolloquium, Nustadt and der Weinstraße, 19–23 September, pp 187–206
Puzyrev V, Koldan J, de la Puente J, Houzeaux G, Vázquez M, Cela J (2013) A parallel finiteelement method for threedimensional controlledsource electromagnetic forward modelling. Geophys J Int 193:678–693
Reddy I, Rankin D, Phillips R (1977) Threedimensional modelling in magnetotelluric and magnetic variational sounding. Geophys J Int 51:313–325
Ren Z, Kalscheuer T, Greenhalgh S, Maurer H (2013) A goaloriented adaptive finiteelement approach for plane wave 3D electromagnetic modelling. Geophys J Int 194(2):700–718
Renka R (1988) Algorithm 660: QSHEP2D: quadratic Shepard method for bivariate interpolation of scattered data. ACM Trans Math Softw 14(2):149–150
RiveraRios AM (2014) Multiorder vector finite element modeling of 3D magnetotelluric data including complex geometry and anisotropy. PhD Thesis, School of Earth and Environmental Sciences, University of Adelaide
Robertson K, Heinson G, Thiel S (2016) Lithospheric reworking at the ProterozoicPhanerozoic transition of Australia imaged using AusLAMP Magnetotelluric data. Earth Planet Sci Lett 452:27–35
Schultz A (2010) EMScope: a continental scale magnetotelluric observatory and data discovery resources. Data Sci J 8:IGY6–IGY20
Schultz A, Egbert GD, Kelbert A, Peery T, Clote V, Fry B, Erofeeva S (2019) Staff of the National Geoelectromagnetic Facility and their contractors (2006–2018). “USArray TA Magnetotelluric Transfer Functions”. Retrieved from the IRIS database on May 31. https://doi.org/10.17611/DP/EMTF/USARRAY/TA
Schwarzbach C, Börner RU, Spitzer K (2011) Threedimensional adaptive high order finite element simulation for geoelectromagnetics—a marine CSEM example. Geophys J Int 187(1):63–74
Shi X, Utada H, Wang J, Wu W (2004) Three dimensional magnetotelluric forward modeling using vector finite element method combined with divergence corrections (VFE++). In: Proceedings of the 17th IAGA WG 1.2 workshop on electromagnetic induction in the earth, October 18–23, Hyderabad, India
Wannamaker PE, Stodt JA, Rijo L (1986) Twodimensional topographic responses in magnetotellurics modeled using finite elements. Geophysics 51:2131–2144
Webb JP, Miniowitz R (1991) Analysis of 3D microwave resonators using covariantprojection elements. IEEE Trans Microw Theory Tech 39:1895–1899
Weiss CJ (2017) Finiteelement analysis for model parameters distributed on a hierarchy of geometric simplices. Geophysics 82(4):E155–E167
Xiao T, Liu Y, Wang Y, Fu LY (2018) Threedimensional magnetotelluric modeling in anisotropic media using edgebased finite element method. J Appl Geophys 149:1–9
Xiong B, Luo T, Chen L (2018) Direct solutions of 3D MT fields using edgebased finite element. J Appl Geophys 159:204–208
Yilmaz AE, Kuzuoglu M (2008) Comparison of linear and quadratic hexahedral edge elements in electromagnetic scattering problems. AEU Int J Electron Commun 62:582–587
Zhdanov MS, Varentsov IM, Weaver JT, Golubev NG, Krylov VA (1997) Methods for modelling electromagnetic fields. Results from COMMEMI—the international project on comparison of modelling methods for electromagnetic induction. J Appl Geophys 37:133–271
Zhou B, Heinson G, RiveraRios A, Patten C (2012) 3D geoelectromagnetic modelling with subdomain Chebyshev spectral method [extended abstract]. In: ASEG 21st EM induction workshop, July 25–31, Darwin, Australia
Zyserman F, Santos J (2000) Parallel finite element algorithm with domain decomposition for threedimensional magnetotelluric modelling. J Appl Geophys 44:337–351
Acknowledgements
We are grateful to Andrew Hill and Paul Coddington of EResearchSA for their support in the use of high performance computing facilities. Special thanks go to Fundación Kinesis, PR, for financial support of the lead author.
Funding
This research was supported by the Australian Research Council with the Discovery Project (DP20106713).
Author information
Affiliations
Contributions
AMR developed the theory and the main computational program. BZ helped with the theory, and LK helped with the computations. GH worked with the project concept and supervision. All authors read and approved the final manuscript.
Corresponding author
Correspondence to Aixa M. RiveraRios.
Ethics declarations
Competing interests
The authors declare that they have no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix: GPML governing equations
Appendix: GPML governing equations
Expanding the modified governing Eq. (9) with the modified Nabla Eq. (10), we obtain
The source term becomes
From the above formulation is where the stretching factors can be factorized from the partial derivatives (\(\partial _{mn}\)) into the modeling tensor \(\nu _{ij}\).
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Received
Accepted
Published
DOI
Keywords
 Numerical modeling
 Electrical resistivity anisotropy
 Finite element method
 Edge elements
 Magnetotellurics