**1. Introduction**

The ZTEM (Z-axis tipper electromagnetic method) method is a native electromagnetic field exploration method. The ZTEM method is developed based on the MT. The abbreviation of magnetotelluric is MT. We can collect magnetic data in a helicopter using the ZTEM method. The method has special advantages in mineral deposit exploration and environmental exploration [1–3]. We need to spend a great deal of time collecting MT data on the ground when the MT method is applied to explore the area. If we can collect data in a helicopter, we can save more time and money. It is very difficult to collect data on the electric field, but tipper data are available from a helicopter. The tipper is the ratio of the vertical magnetic field and horizontal magnetic field.

With the development of this instrument, MT data processing technology has matured. The ZTEM method became possible. Domestic and foreign researchers have conducted research on the ZTEM inversion. Xu Zhibo performed research on 2D ZTEM inversion [4], Li ziqiang performed research on 3D ZTEM [5], Gu performed research on a parallel algorithm of 3D MT inversion [6], Holtham conducted research on 3D ZTEM inversion [7], and Sasaki conducted research on 3D ZTEM [8]. The research on the parallel algorithm of 2D ZTEM inversion is limited, so it is essential to perform research on the parallel algorithm of 2D ZTEM inversion. Two-dimensional conjugate gradient inversion is an effective method. The model is divided into m columns and n rows. When the number is large, more computation time is required. The model is divided into 400 × 400 in this paper, and the run time is 9804 s. We need to develop a parallel algorithm to solve the problem. First, we introduce the parallel algorithm.

The rest of this paper is organized as follows. Section 2 introduces 2D modeling and inversion. Section 3 introduces the MPI technology and how to realize the parallel algorithm. Section 4 shows the results and analysis of the parallel algorithm. Section 5 summarizes this paper and proposes an outlook for future work.

**Citation:** Wang, M.; Tan, H.; Wang, Y.; Lin, C.; Peng, M. Parallel Computation for Inversion Algorithm of 2D ZTEM. *Appl. Sci.* **2022**, *12*, 12664. https://doi.org/ 10.3390/app122412664

Academic Editor: Jianbo Gao

Received: 9 November 2022 Accepted: 5 December 2022 Published: 10 December 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

#### **2. 2D ZTEM Forward Modeling and Inversion**

#### *2.1. ZTEM Forward Modeling*

According to the convention of the 2D ZTEM problem, the earth is regarded as a Half space conductor (*z* ≥ 0) and the insulated air layer is above the earth. The electromagnetic field source is above the ground (*z* = −*j*). The ZTEM vertical field is collected in different positions using the MT method, and the horizontal field is the same as in the MT method.

(1) Math-physical model

The Maxwell equation differential form is expressed as:

$$
\nabla \times \mathbf{E} = \mathbf{i}\omega\mu\_0 H \tag{1}
$$

$$
\nabla \times H = \sigma E \tag{2}
$$

Usually, a Descartes rectangular coordinate system is used. The origin of the coordinate is on the ground, the z-axis is straight down, and the y-axis is horizontal. *E* is the electric field, *H* is the magnetic field, *μ*<sup>0</sup> is the magnetic conductivity, *σ* is the conductivity, and *ω* is the angular frequency. There are two polarization models in Maxwell equations.

We set the height of the helicopter as *h*, and the positive z-axis is down to the earth in the coordinate system. The tipper *T* is as follows:

$$H\_z = T\_{zx}H\_x + T\_{zy}H\_y \tag{3}$$

Because the *Hz* is only in the TE mode, Equation (3) is simplified as:

$$H\_{\mathbf{x}} = T\_{\mathbf{xy}} H\_{\mathbf{y}} \tag{4}$$

(2) The finite differential method is used to solve the 2D ZTEM forward model problem

We use the finite differential method to determine the 2D ZTEM forward modeling problem. The main work of the forward problem is to solve the partial differential equation. We set the boundary condition of the equation, and we can obtain the result of the problem.

$$Kv = s\tag{5}$$

*K* is the coefficient matrix. *v* is the magnetic field. *s* is the right vector of the equation. We solve the equation and obtain the magnetic field. Finally, we can obtain the tipper.

#### *2.2. 2D Inversion Modeling*

The forward model is as follows:

$$d = F(m) + e\tag{6}$$

*d* is the data vector, *m* is the model vector, *e* is the error vector, and *F* is the forward function [9–11].

The data vector *d* = *<sup>d</sup>*1, *<sup>d</sup>*2, ··· , *<sup>d</sup>N<sup>T</sup>* , *d<sup>i</sup>* is the tipper in an observation point. The model vector is *m* = *<sup>m</sup>*1, *<sup>m</sup>*2, ··· , *<sup>m</sup>M<sup>T</sup>* . The number of the grid is *M*, and *m<sup>j</sup>* is the resistivity of the unit.

The objective function is as follows:

$$\psi(m) = (d - F(m))^T V^{-1} (d - F(m)) + \lambda m^T L^T L m \tag{7}$$

*λ* is the regularization parameter; *V* is the variance of error vector *e*; the matrix *L* is the Laplace operator. The first item is the data-fitting difference, and the second item is the model-smoothing item [12–14].

Because a great deal of time is spent computing the Jacobi matrix, in order to save run time, the non-linear conjugate gradient inversion algorithm avoids computing the Jacobi matrix. It computes the product of the Jacobi matrix (or the Jacobi transpose matrix) and a vector x. We need to perform two pseudo-forwards and then obtain *ATV*−1*e* and *Ap*. Figure 1 shows the flow chart of inversion.

**Figure 1.** The flow chart of inversion.

This requires a great deal of time to compute the conjugate of the object function *<sup>g</sup>* <sup>=</sup> <sup>−</sup>2*ATV*−1*<sup>e</sup>* <sup>+</sup> <sup>2</sup>*λL<sup>T</sup> Lm* and *<sup>f</sup>* <sup>=</sup> *Ap*. When we obtain the value of *<sup>A</sup>TV*−1*<sup>e</sup>* and *Ap* [15], we can obtain the step length *α* and update the model *m* = *m* + *αp*.
