Skip to content

pawbz/GeoPhyInv.jl

Repository files navigation

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.