Benchmarks are used to verify that a solver solves the problem correctly, i.e., to verify correctness of a code.[1] Over the past decades, the geodynamics community has come up with a large number of benchmarks.

Depending on the goals of their original inventors, they describe stationary problems in which only the solution of the flow problem is of interest (but the flow may be compressible or incompressible, with constant or variable viscosity, etc), or they may actually model time-dependent processes. Some of them have solutions that are analytically known and can be compared with, while for others, there are only sets of numbers that are approximately known. We have implemented a number of them in ASPECT to convince ourselves (and our users) that ASPECT indeed works as intended and advertised. Some of these benchmarks are discussed below. Numerical results for several of these benchmarks are also presented in a number of papers (such as Fraters et al. [2019], Heister et al. [2017], Kronbichler et al. [2012], Tosi et al. [2015]) in much more detail than shown here.

Before going on with showing these benchmarks, let us mention that the data shown below (and in the papers mentioned above) reflect the state of ASPECT at a particular time. On the other hand, ASPECT has become more accurate and faster over time, for example by implementing better stabilization schemes for the advection equations and improving assembly and solver times. We occasionally update sections of the manual, but when reading through the sections on individual benchmarks below, it is worthwhile keeping in mind that ASPECT may yield different (and often better) results than the one shown.