This page here has been created for the latest stable release of Salvus. You have chosen to view the documentation for another Salvus version. Please be aware there might be some small differences you have to account for.

Knowledge Base

Numerical wave propagation and full-waveform inversion are very active fields of research that combine cutting-edge expertise from physics, engineering, applied mathematics, and high-performance computing. As such, the learning curve has an inevitable slope.

The following pages provide background information and some practical guidelines for waveform modelling and inversion.

What does it take to simulate waves?

Generally speaking, the ingredients to solve the wave equation are sources describing external forces that inject energy into the system, a model that describes the material properties of the medium, and a domain, which is the spatial extent and temporal duration of the simulation. These are transformed into outputs in form of a space- and time-dependent wavefield or subsets thereof.

All ingredients are interdependent and tied together by the resolvable frequency. They determine the computational mesh, time discretization and boundary conditions.


Without injecting energy into the system there is nothing to simulate. External forces can appear in various forms.

Most commonly, the sources are localized, e.g., earthquakes or ultrasound transducers, and often modelled as point sources. In addition, sources can appear as initial conditions (e.g., pre-stress), boundary conditions (e.g., ambient noise sources) or volumetric forces.

Through their location and frequency content, sources influence the size of the domain and its discretization, as well as the parameterization of the medium.


The model describes the spatially varying material properties of the medium, for instance, its density, bulk modulus or shear wave velocity.

The model influences the choice of the domain, as it determines the path along which energy propagates through the object as well as how long it takes for the waves to arrive at certain locations within the domain.


Numerical simulations require a computational domain - bounded in space and time - on which the wave equation is solved. The spatial and temporal extent of the domain is naturally constrained by the sources and specified outputs, as well as the velocity of the medium described by the model.

Receivers and output in general

Many applications are not interested in the entire spatio-temporal evolution of the wavefield, but only in subsets thereof.

For instance, hydrophones or seismometers measure the time series at individual locations within the domain. Other applications might require the state of the wavefield at a distinct time, or only at the surface or along certain interfaces of the domain.

Hence, the required output influences the size of the domain as well as the simulated time interval.