5 Cookbooks

In this section, let us present a number of “cookbooks” – examples of how to use ASPECT in typical or less typical ways. As discussed in Sections 4 and A, ASPECT is driven by run-time parameter files, and so setting up a particular situation primarily comes down to creating a parameter file that has the right entries. Thus, the subsections below will discuss in detail what parameters to set and to what values. Note that parameter files need not specify all parameters – of which there is a bewildering number – but only those that are relevant to the particular situation we would like to model. All parameters not listed explicitly in the input file are simply left at their default value (the default values are also documented in Section A).

Of course, there are situations where what you want to do is not covered by the models already implemented. Specifically, you may want to try a different geometry, a different material or gravity model, or different boundary conditions. In such cases, you will need to implement these extensions in the actual source code. Section 6 provides information on how to do that.

The remainder of this section shows a number of applications of ASPECT. They are grouped into three categories: Simple setups of examples that show thermal convection (Section 5.2), setups that try to model geophysical situations (Section 5.3) and setups that are used to benchmark ASPECT to ensure correctness or to test accuracy of our solvers (Section 5.4). Before we get there, however, we will review how one usually approaches setting up computations in Section 5.1.

Note: The input files discussed in the following sections can generally be found in the cookbooks/ directory of your ASPECT installation.

 5.1 How to set up computations
 5.2 Simple setups
  5.2.1 Convection in a 2d box
  5.2.2 Convection in a 3d box
  5.2.3 Convection in a box with prescribed, variable velocity boundary conditions
  5.2.4 Using passive and active compositional fields
  5.2.5 Using particles
  5.2.6 Using a free surface
  5.2.7 Using a free surface in a model with a crust
  5.2.8 Averaging material properties
  5.2.9 Prescribed internal velocity constraints
  5.2.10 Artificial viscosity smoothing
  5.2.11 Tracking finite strain
  5.2.12 Reading in compositional initial composition files generated with geomIO
 5.3 Geophysical setups
  5.3.1 Simple convection in a quarter of a 2d annulus
  5.3.2 Simple convection in a spherical 3d shell
  5.3.3 Postprocessing spherical 3D convection
  5.3.4 3D convection with an Earth-like initial condition
  5.3.5 Using reconstructed surface velocities by GPlates
  5.3.6 2D compressible convection with a reference profile and material properties from BurnMan
  5.3.7 Reproducing rheology of Morency and Doin, 2004
  5.3.8 Crustal deformation
  5.3.9 Continental extension
  5.3.10 Inner core convection
  5.3.11 Melt migration in a 2D mantle convection model
  5.3.12 Melt migration in a 2D mid-ocean ridge model
 5.4 Benchmarks
  5.4.1 Running benchmarks that require code
  5.4.2 Onset of convection benchmark
  5.4.3 The van Keken thermochemical composition benchmark
  5.4.4 The SolCx Stokes benchmark
  5.4.5 The SolKz Stokes benchmark
  5.4.6 The “inclusion” Stokes benchmark
  5.4.7 The Burstedde variable viscosity benchmark
  5.4.8 The hollow sphere benchmark
  5.4.9 The 2D annulus benchmark
  5.4.10 The “Stokes’ law” benchmark
  5.4.11 Latent heat benchmark
  5.4.12 The 2D cylindrical shell benchmarks by Davies et al.
  5.4.13 The Crameri et al. benchmarks
  5.4.14 The solitary wave benchmark
  5.4.15 Benchmarks for operator splitting