Enabling curvilinear finite-difference in Devito for elastodynamic simulations in complex topography
Ivan Sanchez, Daniel O. Trad
Devito is an open-source domain-specific language for constructing finite-difference solvers, originally designed for simulations on Cartesian grids. However, conventional Cartesian schemes struggle to represent irregular free-surface topography, where stair-step boundaries introduce numerical artifacts that degrade wavefield accuracy. We extend Devito with a curvilinear finite-difference formulation for elastic wave propagation, using a tensorial representation of the velocity-stress system in orthogonal curvilinear coordinates. This approach preserves the structure and efficiency of staggered-grid methods while allowing the free surface to coincide with an arbitrary topographic profile. The formulation is fully integrated into Devito’s symbolic framework and requires only spatially varying metric terms derived from the coordinate mapping. Numerical experiments on a homogeneous model and on a 2D slice of the SEAM Foothills Phase II model demonstrate stable and physically consistent wave propagation in complex terrains. This extension broadens Devito’s applicability to elastic modeling and inversion in realistic land environments with significant topographic relief.