GeoPhyInv.jl

A Julia Toolbox for Geophysical Modeling and Inverse Problems
Author pawbz
Popularity
29 Stars
Updated Last
11 Months Ago
Started In
February 2017

Toolbox for Geophysical Modeling and Inverse Problems

GeoPhyInv provides architecture-agnostic elastic and acoustic wave equation solvers using either CUDA.jl for Base.Threads for high-performance computations on GPUs and CPUs, respectively. For GPU computations, a performance similar to CUDA C is achieved, thanks to ParallelStencil.jl. The finite-difference simulations are performed in both 2-D and 3-D using a staggered-grid velocity-stress formulation. Finally, distributed computing shipped with Julia ensures that the modelling of the super-sources can be parallelized.

Installation

For complete installation, enter these package manager commands in the REPL:

using Pkg
Pkg.add(PackageSpec(name="GeoPhyInv",url="https://github.com/pawbz/GeoPhyInv.jl.git"))

Credits and References

  • Some implementation ideas are borrowed from Jan Thorbecke's fdelmodc software.
  • [paper] P-SV wave propagation in heterogeneous media: Velocity‐stress finite‐difference method.
  • Work of Komatitsch and Martin (2007) on convolutional perfectly matched layers for seismic wave equation.
  • Charles Clerget @chclerget tested some methods of this package.
  • The Poisson solver (GeoPhyInv.Poisson) was developed by Niels Grobbe, after adapting scripts from Aime Fournier.
  • Thanks to Earth Resources Laboratory, MIT. A few developments of this project were supported by Aime Fournier via research funds from Equinor.