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:
- 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. |
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 , 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
|
-- 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 |
≥ 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
|
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
.