XGC Advanced Preprocessor Macros

Here is a list of advanced preprocessor macros in XGC.

CCE_DEBUG
Debug flag for core edge coupling
Default: OFF
CCE_FCOUPLING
Flag for coupling of distribution function in buffer
Default: OFF
COL_CONSERV_TEST
Runs collision operator test (conservation of Maxwellian distribution function)
Default: OFF
COL_F_NAN_CHECK
Activates checks for NaNs in the input distribution function of the collision operator
Default: OFF
COL_NO_EDGE_CONSERV
???
Default: OFF
COL_RELAX_FLOW
Runs collision operator test (Parallel flow relaxation)
Default: OFF
COL_RELAX_TEST
Runs collision operator test (Relaxation of anisotropic temperature Maxwellian)
Default: OFF
DELTAF_CONV_SEPARATE_N0
Use this flag for separate n0 poisson solver like total-f
Default: OFF
DIFFUSION_TEST
???
Default: OFF
ESC_PTL
Add flag variable to each particle and generate escaped particle data
Default: OFF
EXPLICIT_EM
Build the explicit fully-kinetic electromagnetic version of XGC
Default: OFF
EXPLICIT_EM_NONLIN_TERMS
Turn on Ah^2 nonlinear term in Hamiltonian for EM. EXPLICIT_EM should be on.
Default: ON
GAM_TEST
In load.F90 - load particles to test GAMs?
Default: OFF
GB2024
particle stream for diffusion - Gordon Bell 2024
Default: OFF
HEAT_TORQUE_POLYNOMIAL
Compute delta-f from heating/torque with polynomial scaling of f instead of shifting phase space density with linear interpolation
Default: OFF
MULTI_RATE
Use this flag for ion multi rate time stepping in core region particle push
Default: OFF
NEOCLASSICAL_TEST
Activates some of the optimizations for axisymmetric plasma used in XGCa. For verification of neoclassical physics in XGC1.
Default: OFF
NO_FLUSH
In the past, there have been compilers that did not support the flush command in fortran. However, flush is very important on some systems, e.g. Summit, to be able to monitor job progress by examining standard out. This was a compromise to support both types of systems.
Default: OFF
NO_PETSC
Bypasses PETSc related code for the stand-alone push kernel
Default: OFF
POISSON_OUTPUT_LHS_RHS
Output LHS and RHS of Poisson equation
Default: OFF
POISSON_RESIDUAL
Force 10 adiabatic iterations and 10k full iterations for the computation of the residual of the Poisson equation
Default: OFF
POL_MODE
In load.F90 - subset of GAM_TEST
Default: OFF
PTB_3DB_RZ_GRID
Use (R,Z) grid for interpolation of the perturbed magnetic field instead of linear interpolation on the triangular mesh)
Default: OFF
PTL_G2
Add second marker density particle data - only for special purpose
Default: OFF
PURE_RK2
Do pure RK2 timestep
Default: OFF
PURE_RK4
Do pure RK4 timestep rather than hybrid. Needed for GENE coupling
Default: OFF
RESAMP_DEBUG
Enable debugging and solver precision checks in the resampling module
Default: OFF
RESAMP_LOAD_TWO
Uses direct loading onto Voronoi volume of upsampled particles rather than RZ patch loading
Default: ON
RESAMP_SCALE_W0
Scale w0 instead of f0 to conserve the total phase space volume in a bin
Default: OFF
RESAMP_STATS
Compute extra, node-level statistics comparing pre and post resampling quantities
Default: OFF
SIMD_SIZE
Cabana version: Specify length of vectorizable loop. Should be 1 for GPU case, 32(?) for KNL, etc
Default: “”
SOLVER_TEST
Run test of Poisson solver, then exit
Default: OFF
SONIC_GK
Incomplete implementation of sonic-flow gyrokinetic equations.
Default: OFF
VALIDATION
Re-initialize seed for randomization in XGCa setup
Default: OFF
VEC_LEN
Cabana hard-coded value. In the AoSoA, VEC_LEN is the number of particles per structure
Default: “”
WRITE_DPOT_N0_ES
Write dpot_n0 and dpot_es to xgc.3d.xxxxx.bp
Default: OFF
XGC1
Compile XGC1
Default: OFF
XGCA
Compile XGCa
Default: OFF
XGC_FLAT_B
Use axis B field in poisson solver. Poisson eq has 1/B^2 factor in front of grad operator.
Default: OFF
XGC_F_COUPLING
???
Default: OFF
XGC_XGC_COUPLING
compile with core-edge coupling communicaitons
Default: OFF