# The Gkeyll 2.0 Code: Documentation Home¶

This is the documentation home for Version 2.0 of the Gkeyll code. The name is pronounced as in the book “The Strange Case of Dr. Jekyll and Mr. Hyde”. Gkeyll is written in a combination of LuaJIT and C++. Most of the top-level code is written in LuaJIT, while time-critical parts are written in C++. Gkeyll is developed at Princeton Plasma Physics Laboratory (PPPL) in collaboration with Princeton University, University of Maryland, Virginia Tech, University of New Hampshire, University of Texas at Austin, and Darthmouth College. For a full list of contributors see Authors list.

Gkeyll 2.0 has been designed from ground up and has significant flexibility and algorithmic innovations compared to the previous version of the code. Gkeyll’s innovative design completely blurs the distinction between user input and the internal software, allowing for a very powerful means of composing complex simulations. All of this is achieved in a very compact code base with minimal external dependencies, yet providing efficient solvers for Gyrokinetics, Vlasov-Maxwell as well as multi-fluid equations.

## Gkeyll Documentation¶

## Gkeyll Publications¶

## Postgkyl Documentation¶

Postgkyl is a Python post-processing tool for Gkeyll 1.0 and Gkeyll data. It allows the user to read data from HDF5 and ADIOS BP files, manipulate the data in many wonderful ways, and then save or plot the results. Postgkyl can be run in two modes: command line mode and Python package mode.

## Dev Notes¶

This is a collection of notes, mainly meant for developers and those wishing to understand some of the internal details of Gkeyll.

- On use of the Maxima CAS
- Modal basis functions
- Strong-Stability preserving Runge-Kutta time-steppers
- Normalized units for the Vlasov-Maxwell system
- From normalized to physical units in Vlasov and multi-fluid simulations
- The eigensystem of the Maxwell equations with extension to perfectly hyperbolic Maxwell equations
- The eigensystem of the Euler equations
- The eigensystem of the ten-moment equations
- Handling two-fluid five-moment and ten-moment source terms
- Collision models in Gkeyll