The src folder contains all source files for the SeLaLib-library. It is organized in the following subfolders containing the different building blocks for kinetic and gyrokinetic simulations:
add_ons : Advanced features that extend various pieces of the library but there are no modules depending on these features.
data_structures : Definition of data structures and descriptors used throughout the library.
field_solvers : Solvers of the various field equations.
interfaces : Modules that implement interfaces to external libraries.
interpolation : Methods for numerical interpolation.
io : Modules for input-output of the simulations.
linear_solvers : Methods to solve linear systems.
low_level_utilities : Utilities for memory and error handling.
mesh : Modules to define mesh parameters and coordinate transformations.
parallelization : Modules providing routines for parallelization with MPI.
particle_methods : Modules implementing the building blocks for particle methods.
quadrature : Numerical quadrature methods.
semi_Lagrangian : Modules specific to semi-Lagrangian methods.
simulation_tools : Tools to build simulations such as simulation base class and initialization of typical test problems.
splines : Spline modules.
time_solvers : Methods for time stepping.
Simulation examples for various kinetic and gyrokinetic test cases are
found in the folder selalib/simulations
.