Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GPR comparison #9

Open
prisae opened this issue Feb 14, 2018 · 1 comment
Open

Add GPR comparison #9

prisae opened this issue Feb 14, 2018 · 1 comment
Labels
examples Add to or improve the gallery

Comments

@prisae
Copy link
Member

prisae commented Feb 14, 2018

Create a comparison example with gprMax, to

  • verify correctness of empymod.model.gpr,
  • get an idea how they compare in terms of speed.

As comparison could serve these examples:

@prisae prisae added the examples Add to or improve the gallery label Feb 14, 2018
@prisae prisae changed the title GPR comparison Add GPR comparison Feb 14, 2018
@prisae
Copy link
Member Author

prisae commented Sep 1, 2020

Thanks to Anja Klotzsche who provided some useful information which can serve as a starting point to get going with gprMax:


I quickly run the model for cells of 3 cm in y and x and also created the input for cells of 1 cm in all directions. Check what you need. The 1 cm model will take long...

In the array command you can also add more traces. I just made it exactly as in the image (see https://github.com/empymod/article-fdesign/blob/master/figures/Figure-9.pdf). If you need a comparable GPR image as in the right plot you have simply have to add many more receivers.

Below a few comments how to let it run in Python.

You might have to play around with the height of Tx and the cell size. One could probably make the model smaller in 3D, but I always check that I have roughly 10 cells for the PML in each direction.


If you want to use the gprmax built-in plotting commands to get a figure of the shot gather, you will need to run the input file version that contains the receiver step sizes (#rx_steps) and use the run command:

python -m gprMax path_to_your_input_file/input_model.in -n 12

in which -n 12 denotes the number of steps that your antennas will do. After the run you will need to merge the output files by using the command:

python -m tools.outputfiles_merge path_to_your_output_file/name_of_output_file

and you will be able to plot the shot gather with:

python -m tools.plot_Bscan path_to_your_output_file/output_file_merged.out Ez

If you only want to look at the single traces that each receiver gathered or if you are willing to write your own (/rewrite the gprmax built-in) plotting code to combine the single traces, you can run a single AScan using an receiver array option by using the command:

python -m gprMax path_to_your_input_file/input_model.in 

This is going to run a lot (in this case by 12 times) faster than the Bscan but the gprmax functions tools.outputfiles_merge and tools.plot_Bscan are not going to work anymore. To look at each single trace use:

python -m tools.plot_Ascan path_to_your_output_file/output_file.out

This will open multiple figures. The command has the additional option to select specific field components (--output EZ) and/or FFT (-fft)

synmodel_3D_Dieter_merged


Input synmodel_3D_Dieter.in

#title: synmodel
#domain: 4.41 3.0 2.01
#dx_dy_dz: 0.03 0.01 0.03
#time_window: 100e-9

#material: 9  0.005 1 0 sed1
#material: 15 0.005 1 0 sed2

#waveform: ricker 1 250e6 my_ricker
#hertzian_dipole: z 1.2 2.01 1.02 my_ricker

#rx_array: 1.02 1.5 1.02 3.33 1.5 1.02 0.21 0 0

#box: 0 0 0 4.41 2 2.01 sed1
#box: 0 0 0 4.41 1 2.01 sed2

#geometry_view: 0 0 0 4.41 3.0 2.01 0.03 0.01 0.03 synmodel n

Input synmodel_3D_Dieter_01.in

#title: synmodel
#domain: 4.4 3.0 2.0
#dx_dy_dz: 0.01 0.01 0.01
#time_window: 100e-9

#material: 9  0.005 1 0 sed1
#material: 15 0.005 1 0 sed2

#waveform: ricker 1 250e6 my_ricker
#hertzian_dipole: z 1.2 2.0 1.0 my_ricker

#rx_array: 1.0 1.5 1.0 3.2 1.5 1.0 0.2 0 0

#box: 0 0 0 4.4 2.0 2.0 sed1
#box: 0 0 0 4.4 1.0 2.0 sed2

#geometry_view: 0 0 0 4.4 3.0 2.0 0.01 0.01 0.01 synmodel n

@prisae prisae mentioned this issue Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
examples Add to or improve the gallery
Projects
None yet
Development

No branches or pull requests

1 participant