Skip to content

Latest commit

 

History

History
75 lines (45 loc) · 4.07 KB

README.md

File metadata and controls

75 lines (45 loc) · 4.07 KB

Synthetic Field Intensity Inversion (aka FullWaver)

This is synthetic case with three cubic anomalies where one cube defines anomalies in conductivity and charageability, one cube defines an anomaliy in conductivity and one cube defines an anomaliy in charageability. The doamin is defines in the gmsh file domain.geo which can be visualized in gmsh:

cd examples/SuntheticFW
gmsh domain.geo    

and show this geometry setup:

The core part shows the three anomalies and the position of charging electrodes and recording stations. In the core region a finer mesh is used while in the padding region which is added to eliminate boundary effects a coarser mesh is used. We will create a synthetic data set containing electric field intensity and (modified) chargeability [Missing reference](XX).

The first step is to extract the location of the charging electrodes and recording stations from the 'domain.geo' to create the file of station locations 'stations.csv' as defined in the configuration file config.py and to generate a schedule file 'synth_schedule.csv' (again the name is defined in the configuration file) which will later be used to run the virtual survey:

./mkSchedule.py -d 10 domain.geo config

In the survey the electrodes at an offset in the East, North, West and South are paired with in this case 10 (specified by the option -d 10) randomly choosen other electrodes setting in this case 4 x 10 charging experiments. The station spacing is recorded as about 300 (if you have not changed the geometry file).

The lacation of the stations and electrodes can be plotted to the file station_positions.png uisng

plotStations.py -i station_positions.png config

where green and blue dots refer to recording stations and charging electrode respectively:

A 3D mesh is generated from `domain.geo` using gmsh with the mesh written to `synth.msh` in the GMSH file format (Make sure that the format 2.2 is used):
gmsh -3 -o synth.msh domain.geo

Notice the the cubic anomlies are tagged with "Anomaly1", "Anomaly2" and "Anomaly3". The core region excluding the anomalies is tagged "InnerBox" while the padding is the tagged "OuterBox". The mesh will have about 135000 nodes. The resolution can be changed by editing domain.geo.

The gmsh file ' synth.msh' is converted into an esys-escript mesh file mainly for reasons of performance when reading the mesh under MPI:

gmsh2fly.py --silo mesh synth.msh config

The output file name in the fly format is specifeid in the configuration file config.py. The converter also generates the file mesh.silo to visualize the mesh:

Notice that the the converter includes the stations and electrodes into the `fly` file as point elements.

Now we can create synthetic survey data:

runSynthetic.py -n 5 config

In this case the columns electric field intensity 'E' and modified chargeability 'GAMMA' as secified by the datacolumns variable in the configuration file are calculatated for the survey defined by 'synth_schedule.csv'. A new file 'synth_data.csv' is created. It defines the input for the inversion.

To run the inversion use

runIPFieldinversion.py --sigmaOnly -d config

With the '--sigmaOnly' option only the inversion for conductivity is completed and a restart file is created which is creating input for the chargeability inversion. The option '-d' switches on additional output during the iteration. When completed the results file 'sigma.silo' is written where the file name is taken from the configuration file. Support for VTK file out is provided via the '--vtk' option.

runIPFieldinversion.py --restart -d config

by @LutzGross