Geoscientific Model Development (Nov 2022)

spyro: a Firedrake-based wave propagation and full-waveform-inversion finite-element solver

  • K. J. Roberts,
  • A. Olender,
  • L. Franceschini,
  • R. C. Kirby,
  • R. S. Gioria,
  • B. S. Carmo

DOI
https://doi.org/10.5194/gmd-15-8639-2022
Journal volume & issue
Vol. 15
pp. 8639 – 8667

Abstract

Read online

In this article, we introduce spyro, a software stack to solve wave propagation in heterogeneous domains and perform full waveform inversion (FWI) employing the finite-element framework from Firedrake, a high-level Python package for the automated solution of partial differential equations using the finite-element method. The capability of the software is demonstrated by using a continuous Galerkin approach to perform FWI for seismic velocity model building, considering realistic geophysics examples. A time domain FWI approach that uses meshes composed of variably sized triangular elements to discretize the domain is detailed. To resolve both the forward and adjoint-state equations and to calculate a mesh-independent gradient associated with the FWI process, a fully explicit, variable higher-order (up to degree k=5 in 2D and k=3 in 3D) mass-lumping method is used. We show that, by adapting the triangular elements to the expected peak source frequency and properties of the wave field (e.g., local P-wave speed) and by leveraging higher-order basis functions, the number of degrees of freedom necessary to discretize the domain can be reduced. Results from wave simulations and FWIs in both 2D and 3D highlight our developments and demonstrate the benefits and challenges with using triangular meshes adapted to the material properties.