Here we present a new code for modelling electron kinetics in the tokamak Scrape-Off Layer (SOL). SOL-KiT (Scrape-Off Layer Kinetic Transport) is a fully implicit 1D code with kinetic (or fluid) electrons, fluid (or stationary) ions, and diffusive neutrals. The code is designed for fundamental exploration of non-local physics in the SOL and utilizes an arbitrary degree Legendre polynomial decomposition of the electron distribution function, treating both electron–ion and electron–atom collisions. We present a novel method for ensuring particle and energy conservation in inelastic and superelastic collisions, as well as the first full treatment of the logical boundary condition in the Legendre polynomial formalism. To our knowledge, SOL-KiT is the first fully implicit arbitrary degree harmonic kinetic code, offering a conservative and self-consistent approach to fluid–kinetic comparison with its integrated fluid electron mode. In this paper we give the model equations and their discretizations, as well as showing the results of a number of verification/benchmarking simulations. Program summaryProgram Title: SOL-KiTCPC Library link to program files:http://dx.doi.org/10.17632/7p44sdfnnp.1Licencing provisions: GNU GPLv3Programming language: Fortran 90Nature of problem:Fluid models of parallel transport in the Scrape-Off Layer (SOL) fail to account for the fact that the electron distribution function is often far from a Maxwellian, and kinetic effects have been linked to discrepancies between experiment and fluid modelling[1]. A kinetic treatment of electrons in the SOL requires detailed accounting of collisional processes, especially those with neutral particles, as well as a proper implementation of the logical boundary condition at the material surface[2]. Furthermore, the ability to identify differences between fluid and kinetic modelling using self-consistent comparison is desirable.Solution method: Electrons are modelled either as a fluid, or kinetically, maintaining self-consistency between models. All equations are solved using finite difference and the implicit Euler method, with fixed-point iteration. The kinetic approach is based on solving the Vlasov–Fokker–Planck–Boltzmann equation, decomposed in Legendre polynomials. Equations for the harmonics (or electron fluid equations) are solved alongside fluid equations for the ions, Ampère–Maxwell’s law for the electric field, as well as a diffusive–reactive Collisional-Radiative model for the evolution of hydrogenic atomic states. Each individual operator is built into a matrix, combined with all other operators, and the matrix equation arising from the Euler method is solved using the PETSc library, with MPI parallelization.Additional comments:This article presents the physical and numerical outline of the code, and is accompanied by html documentation, a small test suite based on benchmarking runs presented below, as well as instructions and means for compiling and executing SOL-KiT. Special focus in the article is given to the novel numerical and model aspects in the greater context of the developed software.
Read full abstract