4.1 Overview

After compiling ASPECT as described above, you should have an executable file in the main directory. It can be called as follows:

  ./aspect parameter-file.prm

or, if you want to run the program in parallel, using something like

  mpirun -np 32 ./aspect parameter-file.prm

to run with 32 processors. In either case, the argument denotes the (path and) name of a file that contains input parameters.7 When you download ASPECT, there are a number of sample input files in the cookbooks directory, corresponding to the examples discussed in Section 5, and input files for some of the benchmarks discussed in Section 5.4 are located in the benchmarks directory. A full description of all parameters one can specify in these files is given in Section A.

Running ASPECT with an input file will produce output that will look something like this (numbers will all be different, of course):

----------------------------------------------------------------------------- 
-- This is ASPECT, the Advanced Solver for Problems in Earths ConvecTion. 
--     . version 2.0.0-pre (include_dealii_version, c20eba0) 
--     . using deal.II 9.0.0-pre (master, 952baa0) 
--     . using Trilinos 12.10.1 
--     . using p4est 2.0.0 
--     . running in DEBUG mode 
--     . running with 1 MPI process 
----------------------------------------------------------------------------- 
 
Number of active cells: 1,536 (on 5 levels) 
Number of degrees of freedom: 20,756 (12,738+1,649+6,369) 
 
*** Timestep 0:  t=0 years 
 
   Rebuilding Stokes preconditioner... 
   Solving Stokes system... 30+3 iterations. 
   Solving temperature system... 8 iterations. 
 
Number of active cells: 2,379 (on 6 levels) 
Number of degrees of freedom: 33,859 (20,786+2,680+10,393) 
 
*** Timestep 0:  t=0 years 
 
   Rebuilding Stokes preconditioner... 
   Solving Stokes system... 30+4 iterations. 
   Solving temperature system... 8 iterations. 
 
   Postprocessing: 
     Writing graphical output: output/solution/solution-00000 
     RMS, max velocity:        0.0946 cm/year, 0.183 cm/year 
     Temperature min/avg/max:  300 K, 3007 K, 6300 K 
     Inner/outer heat fluxes:  1.076e+05 W, 1.967e+05 W 
 
*** Timestep 1:  t=1.99135e+07 years 
 
   Solving Stokes system... 30+3 iterations. 
   Solving temperature system... 8 iterations. 
 
   Postprocessing: 
     Writing graphical output: output/solution/solution-00001 
     RMS, max velocity:        0.104 cm/year, 0.217 cm/year 
     Temperature min/avg/max:  300 K, 3008 K, 6300 K 
     Inner/outer heat fluxes:  1.079e+05 W, 1.988e+05 W 
 
*** Timestep 2:  t=3.98271e+07 years 
 
   Solving Stokes system... 30+3 iterations. 
   Solving temperature system... 8 iterations. 
 
   Postprocessing: 
     RMS, max velocity:       0.111 cm/year, 0.231 cm/year 
     Temperature min/avg/max: 300 K, 3008 K, 6300 K 
     Inner/outer heat fluxes: 1.083e+05 W, 2.01e+05 W 
 
*** Timestep 3:  t=5.97406e+07 years 
 
...

The output starts with a header that lists the used ASPECT, deal.II, Trilinos and p4est versions as well as the mode you compiled ASPECT in (see 4.3), and the number of parallel processes used8. With this information we strive to make ASPECT models as reproducible as possible.

The following output depends on the model, and in this case was produced by a parameter file that, among other settings, contained the following values (we will discuss many such input files in Section 5:

 
set ??                     = 2  
set ??                      = 1.5e9  
set ??              = output  
 
subsection ?? 
  set ??                  = spherical shell  
end 
 
subsection ?? 
  set ??   = 4  
  set ?? = 1  
end 
 
subsection ?? 
  set ??      = visualization, velocity statistics, temperature statistics, heat flux statistics, depth average  
end

In other words, these run-time parameters specify that we should start with a geometry that represents a spherical shell (see Sections ?? and ?? for details). The coarsest mesh is refined 4 times globally, i.e., every cell is refined into four children (or eight, in 3d) 4 times. This yields the initial number of 1,536 cells on a mesh hierarchy that is 5 levels deep. We then solve the problem there once and, based on the number of adaptive refinement steps at the initial time set in the parameter file, use the solution so computed to refine the mesh once adaptively (yielding 2,379 cells on 6 levels) on which we start the computation over at time t = 0.

Within each time step, the output indicates the number of iterations performed by the linear solvers, and we generate a number of lines of output by the postprocessors that were selected (see Section ??). Here, we have selected to run all postprocessors that are currently implemented in ASPECT which includes the ones that evaluate properties of the velocity, temperature, and heat flux as well as a postprocessor that generates graphical output for visualization.

While the screen output is useful to monitor the progress of a simulation, its lack of a structured output makes it not useful for later plotting things like the evolution of heat flux through the core-mantle boundary. To this end, ASPECT creates additional files in the output directory selected in the input parameter file (here, the output/ directory relative to the directory in which ASPECT runs). In a simple case, this will look as follows:

aspect> ls -l output/ 
total 932 
-rw-rw-r-- 1 bangerth bangerth  11134 Dec 11 10:08 depth_average.gnuplot 
-rw-rw-r-- 1 bangerth bangerth  11294 Dec 11 10:08 log.txt 
-rw-rw-r-- 1 bangerth bangerth 326074 Dec 11 10:07 parameters.prm 
-rw-rw-r-- 1 bangerth bangerth 577138 Dec 11 10:07 parameters.tex 
drwxr-xr-x 2 bangerth bangerth   4096 Dec 11 10:08 solution 
-rw-rw-r-- 1 bangerth bangerth    484 Dec 11 10:08 solution.pvd 
-rw-rw-r-- 1 bangerth bangerth    451 Dec 11 10:08 solution.visit 
-rw-rw-r-- 1 bangerth bangerth   8267 Dec 11 10:08 statistics

The purpose of these files is as follows:

There are other parts of ASPECT that may also create files in the output directory. For example, if your simulation includes advecting along particles (see Section 2.15), then visualization information for these particles will also appear in this file. See Section 5.2.5 for an example of how this looks like.

7As a special case, if you call ASPECT with an argument that consists of two dashes, “”, then the arguments will be read from the standard input stream of the program. In other words, you could type the input parameters into your shell window in this case (though that would be cumbersome, ASPECT would seem to hang until you finish typing all of your input into the window and then terminating the input stream by typing Ctrl-D). A more common case would be to use Unix pipes so that the default input of ASPECT is the output of another program, as in a command like cat parameter-file.prm.in | mypreprocessor | ./aspect –, where mypreprocessor would be a program of your choice that somehow transforms the file parameter-file.prm.in into a valid input file, for example to systematically vary one of the input parameters.

If you want to run ASPECT in parallel, you can do something like cat parameter-file.prm.in | mypreprocessor | mpirun -np 4 ./aspect –. In cases like this, mpirun only forwards the output of mypreprocessor to the first of the four MPI processes, which then sends the text to all other processors.

8If you used the git version control system to download ASPECT and/or deal.II, as in this example, you will also get the current branch, and unique revision identifier for the current version. This is very important if you modify either software between releases, or you use a development version that is not an official release. Note that this revision can not track changes you made to the software that are not part of a git commit.

9The output is in fact in the VTU version of the VTK file format. This is the XML-based version of this file format in which contents are compressed. Given that typical file sizes for 3d simulation are substantial, the compression saves a significant amount of disk space.

10The underlying deal.II package actually supports output in around a dozen different formats, but most of them are not very useful for large-scale, 3d, parallel simulations. If you need a different format than VTK, you can select this using the run-time parameters discussed in Section ??.

11At the time of writing this, current versions of Visit (starting with version 2.5.1) actually have a bug that prevents them from successfully reading the output/solution.visit or output/solution/solution-XXXXX.visit files – Visit believes that each of these files corresponds to an individual time step, rather than that a whole group of files together form one time step. This bug is not fixed in Visit 2.6.3, but may be fixed in later versions.