Installation: Option List - vivi235711/gamer 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:
- Physical Modules
- Hydro
- ELBDM
- Gravity
- Particles
- Microphysics
- In Situ Python Analysis
- Parallelization
- Miscellaneous
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.
| 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. It will overwrite the default machine set in the default setting file. |
| 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
|
-- 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, ENPY, EINT
|
OFF |
Enable dual energy formalism | Not supported for --flu_scheme=RTVD. 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
|
-- see ELBDM for the related runtime parameters and other settings; must enable --model=ELBDM
-- see Gravity for the related runtime parameters and other settings; must enable --gravity=true
-- 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_flt |
≥ 0 | 0 |
Number of user-defined particle floating-point attributes | See here for details |
PAR_NATT_FLT_USER
|
--par_attribute_int |
≥ 0 | 0 |
Number of user-defined particle integer attributes | See here for details |
PAR_NATT_INT_USER
|
--double_par |
true, false
|
Depend | Enable double-precision floating-point accuracy for particles. It will be set to --double by default. |
- |
FLOAT8_PAR
|
--long_par |
true, false
|
true |
Enable long interger data type for particles. | - |
INT8_PAR
|
| 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
|
-- 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
|
| 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
|
-- 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.