GYRO_GACODE

Contacts: Sterling Smith, Arash Ashouvan

Short Description

Runs the GYRO and CGYRO gyrokinetic turbulence simulation

Keywords

Gyrokinetics, eulerian, turbulence, transport, GACODE

Long Description

GYRO/CGYRO are nonlinear tokamak microturbulence package designed to run on nearly all modern computing platforms. Developed at General Atomics, GYRO/CGYRO use a fixed (Eulerian) grid to solve the 5-D gyrokinetic-Maxwell equations.

GYRO/CGYRO can be run as a standalone solver using (a) local parameters, (b) local parameters automatically generated from global equilibrium and profiles, (c) global profiles. GYRO/CGYRO can be run as a hybrid MPI/OpenMP component (with an MPI communicator passed to it) with inputs shared via a well-documented interface. The same interface syntax is also used by NEO and TGLF, and TGYRO communicate with GYRO/NEO/TGLF via this interface.

Both the MPI implementation, and the more recent OpenMP directives, are highly optimized in GYRO/CGYRO. The OpenMP in particular was reoptimized by IBM and the changes that improved performance at NERSC were retained. Sensible GYRO/CGYRO runs required at most 20K cores, but typically (say for ITER) will probably use about 512-2048 cores. The direct coupling scheme in TGYRO can use about 16*4=64 instances, which brings the TGYRO core count to over 100K cores.

Operation is flexible, with the capability to treat
  • A local (flux-tube) or global radial domain, in a full or partial torus

  • General (shaped) or simple circular plasmas

  • Adiabatic, drift-kinetic or gyrokinetic electrons

  • Electrostatic, transverse and compressional electromagnetic fluctuations

  • Experimental or user-defined physical parameters

Typical workflows

  1. Run benchmark/regression/template cases

    • Use gyro/cgyro to generate a template (linear,nonlinear)

    • Edit simulation paramters

    • Run GYRO/CGYRO

    • View simulation output

    • Compare output from multiple simulations

  2. Run experimental cases

    • Load experimental inputs

    • Load templates defined in OMFIT

    • Edit simulation paramters

    • Run GYRO/CGYRO

    • View output

    • Compare output from multiple simulations

Supported devices

  • Device independent with templates for DIII-D like experimental conditions

Tutorials

Contributors

List of contributors sorted by number of lines authored:

2105 Brian Grierson
 528 Fusion Bot
 117 Sterling Smith
 111 Orso Meneghini
  19 Tom Neiser

Users

List of usernames sorted by number of module imports: grierson, bgriers, ashourvana, aashourv, bgrierson, jianx, mcclenaghanj, wuyifan, meneghini, wgutten, patelb, holland, sciortinof, neisert, orlov, dingsiye, guttenfe, marinoni, saarelma, shisy, ssmith, smithsp, fusionbot, luoyiming, solokhav, tomas, vaezip, fernandezp, hongrongjie, howardnt, jlchen, nelsonand, normandy, renyang, staebler, wanghuiqian, wfguo, abbatej, bpatel2, brookmanmw, chenxi, kimkyungjin, kyungjin, lijx, lyonsbc, saarelmas, smithdr, sungc, tang31, thomek, yuguanying, zhaixm