Skip to content

Inversion

Note

This chapter is devoted to inversion (or optimization) of model geometry. Inversion of model physical properties (density/susceptibility) is covered by the section Density inversion.

Geometry optimization in IGMAS+ is based on nonlinear optimization and specifically deals with adjusting the shape, position, and size of the model elements to minimize the difference between the observed data (e.g. gravity measurements) and the model predictions (the calculated potential field). Hence, geometry optimization is possible for a correctly triangulated model and requires a measured potential field.

As we consider optimization of geometrical parameters of a 3-D model, and it is a highly non-linear problem, this requires a suitable nonlinear optimization method. For optimization the Evolution Strategy with Covariance Matrix Adaptation, or CMA-ES (Hansen, 2016; Weng, 2019) has been chosen.

Geometry optimization based on spring-based space warping

The geometry optimization based on spring-based space warping utilizing the CMA-ES is introduced in details in Alvers at al. (2023).

In order to be able to use the spring-based space warping, it is necessary to setup a lattice of nodes which would serve as connections for the virtual elastic springs, and which will be actually controlling the warping.

Setup lattice

  • Create a lattice using icon add lattice
    You will be asked to define the area for the lattice:

Define lattice area

Define lattice area

By default, the whole model volume is taken and the lattice consists of a single rectangular prism with 4 edges/nodes on the corners of the model.

  • With icon add lattice nodes you can add more lattice nodes, i.e. make the lattice finer
  • Similarly, with icon remove lattice nodes you can remove lattice nodes, i.e. make the lattice coarser
  • In case of mistakes, you can completely remove the lattice using icon remove lattice

There are two lattice transformation modes controlled by swapping icons mode matrix and mode trilinear:

Matrix transformation mode

In the matrix transformation mode you can adjust the lattice coarseness with add lattice nodes and remove lattice nodes.

It is also possible to adjust the positions of individual nodes with pressing Shift and dragging with mouse Left Button.

Trilinear transformation mode

In the trilinear transformation mode it is possible to move (translate), scale and rotate the lattice:

  • The translation mode is enabled by default or by pressing L. You can move along one of the three axes (by dragging one of the three arrows) or arbitrary (by dragging the central cube)
  • The scaling mode is enabled by pressing K. it can be also done in one dimension
  • The rotation mode is enabled by pressing J

Interface geometry optimization

Here is the minimal workflow to start the interface inversion:

  • Load or create the model with at least one interface (you can use this simple two-body model for testing)
  • Load the measured data
  • In the Object Tree, right click on Interfaces and select Add Category
  • Choose Inversion and click OK
    • The new Inversion entry will appear in Interfaces
  • Add an interface to the Inversion category
    • Pick the desired interface and drag it to the Inversion entry
  • Open interface inversion dialogue using the start icon inversion start

    • Interface inversion settings window will open

    Interface inversion settings

    Interface inversion settings

  • Select the Optimizer
    • Optimizer tri-check: enable checking if triangles in the mesh modified after each generation are intersecting (results in longer evaluation time)
    • Optimizer no-check: no checking is enabled (faster, but can result in an inconsistent mesh with intersections)
  • Adjust the Standard Deviation: the initial standard deviation of depth coordinates of interface vertices
  • Adjust the Stop-Quality SD: the threshold value of the quality
  • Select the effects to be used for the update of the calculated fields:
    • Use Triangle Effect: involve calculation of effect of the triangulated bodies
    • Use Voxel Effect: involve calculation of the effect of the voxel cubes
  • Select a desired field to use in optimization: by default all available fields are used
  • Click Next

    • The area settings window will open:

    Area settings

    Area settings

The default area is the area covered by stations.

  • Click Finish
    • Inversion process will start
      • To stop the inversion process use the stop icon inversion stop
    • Once inversion is done, the stop icon inversion stop will change back to the start icon inversion start
Tip

Feel free to use the simple two-body model from our example in this release post for testing.