XGC0 is a full-f, five-dimensional (three in physical space and two in the velocity space) Hamiltonian guiding center code for plasma ions in a realistic tokamak flux surface and limiter geometry.
A well-known Hamiltonian guiding center equation of motion by Littlejohn, Boozer, White and others  has been used
Collisions between multiple species (ions, impurities, electrons) are evaluated using a linear Monte-Carlo operator  for test-particle and the operator by Hirshman and Sigmar  for the field-particle part of the collision operator. A fully non-linear Fokker-Planck-Landau collision operator is also available .
XGC uses a cylindrical coordinate system to easily include the X-point and separatrix in the simulation domain. In most of the previous conventional guiding center codes, a flux coordinate system was used for a faster tracing of the guiding center motion. However, such a description contains the plasma safety factor q, which diverges on the separatrix surface. Hence, those codes were not able to include the separatrix region in the simulation domain.
As full-f code, XGC0 can include sources and sinks to account for, e.g., heat and torque input. Neutral particle effects can be studied using a simple Monte-Carlo transport code and for more comprehensive investigations by coupling to DEGAS2 . XGC0 is also capable of simulating self-consistent magnetic perturbations using M3D  as Ampère's law solver
The code is designed to utilize a massively parallel processing system. Particles in each processor run indepen- dently from each other. Hence, the code performance is inherently linear (roughly) with respect to the number of processors. At a given time interval, the kinetic information from all the processors is gathered by a single central processor for the velocity-average evaluation of the macroscopic quantities.