Changes after the latest release (v2.1.0)

This is the list of changes made after the release of Aspect version 2.1.0. All entries are signed with the names of the author.

  1. New: Added a new parameter 'Temperature method' that controls how the temperature equation is solved. The parameter works analogous to the 'Compositional field method' parameter, and the current options are 'field' (the default temperature equation), and 'prescribed field', which allows the material model to fill a PrescribedTemperatureOutputs object that will set the temperature field to defined values. This parameter is mostly useful if you have other ways to determine temperature than by solving the temperature equation (e.g. deriving from a compositional field, or from particles).
    (Rene Gassmoeller, 2019/09/25)

  2. New: There are two new modules in the MaterialModel::Rheology namespace for viscous creep material behavior, diffusion creep and dislocation creep. The functionality in these modules was transferred from the visco plastic material model. In the future other material models can use this functionality without duplicating code.

  3. Removed: Input parameters and functionality related to the old syntax for strain softening in the ViscoPlastic material model and the Rheology::StrainDependent namespace.
    (John Naliboff, 2019/09/17)

  4. New: There is a new model in the MaterialModel::Rheology namespace for material behavior that depends on finite strain. At present, the functionality in this model deals strictly with strain softening behavior, which was transferred from the visco plastic material model. However, in the future other material models can use this functionality without duplicating code.

  5. New: Added a statistics postprocessor 'load balance statistics' that computes statistics about the number of owned cells, and particles if active, across all MPI processes.
    (Rene Gassmoeller, 2019/08/16)

  6. New: The matrix-free, block GMG Stokes solver can now be used for compressible flow computations (all except those involving implicit reference density).
    (Conrad Clevenger, 2019/08/06)

  7. New: There is now a solver scheme 'single Advection, iterated Newton Stokes' that solves the temperature and composition equations once per timestep and uses defect corrector Picard and Newton iterations to iterate out the Stokes solution.
    (Anne Glerum, 2019/07/10)

  8. New: There is a new material model plug-in that sets viscosity to a specified constant above the lithosphere-asthenosphere boundary, which is specified by an ascii file or a maximum lithosphere depth value. Below this the viscosity is taken from any other available material model. All other material properties are taken from the base model.
    (Sophie Coulson, 2019/06/28)

  9. 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. The first one or two columns define a structured grid of horizontal points (x, y or lat, lon), and the third gives the vertical position (z or r) of the layer at that point. The remaining column(s) provide the temperature/composition of the layer boundary at that point. The plugin first linearly interpolates values on the surface of the layer boundary, and then either linearly interpolates between layer boundaries or uses the value obtained on the overlying layer boundary.
    (Bob Myhill, 2019/06/18) *
  10. New: There is now a new module structure for mesh deformation plugins. The original free surface has become one of these plugins; a function plugin is also available. The new structure enables the user to prescribe movement of the mesh independent of the Stokes velocity by setting mesh velocity boundary conditions on one or more mesh deformation boundaries. These boundary conditions are used to solve the Laplace problem for the velocity of the internal mesh nodes, as was originally done for the free surface alone.
    (Rene Gassmoeller, Anne Glerum, Derek Neuharth, Marine Lasbleis 2019/06/18)

    Incompatibility: Due to the new mesh deformation module, there is no backwards compatibility for input files that include a free surface. The "Free surface" section has been moved into the new "Mesh deformation" section. A free surface boundary can be selected through "set Mesh deformation boundary indicators = top: free surface" in the "Mesh deformation" section.
    (Rene Gassmoeller, Anne Glerum, Derek Neuharth, Marine Lasbleis 2019/06/18)

  11. Changed: The 'isothermal compression' approximation for compressible mantle convection has been renamed to 'isentropic compression', which is a more appropriate name. The approximation is only correct if one uses the isentropic rather than the isothermal compressibility in material models.
    (Rene Gassmoeller, 2019/06/14)

  12. Fixed: There was a bug in the heating model manager that occurred when a simulation used several heating models and some of them filled the rates of temperature change heating model outputs, but others did not. Because many heating models do not touch the rates of temperature change heating model outputs at all, the values need to be reset to zero before those heating models are evaluated, otherwise they will contain rates of temperature change outputs from a heating model that was evaluated previously (which would lead to unintended temperature changes). This is fixed now by resetting the appropriate outputs to zero between the evaluation of the different heating models.
    (Juliane Dannberg, 2019/06/12)

  13. New: ASPECT now includes a multicomponent compressible model, where the parameters of each component and the bulk are computed self-consistently. The pressure and temperature dependencies of the material parameters are based on the Murnaghan equation of state, with a thermal pressure term that is linear with temperature and an isochoric heat capacity that is globally constant.
    (Bob Myhill, 2019/05/30)

  14. New: Extended spherical shell geometry model to include custom mesh schemes.
    (Ludovic Jeanniot, Marie Kajan and Wolfgang Bangerth, 2019/05/30)

  15. New: Viscosity grooves benchmark (multiple low viscosity shear bands).
    (Cedric Thieulot, 2019/05/29)

  16. New: Advection in annulus benchmark modified from annulus benchmark. Used in conjunction with SUPG to show that coarse meshes using EV creates much higher diffusion.
    (G. Euen, R. Gassmoeller, T. Heister, 2019/05/29)

  17. New: Slab detachment benchmark first presented in Schmalholtz (2011) and run with Aspect by A. Glerum (2018).
    (C. Thieulot and A. Glerum, 2019/05/28)

  18. New: Fix a rare deadlock caused by adaptive refinement in parallel runs.
    (Timo Heister, 2019/05/27)

  19. New: ASPECT now includes a thermodynamically self-consistent compressible material model that implements the Modified Tait equation of state that is described in Holland and Powell, 2011 (doi:10.1111/j.1525-1314.2010.00923.x).
    (Bob Myhill, 2019/05/27)

  20. New: There is a new matrix-free Stokes solver which uses geometric multigrid for preconditioning in the A-block. Currently the new method can handle no slip BCs for velocity on any mesh, and free slip boundary conditions for a box. Free surface, melt transport, and compressible flow are not yet implemented.
    (Conrad Clevenger, Timo Heister, 2019/05/27)

  21. New: Polydiapirs benchmark from Weinberg and Schmeling 1992.
    (Cedric Thieulot, 2019/05/26)

  22. New: There is a new initial topography model that sets the initial topography based on a function specified in the input file.
    (Anne Glerum, 2019/05/26)

  23. New: Several benchmarks for advection problems got added to benchmarks/advection/
    (Timo Heister 2019/05/25)

  24. New: Viscoplastic_strain_invariants particle plugin added to track the plastic and/or viscous, or total strain with particles.
    (Derek Neuharth and Anne Glerum, 2019/05/25)

  25. New: The material models can now outsource the computation of the viscosity into a separate rheology model. This can be used to remove duplicated code between material models. As a consequence the default parameter for viscosity in the 'Simpler' material model has been changed to 1e21 Pa s.
    (Rene Gassmoeller, 2019/05/25)

  26. New: There is a new initial temperature plug-in that sets a specified lithosphere temperature above the lithsphere-asthenosphere boundary, which is specified by an ascii file or a maximum lithosphere depth value. Below this the initial temperature is set as NaN. This plug-in can be combined with another using the 'replace if valid' operator.
    (Sophie Coulson, 2019/05/25)

  27. New: There is a new material model that combines viscous, elastic and plastic deformation for one or more materials. At present, the model does not take into account diffusion or dislocation creep flow laws and strain softening.
    (John Naliboff, 2019/05/24)

  28. New: There is a new initial temperature plugin that sets up a steady-state continental geotherm for a 3-layer lithosphere.
    (Anne Glerum, 2019/05/24)

  29. New: Added a "rigid shear" benchmark that is based on an analytical solution of the Stokes equations, and can be used to measure the influence of different advection methods (particles, fields) on the Stokes solution. The benchmark is described in the submitted manuscript: Gassmoeller, Lokavarapu, Bangerth, Puckett. "Evaluating the Accuracy of Hybrid Finite Element/Particle-In-Cell Methods for Modeling Incompressible Stokes Flow".
    (Rene Gassmoeller, 2019/05/24)

  30. New: This adds a new, alternative stabilization method for the advection called SUPG. This is preliminary work.
    (Thomas C. Clevenger, Rene Gassmoeller, Timo Heister, Ryan Grove, 2019/05/24)

  31. New: Relocate Lookup namespace and the associated material property readers from grain_size to material model utlilities.
    (Paul Bremner, 2019/05/24)

  32. Remove: The SimulatorAccessor::simulator_is_initialized() function has been removed. It was not used anywhere before. It has been superseded by the SimulatorAccess::simulator_is_past_initialization() function.
    (Wolfgang Bangerth, 2019/05/24)

  33. New: There is now a function SimulatorAccess::simulator_is_past_initialization() that can be used to test whether the simulator has been completely initialized and has started the time loop.
    (Wolfgang Bangerth, 2019/05/22)

  34. Changed: The BoundaryVelocity::Manager::get_prescribed_boundary_velocity() function has been removed. It had previously already been removed.
    (Wolfgang Bangerth, 2019/05/22)

  35. Changed: The BoundaryVelocity::Manager::get_active_boundary_velocity_conditions() function used to return a std::vector of std::shared_ptr objects to heating models enabled for the current run. This has been changed: It now returns a std::vector of std::unique_ptr objects.
    (Wolfgang Bangerth, 2019/05/22)

  36. Changed: The InitialComposition::Manager::get_active_initial_composition_conditions() function used to return a std::vector of std::shared_ptr objects to heating models enabled for the current run. This has been changed: It now returns a std::vector of std::unique_ptr objects.
    (Wolfgang Bangerth, 2019/05/22)

  37. Changed: The entropy viscosity method for stabilizing the advection equations for temperature and composition was substantially improved. A bugfix allowed to reduce the stabilization parameters to the old defaults that were published in the Kronbichler et al 2012 article. Additionally, boundary layers that are conduction dominated are not longer unnecessarily stabilized, which results in a more accurate heat flux, a better overall heat-flux balance, and closer agreement with existing benchmark cases. The old implementation was not wrong, but it required an unnecessarily high resolution to correctly resolve boundary layers. The 'artificial viscosity' postprocessor can always be used to check the amount of applied artificial diffusion.
    (Rene Gassmoeller, 2019/05/13)

  38. Fixed: There was an interpolation bug in the 'gplates' boundary velocity plugin that lead to constant spherical velocities in a small spherical wedge right below the 0 meridian. The missing interpolation lead to a small velocity jump right at the 0 meridian. This is fixed now.
    (Rene Gassmoeller, 2019/05/08)

  39. Changed: The lateral averaging functions, e.g. used in the 'depth average' postprocessor were optimized for some geometry models (spherical shell, box, two merged boxes). Their lateral averaging is now slightly less accurate (the difference is typically on the order of 1e-3 at the coarsest resolutions and disappears with higher refinement), but they will be around 5 (2D) to 25 (3D) times faster.
    (Rene Gassmoeller, 2019/05/05)

  40. Changed: The BoundaryTemperature::Manager::get_active_boundary_temperature_conditions() function used to return a std::vector of std::shared_ptr objects. This has been changed: The function now returns a std::vector of std::unique_ptr objects.
    (Wolfgang Bangerth, 2019/05/02)

  41. Changed: The HeatingModels::Manager::get_heating_models() function used to return a std::vector of std::shared_ptr objects to heating models enabled for the current run. This has been changed: It now returns a std::vector of std::unique_ptr objects.
    (Wolfgang Bangerth, 2019/05/02)

  42. Changed: The test project will no longer automatically re-configure, when cmake is running. To force re-detection of new tests, you need to run "make setup_tests" again.
    (Timo Heister, 2019/05/26)

  43. New: ASPECT now requires deal.II version 9.0.0 or newer.
    (Timo Heister and Rene Gassmoeller, 2019/04/25)

  44. 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, 2019/01/09)

  45. Incompatibility: When selecting the 'dynamic core' plugin for the boundary temperature, the plugin previously used the "Dynamic core" spelling with a leading upper-case letter. However, all other plugins use leading lower-case letters. Consequently, the plugin was changed to follow the usual convention using all lower-case letters, even though this is a change that requires changes to users' input files.
    (Wolfgang Bangerth, 2018/06/21)