ahsheikh / ForwardHelmholtz.jl

A package for defining and solving the Helmholtz equation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Coverage Status

ForwardHelmholtz.jl

A package for defining and solving the Helmholtz equation using the shifted Laplacian multigrid solver. This is done using the geometric MG version in Multigrid.jl.

This package is used in the following paper for solving the Helmholtz equation for multiple right-hand-sides (see Section 4 and 5.3):

Eran Treister and Eldad Haber, Full waveform inversion guided by travel time tomography, SIAM Journal on Scientific Computing, 39 (5), S587-S609, 2017.

Requirements

This package is intended to use with julia versions 0.6.x.

This package is an add-on for jInv, which needs to be installed.

Installation

Pkg.clone("https://github.com/JuliaInv/jInv.jl","jInv")
Pkg.clone("https://github.com/JuliaInv/Multigrid.jl","Multigrid")
Pkg.clone("https://github.com/JuliaInv/ForwardHelmholtz.jl","ForwardHelmholtz")
Pkg.clone("https://github.com/JuliaInv/ParSpMatVec.jl","ParSpMatVec")
Pkg.build("ParSpMatVec");

Pkg.test("ForwardHelmholtz")

Examples

See //examples.

PointSourceADR sub-package

Also available in this package is the sub-package ForwardHelmholtz.PointSourceADR for the solution of the Helmholtz equation for a point source, as described in the paper:

Eran Treister, Eldad Haber, A multigrid solver to the Helmholtz equation with a point source based on travel time and amplitude.

To use this sub-package type using ForwardHelmholtz.PointSorceADR. This sub-package also requires the FactoredEikonalFastMarching package, which can be installed by Pkg.clone("https://github.com/JuliaInv/FactoredEikonalFastMarching.jl","FactoredEikonalFastMarching")

About

A package for defining and solving the Helmholtz equation.

License:MIT License


Languages

Language:Julia 100.0%