Benchmarks#
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.
- Running benchmarks that require code
- Onset of convection benchmark
- The van Keken thermochemical composition benchmark
- Computation of the van Keken Problem with the Volume-of-Fluid Interface Tracking Method
- The Bunge et al. mantle convection experiments
- The Blankenbach convection benchmark
- The King compressible convection benchmark
- The Rayleigh-Taylor instability
- Polydiapirism
- The sinking block benchmark
- The SolCx Stokes benchmark
- The SolKz Stokes benchmark
- The “inclusion” Stokes benchmark
- The Burstedde variable viscosity benchmark
- The slab detachment benchmark
- The hollow sphere benchmark
- The 2D annulus benchmark
- The rigid shear benchmark
- The “Stokes’ law” benchmark
- Viscosity grooves benchmark
- Latent heat benchmark
- The 2D cylindrical shell benchmarks by Davies et al.
- The Crameri et al. benchmarks
- The solitary wave benchmark
- 1D test for water solubility
- Benchmarks for operator splitting
- The Tosi et al. benchmarks
- Layered flow with viscosity contrast
- Donea & Huerta 2D box geometry benchmark
- Advection stabilization benchmarks
- Yamauchi & Takei anelastic shear wave velocity-temperature conversion benchmark
- Thin shell gravity benchmark
- Thick shell gravity benchmark
- 2D Lithosphere flexure benchmark with infill
- Gravity field generated by mantle density variations
- Brittle thrust wedges benchmark
- Compressibility formulation benchmarks
- Entropy adiabat benchmark
- Geoid Spectral Comparison
- Newton Solver Benchmark Set - Nonlinear Channel Flow
- Newton Solver Benchmark Set - Spiegelman et at. (2016)
- Newton Solver Benchmark Set - Tosi et at. (2015)
- The NSinker benchmark
- The Spherical Shell NSinker benchmark
- Time dependent annulus benchmark
- The viscoelastic plastic shear bands benchmarks
- Grain Size Pinned State