To further the development of the mantle convection code ASPECT and to grow and foster its user community, 21 users and developers of ASPECT worked side-by-side over a 10 day period in Blue Ridge, Georgia.
The ASPECT community made significant progress in various areas of development of the code. The additions include the implementation of a new and more accurate method to compute dynamic topography (the Consistent Boundary Flux method), an interface to the mineral physics toolkit BurnMan, and improvements of models with melt migration, such as better solvers and the option to use particles to track melt. Moreover, participants made substantial progress integrating a Newton solver into ASPECT, crucially improving the performance of nonlinear problems, in particular those with a visco-plastic rheology. To facilitate modeling of more realistic lithosphere-scale problems, users and developers also started working on material models and solver schemes allowing for a visco-elastic rheology. Through the efforts of many different participants, ASPECT now also supports more options and easier and more flexible ways to assign model initial conditions, including an initial topography and distribution of finite strain.
Furthermore, a large number of tutorial programs, documentation, tests and benchmark cases were added during the hackathon, including comparisons between different advection algorithms and tracer particles.
During the course of the hackathon, every participant contributed source code to the project. Together, users and developers added a total of almost 6000 lines of code, arising from 187 individual contributions, and including 40 new tests. These numbers are a significant increase over the previous hackathon.
|Before||After||Increase at hack|
|Number of source files||449||466||+17|
|Lines of code in ASPECT||97,055||102,826||+5,771|
|Number of merged pull requests||1023||1210||+187|
|Commits on github||4,545||4,893||+338|
|Number of tests||436||476||+40|
contributed by Julianne Dannberg
Image courtesy of Ian Rose