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.

h- vs p-Refinement

In finite-element slang, hh usually refers to the grid spacing or size of the elements - even if the element sizes may vary within the domain. In contrast, pp refers to the polynomial degree of the finite-element test functions.

Consequently, hh-refinement means to decrease the element size, i.e., use more elements to cover the same domain, and, respectively, pp-refinement means to increase the polynomial degree within the elements.

While the total number of elements remains the same in the latter case, both strategies increase the total number of degrees of freedom (dofs).

On the first glance, it may look as if both strategies give a very similar result. However, the differences are important.

One key motivation behind the spectral-element method is that a higher polynomial degree quickly reduces the approximation error. Hence, for larger values of pp fewer grid points per wavelength are typically sufficient to obtain the same accuracy.

So why should we not always do pp-refinement and choose pp as high as possible?

There are two main limiting factors. The algorithmic intensity increases with higher pp as more dofs contribute to the computation of the test functions or their gradients within the elements.

Furthermore, the model parameters are smooth within the elements by construction, and discontinuities in the medium properties can only occur across element boundaries. Thus, in media with sharp interfaces the size of the layers may limit the maximum element size.

Therefore, one needs to find a good balance between element size and polynomial degree. In practice, p=4p=4 is the most widely used choice for pp.

Finally, as both methods increase the number of dofs, the spacing between grid points decreases, which in turn necessitates a smaller time step due to the CFL condition. Note that even if the total number of dofs is the same for both cases in the example above, the location of the grid points is slightly different, which might have an effect on the time step.

Practical Advice

As a rule of thumb, the literature often mentions a minimum of 7 – 10 grid points per wavelength to accurately resolve the wavefield. In many seismological applications, however, choosing p = 4 and one element per wavelength - which is equivalent to 5 grid points - is sufficient.