GS2 is a physics application, developed to study low-frequency turbulence in magnetized plasma. It is typically used to assess the microstability of plasmas produced in the laboratory and to calculate key properties of the turbulence which results from instabilities. It is also used to simulate turbulence in plasmas which occur in nature, such as in astrophysical and magnetospheric systems.
Getting started: read the user manual.
This documentation is currently a work in progress -- if you find any errors please raise an issue
Linear microstability growth rates are calculated on a wavenumber-by-wavenumber basis with an implicit initial-value algorithm in the ballooning (or "flux-tube") limit. Linear and quasilinear properties of the fastest growing (or least damped) eigenmode at a given wavenumber may be calculated independently (and therefore reasonably quickly).
Nonlinear simulations of fully developed turbulence can be performed by users with access to a parallel computer. All plasma species are treated on an equal, gyrokinetic footing. Nonlinear simulations provide fluctuation spectra, anomalous (turbulent) heating rates, and species-by-species anomalous transport coefficients for particles, momentum and energy.
GS2 is a parallel code which scales well to large numbers of processors. There are separate optimizations to work with for small (Beowulf-style) clusters and large supercomputers.
Linear and nonlinear calculations may be carried out using a wide range of assumptions, including:
Turbulent structures in gyrokinetics are highly elongated along the magnetic field. GS2 uses field-line following (Clebsch) coordinates to resolve such structures with maximal efficiency, in a flux tube of modest extent. Pseudo-spectral algorithms are used in the spatial directions perpendicular to the field, and for the two velocity space coordinate grids (energy and pitch angle) for high accuracy on computable 5-D grids.
The project is hosted on BitBucket. To download the source run:
git clone --recurse-submodules https://bitbucket.org/gyrokinetics/gs2.git
or download the latest stable version from here.
GS2 has no required external dependencies, but does have the following optional ones:
GS2 has been built on a variety of existing systems. To build on one
of the existing supported systems, set GK_SYSTEM
. For example, to
build GS2 on the UK national supercomputer, Archer2, run:
make GK_SYSTEM=archer2
For further details on building GS2, including how to build it on a new system, see the documentation in the user manual
If you use GS2 please remember to cite the following publications and the source code. For more details see CITATION.cff provided with GS2, or see https://doi.org/10.5281/zenodo.2551066
This website has documentation built automatically using Ford. See below for details on individual source files, modules, procedures, and data types:
Collection of developers from around the world. GS2 has been developed by dozens of developers over the years. For a complete list, please see https://doi.org/10.5281/zenodo.2551066