CGYRO
Brief description
CGYRO is a global-spectral gyrokinetic code. Core developers are
Emily Belli, General Atomics
Jeff Candy, General Atomics
Klaus Hallatschek, IPP
Igor Sfiligoi, SDSC
Simulation images
Simulation data courtesy Nathan Howard (MIT)
Source Code
CGYRO source code is available at GitHub.
Past and Future
The past: GYRO
Over the past two decades, the fusion community has focused its modeling efforts primarily on the core region. A popular kinetic code used for this purpose was GYRO [CB10, CW03a, CW03b, CWD04]. Thousands of nonlinear simulations with GYRO have informed the fusion community’s understanding of core plasma turbulence [HHW+16, KWC05, KWC06, KWC07] and provided a transport database for the calibration of reduced transport models such as TGLF [SKW07]. GYRO was the first global electromagnetic solver, and pioneered the development of numerical algorithms for the GK equations with kinetic electrons. It is formulated in real space and like all global solvers requires ad hoc absorbing-layer boundary conditions when simulating cases with profile variation. This approach is suitable for core turbulence simulations, which cover a large radial region and are dominated by low wavenumbers.
The future: CGYRO
As the understanding of core transport has become increasingly complete, the cutting edge of research moved radially toward the pedestal region, where plasmas are characterized by larger collisionality and steeper pressure gradients that greatly modify the turbulent phenomena at play. This motivated the development, from scratch, of the CGYRO code [BC17, BC18, CBB16, CSB+19] to complement GYRO. CGYRO is an Eulerian GK solver specifically designed and optimized for collisional, electromagnetic, multiscale simulation. A key algorithmic aspect of CGYRO is the radially spectral formulation used to reduce the complicated integral gyroaveraging kernel into a multiplication in wavenumber space, but retaining the ability to treat profile variation important for edge plasmas [CB18, CBS20]. A new coordinate system that is more suitable for the highly collisional and shaped edge regime was adopted from the NEO code [BC08, BC12], which is the community standard for calculation of collisional transport in toroidal geometry.
Data input
Profile data: input.gacode.
Data output and plotting
Although there is a description of output data, it is suggested that users use the python interface to output data.
Normalization
Quantity |
Unit |
Description |
---|---|---|
length |
\(a\) |
minor radius |
mass |
\(m_\mathrm{D}\) |
deuterium mass = \(3.345\times 10^{24} g\) |
density |
\(n_e\) |
electron density |
temperature |
\(T_e\) |
electron temperature |
velocity |
\(c_s = \sqrt{T_e/m_\mathrm{D}}\) |
deuterium sound speed |
time |
\(a/c_s\) |
minor radius over sound speed |