Partial differential equation solvers based on the finite-difference method have for many years been a keystone of seismic processing and modelling applications, commonly found in practical migration and full-waveform inversion methods. Sharp density contrasts within the computational domain have potential to introduce numerical error: problematic when introducing topography to a seismic model. Including a simple step change in density to approximate an air layer compromises both stability and numerical accuracy, often requiring smoothing of the contrast, and inducing both first and second order errors in space. Topography can instead be implemented via an immersed boundary conforming to the surface. This is achieved by extrapolating the wavefield across the boundary to find solution values at necessary external nodes. As this process is confined to the pre-processing step, it has negligible effect on the computational cost of the simulation.

Devitoboundary is a tool in its early stages of development, intended to compliment Devito as a user-friendly means of including immersed boundaries in practical applications. 3D immersed boundaries can be constructed from irregularly sampled topography point clouds, via Delaunay triangulation coupled with a 1D extrapolation scheme. The result is a stable, error-free boundary which can be readily integrated with Devito models.


Article metrics loading...

Loading full text...

Full text loading...


  1. Gao, L. et al.
    (2015) ‘An immersed free-surface boundary treatment for seismic wave simulation’, Geophysics, 80(5), pp. 193–209.
    [Google Scholar]
  2. Hu, W.
    (2016) ‘An improved immersed boundary finite-difference method for seismic wave propagation modeling with arbitrary surface topography’, Geophysics, 81(6), pp. 311–322.
    [Google Scholar]
  3. Liu, Y. and Sen, M. K.
    (2009) ‘A new time – space domain high-order finite-difference method for the acoustic wave equation’, Journal of Computational Physics. Elsevier Inc., 228(23), pp. 8779–8806. doi: 10.1016/j.jcp.2009.08.027.
    https://doi.org/10.1016/j.jcp.2009.08.027 [Google Scholar]
  4. Lombard, B., Piraux, J. and Virieux, J.
    (2008) ‘Free and smooth boundaries in 2-D finite-difference schemes for transient elastic waves’, Geophysical Journal International, 172(1), pp. 252–261. doi: 10.1111/j.1365‑246X.2007.03620.x.
    https://doi.org/10.1111/j.1365-246X.2007.03620.x [Google Scholar]
  5. Louboutin, M. et al.
    (2019) ‘Devito (v3.1.0): an embedded domain-specific language for finite differences and geophysical exploration’, Geoscientific Model Development, 12(3), pp. 1165–1187.
    [Google Scholar]
  6. Luporini, F. et al.
    (2018) ‘Architecture and performance of devito, a system for automated stencil computation’, CoRR, abs/1807.0, pp. 1–27.
    [Google Scholar]
  7. Mulder, W. A.
    (2017) ‘A simple finite-difference scheme for handling topography with the second-order wave equation’, Geophysics, 82(3), pp. 111–120.
    [Google Scholar]
  8. Tam, C. K. W. and Webb, J. C.
    (1993) ‘Dispersion-relation-preserving finite difference schemes for computational acoustics’, Journal of Computational Physics, 107(1), pp. 262–281.
    [Google Scholar]
  9. Zeng, C. et al.
    (2012) ‘An improved vacuum formulation for 2D finite-difference modeling of Rayleigh waves including surface topography and internal discontinuities’, Geophysics, 77(1), pp. 1–9.
    [Google Scholar]
  10. Zhang, J. and Yao, Z.
    (2013) ‘Optimized finite-difference operator for broadband seismic wave modeling’, Geophysics, 78(1), pp. 13–18.
    [Google Scholar]
  11. Zhebel, E. et al.
    (2014) ‘A comparison of continuous mass-lumped finite elements with finite differences for 3-D wave propagation’, Geophysical Prospecting, 63(1), pp. 1111–1125. doi: 10.1111/1365‑2478.12138.
    https://doi.org/10.1111/1365-2478.12138 [Google Scholar]

Data & Media loading...

This is a required field
Please enter a valid email address
Approval was a Success
Invalid data
An Error Occurred
Approval was partially successful, following selected items could not be processed due to error