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