Next Article in Journal
Adaptive Impedance Control for Force Tracking in Manipulators Based on Fractional-Order PID
Next Article in Special Issue
Unveiling Accurate Seismic Imaging through the Advanced Target-Oriented Kirchhoff Migration Method
Previous Article in Journal
Energetic Effects in Methyl- and Methoxy-Substituted Indanones: A Synergistic Experimental and Computational Study
Previous Article in Special Issue
Study on Migration Monitoring Technology of Chromium-Contaminated Site Based on Dual-Frequency Induced Polarization Method
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Accelerated Algorithm for 3D Inversion of Gravity Data Based on Improved Conjugate Gradient Method

College of Geo-Exploration Science and Technology, Jilin University, 938 Ximinzhu Street, Changchun 130026, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(18), 10265; https://doi.org/10.3390/app131810265
Submission received: 1 August 2023 / Revised: 4 September 2023 / Accepted: 5 September 2023 / Published: 13 September 2023
(This article belongs to the Special Issue Recent Advances in Exploration Geophysics)

Abstract

:
The 3D inversion algorithm for gravity data based on a smooth model constraint has been proven to yield a reasonable density distribution. However, as the amount of observed data and model parameters increases, the algorithm experiences issues with high memory consumption and prolonged computation time. Therefore, the corresponding problem in interpreting gravity inversion lies in developing a fast inversion algorithm. The conventional smooth model constraint inversion algorithm, based on regularization theory, requires the introduction of a model weighting function with a large matrix, and involves storage and operation of a large matrix with intermediate variables during inversion iteration, contributing significantly to the prolonged computation time. In this paper, a diagonal weight matrix is represented by vectorization, and the intermediate variable of the large matrix type in the iteration is replaced with the combination of a small matrix and a vector. Additionally, the algorithm flow of the conjugate gradient method is further optimized to minimize the number of vectors that need to be stored during iteration. As a result of these optimizations, the memory consumption of the algorithm during the operation process is successfully reduced. Finally, the experiments demonstrate the successful development of a fast 3D inversion algorithm for gravity data. Specifically, for a 80 × 80 × 20 mesh number inversion, our accelerated algorithm achieves an average speed of ~0.5 s per iteration, and the iterative process speeds up by a factor of 1000, providing an effective strategy for the fast inversion of large-scale data.

1. Introduction

The 3D inversion of gravity data can determine the geometric location of subterranean anomalous bodies, and can quantitatively calculate their shape, volume, size and density distribution values, providing a strong basis for subsequent geological interpretation [1,2,3,4]. The inversion of gravity data is often ill-conditioned, and Tikhonov regularization theory is typically used to reduce the multiple solutions of inversion and ensure the uniqueness and stability of inversion results. Under the regularization theory, a lot of work has been completed to address the issue of non-uniqueness in inversion. Last and Kubik [5] introduced the minimum volume condition on the anomalous body as a means to reduce non-uniqueness in the inversion and named it the compact inversion method. Li and Oldenburg [1] introduced the roughness matrix and a depth weighting function into the objective function of gravity inversion to effectively address the skin effect problem and named this method smooth inversion. Portniaguine and Zhdanov [6] introduced the minimum gradient support function, based on the compact inversion process, to obtain the distribution of anomalous bodies with sharp boundaries. This method was named focused inversion and was further improved in subsequent years [7,8,9]. Boulanger and Chouteau [10] examined and discussed the setting of mesh size in the inversion process by analyzing the kernel function and applied constraints such as minimum distance, flatness and smoothness to gravity data inversion through the use of the Lagrange formula. Pilkington [11] organized the methods and techniques of 3D physical property inversion for gravity and magnetic data and proposed a magnetic data inversion method based on sparsity constraints. Smooth inversion is generally used to address the inversion problem of geological bodies with smooth boundaries, while focused inversion has been demonstrated to have improved results in restoring the 3D physical properties of geological bodies with sharp boundaries. Both of these two methods have been widely used in gravity and magnetic data inversion.
The 3D inversion algorithm for gravity data can produce a reasonable density distribution and provide reference for further geological interpretation. Based on the development of fast mobile platform exploration technology (airborne and shipborne), the volume of gravity data is increasing and the accuracy of measurements are becoming more reliable. However, as the amount of observed data and model parameters increases, the inversion process faces problems of high memory consumption and long calculation time. Therefore, it is necessary to develop fast algorithms that can handle large-scale data. Using more effective optimization techniques [12,13,14] or compression methods [10,15,16] to extract more relevant information from large data sets is essential for improving inversion efficiency. Given the relative maturity of preconditioned decomposition technology, the preconditioned conjugate gradient method (PCG) has been effectively used and has produced favorable results in geophysical applications [17,18,19]. These methods can decrease the number of inversion iterations, thus reducing calculation time and enhancing inversion efficiency. Moreover, CUDA is a general parallel computing architecture introduced by NVIDIA, which has become a powerful tool for performing large-scale data parallel computing. Thus, CUDA has become a widely adopted tool for parallel computing particularly in the field of fast inversion of gravity or magnetic data [20,21,22,23,24].
Based on the traditional 3D inversion algorithm for gravity data that uses smooth constraints, a specific optimization scheme approach is proposed to address the low efficiency of the traditional conjugate gradient algorithm in processing large-scale data, and the application effect of the proposed method is comparable to that of the existing matrix compression methods. The proposed method not only retains the inversion capabilities of the original algorithm, but also eliminates the need for storing and processing a large matrix throughout the program execution, thus reducing the memory usage, increasing computational efficiency and achieving the goal of fast 3D inversion. We use Python tools to implement the acceleration algorithm and develop 3D gravity data inversion software, in which the user graphical interface (GUI), data management and visualization are constructed using PyQt5. Finally, this paper demonstrates the inversion performance of the accelerated algorithm using both synthetic and real measurement data. It also presents a comparison of the calculation time of the accelerated algorithm and the traditional algorithm for different mesh numbers, thus clearly explaining the improved calculation speed of our algorithm.

2. Theory

2.1. Smooth Inversion of Gravity Data Based on Conjugate Gradient Algorithm

In 3D inversion, the subsurface is typically divided into a finite number of prism units with equal sizes, uniform density distribution and close arrangements. The formula for gravity anomaly response generated by a single prism is as follows:
Δ g = G ρ ( z ζ ) d ξ d η d ζ ( x ξ ) 2 + ( y η ) 2 + ( z ζ ) 2 3 / 2  
Among them, G = 6.67 × 10 11 m 3 · k g 1 · s 2 is the gravitational constant, ρ is the density contrast, ξ 1 , η 1 , ζ 1 , ξ 2 , η 2 , ζ 2 are the diagonal coordinate of the prism and x , y , z is the coordinate of the observation point. Equation (1) has various analytical solutions. The solution used in this paper is [25]:
g = G ρ ξ x l o g r + y η + η y l o g r + x ξ + ζ z a r c t a n x ξ y η r z ζ | ξ 1 ξ 2 | η 1 η 2 | ζ 1 ζ 2
Among them, r = x ξ 2 + y η 2 + z ζ 2 .
Extracting the density ρ in Equation (2), that is, define the sensitivity matrix:
S g = G { ξ x l o g r + y η + η y l o g r + x ξ + ζ z a r c t a n x ξ y η r z ζ } | ξ 1 ξ 2 | η 1 η 2 | ζ 1 ζ 2
Then, the relation between vector ρ composed of all the density value of all prisms in the whole underground space and all observed data Δ g is:
Δ g 1 Δ g 2 Δ g M = S 11 S 12 S 13 S 1 N S 21 S 22 S 23 S 2 N S M 1 S M 2 S M 3 S M N ρ 1 ρ 2 ρ 3 ρ N
where, S i j represents the sensitivity matrix. Equation (4) can be expressed in matrix form as [6]:
d = S m
where, d represents the column vector of observation data, m is the model parameter column vector, S is the sensitivity matrix of type M × N and M < < N .
Since M < < N , meaning that Equation (5) is an underdetermined system of equations, and given that there is always inevitable noise interference in the observed data, the inversion problem is often ill-conditioned, and the solution obtained through inversion has multiple solutions. The Tikhonov regularization method, as a conventional processing method, can effectively solve this problem. In other words, the aforementioned problems can be transformed into finding the optimal solution of the objective function. The objective function is:
ϕ = ϕ d + α ϕ m
In the formula, ϕ d represents data fitting term, ϕ m represents the model constraint term, α represents regularization parameter. Data fitting function and model constraint function are defined as:
ϕ d = S m d 2
ϕ m = m 2
The data weighting matrix, W d and the model weighting matrix, W m , used in this paper are diagonal square matrices, with the diagonal element defined as [26]:
d i a g W d = d i a g S S T 1 2
d i a g W m = d i a g S T S 1 2
After incorporating the data weighting matrix and the model weighting matrix, Equation (6) can be re-expressed as:
ϕ = W d S m d 2 + α W m m 2
We can solve the problem in Equation (11) using the reweighting algorithm proposed by Zhdanov [7], as described in the following formulas:
ϕ = 1 2 × ( S w m w d w 2 + α W m 1 m w 2 )
d w = W d d
m w = W m m
S w = W d S W m 1
In this paper, the conjugate gradient algorithm is used to find the optimal solution m w , which minimizes the objective function in (12). The iterative process of the conjugate gradient algorithm requires the calculation of the first derivative of the objective function ϕ with respect to the weighted density parameter m w , and the formula for calculating the first derivative is given as follows:
ϕ m w = S w T S w m w d w + α W m 2 m w
An adaptive method [7] is selected to select regularization parameters, where the convergence of the inversion results gradually decreases the contribution value of the model constraint function and the value of α is selected through iteration is:
α 0 = 0 , α 1 = ϕ d ϕ m
In the next iteration, the decay value of α is determined by Equation (18):
α k = q α k 1 , k = 2 , 3 ,
Additionally, constrains on the upper and lower limits of the density parameter have been added to control the inversion results within a reasonable range, as expressed in the following formula:
m m > m m a x = m m a x , m m < m m i n = m m i n
Based on the above considerations, the gravity data inversion algorithm based on the traditional conjugate gradient algorithm is presented as follows.

2.2. An Accelerated 3D Fast Inversion Algorithm for Gravity Data

The efficiency of a computer is related to the memory occupied by data. Under the condition of achieving the same calculation results, finding a way to make the data occupy less memory is the key for improving the calculation efficiency. For the traditional conjugate gradient algorithm of gravity data inversion, it can be observed that three large matrices of size N × N , Q, W m and W m 1 are involved in the inversion iteration process. Their existence consumes a considerable amount of computer memory. It is precisely due to their frequent involvement in the iterative calculation process that the algorithm’s operating efficiency is very low. It also results in considerable memory usage. To address the issues present in the existing algorithm, we propose three improvements from the standpoint of reducing matrix dimension and optimizing the calculation flow of the algorithm.
(a) the large matrix Q involved in the traditional algorithm appears to simplify the calculation process by calculating and storing S T S in advance, but it actually increases the burden on the computer, and this approach is unnecessary. In fact, Q is the coefficient matrix of m w in Equation (16). Although it has mathematical significance, in computer operation, we only need to expand Equation (16) directly and replace the key item S w T S w m w in the calculation order. In other words, we can change the order of calculation by using the associative law and transform it to S w T ( S w m w ) , thus successfully avoiding the generation and participation of the large matrix in the computer calculation. Therefore, in the process of algorithm improvement, we no longer store Q in advance for step (4) of the traditional algorithm, but instead only redistribute the storage of q. And q is defined as other items excluding S w T ( S w m w ) in the expansion of Equation (16), namely, q is redefined as:
q k = S w T d w α k W m 2 m w k
In this way, the calculation expression involving the negative gradient in step (5) and (8) is modified as follows:
r k = q k S w T S w m w 0
Essentially, the change made to the denominator of the search step length in step (10) is simply a rearrangement of the calculation order of parameters, resulting in the final improvement shown as follows:
t k = r k T r k ( S w p k ) T ( S w p k ) + α k p k T p k W m 2
For the above improvements, although the formal expression becomes complicated, the actual computer operation process avoids N × N oversized array, thus improving the computation efficiency.
(b) We consider the improvement in compression for the large matrix W m . In fact, for the matrices W m and W m 1 , even though they are large matrices of type N × N , W m is essentially a diagonal square matrix with the useful information being distributed along the diagonal, and the values in other positions are 0. In other words, the valuable information in W m is 1 N of its total matrix size. As a result, when W m is stored as a matrix in a computer, it consumes a significant amount of memory space, even though the crucial information only takes up a fraction of the storage space, this leads to an inefficient utilization of memory. In this study, we suggest expressing the original large matrix W m in the form of vector using linear representation:
W m N × 1 = d i a g S T S 1 2
The vector representation still retains all of the useful information from the original matrix and requires only 1 N of the storage space. We can do the same processing with M × M diagonal square W d :
W d M × 1 = d i a g S S T 1 2
To convert the two weighted matrices W d M × M and W m N × N into their vector forms, simply let them serve the same purpose as the original two matrices. In fact, we can analyze this from the perspective of matrix transformation. In Equation (15), S w essentially performs a two-step transformation: initially applying a row transformation to the matrix S. To be more specific, it multiplies each row of the S M × N matrix by W d M × M i , i   i = 1 , 2 , M . Subsequently, it conducts a column transformation by multiplying each column with W d N × N j , j   j = 1 , 2 , N . This process yields the resulting matrix S w . Therefore, rewriting the weighted matrix in the algorithm into vector form can also achieve the purpose of Equation (15). We only need to multiply the ith row of matrix S M × N by the ith component W d M × 1 i   i = 1 , 2 , M of vector W d M × 1 accordingly, and then multiply the jth column of the obtained matrix by the jth component W m N × 1 j   j = 1 , 2 , N of vector W m N × 1 to get S w . Other processing methods involving the diagonal matrix to participate in the calculation are similar to Equation (15). In this way, we can rewrite the large matrix involved in the algorithm, especially W m , into vector form, effectively releasing computer memory and improving running speed.
(c) In each iteration of the traditional algorithm, the long vector r k , p k with dimension N are calculated and stored several times, especially in the step (9), where two large vectors r k and r k 1 must be stored simultaneously; however, this is completely unnecessary. In fact, in further algorithm improvement, we only need to store the inner product value of the negative gradient vector calculated at each iteration and use it in the next iteration stage. In this way, the simultaneous storage of the two long vectors r k and r k 1 can be avoided, releasing more computer memory space, and making the algorithm run more efficiently.
In this paper, we make several improvements to give the optimized conjugate gradient method, which improves operation efficiency and achieves the goal of fast inversion. The improved algorithm is as follows.
Under the condition of the same equipment, the acceleration algorithm proposed in this paper is faster than the traditional algorithm and can handle a larger data scale. It is worth noting that the new algorithm is consistent with the traditional method in calculating the sensitivity matrix, so it is limited by the size of the sensitivity matrix like the traditional method. In other words, due to the limited performance memory of the computer device used, the size of the storage sensitivity matrix exceeds the limit, so the method in this paper will also be ineffective.

2.3. Software Overview

As the core of the detailed inversion algorithm described above, we have developed user-oriented gravity data inversion software using Python tools, in which the user graphical interface (GUI), data management and visualization are constructed using PyQt5. The software is divided into two modules: forward modeling and inversion. In the forward modeling module, users can build models to their specifications and obtain synthetic gravity data for relevant synthetic model test. In the inversion module, there are both traditional and acceleration algorithms, for comparison of the acceleration algorithm in efficiency. More importantly, users can use the acceleration algorithm module to quickly obtain inversion results for large scale gravity data. The performance test is conducted on a DELL R740 workstation (CPU: 2 Intel Xeon 6254; GPU: 1 NVIDIA T4; Memory: 16 × 64 GB) to verify the validity and practicality of the accelerated inversion method. The inversion software is available now upon request and will be accessible on the authors Github site (https://github.com/Ashendudu/soft, accessed on 4 September 2023).

3. Data Testing

3.1. Synthetic Data Testing

To demonstrate the computational efficiency of the proposed method, we designed the model based on the published article by Hou et al. [24]. Regarding the accelerated algorithm we presented, we aim to compare the acceleration advantages of the proposed method with traditional algorithms and the GPU parallel algorithm proposed by Hou et al. [24]. To better explain the impact of our method, we built two models to test the effect of the improved algorithm. The parameters of the models are shown in Table 1. In this paper, the steps (1) to (6) in Algorithms 1 and 2 are referred as the preprocessing stage, and the steps (7) to (11) are referred to as the iteration stage.
Algorithm 1 The workflow of traditional 3D inversion algorithm
(1) Input: S, d  Set: k = 0, m 0 = 0
(2) Calculate the weighted parameter matrix:
W d M × M = d i a g ( d i a g ( S S T ) 1 2 ) ,   W m N × N = d i a g ( d i a g ( S T S ) 1 2 )
(3) Calculate the weighted parameter: S W = W d S W m 1 ,   d W = W d d ,   m W 0 = 0
(4) Calculate intermediate variables: Q = S W T S W + α 0 W m 2 ,   q = S W T d W
(5) Calculate the initial search direction: p 0 = r 0 = q Q m W 0 , and calculate the initial search step size: t 0 = r 0 T r 0 p 0 T Q p 0
(6) Update the initial solution and calculate the error:
  m w 0   = m w 0 + t 0 × p 0 ,   m 0 = W m 1 m W 0
  m 0 ( m 0 > m m a x ) = m m a x ,   m 0 ( m 0 < m m i n ) = m m i n
  m w 0 = W m m 0 ,   l o s s = 1 M S m 0 d 2
(7) Set the algorithm iteration condition:
w h i l e           l o s s > ε   o r   k < N m a x :
(8) Upset parameter Q, and then update negative gradient r k :
k = k + 1
Q k = S W T S W + α k W m 2
r k = q Q k m w , k 1
(9) Calculate the intermediate parameter β , and then update the search direction p k :

β = r k T r k r k 1 T r k 1 ,   p k = r k + β p k 1
(10) Update the search step size:
t k = r k T r k p k T Q k p k
(11) Update solution m k and return step (7) to determine whether it iterates:
m w , k   = m w , k 1 + t k × p k ,   m k = W m 1 m w , k
m k ( m k > m m a x ) = m m a x ,   m k ( m k < m m i n ) = m m i n
m w , k = W m m k ,   l o s s = 1 M S m k d 2
Algorithm 2 The workflow of accelerated 3D fast inversion algorithm
(1) Input: S, d  Set: k = 0, m 0 = 0
(2) Calculate the weighted parameter matrix:
W d M × 1 = d i a g ( S S T ) 1 2 ,   W m N × 1 = d i a g ( S T S ) 1 2
(3) Calculate the weighted parameter: S W = W d S W m 1 ,   d W = W d d ,   m W 0 = 0
(4) Calculate intermediate variables: q 0 = S W T d W α 0 W m 2 m W 0
(5) Calculate the initial search direction: p 0 = r 0 = q 0 S W T ( S W m W 0 ) , set β u p = r 0 T r 0 , and calculate the initial search step size: t 0 = β u p ( S w p 0 ) T ( S w p 0 ) + α 0 p 0 T p 0
(6) Update the initial solution and calculate the error:
  m w 0   = m w 0 + t 0 × p 0 ,   m 0 = W m 1 m W 0
  m 0 ( m 0 > m m a x ) = m m a x ,   m 0 ( m 0 < m m i n ) = m m i n
  m w 0 = W m m 0 ,   l o s s = 1 M S m 0 d 2
(7) Set the algorithm iteration condition:
w h i l e           l o s s > ε   o r   k < N m a x :
(8) Upset parameter q k , and then update negative gradient r k :
k = k + 1
q k = S W T d W α k W m 2 m W , k
r k = q k S W T ( S W m W , k )
(9) Calculate the intermediate parameter β , and then update the search direction p k :
β d o w n = β u p ,   β u p =   r k T r k ,   β = β u p β d o w n
p k = r k + β p k 1
(10) Update the search step size:
t k = β u p ( S w p k ) T ( S w p k ) + α k p k T p k
(11) Update solution m k and return step (7) to determine whether it iterates:
m w , k   = m w , k 1 + t k × p k ,   m k = W m 1 m w , k
m k ( m k > m m a x ) = m m a x ,   m k ( m k < m m i n ) = m m i n
m w , k = W m m k ,   l o s s = 1 M S m k d 2
In Model I, the underground space is divided into 40 × 40 × 20 = 32,000 regular prisms with a size of 100   m × 100   m × 100   m . The density contrast of the two prisms is 0.5   g / c m 3 , and they have dimensions of 1000   m × 1500   m × 600   m ; the top buried depth of the prisms is 600 m, and the horizontal distance of two prisms is 1000 m as shown in Figure 1. The observation plane is located on z = 0 , and the measurement area covers a range of 4000   m × 4000   m with a sampling interval of 100 m. The maximum inversion depth is set to 2000 m. To ensure the stability of the algorithm, 5% Gaussian random noise is added to the synthetic gravity data. Figure 2 shows the gravity anomaly data with and without noise. The proposed algorithm in this paper is applied to invert the gravity data anomaly with noise, and the inversion parameters were set as follows: the density constraint range was controlled at 0.1 , 0.6 g / c m 3 , the maximum number of iterations k = 100, and the cutoff error was set at ε = 0.002 . After 17 inversion iterations, the data fitting difference reached 0.001, thus ending the iteration. In the inversion process, the pre-processing stage took 6.27 s, and the iteration process took 1.36 s, resulting in a single iteration time of 0.08 s. As shown in Figure 3, we select a cross section along y = 2000 m and z = 900 m to display the inversion results, in which the black boxes in the section represents the true boundary of the established model. It can be seen that the inversion results are in good agreement with the real model position, indicating that the improved algorithm has anti-noise performance. Since our algorithm is based on smooth inversion, the density values are lower than the real values of the model, but we can still determine the approximate range of the density distribution of the model relatively.
In order to further test the algorithm’s inversion effect on the complex model, we established Model II as shown in Figure 4, and its specific parameters are shown in Table 1. The fourth and fifth prisms are combined together to form an L-shaped target. The observation range on both the x and y axes is 0 to 2000 m, the observation interval is 25 m and the maximum inversion depth is set as 1000 m. If the underground space is divided into 80 × 80 × 40 , then the size of each prism unit is 25   m × 25   m × 25   m . Similarly, 5% Gaussian random noise is added to the synthetic gravity data (Figure 5), and the inversion parameters are set as follows: The density constraint range is controlled within 0.1 , 1.1 g / c m 3 , the maximum number of iterations is set to k = 100 and the cutoff error is set to ε = 0.002 . After 22 inversion iterations, the inversion result is obtained, and the total inversion time was 359.01 s. In the inversion process, the pre-processing stage took 338.16 s to run, and the iteration process took 20.85 s, resulting in an iteration time of 0.95 s. Four cross sections are shown in Figure 6, and the true boundaries of the prisms are represented by the black boxes. The results indicate that the density distribution is in good agreement with the boundaries represented by the black boxes.
Finally, to demonstrate the acceleration advantage of the improved algorithm compared to the traditional algorithm, we use the gravity data obtained from Model I and Model II to perform inversions with mesh numbers of 40 × 40 × 20 , 50 × 50 × 20 , 80 × 80 × 20 , 100 × 100 × 20 . Table 2 and Table 3, respectively, record the calculation time comparisons for data of different scales in the pre-processing stage and the single calculation time comparisons in the iterative process. As can be seen from the results, due to limitations in computer performance (such as memory), the traditional inversion algorithm was not calculated for the 100 × 100 × 20 mesh number, but the new algorithm still achieved a substantial inversion speed under the same computer configuration. It is evident that the improved algorithm has a significant acceleration in the running time of both pre-processing stage and the iteration stage. In the pre-processing stage, the improved acceleration algorithm is typically more than 10 times faster than the traditional algorithm (Table 2), while in the iterative process, the acceleration algorithm has more obvious advantages. As can be seen from Table 3, the fastest acceleration ratio can reach over 1000 times, and the acceleration ratio in the iterative process of the acceleration algorithm typically exceeds 400 times, fully demonstrating the advantages of the improved algorithm in terms of inversion speed.
We recorded the maximum memory footprint of 40 × 40 × 20 grid data in both traditional and accelerated algorithms. The maximum memory usage of the accelerated algorithm is 909.6 MiB. For the same number of grids, the maximum memory usage of the traditional algorithm is 24,295.9 MiB. In addition, we also performed a simple comparison between our proposed acceleration algorithm and the GPU parallel acceleration inversion algorithm developed by Hou et al. [24]. The GPU parallel algorithm developed by Hou et al. [24] takes approximately 6 s for a single iteration with the 100 × 100 × 20 mesh number. The time required for a single iteration of our algorithm at this partition scale is usually no more than 2 s. This explains our method can reduce computer memory usage and computation time for large-scale data inversion.

3.2. Real Data Testing

The proposed method is applied to the gravity anomaly data of the Gonghe Basin in the northeastern Qinghai–Tibet Plateau (Figure 7). The inner and peripheral areas of the Gonghe Basin show abundant geothermal resources [27]. On the east side of the basin, the temperature of the Zhacang and Qunlianhai hot springs reached 93–96 °C, exceeding the local boiling point. In 2017, a high-temperature dry hot rock mass of 236 °C was discovered at 3705 m depth in Qiapuqia in the Gonghe Basin, northeast of the Tibetan Plateau. This is the first time that the shallowest and hottest hot dry rock has been discovered in China, further confirming that the geothermal resources in Gonghe Basin are rich and are attracting renewed interest in evaluating geothermal resources in this region [28]. Several hot springs and geothermal wells are located in and around the basin [29,30], and a granite basement with hot dry rock is approximately 2 km underground [31,32].
The Institute of Geological Survey of Jilin University collected the gravity anomaly data of the Gonghe region used in this study (Figure 8). After grid processing, the measured data revealed that the grid spacing was 500 m, and the range of the entire measuring area was 33 × 25   k m as shown in Figure 7. In this paper, the inversion maximum depth is set at 9 km, and the underground space of the inversion target area is divided into 66 × 50 × 60 closely spaced upright prism units, each with a size of 500   m × 500   m × 150   m . The density constraint range of inversion is controlled at 1 , 1 g / c m 3 , the maximum number of iterations is set at k = 200, and the cutoff error is set at ε = 0.01 . After 110 iterations the inversion was terminated, with a total time of 221.8 s, including 114.7 s for the iteration time. Figure 9 illustrates the 3D imaging display of gravity survey data inversion results. The cap layer has weak density characteristics, and its thickness is generally less than 3 km. The results of our processing of real measured data are consistent with previous studies, indicating the practical application capabilities of our algorithm.

4. Conclusions

The gravity exploration method plays an important role in ore exploration and oil and gas exploration. For example, in the case of metal minerals, gravity exploration can be used to find ore directly (such as chromite, magnetite, etc.) according to the characteristics of high density. In the geological exploration of oil, gas and coal fields, gravity exploration can be used to delineate sedimentary basins, study the thickness of sedimentary layers, and find the structures related to oil, gas and coal fields according to the characteristics of low density. The 3D inversion algorithm for gravity data can produce a reasonable density distribution and provide reference for further geological interpretation. However, as the number of observed data and model parameters increases, the inversion process faces problems of high memory consumption and long calculation time. Therefore, it is necessary to develop fast algorithms that can handle large-scale data.
We study a 3D fast smoothing constraint algorithm for gravity data based on an optimized conjugate gradient flow. The algorithm is implemented in Python language, and PyQt gravity data inversion software is developed. In the data tests, the inversion obtains satisfactory 3D density distribution imaging results. It can be seen from the performance test records that the acceleration algorithm is scalable and can accelerate the inversion quickly. The new algorithm avoids generating an N × N large matrix in the whole operation process, reducing memory consumption, which leads to a faster speed in the iterative process. Compared to other GPU-based parallel algorithms, our proposed method is equally efficient computationally. Moreover, the calculation time required for a single iteration is at least 350 times faster than that of the traditional algorithm, making our proposed acceleration algorithm efficient and practical for large-scale gravity data inversion. Therefore, this paper provides a new strategy for the rapid inversion of large-scale gravity data, saves the computational cost (time and memory) of data processing and provides important guidance for further ore and oil and gas exploration.

Author Contributions

Conceptualization, S.Z. and H.J.; methodology; writing—review and editing, S.Z.; result interpretation; project administration, P.Y. and J.J.; writing—review and editing; supervision, T.L. and Z.Z.; project administration. All authors have read and agreed to the published version of the manuscript.

Funding

Ministry of Science and Technology of the People’s Republic of China under Grant 2020YFE0201300, and National Natural Science Foundation of China under Grant 42274187 and Grant 42074119, and Natural Science Foundation of Jilin Province under Grant 20220101147JC.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Li, Y.; Oldenburg, D.W. 3-D inversion of gravity data. Geophysics 1998, 63, 109–119. [Google Scholar] [CrossRef]
  2. Chasseriau, P.; Chouteau, M. 3D gravity inversion using a model of parameter covariance. J. Appl. Geophys. 2003, 52, 59–74. [Google Scholar] [CrossRef]
  3. Shamsipour, P.; Marcotte, D.; Chouteau, M.; Keating, P. 3D stochastic inversion of gravity data using cokriging and cosimulation. Geophysics 2010, 75, I1–I10. [Google Scholar] [CrossRef]
  4. Liu, G.; Yan, H.; Meng, X.; Chen, Z. An extension of gravity probability tomography imaging. Geophysics 2014, 102, 62–67. [Google Scholar] [CrossRef]
  5. Last, B.J.; Kubik, K. Compact gravity inversion. Geophysics 1983, 48, 713–721. [Google Scholar] [CrossRef]
  6. Portniaguine, O.; Zhdanov, M.S. Focusing geophysical inversion images. Geophysics 1999, 64, 874–887. [Google Scholar] [CrossRef]
  7. Portniaguine, O.; Zhdanov, M.S. 3-D magnetic inversion with data compression and image focusing. Geophysics 2002, 67, 1532–1541. [Google Scholar] [CrossRef]
  8. Zhdanov, M.S.; Ellis, R.; Mukherjee, S. Three-dimensional regularized focusing inversion of gravity gradient tensor component data. Geophysics 2004, 69, 925–937. [Google Scholar] [CrossRef]
  9. Zhdanov, M.S. Geophysical Inverse Theory and Regularization Problems; Elsevier: Amsterdam, The Netherlands, 2002. [Google Scholar]
  10. Boulanger, O.; Chouteau, M. Constraints in 3D gravity inversion. Geophys. Prospect. 2001, 49, 265–280. [Google Scholar] [CrossRef]
  11. Pilkington, M. 3D magnetic data-space inversion with sparseness constraints. Geophysics 2009, 74, L7–L15. [Google Scholar] [CrossRef]
  12. Qin, P.B.; Huang, D.N.; Yuan, Y.; Geng, M.X.; Liu, J. Integrated gravity and gravity gradient 3D inversion using the non-linear conjugate gradient. J. Appl. Geophys. 2016, 126, 52–73. [Google Scholar] [CrossRef]
  13. Cuma, M.; Zhdanov, M.S. Large-scale 3D inversion of potential field data. Geophys. Prospect. 2012, 60, 1186–1199. [Google Scholar] [CrossRef]
  14. Meng, Z.H.; Xu, X.C.; Huang, D.N. Three-dimensional gravity inversion based on sparse recovery iteration using approximate zero norm. Appl. Geophys. 2019, 15, 524–535. [Google Scholar] [CrossRef]
  15. Martin, R.; Monteiller, V.; Komatitsch, D.; Perrouty, S.; Jessell, M.; Bonvalot, S.; Lindsay, M. Gravity inversion using wavelet-based compression on parallel hybrid CPU/GPU systems: Application to southwest Ghana. Geophys. J. Int. 2013, 195, 1594–1619. [Google Scholar] [CrossRef]
  16. Sun, S.Y.; Yin, C.C.; Gao, X.H.; Liu, Y.H.; Ren, X.Y. Gravity compressed sensing forward modeling and multiscale gravity inversion based on wavelet transform. Appl. Geophys. 2018, 15, 342–352. [Google Scholar] [CrossRef]
  17. Canning, F.X.; School, J.F. Diagonal preconditioners for the EFIE using a wavelet basis. IEEE Trans. Antennas Propag. 1996, 44, 1239–1246. [Google Scholar] [CrossRef]
  18. Pilkington, M. 3-D magnetic imaging using conjugate gradients. Geophysics 2012, 62, 1132–1142. [Google Scholar] [CrossRef]
  19. Chen, R.S.; Yung, E.K.; Chan, C.H.; Wang, D.X.; Fang, D.G. Application of the SSOR preconditioned CG algorithm to the vector fem for 3D full-wave analysis of electromagnetic-field boundary-value problems. IEEE Trans. Microw. Theory Tech. 2002, 50, 1165–1172. [Google Scholar] [CrossRef]
  20. Moorkamp, M.; Jegen, M.; Roberts, A.; Hobbs, R. Massively parallel forward modeling of scalar and tensor gravimetry data. Comput. Geosci. 2010, 36, 680–686. [Google Scholar] [CrossRef]
  21. Cuma, M.; Zhdanov, M.S. Massively parallel regularized 3D inversion of potential fields on CPUs and GPUs. Comput. Geosci. 2014, 62, 80–87. [Google Scholar] [CrossRef]
  22. Hou, Z.L.; Wei, X.H.; Huang, D.N.; Sun, X. Full tensor gravity gradiometry data inversion: Performance Geophysics analysis of parallel computing algorithms. Appl. Geophys. 2015, 12, 292–302. [Google Scholar] [CrossRef]
  23. Wang, T.H.; Huang, D.N.; Ma, G.Q.; Meng, Z.H.; Li, Y. Improved preconditioned conjugate gradient algorithm and application in 3D inversion of gravity-gradiometry data. Appl. Geophys. 2017, 14, 301–313. [Google Scholar] [CrossRef]
  24. Hou, Z.L.; Wei, J.K.; Mao, T.X.; Zheng, Y.J.; Ding, Y.C. 3D inversion of vertical gravity gradient with multiple graphics processing units based on matrix compression. Geophysics 2022, 87, 67–80. [Google Scholar] [CrossRef]
  25. Luo, Y. New expressions for gravitational attraction of a homogeneous rectangular prism and its deduction. Chin. J. Eng. Geophys. 2008, 5, 210–214. [Google Scholar]
  26. Gao, X.H.; Huang, D.N. Research on 3D focusing inversion of gravity gradient tensor data based on a conjugate gradient algorithm. Chin. J. Geophys. 2017, 60, 1571–1583. [Google Scholar]
  27. Wang, G.L.; Zhang, W.; Liang, J.Y.; Lin, W.J.; Liu, Z.M.; Wang, W.L. Evaluation of Geothermal Resources Potential in China. Acta Geosci. Sin. 2017, 39, 449–459. [Google Scholar]
  28. Mao, X.; Guo, D.B.; Luo, L.; Wang, T. Theglobal development process of hot dry rock (enhanced geothermal system) and its geological background. Geol. Rev. 2019, 65, 1462–1472. [Google Scholar]
  29. Xue, J.-Q.; Gan, B.; Li, B.; Wang, Z. Geological-geophysical charac teristics of enhanced geothermal systems (hot dry rocks) in gonghe-guide basin. Geophys. Geochem. Explor. 2013, 37, 35–41. [Google Scholar]
  30. Sun, Z.X.; Li, B.X.; Wang, Z.L. Exploration of the possibility of hot dry rock occurring in the qinghai gonghe basin. Hydrogeol. Eng. Geol. 2011, 38, 119–124. [Google Scholar]
  31. Zhang, H.; Huang, Q.; Zhao, G.; Guo, Z.; Chen, Y.J. Three dimensional conductivity model of crust and uppermost mantle at the northern trans north china orogen: Evidence for a mantle source of datong volcanoes. Earth Planet. Sci. Lett. 2016, 453, 182–192. [Google Scholar] [CrossRef]
  32. Zhang, S.; Yan, W.; Li, D.; Jia, X.; Zhang, S.; Li, S.; Fu, L.; Wu, H.; Zeng, Z.; Li, Z.; et al. Characteristics of geothermal geology of the qiabuqia hdr in gonghe basin, qinghai province. Geol. China 2018, 45, 1087–1102. [Google Scholar]
  33. Wang, Z.; Zeng, Z.; Liu, Z.; Zhao, X.; Li, J.; Bai, L.; Zhang, L. Heat flow distribution and thermal mechanism analysis of the Gonghe Basin based on gravity and magnetic methods. Acta Geol. Sin. Engl. Ed. 2021, 95, 1892–1901. [Google Scholar] [CrossRef]
Figure 1. Model I with two prisms.
Figure 1. Model I with two prisms.
Applsci 13 10265 g001
Figure 2. Model I related gravity data. (a) Gravity data; (b) gravity data added noise.
Figure 2. Model I related gravity data. (a) Gravity data; (b) gravity data added noise.
Applsci 13 10265 g002
Figure 3. Model I inversion results. (a) Cross section along y = 2000 m; (b) cross section along z = 900 m.
Figure 3. Model I inversion results. (a) Cross section along y = 2000 m; (b) cross section along z = 900 m.
Applsci 13 10265 g003
Figure 4. Model II with multiple prisms.
Figure 4. Model II with multiple prisms.
Applsci 13 10265 g004
Figure 5. Model II related gravity data. (a) Gravity data; (b) gravity data added noise.
Figure 5. Model II related gravity data. (a) Gravity data; (b) gravity data added noise.
Applsci 13 10265 g005
Figure 6. Model II inversion results. (a) Cross section along y = 300 m; (b) cross section along y = 1700 m; (c) cross section along x = 300 m; (d) cross section along z = 500 m.
Figure 6. Model II inversion results. (a) Cross section along y = 300 m; (b) cross section along y = 1700 m; (c) cross section along x = 300 m; (d) cross section along z = 500 m.
Applsci 13 10265 g006
Figure 7. (a) Distribution of faults, wells and hot springs in the Gonghe Basin and surrounding areas; the red boxes represent the study and inversion region (revised from Wang et al. [33]); (b) location of the research area.
Figure 7. (a) Distribution of faults, wells and hot springs in the Gonghe Basin and surrounding areas; the red boxes represent the study and inversion region (revised from Wang et al. [33]); (b) location of the research area.
Applsci 13 10265 g007
Figure 8. Real measured gravity data corresponding to Gonghe Basin.
Figure 8. Real measured gravity data corresponding to Gonghe Basin.
Applsci 13 10265 g008
Figure 9. Real measured gravity data inversion results.
Figure 9. Real measured gravity data inversion results.
Applsci 13 10265 g009
Table 1. Related parameters of Model I and Model II.
Table 1. Related parameters of Model I and Model II.
Model IModel II
The number of prisms25
Density ( g / c m 3 )0.51.0
Size ( m 3 ), Top depth (m) 1000 × 1500 × 600 ,   600
1000 × 1500 × 600 ,   600
1000 × 500 × 250 ,   350
Size ( m 3 ), Top depth (m) 400 × 300 × 250 ,   350
Size ( m 3 ), Top depth (m) 400 × 400 × 300 ,   200
Size ( m 3 ), Top depth (m) 400 × 400 × 300 ,   200
Size ( m 3 ), Top depth (m) 250 × 750 × 300 ,   200
Table 2. Comparison of calculation time of different mesh number in the pre-processing stage.
Table 2. Comparison of calculation time of different mesh number in the pre-processing stage.
40 × 40 × 20 50 × 50 × 20 80 × 80 × 20 100 × 100 × 20
Traditional algorithm107.54282.984954.16-
Model I Acceleration algorithm8.7520.39167.59350.71
speedup12.5513.8829.56-
Traditional algorithm104.24241.504483.66-
Model II Acceleration algorithm8.5220.33162.28350.33
speedup12.2311.8827.63-
Table 3. Comparison of calculation time of single iteration for different mesh number.
Table 3. Comparison of calculation time of single iteration for different mesh number.
40 × 40 × 20 50 × 50 × 20 80 × 80 × 20 100 × 100 × 20
Traditional algorithm19.9034.83641.34-
Model I Acceleration algorithm0.0370.0950.691.81
speedup537.84366.63929.48-
Traditional algorithm19.2533.60728.13-
Model II Acceleration algorithm0.0310.0910.5151.23
speedup620.97369.231413.84-
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhou, S.; Jia, H.; Lin, T.; Zeng, Z.; Yu, P.; Jiao, J. An Accelerated Algorithm for 3D Inversion of Gravity Data Based on Improved Conjugate Gradient Method. Appl. Sci. 2023, 13, 10265. https://doi.org/10.3390/app131810265

AMA Style

Zhou S, Jia H, Lin T, Zeng Z, Yu P, Jiao J. An Accelerated Algorithm for 3D Inversion of Gravity Data Based on Improved Conjugate Gradient Method. Applied Sciences. 2023; 13(18):10265. https://doi.org/10.3390/app131810265

Chicago/Turabian Style

Zhou, Shuai, Hongfa Jia, Tao Lin, Zhaofa Zeng, Ping Yu, and Jian Jiao. 2023. "An Accelerated Algorithm for 3D Inversion of Gravity Data Based on Improved Conjugate Gradient Method" Applied Sciences 13, no. 18: 10265. https://doi.org/10.3390/app131810265

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop