Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pawbz/GeoPhyInv.jl
A Julia Toolbox for Geophysical Modeling and Inverse Problems
https://github.com/pawbz/GeoPhyInv.jl
cuda elastic finite-difference-method gpu julia parallel-computing poisson seismic-inversion seismic-tomography seismic-waves staggeredgrid
Last synced: about 2 months ago
JSON representation
A Julia Toolbox for Geophysical Modeling and Inverse Problems
- Host: GitHub
- URL: https://github.com/pawbz/GeoPhyInv.jl
- Owner: pawbz
- License: other
- Created: 2017-02-08T00:25:02.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-06-08T17:24:30.000Z (about 1 year ago)
- Last Synced: 2024-02-04T14:37:17.347Z (5 months ago)
- Topics: cuda, elastic, finite-difference-method, gpu, julia, parallel-computing, poisson, seismic-inversion, seismic-tomography, seismic-waves, staggeredgrid
- Language: Julia
- Homepage: https://pawbz.github.io/GeoPhyInv.jl/
- Size: 513 MB
- Stars: 26
- Watchers: 5
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Lists
- awesome-open-geoscience - GeoPhyInv
- awesome-open-geoscience - GeoPhyInv
README
[![](https://img.shields.io/badge/docs-dev-blue.svg)](https://pawbz.github.io/GeoPhyInv.jl/)
# Toolbox for Geophysical Modeling and Inverse ProblemsGeoPhyInv provides architecture-agnostic elastic and acoustic wave equation solvers using either [CUDA.jl](https://github.com/JuliaGPU/CUDA.jl) for [Base.Threads](https://docs.julialang.org/en/v1/base/multi-threading/) for high-performance computations on GPUs and CPUs, respectively. For GPU computations, a performance similar to CUDA C is achieved, thanks to
[ParallelStencil.jl](https://github.com/omlins/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](https://docs.julialang.org/en/v1/manual/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:
```julia
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](https://janth.home.xs4all.nl/Software/Software.html) software.
* [[paper]](https://library.seg.org/doi/abs/10.1190/1.1442147) P-SV wave propagation in heterogeneous media: Velocity‐stress finite‐difference method.
* Work of [Komatitsch and Martin (2007)](https://www.researchgate.net/publication/47503800_An_unsplit_convolutional_Perfectly_Matched_Layer_improved_at_grazing_incidence_for_the_seismic_wave_equation) on convolutional perfectly matched layers for seismic wave equation.
* Charles Clerget [@chclerget](https://github.com/chclerget) tested some methods of this package.
* The Poisson solver (`GeoPhyInv.Poisson`) was developed by Niels Grobbe, after adapting scripts from [Aime Fournier](https://erlweb.mit.edu/users/aimemitedu).
* Thanks to [Earth Resources Laboratory](https://erlweb.mit.edu), MIT. A few developments of this project were supported by Aime Fournier via research funds from Equinor.