The theory for this section is based on this paper:
Zhou, X.-Y., Chang, X., Wang, Y.-B., Wen, X.-T., You, J.-C., & Sun, C. (2022). Non-artifact vector P- and S-wave separation for elastic reverse time migration. Petroleum Science, 19(6), 2695–2710. https://doi.org/10.1016/j.petsci.2022.08.006
One can separate the P- and S-wave components of a wavefield by
taking the divergence and the curl of the displacement field. An easy way to do
this in Salvus is to output the gradient-of-displacement and then use the
components from the resulting tensor to construct the divergence and curl
The following is an example demonstrating such a wavefield separation:
where the indices of ui represent which component of the output field to
To get the divergence of the displacement field (P-wave component), simply apply
Similarly, to get the curl of the displacement field (S-wave component), use
The wavefield which is computed during a Salvus simulation can be opened using the WavefieldOutput.
Note that the regularly gridded wavefield output has dimensions [n_time_slices, n_components, n_x, n_y]. The subscripts for u effectively represent which dimension in the wavefield output should be extracted along axis=1.
For example, the divergence of the wavefield output could be obtained using something anaologous to