SkillAgentSearch skills...

SeismicWaves.jl

Acoustic and elastic seismic wave propagation and gradients (using the adjoint method).

Install / Use

/learn @GinvLab/SeismicWaves.jl
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

SeismicWaves

Docs Stable Docs Latest

SeismicWaves.jl is a Julia package for acoustic and elastic wave propagation simulations designed to be used in a full-waveform inversion (FWI) framework. It solves different flavours of the wave equation using the finite difference method.

Wave propagation example

The main features of SeismicWaves.jl are:

  • acoustic and elastic simulations
  • gradients using the adjoint method
  • different misfit/objective functionals provided or the possibility to specifing your own
  • device-agnostic backends for parallelization, i.e., CPUs or GPUs (CUDA, AMDGPU, Metal - Apple M-chips) thanks to ParallelStencil.jl
  • C-PML boundary conditions
  • checkpointing of simulations for the adjoint method

Work in progress:

  • noise correlations (seismic interferometry)
  • arbitrary-order stencils
  • 3D elastic simulations

This package integrates well with the inversion framework provided by InverseAlgos, which includes both deterministic (L-BFGS, Quasi-Newton, etc.) and probabilistic (e.g., Hamiltonian Monte Carlo) inverse algorithms, as part of the G⁻¹Lab framework.

More information and an extensive list of features can be found in the documentation, which can be found either online or built locally by running the docs/make.jl file.

[!WARNING] Documentation is currently minimal and work in progress!

Related Skills

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated3d ago
Forks0

Languages

Julia

Security Score

95/100

Audited on Mar 27, 2026

No findings