*4.1. Two Low Resistivity Targets Model*

The depth of the object rock is 350 m from the ground, and both of the objects are 300 m × 350 m. The width is 300 m, and the height is 350 m. The background resistivity is 100 Ω·m. The object rock's resistivity is 10 Ω·m. The distance between the two objects is 900 m. *Hz* data are collected in the air above the horizon. The height is 100 m. *Hy* data are collected on the ground. The size of the model's grid is 400 × 400, and the observed points are from point 1 to point 70 on the ground. The six frequencies range from 400 Hz to 10 Hz. We obtain the forward result including the tipper's real part and imaginary part from the parallel program.

In Figure 3, the horizontal axis is in the point position, and we choose points 12, 14, 16 ... 68, and 70 to draw the figure. When the frequency is 50 Hz, we set the result of the real part's computation to o and set the result of the real part's parallel computation to +; the result is the same. We set the result of the imaginary part's computation to ∇, and set the result of the imaginary part's parallel computation to \*; the results are the same.

**Figure 3.** Forward result figure.

We set 5% of the forward data as the random error. We add the random error to the forward data and obtain the synthetic data. We take the synthetic data as the collected data and perform inversion computation. When the rms is less than 1.5, we stop the inversion and obtain the inversion result. The color bar value indicates the resistivity. The background resistivity is 100 Ω·m. The object rocks' resistivity is 10 Ω·m. We can determine that the program's result shows two object rocks' positions correctly, and the value of resistivity is approximately 10 Ω·m in the figure.

Figure 4 shows the inversion figure of parallel computation.

**Figure 4.** Inversion figure.

#### *4.2. Proving the Validity of the Program*

We analyze the serial program and find that the program calculates the equation of different frequencies separately, so the parallel algorithm distributes the work to every process and receives a result from every process. The parallel calculation result is the same as the result of the serial algorithm. The study compares the forward result of the two algorithms in Figure 3, and the data are the same. Figure 4 is the inversion result. We can observe that the experiment results show the object rocks' positions, sizes, and resistivity values correctly, so it proves the validity of the algorithm.

### *4.3. Parallel Efficiency*

In order to evaluate the efficiency of the parallel program for different nodes, we calculate parallel speedup and parallel efficiency. Parallel speedup is the time of serial program/the time of parallel for N processes; parallel efficiency is the parallel speedup/the number of processes N. Table 3 shows the statistics of the time for the algorithm of 2D ZTEM forward modeling and inversion.


**Table 3.** The statistics of the time for the algorithm.

We can observe that the efficiency of the three processes is higher than the efficiency of the six processes in Table 2. The speedup changes and the efficiency decreases when the number of processes in the experiment is six. This is because the higher the number of processes, the more time exchanging data the processes need. Every process needs to perform computation. The computation of higher frequencies needs less time and the computation of lower frequencies needs more time. The process that performs highfrequency computation needs to wait for the process that performs the low-frequency computation. When the number of processes is six, the efficiency is lower than when the number is three. We will perform further study on the parallel algorithm.

#### **5. Conclusions and Future Work**

The computation of 2D ZTEM requires a great deal of time, so determining how to save the running time is key to this problem. We found that the parallel method can solve the problem. This study designed the parallel algorithm for 2D ZTEM forward and inversion in windows os. The experiment proved that the algorithm is correct and efficient. We will perform further study for 3D ZTEM forward and inversion based on the study.

Future work will mainly include two aspects: (1) We will optimize the algorithm with openMP and MPI mixed programming by performing an experiment, recording the running time, and calculating the efficiency of the mixed programming. Furthermore, (2) We will design the parallel algorithm for 3D ZTEM inversion.

**Author Contributions:** Conceptualization, H.T.; methodology, M.W. and H.T.; software, M.W.; validation, C.L. and M.P.; writing—original draft preparation, M.W.; writing—review and editing, Y.W. and M.P.; supervision, Y.W. All authors have read and agreed to the published version of the manuscript.

**Funding:** This study was supported by research grants from the State Key Program of National Natural Science Foundation of China (No. 41830429).

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Data sharing is not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.
