The Julia Devito Inversion framework (JUDI.jl)
JUDI is a framework for large-scale seismic modeling and inversion and designed to enable rapid translations of algorithms to fast and efficient code that scales to industry-size 3D problems. Wave equations in JUDI are solved with Devito, a Python domain-specific language for automated finite-difference (FD) computations.
Docs overview
This documentation provides an overview over JUDI's basic data structures and abstract operators:
Installation: Install guidlines for JUDI and compilers.
Getting Started: A few simple guided examples to get familiar with JUDI.
Data structures: Explains the
Model
,Geometry
andOptions
data structures and how to set up acquisition geometries.Abstract Vectors: Documents JUDI's abstract vector classes
judiVector
,judiWavefield
,judiRHS
,judiWeights
andjudiExtendedSource
.Linear Operators: Lists and explains JUDI's abstract linear operators
judiModeling
,judiJacobian
,judiProjection
andjudiLRWF
.Input/Output: Read SEG-Y data and set up
judiVectors
for shot records and sources. Read velocity models.Helper functions: API of functions that make your life easier.
Seismic Inversion: Inversion utility functions to avoid recomputation and memry overhead.
Seismic Preconditioners: Basic preconditioners for seismic imaging.
pysource package: API reference for the propagators implementation with Devito in python. The API is the backend of JUDI handled with PyCall.