![]() |
ASPECT
|
This is the list of changes made after the release of ASPECT version 3.0.0. All entries are signed with the names of the author.
Added: A boolean parameter in the bingham average plugin to choose rotation matrix or Euler angle representation.
(Yijun Wang, 2025/07/09)
Changed: The entropy method can now be used without loading additional shared libraries. If there is at least one compositional field of type 'entropy' the entropy equation will govern the thermodynamic evolution of the model and the temperature equation will only be used to compute heat conduction.
(Rene Gassmoeller, 2025/07/08)
Changed: The entropy method can now also be used with the 'compositing' material model. Additionally, the adiabatic conditions plugin 'compute entropy profile' now considers initial composition to compute the initial reference profile, identical to the 'compute profile' plugin.
(Rene Gassmoeller, 2025/07/04)
Fixed: The default value for the parameter 'Lateral viscosity file name' in the material model 'entropy model' referred to a non-existent file. This parameter now refers to an example data file.
(Rene Gassmoeller, 2025/07/04)
Added: The option for the user to use the adiabatic pressure instead of the full pressure in the Tian 2019 reaction model.
(Daniel Douglas, 2026/06/30)
New: The geometric multigrid (GMG) solver now also supports running without viscosity averaging. This has the same memory requirement and computational cost per iteration as Q1 averaging. Note that we still need to average the viscosity for the GMG hierarchy, which likely results in higher iteration counts compared to computations with viscosity averaging enabled.
(Timo Heister, 2025/06/29)
Added: Initial topography can now be imposed on the 'box with lithosphere boundary indicators' geometry model.
(Arushi Saxena, 2025/06/24)
Fixed: A thin 3D spherical shell with an opening angle of 90 degrees (octant of a sphere) would crash, because of a bug of how boundary indicators were assigned. This bug is fixed in deal.II 9.7 and the fix was backported into ASPECT.
(Rene Gassmoeller, 2025/06/20)
Added: An entropy statistics postprocessor to the multicomponent entropy averaging material model. This postprocessor calculates for every time step the average number of iterations to equilibrate the temperature between the multiple components
(Ranpeng Li 2025/06/19)
Added: ParticleDistributionStatistics postprocessor which calculates some statistics about the clustering and distribution of particles within cells. Statistics are computed from a point-density function of the particles and include standard deviation and maximum and minimum of the point-density function.
(Jarett Baker-Dunn, 2025/06/19)
Changed: The tomography_based_plate_motions cookbook now has added functionality to import slabs from the Slab2 model and an initial imposed topography.
(Arushi Saxena, Juliane Dannberg, Rene Gassmoeller, 2025/06/19)
Added: Implemented Olivine D-type fabric with the major slip system {0kl}[001] using an updated generalized CPO (Crystallographic Preferred Orientation) algorithm. This enhancement now reproduced lab results.
(Xiaochuan Tian, 2025/06/18)
Added: there is now a new particle property that saves the local velocity gradient into a particle property.
(Agi Kiraly and Yijun Wang, 2025/06/18)
Added: Grain boundary sliding flow law for ice-1 from Goldsby & Kohlstedt, 2001
(Antoniette Greta Grima, 2025/06/18)
New: Add support for specifying bedrock_river_incision_rate (Kf) and bedrock_transport_coefficient (Kd) in Fastscape Fortran using user-defined functions. These parameters represent climate and rock erodibility conditions. They can now vary in both space and time through 2D and time-dependent functions.
(Liang Xue, Derek Neuharth, 2025/06/17)
Added: The Steinberger material model now includes Drucker-Prager plasticity, using the same yield strength for all chemical compositions.
(Qianyi Lu, 2025/06/17)
Added: Generalized CPO algorithm for slip systems that supports additional crystal structure types with existing Olivine fabrics benchmarked. The monoclinic mineral clinopyroxene is implemented as an example.
(Xiaochuan Tian, 2025/06/17)
Changed: The prescribed dilation is now split into two parts: a pressure-dependent part that is moved to the left-hand side of the mass conservation equation, and a pressure-independent part that stays on the right-hand side. In addition, the effect of dilation on the momentum conservation equation for incompressible models is no longer represented by the dilation term on the right-hand side, but by the volumetric strain rate term on the left-hand side. These changes enable the Drucker-Prager model to produce associated plastic flows, in which the shear bands develop along the Coulomb angle.
(Yimin Jin, 2025/06/16)
Added: The ability for specifying a sea level curve in the FastScape Fortran plugin, allowing it to be defined either as a constant or as a user-defined time-dependent function.
(Liang Xue, John Naliboff, Rene Gassmoeller, Wolfgang Bangerth, 2025/06/16)
Added: The entropy model now supports multiple components. The method assumes there is a background field, whose percentage doesn't need to be specified. The adiabatic reference profile is calculated based on the background entropy.
(Ranpeng Li, Juliane Dannberg, Rene Gassmoeller, Bob Myhill, 2025/06/16)
Fixed: The Crystal Preferred Orientation plugin was not serializing the internal state
(Menno Fraters, Yijun Wang, Agi Kiraly, 2025/06/16)
Added: A cookbook of crystal preferred orientation calculation for olivine based on Fraters and Billen 2021
(Xiaochuan Tian, 2025/06/16)
New: There is now a new reaction model and particle property that allows it to model the formation of basaltic oceanic crust and harzburgitic lithosphere as mantle material reaches the surface.
(Juliane Dannberg, 2025/06/16)
Added: A cookbook which replicates some results of the publication by Burchardt et al (2012) about the sinking of anhydrite blocks within a Newtonian salt diapir.
(Cedric Thieulot, 2025/06/15)
New: A new prefactor has been added to the Drucker-Prager rheology model that makes it possible to reduce (or increase) the yield strength of specific compositions given in the input file
(Antoniette G. Grima, 2025/06/14)
Fixed: The conservation of water mass when being partitioned within the solid phase and the free fluid phase in the reactive fluid transport model.
(Daniel Douglas, 2025/06/14)
Added: A cookbook that demonstrates how to govern phase transformations using a non-equilibrium thermodynamic formulation for calculating reaction rates (using operator splitting). The simple subduction model shows a dynamic metastable olivine layer forming near the olivine –> wadsleyite phase transition.
(Buchanan Kerswell, 2025/06/14)
Added: A density anomaly visualization postprocessor that can output density anomaly from the lateral average density or from the adiabatic density reference profile.
(Qianyi Lu, 2025/06/13)
New: A "current surface" postprocessor was added that stores the current surface including mesh deformation. This quantity can be visualized using the new 'depth with mesh deformation' postprocessor. This function is currently only available for 2D box geometries. (Derek Neuharth, 2025/06/13)
New: The multicomponent compressible equation of state and material model now support the use of phase transitions.
(John Naliboff, 2025/06/13)
Added: ASPECT now has a new heating model plugin called 'tidal heating' for diurnal tides. This plugin is useful for modeling long-term interior evolution in moons orbiting a large planet. Distribution of tidal strain rate can be selected between 'constant' and 'latitudinal variation'.
(Hyunseong Kim, 2025/06/13)
Added: ParticleDistributionScore postprocessor which scores how clustered particles are within cells on a scale from 0-1, with 1 being most clustered.
(Jarett Baker-Dunn, 2025/06/13)
New: There is now a new type of boundary condition for the temperature equation: Robin boundary conditions, which allow for prescribing a linear combination of a prescribed temperature (Dirichlet) and a prescribed heat flux (Neumann). In other words, we can now prescribe a heat flux that depends on how much the current temperature differs from a prescribed temperature.
(Juliane Dannberg, 2025/06/12)
Added: A post-processor which outputs the max fluid velocity.
(Daniel Douglas, 2025/06/12)
Fixed: The velocity statistics postprocessor to use the correct quadrature formula when determining the maximum velocity within the model.
(Daniel Douglas, 2025/06/12)
Changed: The file layout of checkpointing files has been changed. Now, files are stored in folders rotating between output/restart/01/, output/restart/02/, and output/restart/03/. To reuse checkpoint files written earlier, you will need to: 1. create output/restart/01/,
Changed: The MaterialModel::MaterialModelInputs and MaterialModel::MaterialModelOutputs classes had member functions get_additional_input()
and get_additional_output()
functions that simply returned C-style pointers. The use of such pointers leaves it entirely unclear who now owns the object pointed to. As a consequence, these functions have now been deprecated and replaced by functions get_additional_input_object()
and get_additional_output_object()
that return their results in the form of std::shared_ptr
values that make clear that the calling place receiving the pointer now shares ownership of the input or output object with the place that the object is requested from.
The old functions have been retained for backward compatibility purposes, but they are now deprecated.
(Wolfgang Bangerth, 2025/06/11)
Added: The ability to define the maximum yield stress as a compositionally dependent variable.
(Daniel Douglas, 2025/06/10)
Fixed: The random number generator used to create and delete particles was being redeclared for every cell, causing particle indexes to be deleted in the same order in every cell. Declaring the random number generator as a member variable of the particle manager fixed this problem.
(Jarett Baker-Dunn, Rene Gassmoeller, 2025/06/10)
Fixed: The evaluation of the minimum/maximum value in melt_statistics and in pressure_statistics was inaccurately being done at the Gauss quadrature points. Use a Gauss-Lobatto quadrature instead to improve the accuracy when these values lie at the boundaries of a cell (e.g. the surface).
(Daniel Douglas, 2025/06/12)
Changed: Added support for specifying initial topography in spherical coordinates in the 'function' initial topography plugin. This enables users to prescribe initial surface perturbations naturally on spherical geometries. The new feature extends the plugin's flexibility for global-scale mantle convection models.
(Ninghui Tian, Rene Gassmoeller, 2025/06/09)
Changed: Added support for prescribing either pressure-only or full traction vector boundary conditions in AsciiDataBoundary. Introduced the input parameter "Prescribe pressure instead of
full traction" (default: true) to maintain backward compatibility. Traction components can now also be specified in spherical coordinates. This improves flexibility for boundary traction specifications.
(Ninghui Tian, Rene Gassmoeller, 2025/05/01)
Fixed: The grain size material model would locally compute a wrong grain size growth term if the grain size was reset by a phase transition, and was reduced below the minimum grain size (by the phase reset or otherwise) in the same time step. This is fixed now.
(Rene Gassmoeller, 2025/04/17)
Fixed: The entropy material model did under some conditions not fill the additional material model outputs correctly. This would not affect the model results, but could lead to floating point exceptions in the postprocessor 'named additional outputs'. This is fixed now.
(Rene Gassmoeller, 2025/03/04)
Fixed: The grain size material model expected the wrong number of entries for some input parameters if multiple compositional fields were active. This is fixed now. Also when new particles were generated in a boundary cell with Dirichlet boundary conditions for the compositional fields, the grain size particle property would be interpolated incorrectly. This is fixed as well.
(Rene Gassmoeller, Menno Fraters, 2025/03/27)
Fixed: The 'surface stress' postprocessor used the wrong sign for stresses, leading to incorrect stress directions in models with elastic deformation. Additionally, the 'stress second invariant' postprocessor had incorrect magnitude values due to a sign convention issue.
(Ninghui Tian, Rene Gassmoeller, 2025/03/21)
New: There is now a new particle property called 'composition reaction' that tracks the initial composition but also allows for reactions between the different compositions (or reactions just including one composition) at specific points in time given in the input file.
(Juliane Dannberg, 2025/03/14)
Fixed: The statistics file contained an invalid number of iterations for variables that were not solved (e.g. because compositions were prescribed, or Stokes was only solved using cheap or only expensive iterations). This is confusing, because it looks like an error and for the Stokes solver it caused an incorrect iteration number to be reported. It is more accurate to report 0 iterations if none were made, which is what the postprocessor does now.
(Rene Gassmoeller, 2025/03/04)
Fixed: Adds current cell to material model inputs in the cpo particle property to fix the Olivine: Karato 2008 mineral type. Also added a test to test this feature.
(Menno Fraters and Daniel Douglas, 2025/02/25)
Fixed: If the nonlinear solver fails in a timestep with mesh refinement and "cut timestep size" is selected as the Nonlinear solver failure strategy, ASPECT now correctly repeats the timestep first before refining the mesh. Before, ASPECT would execute refinement/coarsening of the mesh first, which could lead to changes of the mesh in each failure cycle.
(Juliane Dannberg, 2025/02/14)
Added: A cookbook which demonstrates how to use the extract_local_velocity.py script to take the output of a global convection model and apply the velocity as boundary conditions within a 3D regional spherical chunk.
(Daniel Douglas, 2025/02/11)
Fixed: The boundary temperature plugin 'dynamic core' used to crash when the inner core was completely molten or completely solid. This is fixed now.
(Francesco Radica, Rene Gassmoeller, 2025/02/06)
Changed: Separated out the tian2019 solubility reaction model into it's own module independent of the reactive fluid transport material model.
(Daniel Douglas, 2025/02/06)
Changed: ASPECT's boundary traction and boundary velocity manager classes are now also derived from the common classes Plugins::ManagerBase. In order to standardize the interface, the functions get_active_boundary_traction_conditions() and get_active_boundary_traction_names() (and their velocity counterparts) have been deprecated. They have been replaced by the new functions get_active_plugins(), get_active_plugin_boundary_indicators(), get_prescribed_boundary_traction_indicators(), and get_component_mask().
(Rene Gassmoeller, 2025/02/02)
Fixed: Constant modes are now used in the melt solver.
(Quang Hoang, Timo Heister, 2025/01/31)
Changed: ASPECT now re-generates particles in each initial adaptive refinement cycle instead of only once after global refinement. This means that particle locations during initial adaptive refinement are chosen according to the generator instead of randomly.
(Juliane Dannberg, 2025/01/29)
New: ASPECT now has an interface for plugins that describe thermal conductivity. This is useful to share functionality to compute thermal conductivity across material models. Material models can, but do not have to make use of these plugins.
(Rene Gassmoeller, 2025/01/27)
Changed: Prescribed compositional fields are now copied from the material model output in one combined operation (instead of being copied field by field). This change improves the efficiency of the copy process.
(Rene Gassmoeller, 2025/02/28)
Changed: The entropy reader throws when the range of the provided look-up table does not fully cover the entropy-pressure range in the model.
(Ranpeng Li, 2025/01/10)
Added: ASPECT can now use the 'include' keyword in parameter files to include other parameter files, even if those other parameter files include parameter files themselves. ASPECT now also respects the parameters 'Dimension' and 'Additional shared libraries' in the included parameter files, which was not the case before.
(Rene Gassmoeller, 2024/12/04)
Changed: Renamed the variable 'PhaseFunctionInputs::phase_index' to PhaseFunctionInputs::phase_transition_index'. The new variable name is more precise since it is used to index phase transitions rather than phases. Material models that make use of the old name will have to be adjusted.
(Haoyuan Li, 2024/12/01)
Added: there is now a new class of phase function that handles discrete phase transitions by looking up the most dominant phases in a lookup table. This function can be used to make the rheology of the visco-plastic material model dependent on the dominant mineral phase.
(Haoyuan Li, 2024/11/07)
Changed: The function simulator::replace_outflow_boundary_ids to allow outflow boundary conditions to be determined based on the velocity that each compositional field is advected with.
(Daniel Douglas, 2024/10/24)
New: We implement an option to use the Weighted BFBT preconditioner introduced by Rudi et al (2017). This preconditioner was designed for problems involving highly heterogeneous viscosities.
(Quang Hoang, Timo Heister, 2024/06/06)
Fixed: The latent heat material model now correctly reads in the Viscosity prefactors that change the viscosities of individual phases for each compositional field. To make this work in a consistent way, the format of this input parameter is now the same as for other phase transition inputs (it is parsed as a map with keywords rather than a comma-separated list), which is an incompatible change in the input file.
(Juliane Dannberg, 2024/01/24)
Changed: The implementation of visco-elasticity and visco-elasto-plasticity has been updated to properly track stresses over time. This means that iterative advection schemes need to be used, as well as the DG method for compositions. For fields, operator splitting has to be switched on, while in the case of particles, the particle property 'elastic stress' takes care of the stress update.
(Anne Glerum, Robert Myhill, Rene Gassmoeller, Juliane Dannberg, John Naliboff, Gerry Puckett, Esther Heckenbach 2023/12/04)