You are here: Home / Resources / Software: Download / ASPECT / About


By Wolfgang Bangerth, Juliane Dannberg, Menno Fraters, Rene Gassmoeller, Anne Glerum, Timo Heister, Robert Myhill, John Naliboff

Published on



A finite element parallel code to simulate problems in thermal convection in both 2D and 3D models.

ASPECT is a code to simulate problems in thermal convection. Its primary focus is on the simulation of processes in the earth's mantle, but its design is more general than that. The primary aims developing ASPECT are:

  • Usability and extensibility: Simulating mantle convection is a difficult problem characterized not only by complicated and nonlinear material models but, more generally, by a lack of understanding which parts of a much more complicated model are really necessary to simulate the defining features of the problem. This uncertainty requires a code that is easy to extend by users to support the community in determining what the essential features of convection in the earth's mantle are.
  • Modern numerical methods: We build ASPECT on numerical methods that are at the forefront of research in all areas -- adaptive mesh refinement, linear and nonlinear solvers, stabilization of transport-dominated processes. This implies complexity in our algorithms, but also guarantees highly accurate solutions while remaining efficient in the number of unknowns and with CPU and memory resources.
  • Parallelism: Many convection processes of interest are characterized by small features in large domains -- for example, mantle plumes of a few tens of kilometers diameter in a mantle almost 3,000 km deep. Such problems require hundreds or thousands of processors to work together. ASPECT is designed from the start to support this level of parallelism.
  • Building on others' work: Building a code that satisfies above criteria from scratch would likely require several 100,000 lines of code. This is outside what any one group can achieve on academic time scales. Fortunately, most of the functionality we need is already available in the form of widely used, actively maintained, and well tested and documented libraries. Thus, ASPECT builds immediately on top of the deal.II library for everything that has to do with finite elements, geometries, meshes, etc.; and, through deal.II on Trilinos for parallel linear algebra and on p4est for parallel mesh handling.
  • Community: We believe that a large project like ASPECT can only be successful as a community project. Every contribution is welcome and we want to help you so we can improve ASPECT together.

ASPECT is published under the GNU GPL v2 or newer license.

Release Notes

aspect-2.3.0.tar.gz [2021-07-24]

Among others this release includes the following significant changes:

  • New: ASPECT now requires deal.II 9.2.0 or newer. (Timo Heister)
  • New: ASPECT has a new, reproducible logo. (Rene Gassmoeller, Juliane Dannberg)
  • New: Mesh deformation now also works in combination with particles. Instead of the end of the timestep, particles are now advected before solving the compositional field advection equations. In iterative advection schemes, the particle location is restored before each iteration. (Anne Glerum, Rene Gassmoeller, Robert Citron)
  • New: ASPECT now supports the creation of visualization postprocessors that only output data on the surface of a model. An example is the "surface stress" visualization postprocessor. (Wolfgang Bangerth)
  • New: A new class TimeStepping::Manager to control time stepping with a plugin architecture has been added. The architecture allows to repeat time steps if the time step length changes significantly. (Timo Heister)
  • New: A mesh refinement plugin that allows to set regions of minimum and maximum refinement level between isosurfaces of solution variables. (Menno Fraters and Haoyuan Li)
  • New: There is a new nullspace removal option 'net surface rotation', which removes the net rotation of the surface. (Rene Gassmoeller)
  • New: Particle advection can now be used in combination with the repetition of timesteps. Before each repetition the particles are restored to their previous position. (Anne Glerum)
  • New: There is a new property in the depth average postprocessor that averages the mass of a compositional field (rather than its volume). (Juliane Dannberg)
  • New: The Drucker Prager rheology module now has an option to include a plastic damper, which acts to stabilize the plasticity formulation. At sufficient resolutions for a given plastic damper viscosity, the plastic shear band characteristics will be resolution independent. (John Naliboff and Cedric Thieulot)
  • New: ASPECT can now compute viscosity values depending on the values of phase functions for an arbitrary number of phases. (Haoyuan Li, 2020/08/06)
  • New: Added calculation for temperature-dependent strain healing in the strain dependent rheology module. (Erin Heilman)
  • New: Added new rheology module, which computes the temperature dependent Frank Kamenetskii viscosity approximation. (Erin Heilman)
  • New: ASPECT now includes a CompositeViscoPlastic rheology module. This rheology is an isostress composite of diffusion, dislocation and Peierls creep rheologies and optionally includes a damped Drucker-Prager plastic element. The rheology module for Peierls creep includes a formulation to compute the exact Peierls viscosity, using an internal Newton-Raphson iterative scheme. (Bob Myhill, John Naliboff and Magali Billen)
  • New: There is a new visualization postprocessor 'principal stress', which outputs the principal stress values and directions at every point in the model. (Rene Gassmoeller)
  • New: Added the functionality to compute averages in user defined depth layers (e.g. lithosphere, asthenosphere, transition zone, lower mantle) to the depth average postprocessor and the lateral averaging plugin. (Rene Gassmoeller)
  • New: The 'spherical shell' geometry model now supports periodic boundary conditions in polar angle direction for a 2D quarter shell (90 degree opening angle). (Kiran Chotalia, Timo Heister, Rene Gassmoeller)
  • New: A new particle interpolator based on quadratic least squares has been added. (Mack Gregory, Gerry Puckett)
  • New: There is now a mesh deformation plugin "diffusion" that can be used to diffuse surface topography in box geometry models. (Anne Glerum)
  •  Bug fixes to: Steinberger and Calderwood viscosity profile, particle generation, viscous strain weakening, incompressible equation of state, pressure sign convention, Neumann heat flow boundaries with the Newton solver, viscosity on the adiabat for extended Boussinesq approximation models, and many more. (many authors)

A complete list of all changes and their contributing authors can be found at