Balancing Flexibility and Usability in the Gkeyll Simulation Framework
ORAL
Abstract
It is the goal of many software projects to leverage common functionality and thus build flexible tools that can be deployed for a wide range of problems. But flexibility can come at the cost of usability. As a software framework is designed to handle more general cases, actually using the software to solve a particular problem of interest can become more challenging. In this talk, we will present how the Gkeyll simulation framework solves these issues by not only providing an abstract layer on which to build solvers for desired equation systems, such as two-fluid, gyrokinetics, and Vlasov-Maxwell, but also abstracting out the requirement of the user to specify the complete simulation pipeline by packaging desired functionality into Gkeyll’s App system. As part of this presentation, we will show the evolution of a Gkeyll input file from the burdensome general input files employed previously that required users to “do everything themselves,” to the more compact and user-friendly app-driven input files. In doing so, we both demonstrate the ease with which a user can construct simulations with the open-source Gkeyll simulation framework and provide a template for other flexible code frameworks for improving maintainability and usability of their codes.
–