Installation: Option List - hyschive/gamer-fork GitHub Wiki

All available options in configure.py, including compile-time simulation options and options specific to configure.py, are listed below.

Compile-time simulation options are classified into the following categories:

Caution

Some combinations are mandatory (e.g., RSOLVER must be set when --flu_scheme=CTU), while some combinations are prohibited (e.g., --particle is not supported when both --gravity and --tracer are disabled). See the "Restriction" of each option carefully.

configure.py Only

Option Value Description
-h - Show a short help message.
-lh - Show a detailed help message.
--machine Filename string Select the *.config file from the configs directory.

                

Physical Modules

                              
Option
                              
          
Value
          
          
Default
          
                                                  
Description
                                                  
                                                  
Restriction
                                                  
Corresponding symbolic constant
--model HYDRO, ELBDM HYDRO Physical models, where ELBDM represents Extremely Light Bosonic Dark Matter, also known as wave dark matter (ψDM) or fuzzy dark matter (FDM) Must be set in any cases MODEL
--gravity true, false false Enable gravity Must enable --fftw; may need to set FFTW2/3_PATH in configuration file GRAVITY
--particle true, false false Enable particles Must enable --gravity or --tracer PARTICLE
--grackle true, false false Enable GRACKLE May need to set GRACKLE_PATH in configuration file; only support --eos=GAMMA/COSMIC_RAY; does not support --comoving SUPPORT_GRACKLE
--passive ≥ 0 0 Number of user-defined passive scalars See here for details; not supported for --flu_scheme=RTVD NCOMP_PASSIVE_USER

Hydro Options

-- see Hydro for the related runtime parameters and other settings; must enable --model=HYDRO

                              
Option
                              
          
Value
          
          
Default
          
                                                  
Description
                                                  
                                                  
Restriction
                                                  
Corresponding symbolic constant
--flu_scheme RTVD, MHM, MHM_RP, CTU CTU Hydro schemes. RTVD: relaxing TVD; MHM: MUSCL-Hancock; MHM_RP: VL scheme; CTU: corner transport upwind --mhd only supports MHM, MHM_RP, and CTU; --srhd only supports MHM and MHM_RP; --cosmic_ray only supports MHM_RP FLU_SCHEME
--slope PLM, PPM PPM Spatial reconstruction. PLM: piecewise linear; PPM: piecewise parabolic Useless for --flu_scheme=RTVD LR_SCHEME
--flux EXACT, ROE, HLLE, HLLC, HLLD Depend Riemann solvers Useless for --flu_scheme=RTVD; EXACT is experimental; pure hydrodynamics supports EXACT/ROE/HLLE/HLLC; --mhd supports ROE/HLLE/HLLD; --srhd and --cosmic_ray support HLLE/HLLC RSOLVER
--dual OFF, DE_ENPY, DE_EINT OFF Enable dual energy formalism Not supported for --flu_scheme=RTVD. DE_EINT is not supported yet. DUAL_ENERGY
--mhd true, false false Magnetohydrodynamics - MHD
--srhd true, false false Special relativistic hydrodynamics Must adopt --eos=TAUBMATHEWS SRHD
--cosmic_ray true, false false Cosmic rays Must adopt --eos=COSMIC_RAY COSMIC_RAY
--eos GAMMA, ISOTHERMAL, COSMIC_RAY, TAUBMATHEWS, USER Depend Equation of state The following options only support GAMMA: --flu_scheme=RTVD/CTU, --flux=EXACT/ROE, --comoving, --dual; see also --barotropic EOS
--barotropic true, false Depend Is --eos barotropic? Must be disabled for --eos=GAMMA/COSMIC_RAY/TAUBMATHEWS and enabled for --eos=ISOTHERMAL BAROTROPIC_EOS

ELBDM Options

-- see ELBDM for the related runtime parameters and other settings; must enable --model=ELBDM

                              
Option
                              
          
Value
          
          
Default
          
                                                  
Description
                                                  
                                                  
Restriction
                                                  
Corresponding symbolic constant
--elbdm_scheme ELBDM_WAVE, ELBDM_HYBRID ELBDM_WAVE ELBDM schemes. ELBDM_WAVE: wave-only; ELBDM_HYBRID: fluid-wave hybrid scheme - ELBDM_SCHEME
--wave_scheme WAVE_FD, WAVE_GRAMFE WAVE_FD Wave schemes. WAVE_FD: finite difference; WAVE_GRAMFE: local pseudospectral method based on Fourier continuations with Gram polynomials (hereafter also referred to as the Gram-Fourier extension method; GramFE) Must set --model=ELBDM WAVE_SCHEME
--conserve_mass true, false true Enforce mass conservation - CONSERVE_MASS
--laplacian_four true, false Depend Adopt the fourth-order Laplacian for --wave_scheme=WAVE_FD Must set --wave_scheme=WAVE_FD LAPLACIAN_4TH
--gramfe_scheme GRAMFE_MATMUL, GRAMFE_FFT GRAMFE_MATMUL GramFE schemes. GRAMFE_MATMUL: matrix-multiplication approach, which is faster for --patch_size=8; GRAMFE_FFT: FFT approach, which is faster for larger patch sizes Must adopt --wave_scheme=WAVE_GRAMFE. Must set --fftw when using both --gramfe_scheme=GRAMFE_FFT and --gpu=false GRAMFE_SCHEME
--hybrid_scheme HYBRID_UPWIND, HYBRID_FROMM, HYBRID_MUSCL HYBRID_MUSCL Fluid schemes supported by the fluid-wave hybrid algorithm. HYBRID_UPWIND: first-order, diffusive; HYBRID_FORMM: second-order, no limiter, unstable for fluid-only simulations; HYBRID_MUSCL: second-order, with limiter, useful for zoom-in and fluid-only simulations Must adopt --elbdm_scheme=ELBDM_HYBRID HYBRID_SCHEME
--self_interaction true, false false Include the quartic self-interaction potential Must enable --gravity. Does not support --comoving QUARTIC_SELF_INTERACTION

Gravity Options

-- see Gravity for the related runtime parameters and other settings; must enable --gravity=true

                              
Option
                              
          
Value
          
          
Default
          
                                                  
Description
                                                  
                                                  
Restriction
                                                  
Corresponding symbolic constant
--pot_scheme SOR, MG SOR Poisson solver. SOR: successive-overrelaxation (recommended); MG: multigrid Must be set when --gravity is enabled POT_SCHEME
--store_pot_ghost true, false true Store the ghost-zone potential (recommended when --particle is enabled) Must be enabled when both --star_formation and --store_par_acc are adopted STORE_POT_GHOST
--unsplit_gravity true, false Depend Use operator-unsplit method to couple gravity to the adopted physical model (recommended) Not supported for --model=ELBDM UNSPLIT_GRAVITY
--comoving true, false false Cosmological simulation - COMOVING

Particle Options

-- see Particles for the related runtime parameters and other settings; must enable --particle=true

                              
Option
                              
          
Value
          
          
Default
          
                                                  
Description
                                                  
                                                  
Restriction
                                                  
Corresponding symbolic constant
--tracer true, false false Enable tracer particles - TRACER
--store_par_acc true, false true Store particle acceleration (recommended) - STORE_PAR_ACC
--star_formation true, false false Enable star formation Must enable --store_pot_ghost when using --store_par_acc STAR_FORMATION
--feedback true, false false Enable feedback from particles to grids (and vice versa) See here for details FEEDBACK
--par_attribute ≥ 0 0 Number of user-defined particle attributes See here for details PAR_NATT_USER
--double_par true, false Depend Enable double-precision floating-point accuracy for particles. It will be set to --double by default. - FLOAT8_PAR

Microphysics Options

                              
Option
                              
          
Value
          
          
Default
          
                                                  
Description
                                                  
                                                  
Restriction
                                                  
Corresponding symbolic constant
--cr_diffusion true, false false Cosmic-ray diffusion Must enable both --cosmic_ray and --mhd CR_DIFFUSION

In Situ Python Analysis Options

-- see In Situ Python Analysis for the related runtime parameters and other settings; must enable --libyt=true

                              
Option
                              
          
Value
          
          
Default
          
                                                  
Description
                                                  
                                                  
Restriction
                                                  
Corresponding symbolic constant
--libyt true, false false Enable libyt for in situ Python analysis May need to set LIBYT_PATH in configuration file SUPPORT_LIBYT
--libyt_patchgroup true, false true Use patch groups instead of patches as the grid unit for better performance (recommended) - LIBYT_USE_PATCH_GROUP
--libyt_interactive true, false false Activate interactive Python prompt in in situ analysis Must compile libyt with INTERACTIVE_MODE LIBYT_INTERACTIVE
--libyt_reload true, false false Enable the interactive mode of libyt. This activates Python prompt and does not shut down a simulation when there are errors in an inline Python script. Must compile libyt with INTERACTIVE_MODE LIBYT_RELOAD
--libyt_jupyter true, false false Allow for in situ analysis using Jupyter Notebook / JupyterLab through libyt. Must compile libyt with JUPYTER_KERNEL. LIBYT_JUPYTER

Parallelization Options

                              
Option
                              
          
Value
          
          
Default
          
                                                  
Description
                                                  
                                                  
Restriction
                                                  
Corresponding symbolic constant
--openmp true, false true Enable OpenMP (see MPI and OpenMP) Must set the compilation flag OPENMPFLAG in configuration file OPENMP
--mpi true, false false true: Enable load balancing using a space-filling curve (see MPI and OpenMP); false: Run GAMER in a serial mode, but OpenMP is still supported May need to set MPI_PATH in configuration file LOAD_BALANCE=HILBERT, SERIAL
--overlap_mpi true, false false Overlap MPI communication with computation. Not supported yet!!! Must enable --mpi. OVERLAP_MPI
--gpu true, false false Enable GPU acceleration Must specify GPU_COMPUTE_CAPABILITY and may need to set CUDA_PATH in configuration file GPU

Miscellaneous Options

-- AMR, optimizations, ...

                              
Option
                              
          
Value
          
          
Default
          
                                                  
Description
                                                  
                                                  
Restriction
                                                  
Corresponding symbolic constant
--nlevel ≥ 1 10 Maximum number of AMR levels including the root level. Do not confuse with the MAX_LEVEL runtime parameter. - NLEVEL
--max_patch ≥ 8 1000000 Maximum number of patches that can be allocated on each AMR level (recommended value: 1000000 or even larger since it is not memory-consuming) - MAX_PATCH
--patch_size ≥ 8 8 Number of cells along each direction in a single patch Must be an even number PATCH_SIZE
--debug true, false false Run GAMER in a debug mode - GAMER_DEBUG
--bitwise_reproducibility true, false Depend Enable bitwise reproducibility. It may deteriorate performance, especially for runs with a large number of particles. - BITWISE_REPRODUCIBILITY
--timing true, false true Record the wall time of various GAMER routines in the file Record__Timing (recommended) - TIMING
--timing_solver true, false false Record the wall time of individual GPU solvers in the file Record__Timing. It will disable the CPU/GPU overlapping and thus deteriorate performance notably. Must enable --timing TIMING_SOLVER
--double true, false false Enable double-precision floating-point accuracy for grid fields. Note that it could have a serious impact on GPU performance. - FLOAT8
--laohu true, false false Work on the NAOC Laohu GPU cluster. - LAOHU
--hdf5 true, false false Enable HDF5 output (see Outputs) May need to set HDF5_PATH in configuration file SUPPORT_HDF5
--gsl true, false false Enable GNU scientific library May need to set GSL_PATH in configuration file SUPPORT_GSL
--fftw OFF, FFTW2, FFTW3 OFF Enable FFTW May need to set FFTW2/3_PATH in configuration file SUPPORT_FFTW
--spectral_interpolation true, false false Enable spectral interpolation Must enable --gsl and set --fftw SUPPORT_SPECTRAL_INT
--rng RNG_GNU_EXT, RNG_CPP11 RNG_GNU_EXT Random number generators. RNG_GNU_EXT: GNU extension drand48_r; RNG_CPP11: c++11 <random> Use RNG_GNU_EXT for compilers supporting GNU extensions (they may not be supported on macOS); use RNG_CPP11 for compilers supporting c++11 (one may need to add -std=c++11 to CXXFLAG → see compilation flags) RANDOM_NUMBER

Caution

On macOS, we recommend using the GNU compiler and set --rng=RNG_CPP11.


Links

⚠️ **GitHub.com Fallback** ⚠️