^{1}

^{*}

^{1}

^{1}

^{1}

^{1}

Magnetotelluric sounding method based on the difference of the rock’s resistivity is an exploration method about doing research in earth’s resistivity and phase using the native electromagnetic field. The paper adopts 2D finite element method as the magnetotelluric forward method and calculates the total field by primary field (also named background field) plus secondary field. We can get more accurate forward result through the finite element method and we can get the result effected by the dense degree of grid slightly by the total field. But the method is not effective enough when the model is divided into relative big grid. When the frequency changes, program solves relevant equation separately. According to the feature of the algorithm, we apply MPI parallel method in the algorithm. Every process solves relevant equation. The account of frequency that a process needs to solve in parallel computation is less than the account that the process needs to solve in serial algorithm. We can see that the forward result is the same with the serial algorithm and proves the correctness of algorithm. We do statistics about the efficiency of the parallel algorithm. When the account of processes is from 2 to 8, the speedup is from 1.63 to 2.64. It proves the effectiveness of the parallel algorithm.

Magnetotelluric sounding method is a natural electromagnetic field exploration method [

With the development of computer technology, 2D magnetotelluric forward modeling is becoming mature; 2D finite element [

We have developed the parallel algorithm in order to solve the problem of forward modeling in the paper. I will introduce the algorithm.

2D finite element magn

etotelluric forward modeling.

Maxwell equations

X axis is parallel with the target, Y axis is vertical to the target, Z axis is vertical to the ground. When the angular frequency is

TE mode:

TM mode:

I will introduce the theory in TE mode.

In theory of electromagnetic fields the electromagnetic fields is divided into the primary electromagnetic field and second electromagnetic field. The primary electromagnetic field is the field when there is no target in the ground. The second electromagnetic field is the field caused by the target.

When there is a target in the ground, total field equation minus primary field equation equals second field [

Substituting Equations (12) and (13) into Equation (14), we get the helmohoz equation.

Multiply both side of the equation by v, integrate the equation.

When there is no target in the ground , we solve the 1D magnetotelluric equation [

Divide the ground into M × N grid and every rectangle is divided into 4 triangles. Through isoparametric element transformation of the equation, we put the element into the matrix A [

5, we get

Through analyzing the algorithm of forward, for example 9 frequencies, because the frequency is different, the matrix A is different in equation Ax = b. We need to solve equation for 9 times. In parallel algorithm (such as 4 processes), every process needs to solve equation for 3 times at most. However, in serial algorithm (only 1 process) the process needs to solve equation for 9 times. The less the times (the process needs to solve equation) are, the program running time is less, the parallel efficiency is higher.

The 9 frequencies are from freq (1) to freq (9). The value is 100, 31.6, 10, 3.16, 1, 0.316, 0.1, 0.0316, 0.01 hz. The higher the frequency is, the less the time of solving the equation is. There are two kinds of processes in the algorithm. One type is the main process, the other type is subprocess. 0 process is the main process. It aims to distribute the tasks, broadcast the global data, gather the result and output the files. The subprocesses aims to receive data from the main process, perform tasks and send the result to the main process. In order to perform more tasks, the main process performs a small task. We will introduce the performing process.

1) MPI_INIT(), Init the parallel environment, the 0 process reads the frequency, model file and the observed data. MPI_Bcast() [

2)

Process ID | The frequency |
---|---|

0 | Freq (1), freq (7) |

1 | Freq (2), freq(3), freq (6) |

2 | Freq (4), freq (8) |

3 | Freq (5), freq (9) |

3) we solve the equation A

4) 0 process writes the resistivity data to the file, MPI_FINALIZE() finalize the MPI environment.

OS: windows xp 64 bit;

CPU: intel core i7 3.2 GHz support 8 processes;

Memory: 8 GB;

Develop language: fortran;

Compiler: Compaq fortran;

Parallel environment: mpich2;

Command: Mpiexec-np N./mt2d N is the number of processes.

The depth of the target is 1000 m from the ground, the size is 500 m × 250 m. Background resistivity is 100 W×m. The resistivity of the target is 10 W×m. The size of the model’s grid is 100 × 100; the observed position is 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70 point on the ground. 9 frequencies are from 0.01 Hz to 100 Hz. We get the forward results from the parallel program and compare the forward result of two programs when the frequency is 10 hz in

In

The parallel computation is based on the serial program. According to the characteristics, that program solves equation for different frequency separately; it distributes the tasks to all processes and never changes other algorithm, so the parallel computation result is the same with the serial program’s result. The study compares the forward result of two programs in

In order to evaluate the efficiency of the parallel program for different account of processes, we calculate parallel speedup and parallel efficiency. The running time of serial program divided by the running time of parallel for N processes is Parallel speedup, parallel speedup devided by the number of processes N is parallel efficiency.

The mode of program | The amount of processes | The amount of the frequency distributed for process | The size of 2D grid | The running time of program(s) | Parallel speedup | Parallel efficiency |
---|---|---|---|---|---|---|

Serial program | 1 | 9 | 100 × 100 | 94.7 | empty | empty |

2 | 4, 5 | 100 × 100 | 64.8 | 1.46 | 73% | |

Parallel | 4 | 2, 3, 2, 2 | 100 × 100 | 44.7 | 2.12 | 53% |

program | 6 | 1, 2, 2, 2, 1, 1 | 100 × 100 | 34.3 | 2.76 | 46% |

8 | 1, 2, 1, 1, 1, 1, 1, 1 | 100 × 100 | 41.2 | 2.3 | 28.75% |

mode.

Analysis of

The computation of 2D finite element magnetotelluric forward for relatively big grid spends much time and the forward algorithm is called for dozens of times, so the key to the problems is parallel computation. The study realizes the parallel algorithm for 2D finite element magnetotelluric forward in the MPI environment. The algorithm is proved correct and efficient. The study lays the foundation for the parallel computation for 2D finite element magnetotelluric forward and inversion.

MaoWang,HandongTan,ChanghongLin,XiaoLiu,ZhiyongZhang, (2015) A study on Parallel Computation Based on Finite Element Forward Modeling of 2D Magnetotelluric. International Journal of Geosciences,06,863-868. doi: 10.4236/ijg.2015.68070