Status:
Actively adding features to support improved science or performance by CIG.
Code changes:
Community:
Geodynamics Forum
Bug reports:
Github Issue Tracker
License:
GNU Public License
ASPECT
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 transportdominated 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.
Current Release
Source Packages
This release includes the following significant changes:

New: There is a new matrixfree Stokes solver which uses geometric multigrid.
This method is significantly faster than the default algebraic multigrid
preconditioner and uses less memory. Free surface and melt transport are not
yet implemented.
(Thomas C. Clevenger, Timo Heister)

New: There is now a new approximation for the compressible convection
models that is called 'projected density field'.
(Rene Gassmoeller, Juliane Dannberg, Timo Heister, Wolfgang Bangerth)

Changed: The Geodynamic World Builder has been updated to version 0.3.0.
(Menno Fraters)

Changed: ASPECT now requires deal.II version 9.0.0 or newer.
(Timo Heister, Rene Gassmoeller)

New: There is a new, alternative stabilization method for the advection equation
called SUPG.
(Thomas C. Clevenger, Rene Gassmoeller, Timo Heister, Ryan Grove)

Changed: The entropy viscosity method for stabilizing the advection equations
was substantially improved leading to less artificial diffusion in particular
close to boundaries.
(Rene Gassmoeller)

New: The 'visco plastic' material model now has an option to simulate
viscoelasticplastic deformation. The 'viscoelastic plastic' material
model has been superseded and removed.
(John Naliboff, Dan Sandiford)

New: The "Free surface" functionality has been generalized and is now part of
"Mesh deformation". This change is incompatible to old parameter files that
used the free surface.
(Rene Gassmoeller, Anne Glerum, Derek Neuharth, Marine Lasbleis)

New benchmarks: entropy equation, viscoelastic cantilever, bouyancydriven
viscoelastic plate stress, advection in annulus, slab detachment benchmark,
several advection benchmarks, rigid shear, polydiapirs, surface loading.
(Wolfgang Bangerth, Fiona Clerc, Juliane Dannberg, Daniel Douglas, Rene
Gassmoeller, Timo Heister, Garrett Ito, Harsha Lokavarapu, John Naliboff,
Elbridge G. Puckett, Cedric Thieulot)

Incompatibility: The option to use PETSc for linear algebra has been removed
until further notice.
(Timo Heister)

New: If the user has the libdap libraries installed then input data can be
pulled from the server instead of a local file.
(Kodi Neumiller, Sarah Stamps, Emmanuel Njinju, James Gallagher)

New: Implement the "no Advection, single Stokes" and
"single Advection, iterated Newton Stokes" solver schemes.
(Timo Heister, Anne Glerum)

New: The chunk geometry model can now incorporate initial
topography from an ascii data file.
(Anne Glerum)

New: The 'depth average' postprocessor now additionally computes the laterally
averaged density of vertical mass flux for each depth slice in the model.
(Rene Gassmoeller)

Changed: The gravity point values postprocessor has been significantly extended.
(Ludovic Jeanniot, Cedric Thieulot)

New: There is now a general class
MaterialModel::Utilities::PhaseFunction
that can be used to model
phase transitions using a smooth phase function.
(Rene Gassmoeller, John Naliboff, Haoyuan Li)

New: ASPECT now includes a thermodynamically selfconsistent compressible
material model, that implements the Modified Tait equation of state that is
described in Holland and Powell, 2011.
(Bob Myhill)

New: The material models can now outsource the computation of the viscosity
into a separate rheology model.
(Rene Gassmoeller)

New: ASPECT now includes initial temperature and initial composition plugins
that use ASCII data files to define the initial temperature or composition
at a series of layer boundaries.
(Sophie Coulson, Anne Glerum, Bob Myhill)

New: Extended spherical shell geometry model to include custom mesh schemes.
(Ludovic Jeanniot, Marie Kajan, Wolfgang Bangerth)

New: There is a new termination criterion that cancels the model run
when a steady state average temperature is reached.
(Rene Gassmoeller, Juliane Dannberg, Eva Bredow)

Bug fixes to : parallel hdf5 output, chunk geometry model, initial
topography modules, gplates boundary velocity plugin.
(many authors)
A complete list of changes and their contributing authors can be found at
https://aspect.geodynamics.org/doc/doxygen/changes_between_2_81_80_and_2_82_80.html
View Prior Source Releases
[show]
[hide]
This release includes the following significant changes:
 New: ASPECT has a new plugin system that allows it to prescribe a fixed
heat flux (instead of prescribing the temperature) at the model boundaries.
 New: Compositional fields can optionally be advected with the melt velocity.
 New: There is now a visualization postprocessor that outputs the compaction
length, the characteristic length scale of melt transport.
 New: ASPECT can optionally use the Geodynamic World Builder
(https://github.com/GeodynamicWorldBuilder/WorldBuilder/) to create complex
initial conditions for temperature and composition.
 New: ASPECT can now read in a depthdependent vs to density conversion file, which
can be used with the included tomography model plugins.
 New: ASPECT can now read in a depthdependent initial temperature from file.
 New: The 'ascii data' and 'function' boundary velocity plugins now allow
velocities to be specified along spherical (up, east, north) unit vectors.
 New: Added a visualization plugin that directly outputs the strain rate tensor.
 New: ASPECT can now call PerpleX to calculate material properties, phase
amounts and compositions onthefly. This model is provided as a
proofofconcept; more efficient procedures are required for production runs.
 New: ASPECT now outputs a dynamically generated URL based on used features to
ask people to cite appropriate papers.
 New: ASPECT has two visualization postprocessors which calculate and output
the grain lag angle and the infinite strain axis (ISA) rotation timescale,
respectively. These two quantities can be used to calculate the grain
orientation lag parameter of Kaminski and Ribe (G3, 2002).
 Improved: The artificial diffusion term that is added in the entropy
viscosity method to the temperature and composition equations is now computed
as the maximum of the physical diffusion and entropy viscosity instead of the
sum. This reduces numerical diffusion for the temperature field.
 New: Compositional fields can now be prescribed to a value that is computed
in the material model as an additional output at every time step.
 Changed: The heat flux through boundary cells is now computed using the
consistent boundary flux method as described in Gresho, et al. (1987), which
is much more accurate than the previously used method.
 New: ASPECT can now calculate gravity anomalies in addition to the geoid.
 New: ASPECT now outputs a file named original.prm in the output directory
with the exact content of the parameter it got started with.
 New: Added basic support for a volumeoffluid interface tracking advection
method in 2D incompressible box models. The VoF method is an efficient method
to track a distinct compositional field without artificial diffusion.
 New: There is now an option to output visualization data as higher order
polynomials. This is an improvement in accuracy and requires less disk space
than the 'Interpolate output' option that was available before. However the
new output can only be read by ParaView version 5.5 and newer and is
therefore disabled by default.
 New: Several new benchmark cases were added.
 Many other fixes and smaller improvements.
A complete list of changes and their contributing authors can be found at
https://aspect.geodynamics.org/doc/doxygen/changes_between_2_80_80_and_2_81_80.html
This release is a bugfix release for 2.0.0 and includes the following fixes:
 Fixed: The 'compositional heating' heating plugin had a parameter
'Use compositional field for heat production averaging' that was used
inconsistently with its description. Its first entry did not correspond
to the background field, but to the first compositional field, and the
last value was ignored. This is fixed now, the first entry is used for
the background field, and all following values determine whether to include
the corresponding compositional fields.
 Fixed: The 'depth dependent' material model did not properly initialize
the material model it uses as a base model. This caused crashes if the
base model requires an initialization (such as the 'steinberger' material
model). This is fixed now by properly initializing the base model.
 Fixed: The advection assembler for DG elements was not threadsafe,
which led to wrong results or crashes if a discontinuous temperature
or composition discretization was combined with multithreading.
 Disabled: The particle functionality was not tested when combined with a
free surface boundary, and this combination is currently not supported. This
limitation is now made clear by failing for such setups with a descriptive
error message.
This release includes the following changes:
 New: Newton solver and defect correction Picard iterations for nonlinear problems (for the Stokes system)
 Melt solver: Overhaul leading to improved performance and stability, better integration with other plugins
 New: Material model with grain size evolution
 New: Boundary temperature plugin with evolving coremantle boundary temperature based on the heat flux through the coremantle boundary
 New: ASPECT can now compute the geoid in 3D spherical shell geometry
 New: Operator splitting for reactions between compositional fields
 New: Added a PREM gravity profile
 Improved: Significantly reduced memory consumption in models that use many compositional fields
 Improved: A large number of performance improvements for preconditioners, assembly, seismic tomography initial conditions, and lateral averaging
 Improved: More flexibility for boundary and initial conditions, different plugins can be combined
 Improved: The dynamic topography postprocessor now uses the consistent boundary flux method for computing surface stresses, which is significantly more accurate
 New: Additional RHS force terms in the Stokes system can be added
 New particle interpolators: nearest neighbor, bilinear least squares, harmonic average
 New: Graphical user interface for the creation and modification of input parameter files
 Many other fixes and small improvements.
 Rework: Updated parameter and section names to make them more consistent and easier to understand. A script for updating parameter and source files is provided with the release.
A complete list of changes can be found at
https://aspect.geodynamics.org/doc/doxygen/changes_between_1_85_80_and_2_80_80.html
This release includes the following changes:
 New: Choice between different formulations for the governing equations including Boussinesq and anelastic liquid approximation.
 New: Melt transport (twophase flow).
 Particles: new generators, ghost exchange, performance improvements, interpolation to fields.
 New: Nondimensional material model for incompressible (using the Boussinesq approximation) and compressible computations (with ALA or TALA) for nondimensionalized problems. This can be used for benchmark problems like Blankenbach, King, etc..
 New: Optional DG method for temperature/composition.
 Adiabatic conditions: rework, now includes a reference density profile.
 Free surface: overhaul.
 New cookbooks: continental extension, finite strain, BurnMan interface, active tracers.
 New benchmarks: TanGurnis, Blankenbach, King.
 New: viscoplastic material model.
 Material model interface cleanup.
 Assembly performance improvements.
 New: memory statistics postprocessor.
 New: initial topography plugins.
 Many other fixes and small improvements.
A complete list of changes can be found at
https://aspect.dealii.org/doc/doxygen/changes_between_1_84_80_and_1_85_80.html
This release includes the following changes:
 Complete overhaul of the particle architecture.
 Modularization of the assembly process.
 Large improvements to serial and parallel performance of particle handling.
 Support for traction boundary conditions.
 Support for timedependent mesh refinement criteria.
 Flexible support for modifying the underlying FEM variables for the PDE.
 Optional DG support for temperature and compositional fields.
 More robust parallel file I/O.
 Support for tangential mesh velocity boundaries in free surface computations.
 Support for anisotropic viscosity.
 Various fixes to free surface computations: checkpointing, better stabilization, crash fixes.
 New Chunk Geometry model.
 New material property averaging options.
 Complete rewrite of the heating model infrastructure.
 Several new cookbooks.
 Several new postprocessors.
 Support for signals in various locations that allows plugins to inspect/manipulate things inside the core application.
 Several new mesh refinement plugins.
 Improved spherical interpolation of data used in the GPlates plugin.
 Many other fixes and small improvements.
A complete list of changes can be found at
https://aspect.dealii.org/doc/doxygen/changes_between_1_83_and_1_84_80.html
and the release is also available from
https://github.com/geodynamics/aspect/releases/tag/v1.4.0.
Changelist:
 New: Averaging of material properties between the quadrature points of a cell. This greatly increases the stability of solutions in simulations with spatially varying coefficients, and also greatly accelerates the solution, at times up to a factor of ten.
 Corrections to the entropy stabilization scheme for compositional fields.
 Fixed and extended: Removal of rigid body translations and rotations when the simulation has a nullspace.
 New: VTU visualization output can now be grouped into an arbitrary number of files per time step.
 Various fixes to the nonlinear solver residual computation.
 New visualization postprocessors that can output the shear stress and full stress tensors.
 Fixes to the latent heat formulation.
 New 'ascii data' plugins for boundary and initial conditions.
 New mass flux statistics postprocessor.
 Many other fixes and small improvements.
A complete list of changes can be found at
https://aspect.dealii.org/doc/doxygen/changes_between_1_82_and_1_83.html
Changelist:
 methods to have truly concentric shells without distorted cells
 linear solver improvements which give up to 2x speedup in some cases
 boundary names like "top" instead of numbers are now supported in input files
 new example: free surface computation with a crust as a stagnant lid
 new benchmarks: Davies et al. and Burstedde et al.
 new initial condition: S40RTS perturbation based on shear wave data
 fixes to minimum/maximum refinement plugins
 better error messages when linear solvers fail
 many other fixes and small improvements (direct solver, file output, checkpointing, etc.)
A complete list of changes can be found at
https://aspect.dealii.org/doc/doxygen/changes_between_1_81_and_1_82.html
 Initial work on free surface in Arbitrary LagrangianEulerian framework
 New postprocessors, initial temperature profiles
 Improved PETSc support
 Bug fixes
This release contains a large number of changes, incorporating about one year
of work of the main authors and many contributors:
 a lot of new documentation
 new examples (2d/3d shells, GPlates, ...)
 option to remove rotational/translational modes
 big performance improvements
 compositional fields: reactions, boundary conditions
 support for periodic meshes
 output of dynamic topography
 incorporation of latent heat
 experimental PETSc support
User Resources
User Manual
The ASPECT user manual is available online.
Community Wiki
Visit the ASPECT Wiki page for additional support with building, using, or modifying ASPECT.
ASPECT Publications List
Research publications using ASPECT.
Community Discussion
Browse the CIG Mailing List Archive to find past discussions and previous troubleshooting help, or post to the CIG forum with questions or comments.
Browse the CIG Mailing List Archive to find past discussions and previous troubleshooting help, or post to the CIG forum with questions or comments.
Developer Resources
Development Version
If you are interested in getting the development version of this code from the CIG repository, use the following git command:
git clone recursive https://github.com/geodynamics/aspect.git
You can also browse the history of modifications in the Git repository.
Issue/Bug Tracker on Github
Browse and/or submit new issues at our Github Issues Tracker.
ASPECT Users Map
Shows location of all users who downloaded ASPECT in the past year (image updated daily.)