T33E-2984
Recent Developments in the Community Code ASPECT
Abstract:
The Computational Geosciences have long used community codes to provide simulation capabilities to large numbers of users. We here report on the mantle convection code ASPECT (the Advanced Solver for Problems in Earth ConvecTion) that is developed to be a community tool with a focus on bringing modern numerical methods such as adaptive meshes, large parallel computations, algebraic multigrid solvers, and modern software design.We will comment in particular on two aspects: First, the more recent additions to its numerical capabilities, such as compressible models, averaging of material parameters, melt transport, free surfaces, and plasticity. We will demonstrate these capabilities using examples from computations by members of the ASPECT user community. Second, we will discuss lessons learned in writing a code specifically for community use. This includes our experience with a software design that is fundamentally based on a plugin system for practically all areas that a user may want to describe for the particular geophysical setup they want to simulate. It also includes our experience with leading and organizing a community of users and developers, for example by organizing annual “hackathons”, by encouraging code submission via github over keeping modifications private, and by designing a code for which extensions can easily be written as separate plugins rather than requiring knowledge of the computational core.