Skip to content

Wave equation

Salvus can simulate mechanical waves for a variety of different physics, from millimeter to global scale, and a wide range of applications, such as seismology, seismic exploration, material testing or ultrasound tomography.

In all these domains, the propagation of waves can be described mathematically by some form of the time-dependent wave equation.


Acoustic wave equation

We consider a spatial domain \Omega \subset \mathbf{R}^d (d = 2 or 3) and a time interval I = [t_1, t_2]. In its most general form, the scalar acoustic wave equation modelled in Salvus is given by:

m_0(\mathbf{x}) \partial_t^2 \phi(\mathbf{x},t) - \nabla \cdot \big(m_1(\mathbf{x}) \nabla \phi(\mathbf{x},t)\big) = f(\mathbf{x},t).

Here, \phi denotes the space- and time-dependent wavefield and f is describes external forces. \partial_t^2 denotes the second time derivative and \nabla the spatial gradient operator. Furthermore, m_0 and m_1 are space-dependent material coefficients describing the properties of the medium.

Different parameterization of m_0 and m_1 lead to different formulations of the wave equation, which changes the meaning of \phi. For instance, the wavefield \phi could either represent pressure, a displacement potential, or a velocity potential.

For example, choosing m_0 = \rho^{-1} \,c^{-2} and m_1 = \rho^{-1} gives the acoustic wave equation for a displacement potential

\rho^{-1}(\mathbf{x})\, c^{-2}(\mathbf{x}) \partial_t^2 \phi(\mathbf{x},t) - \nabla \cdot \big(\rho^{-1}(\mathbf{x}) \nabla \phi(\mathbf{x},t)\big) = f(\mathbf{x},t).

Note that different parameterization also change the meaning of the source term. For more information, take a look at the manual for output units or parameter conversion formulas.


Elastic wave equation

In solid media, the propagation of mechanical waves is governed by the elastic wave equation:

\rho(\mathbf{x}) \partial_t^2 \mathbf{u}(\mathbf{x},t) - \nabla \cdot \big( \mathbf{C}(\mathbf{x}) : \varepsilon(\mathbf{u})(\mathbf{x},t)\big) = f(\mathbf{x},t).

Here, \mathbf{u} is the displacement field, \varepsilon{\mathbf{u}} is the strain tensor, i.e.,

\varepsilon(\mathbf{u}) = \frac{1}{2}\left(\nabla \mathbf{u} + \nabla \mathbf{u}^T \right),

\rho denotes density, and \mathbf{C} is the fourth-order elastic tensor that relates strains to stresses. In 3-D the \mathbf{C} would have 81 coefficients, however, this number reduces to at most 21 (resp. 6 in 2-D) independent components due to the symmetry relations;

\mathbf{C}_{ijkl} = \mathbf{C}_{klij} = \mathbf{C}_{jikl}

Isotropic elastic media is an important special case, which reduces the number of material coefficients to the two Lamé parameters \lambda and \mu. In this case the elastic wave equation can be written as:

\rho(\mathbf{x}) \partial_t^2 \mathbf{u}(\mathbf{x},t) - \nabla \cdot \big(2 \mu(\mathbf{x}) \varepsilon(\mathbf{u})(\mathbf{x},t) + \lambda(\mathbf{x})(\nabla \cdot \mathbf{u}(\mathbf{x},t)) I \big) = f(\mathbf{x},t).

Note that above equations are only valid for non-dissipative media. We will deal with modeling visco-acoustic or visco-elastic waves later.