IGUG: A MATLAB package for 3D inversion of gravity data using graph theory

Saeed Vatankhah, Vahid Ebrahimzadeh Ardestani, Susan Soodmand Niri, Rosemary Renaut, Hojjat Kabirzadeh

    Research output: Contribution to journalArticle

    Abstract

    We present an open source MATLAB package, IGUG, for 3D inversion of gravity data. The algorithm implemented in this package is based on methodology that was introduced by Bijani et al. (2015). A homogeneous subsurface body is modeled by an ensemble of simple point masses. The model parameters are the Cartesian coordinates of the point masses and their total mass. The set of point masses, assumed to each have the same mass, is associated to the vertices of a weighted complete graph in which the weights are computed by the Euclidean pairwise distances separating vertices. Kruskal's algorithm is used to solve the minimum spanning tree (MST) problem for the graph, yielding the reconstruction of the skeleton of the body described by the model parameters. The algorithm is stabilized using an equidistance function that restricts the spatial distribution of point masses and favors a homogeneous distribution for the subsurface structure. The non-linear global objective function for the model parameters comprises the data misfit term and the equidistance stabilization function. A regularization parameter λ is introduced to balance the two terms of the objective function, and reasonable physically-relevant bound constraints are imposed on the model parameters. A genetic algorithm is used to minimize the bound constrained objective function for a fixed λ, subject to the bound constraints. A new diagnostic approach is presented for determining a suitable choice for λ, requiring a limited number of solutions for a small set of λ. This contrasts the use of the L-curve which was suggested for estimating a suitable λ in Bijani et al. (2015). Simulations for synthetic examples demonstrate the efficiency and effectiveness of the implementation of the algorithm. It is verified that the constraints on the model parameters are not restrictive, even with less realistic bounds acceptable approximations of the body are still obtained. Included in the package is the script GMD.m which is used for generating synthetic data and for putting measurement data in the format required for the inversion implemented within IGUG.m. The script Diagnostic_Results.m is included within IGUG.m for analyzing and visualizing the results, but can also be used as a standalone script given import of prior results. The software can be used to verify the simulations and the analysis of real data that is presented here. The real data set uses gravity data from the Mobrun ore body, north east of Noranda, Quebec, Canada.

    Original languageEnglish (US)
    Pages (from-to)19-29
    Number of pages11
    JournalComputers and Geosciences
    Volume128
    DOIs
    StatePublished - Jul 1 2019

    Fingerprint

    Graph theory
    MATLAB
    Gravitation
    gravity
    Spatial distribution
    Ores
    ore body
    genetic algorithm
    Stabilization
    skeleton
    Genetic algorithms
    simulation
    import
    inversion
    parameter
    stabilization
    spatial distribution
    software
    methodology

    Keywords

    • 3D inversion
    • Equidistance function
    • Graph theory
    • Gravity
    • Mobrun

    ASJC Scopus subject areas

    • Information Systems
    • Computers in Earth Sciences

    Cite this

    IGUG : A MATLAB package for 3D inversion of gravity data using graph theory. / Vatankhah, Saeed; Ardestani, Vahid Ebrahimzadeh; Niri, Susan Soodmand; Renaut, Rosemary; Kabirzadeh, Hojjat.

    In: Computers and Geosciences, Vol. 128, 01.07.2019, p. 19-29.

    Research output: Contribution to journalArticle

    Vatankhah, Saeed ; Ardestani, Vahid Ebrahimzadeh ; Niri, Susan Soodmand ; Renaut, Rosemary ; Kabirzadeh, Hojjat. / IGUG : A MATLAB package for 3D inversion of gravity data using graph theory. In: Computers and Geosciences. 2019 ; Vol. 128. pp. 19-29.
    @article{aa7074ade64245668360c04b883d09bd,
    title = "IGUG: A MATLAB package for 3D inversion of gravity data using graph theory",
    abstract = "We present an open source MATLAB package, IGUG, for 3D inversion of gravity data. The algorithm implemented in this package is based on methodology that was introduced by Bijani et al. (2015). A homogeneous subsurface body is modeled by an ensemble of simple point masses. The model parameters are the Cartesian coordinates of the point masses and their total mass. The set of point masses, assumed to each have the same mass, is associated to the vertices of a weighted complete graph in which the weights are computed by the Euclidean pairwise distances separating vertices. Kruskal's algorithm is used to solve the minimum spanning tree (MST) problem for the graph, yielding the reconstruction of the skeleton of the body described by the model parameters. The algorithm is stabilized using an equidistance function that restricts the spatial distribution of point masses and favors a homogeneous distribution for the subsurface structure. The non-linear global objective function for the model parameters comprises the data misfit term and the equidistance stabilization function. A regularization parameter λ is introduced to balance the two terms of the objective function, and reasonable physically-relevant bound constraints are imposed on the model parameters. A genetic algorithm is used to minimize the bound constrained objective function for a fixed λ, subject to the bound constraints. A new diagnostic approach is presented for determining a suitable choice for λ, requiring a limited number of solutions for a small set of λ. This contrasts the use of the L-curve which was suggested for estimating a suitable λ in Bijani et al. (2015). Simulations for synthetic examples demonstrate the efficiency and effectiveness of the implementation of the algorithm. It is verified that the constraints on the model parameters are not restrictive, even with less realistic bounds acceptable approximations of the body are still obtained. Included in the package is the script GMD.m which is used for generating synthetic data and for putting measurement data in the format required for the inversion implemented within IGUG.m. The script Diagnostic_Results.m is included within IGUG.m for analyzing and visualizing the results, but can also be used as a standalone script given import of prior results. The software can be used to verify the simulations and the analysis of real data that is presented here. The real data set uses gravity data from the Mobrun ore body, north east of Noranda, Quebec, Canada.",
    keywords = "3D inversion, Equidistance function, Graph theory, Gravity, Mobrun",
    author = "Saeed Vatankhah and Ardestani, {Vahid Ebrahimzadeh} and Niri, {Susan Soodmand} and Rosemary Renaut and Hojjat Kabirzadeh",
    year = "2019",
    month = "7",
    day = "1",
    doi = "10.1016/j.cageo.2019.03.008",
    language = "English (US)",
    volume = "128",
    pages = "19--29",
    journal = "Computers and Geosciences",
    issn = "0098-3004",
    publisher = "Elsevier Limited",

    }

    TY - JOUR

    T1 - IGUG

    T2 - A MATLAB package for 3D inversion of gravity data using graph theory

    AU - Vatankhah, Saeed

    AU - Ardestani, Vahid Ebrahimzadeh

    AU - Niri, Susan Soodmand

    AU - Renaut, Rosemary

    AU - Kabirzadeh, Hojjat

    PY - 2019/7/1

    Y1 - 2019/7/1

    N2 - We present an open source MATLAB package, IGUG, for 3D inversion of gravity data. The algorithm implemented in this package is based on methodology that was introduced by Bijani et al. (2015). A homogeneous subsurface body is modeled by an ensemble of simple point masses. The model parameters are the Cartesian coordinates of the point masses and their total mass. The set of point masses, assumed to each have the same mass, is associated to the vertices of a weighted complete graph in which the weights are computed by the Euclidean pairwise distances separating vertices. Kruskal's algorithm is used to solve the minimum spanning tree (MST) problem for the graph, yielding the reconstruction of the skeleton of the body described by the model parameters. The algorithm is stabilized using an equidistance function that restricts the spatial distribution of point masses and favors a homogeneous distribution for the subsurface structure. The non-linear global objective function for the model parameters comprises the data misfit term and the equidistance stabilization function. A regularization parameter λ is introduced to balance the two terms of the objective function, and reasonable physically-relevant bound constraints are imposed on the model parameters. A genetic algorithm is used to minimize the bound constrained objective function for a fixed λ, subject to the bound constraints. A new diagnostic approach is presented for determining a suitable choice for λ, requiring a limited number of solutions for a small set of λ. This contrasts the use of the L-curve which was suggested for estimating a suitable λ in Bijani et al. (2015). Simulations for synthetic examples demonstrate the efficiency and effectiveness of the implementation of the algorithm. It is verified that the constraints on the model parameters are not restrictive, even with less realistic bounds acceptable approximations of the body are still obtained. Included in the package is the script GMD.m which is used for generating synthetic data and for putting measurement data in the format required for the inversion implemented within IGUG.m. The script Diagnostic_Results.m is included within IGUG.m for analyzing and visualizing the results, but can also be used as a standalone script given import of prior results. The software can be used to verify the simulations and the analysis of real data that is presented here. The real data set uses gravity data from the Mobrun ore body, north east of Noranda, Quebec, Canada.

    AB - We present an open source MATLAB package, IGUG, for 3D inversion of gravity data. The algorithm implemented in this package is based on methodology that was introduced by Bijani et al. (2015). A homogeneous subsurface body is modeled by an ensemble of simple point masses. The model parameters are the Cartesian coordinates of the point masses and their total mass. The set of point masses, assumed to each have the same mass, is associated to the vertices of a weighted complete graph in which the weights are computed by the Euclidean pairwise distances separating vertices. Kruskal's algorithm is used to solve the minimum spanning tree (MST) problem for the graph, yielding the reconstruction of the skeleton of the body described by the model parameters. The algorithm is stabilized using an equidistance function that restricts the spatial distribution of point masses and favors a homogeneous distribution for the subsurface structure. The non-linear global objective function for the model parameters comprises the data misfit term and the equidistance stabilization function. A regularization parameter λ is introduced to balance the two terms of the objective function, and reasonable physically-relevant bound constraints are imposed on the model parameters. A genetic algorithm is used to minimize the bound constrained objective function for a fixed λ, subject to the bound constraints. A new diagnostic approach is presented for determining a suitable choice for λ, requiring a limited number of solutions for a small set of λ. This contrasts the use of the L-curve which was suggested for estimating a suitable λ in Bijani et al. (2015). Simulations for synthetic examples demonstrate the efficiency and effectiveness of the implementation of the algorithm. It is verified that the constraints on the model parameters are not restrictive, even with less realistic bounds acceptable approximations of the body are still obtained. Included in the package is the script GMD.m which is used for generating synthetic data and for putting measurement data in the format required for the inversion implemented within IGUG.m. The script Diagnostic_Results.m is included within IGUG.m for analyzing and visualizing the results, but can also be used as a standalone script given import of prior results. The software can be used to verify the simulations and the analysis of real data that is presented here. The real data set uses gravity data from the Mobrun ore body, north east of Noranda, Quebec, Canada.

    KW - 3D inversion

    KW - Equidistance function

    KW - Graph theory

    KW - Gravity

    KW - Mobrun

    UR - http://www.scopus.com/inward/record.url?scp=85063902671&partnerID=8YFLogxK

    UR - http://www.scopus.com/inward/citedby.url?scp=85063902671&partnerID=8YFLogxK

    U2 - 10.1016/j.cageo.2019.03.008

    DO - 10.1016/j.cageo.2019.03.008

    M3 - Article

    VL - 128

    SP - 19

    EP - 29

    JO - Computers and Geosciences

    JF - Computers and Geosciences

    SN - 0098-3004

    ER -