Awesome
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.