2.1. Three-Dimensional Forward Modeling Algorithm
In this study, the finite difference method is used to implement the three-dimensional forward modeling of resistivity method. According to the forward modeling theory of resistivity method derived from Zhu [
7], the partial differential equation satisfied by the point source resistivity method is as follows:
where
is the electrical conductivity of rock ore (S·m
-1),
is the potential array (V),
is the electric current density(A·m
-2), and
is a Dirac function, which specifies the position of the supply point.
The finite difference method is applied to discretize (1), resulting in a large sparse linear system [
7], whose matrix form can be expressed as:
where
is the coefficient matrix,
is the vector that contains information with respect to the field source.
The potential is obtained by solving (2) using the BICGSTAB method. After obtaining the potential, the apparent resistivity is obtained according to (3).
where
is the vector that is designed to select the potential at the receiver among all grid node potentials,
is the potential difference between the receiving electrodes (V),
is the electric current (A), and
is the geometric factor.
2.2. Time-Lapse Function
The time-lapse function ensures the continuity of inversion results across different times. In the process of time-lapse inversion, the data at different times are synchronously inverted. Assuming that
is the conductivity model at a certain time, then the time-lapse conductivity model
can be defined as:
where
is the number of observations. At present, there are two calculation methods of time-lapse function: L1 norm and L2 norm [
8,
9]. In this study, L2 norm method was used for calculation, and the calculation formula is:
is time-lapse function, which is calculated by the difference of the underground conductivity model at the adjacent time. By introducing the time-lapse function into the objective function, the difference of the inversion results at the adjacent time can be reduced by minimizing the objective function, so as to achieve the effect that the underground physical property model changes continuously with time.
2.3. Three-Dimensional Time-lapse Inversion Objective Function
In this study, we use regularized constrained inversion method, which adds model terms to the objective function to constrain, avoiding excessive data fitting and reducing the multiplicity of geophysical inversion solutions. The objective function of regularization constraint inversion is:
The objective function consists of two parts: the data function and the model function . is used to calculate the difference between the observation data and the response data of the inversion result, is used to calculate the smoothness of the model, and is the weight factor of the model function, which is used to adjust the proportion of data function and model function in the objective function.
By introducing the time-lapse function calculated by (5) into (7), the time-lapse inversion objective function can be obtained:
where
is the weight factor of the time-lapse function. Expand (8) to get the specific form of the time-lapse inversion objective function:
where
is the apparent resistivity data observed at all times,
is the forward response function,
is the initial model of inversion,
is the covariance matrix of the data. The gradient of the objective function can be obtained by calculating the partial derivative of the objective function to
:
where
is the sensitivity matrices of inversion.
Due to the complexity of underground model and observation data, it is necessary to smooth the gradient of objective function to improve the computational efficiency and stability of inversion. Egbert and Kelbert proposed a simple and efficient method to smooth the gradient of model parameters [
10]. The specific transformation formula is derived as follows:
The (10) is transformed by the method above to obtain:
After obtaining
through inversion, the model
is solved by the following inverse transformation method:
2.4. MPI Parallel Inversion Algorithm
To better reflect the subsurface information, three-dimensional inversion in the resistivity method uses multiple point power sources to improve inversion performance. The corresponding amount of observation data is large, and the original serial inversion program is inefficient. When calculating the forward response, apparent resistivity, and potential at various measuring points for different power supply points, the Jacobian matrix corresponding to each source point during gradient calculation, and the solution of the quasi-forward equation, these tasks are independent of one another. Therefore, the problem can be divided into several independent sub-problems, and parallel computing can enhance the inversion speed and efficiency.
The MPI parallel algorithm significantly improves computational efficiency through the synchronous allocation of tasks across multiple processes. It includes both peer-to-peer and master-slave modes. In the peer-to-peer mode, all processes contribute to completing a portion of the assigned tasks. In the master-slave mode, processes are divided into master and slave processes. The master process is responsible for task allocation, message transmission, and data collection, while the slave processes execute the assigned tasks. In this study, the master-slave mode is selected. Suppose there are 4 field sources, and 10 data points are observed for each field source. N processes are used for calculations using MPI, with each process assigned 40/N field source calculation tasks. Finally, the MPI parallel algorithm is integrated into the inversion algorithm, forming a 3D time-lapse inversion MPI parallel algorithm suitable for combined data from multiple devices in the resistivity method. The MPI parallel inversion flow chart for the resistivity method is shown in
Figure 1.
The flow chart can be briefly summarized in the following steps:
1) Input the initial conductivity and set necessary parameters for inversion.
2) The main process collects and assigns tasks to slave processes.
3) Synchronize the calculation of the forward response between the master and slave processes, and continue computing the objective function and gradient.
4) The main process collects the results from all processes.
5) Calculate the update direction and search for the step size.
6) Update the conductivity model.
7) Check if the iteration termination criteria are met. If so, the iteration terminates; if not, the iteration continues.
8) The termination criteria of inversion are when the data misfit is below a predefined threshold or the number of iterations reaches a set limit. The formula for calculating the misfit (root-mean-square, RMS) is:
where
is the number of data points.