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.
–
Authors
-
James Juno
University of Maryland, College Park, University of Maryland, Univ Maryland
-
Ammar Hakim
PPPL, Princeton Plasma Physics Laboratory, Princeton Plasma Physics Lab
-
Noah Mandell
Princeton Plasma Physics Laboratory, Princeton University
-
Manaure Francisquez
MIT Plasma Science and Fusion Center, Cambridge, MA 02139 USA, MIT, Massachusetts Institute of Technology
-
Tess Bernard
Oak Ridge Associated Universities, General Atomics
-
Petr Cagas
Virginia Tech
-
Liang Wang
Princeton Plasma Physics Lab
-
Rupak Mukherjee
Princeton Plasma Physics Laboratory, Princeton Plasma Physics Lab
-
Jason TenBarge
Princeton University
-
Gregory Hammett
Princeton Plasma Physics Laboratory, Princeton Plasma Physics Lab