ASPECT’s computations are controlled by input parameter files such as those we will discuss in the following sections.17 Basically, these are just regular text files you can edit with programs like gedit, kwrite or kate when working on Linux, or something as simple as NotePad on Windows. When setting up these input files, you basically have to describe everything that characterizes the computation you want to do. In particular, this includes the following:
For each of these questions, there are one or more input parameters (sometimes grouped into sections) that allow you to specify what you want. For example, to choose a geometry, you will typically have a block like this in your input file:
This indicates that you want to do a computation in 2d, using a rectangular geometry (a “box”) with edge length equal to one in both the - and -directions. Of course, there are other geometries you can choose from for the Model name parameter, and consequently other subsections that specify the details of these geometries.
Similarly, you describe boundary conditions using parameters such as this:
This snippet describes which of the four boundaries of the two-dimensional box we have selected above should have a prescribed temperature or an insulating boundary, and at which parts of the boundary we want zero, tangential or prescribed velocities.18
If you go down the list of questions about the setup above, you have already done the majority of the work describing your computation. The remaining parameters you will typically want to specify have to do with the computation itself. For example, what variables do you want to output and how often? What statistics do you want to compute. The following sections will give ample examples for all of this, but using the questions above as a guideline is already a good first step.
17You can also extend ASPECT using plugins – i.e., pieces of code you compile separately and either link into the ASPECT executable itself, or reference from the input file. This is discussed in Section 6.
18Internally, the geometry models ASPECT uses label every part of the boundary with what is called a boundary indicator – a number that identifies pieces of the boundary. If you know which number each piece has, you can list these numbers on the right hand sides of the assignments of boundary types above. For example, the left boundary of the box has boundary indicator zero (see Section ??), and using this number instead of the left would have been equally valid. However, numbers are far more difficult to remember than names, and consequently every geometry model provides string aliases such as “left” for each boundary indicator describing parts of the boundary. These symbolic aliases are specific to the geometry – for the box, they are “left”, “right”, “bottom”, etc., whereas for a spherical shell they are “inner” and “outer” – but are described in the documentation of every geometry model, see Section ??.