diff --git a/.github/workflows/update_all_parameter_page.yml b/.github/workflows/update_all_parameter_page.yml new file mode 100644 index 0000000000..845898a848 --- /dev/null +++ b/.github/workflows/update_all_parameter_page.yml @@ -0,0 +1,40 @@ +name: Update all parameters wiki page + +on: + workflow_dispatch: + push: + paths: + - 'example/test_problem/Template/Input__Parameter' + - 'tool/wiki/sync_runtime_parameter.py' + - 'src/Init/Init_Load_Parameter.cpp' + +env: + GIT_AUTHOR_NAME: ${{ github.actor }} + GIT_AUTHOR_EMAIL: ${{ secrets.MY_EMAIL }} + +jobs: + Update-all-parameters-page: + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v4 + with: + token: ${{ secrets.TOKEN_FOR_WIKI }} + - name: run script + run: | + cd tool/wiki + python --version + python sync_runtime_parameter.py + - name: move markdown + run: | + mv tool/wiki/Runtime-Parameters:-All.md doc/wiki/Runtime-Parameters-related + - name: set git config + run: | + git config --global user.email "${{env.GIT_AUTHOR_EMAIL}}" + git config --global user.name "${{env.GIT_AUTHOR_NAME}}" + - name: make a commit and push if the file changed + run: | + git diff --exit-code doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md || \ + ( git add doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md && \ + git commit -m "[Workflow] Update all parameters wiki page" && \ + git push ) diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md index d08fa3e6aa..e71adca2e9 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md @@ -1 +1,421 @@ -TBF \ No newline at end of file +> [!CAUTION] +> Please do not edit this file (page) manually, since the workflow will overwrite your changes. + +This file (page) is automatically generated by the workflow `Update all parameters wiki page` using the script `tool/wiki/sync_runtime_parameter.py`. + +The workflow is triggered when changes are pushed to any of the following files: +- `src/Init/Init_Load_Parameter.cpp` +- `example/input/Input__Paramter` +- `tool/wiki/sync_runtime_parameter.py` + +For variables with `Default/Min/Max` labeled as `Depend`, click the parameter names for more details. + +# Index +[A](#A), [B](#B), [C](#C), [D](#D), [E](#E), [F](#F), [G](#G), [H](#H), [I](#I), [J](#J), [K](#K), [L](#L), [M](#M), [N](#N), [O](#O), [P](#P), [Q](#Q), [R](#R), [S](#S), [T](#T), [U](#U), [V](#V), [W](#W), [X](#X), [Y](#Y), [Z](#Z) + +# A +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| ANGMOM_ORIGIN_X | -1.0 | None | None | x coordinate of the origin for angular momentum (<0=auto -> BoxCenter) [-1.0] | +| ANGMOM_ORIGIN_Y | -1.0 | None | None | y coordinate of the origin for angular momentum (<0=auto -> BoxCenter) [-1.0] | +| ANGMOM_ORIGIN_Z | -1.0 | None | None | z coordinate of the origin for angular momentum (<0=auto -> BoxCenter) [-1.0] | +| [[ AUTO_REDUCE_DT \| Runtime-Parameters:-Timestep#AUTO_REDUCE_DT ]] | 1 | None | None | reduce dt automatically when the program fails (for OPT__DT_LEVEL==3 only) [1] | +| [[ AUTO_REDUCE_DT_FACTOR \| Runtime-Parameters:-Timestep#AUTO_REDUCE_DT_FACTOR ]] | 1.0 | 2.22507386e-308 | 1.0 | reduce dt by a factor of AUTO_REDUCE_DT_FACTOR when the program fails [1.0] | +| [[ AUTO_REDUCE_DT_FACTOR_MIN \| Runtime-Parameters:-Timestep#AUTO_REDUCE_DT_FACTOR_MIN ]] | 0.1 | 0.0 | 1.0 | minimum allowed AUTO_REDUCE_DT_FACTOR after consecutive failures [0.1] | +| [[ AUTO_REDUCE_INT_MONO_FACTOR \| Runtime-Parameters:-Timestep#AUTO_REDUCE_INT_MONO_FACTOR ]] | 0.8 | 2.22507386e-308 | 1.0 | reduce INT_MONO_COEFF(_B) by this factor together with AUTO_REDUCE_DT (1.0=off) [0.8] | +| [[ AUTO_REDUCE_INT_MONO_MIN \| Runtime-Parameters:-Timestep#AUTO_REDUCE_INT_MONO_MIN ]] | 1.0e-2 | 0.0 | None | minimum allowed INT_MONO_COEFF(_B) after consecutive failures [1.0e-2] | +| [[ AUTO_REDUCE_MINMOD_FACTOR \| Runtime-Parameters:-Timestep#AUTO_REDUCE_MINMOD_FACTOR ]] | 0.8 | 2.22507386e-308 | 1.0 | reduce MINMOD_COEFF by this factor together with AUTO_REDUCE_DT (1.0=off) [0.8] ##HYDRO ONLY## | +| [[ AUTO_REDUCE_MINMOD_MIN \| Runtime-Parameters:-Timestep#AUTO_REDUCE_MINMOD_MIN ]] | 1.0e-2 | 0.0 | None | minimum allowed MINMOD_COEFF after consecutive failures [1.0e-2] ##HYDRO ONLY## | +| [[ A_INIT \| Runtime-Parameters:-Cosmology#A_INIT ]] | -1.0 | 2.22507386e-308 | None | initial scale factor | + +# B +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ BOX_SIZE \| Runtime-Parameters:-General#BOX_SIZE ]] | -1.0 | 2.22507386e-308 | None | box size along the longest side (in Mpc/h if COMOVING is adopted) | + +# C +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ CHE_GPU_NPGROUP \| Runtime-Parameters:-GPU#CHE_GPU_NPGROUP ]] | -1 | None | None | number of patch groups sent into the CPU/GPU Grackle solver (<=0=auto) [-1] | +| [[ COM_CEN_X \| Runtime-Parameters:-Miscellaneous#COM_CEN_X ]] | -1.0 | None | None | x coordinate as an initial guess for determining center of mass (if one of COM_CEN_X/Y/Z < 0 -> peak density position x) [-1.0] | +| [[ COM_CEN_Y \| Runtime-Parameters:-Miscellaneous#COM_CEN_Y ]] | -1.0 | None | None | y coordinate as an initial guess for determining center of mass (if one of COM_CEN_X/Y/Z < 0 -> peak density position y) [-1.0] | +| [[ COM_CEN_Z \| Runtime-Parameters:-Miscellaneous#COM_CEN_Z ]] | -1.0 | None | None | z coordinate as an initial guess for determining center of mass (if one of COM_CEN_X/Y/Z < 0 -> peak density position z) [-1.0] | +| [[ COM_MAX_ITER \| Runtime-Parameters:-Miscellaneous#COM_MAX_ITER ]] | 10 | 1 | None | maximum number of iterations for determining the center of mass (must >= 1) [10] | +| [[ COM_MAX_R \| Runtime-Parameters:-Miscellaneous#COM_MAX_R ]] | -1.0 | None | None | maximum radius for determining center of mass (<0=auto -> __FLT_MAX__) [-1.0] | +| [[ COM_MIN_RHO \| Runtime-Parameters:-Miscellaneous#COM_MIN_RHO ]] | 0.0 | 0.0 | None | minimum density for determining center of mass (must >= 0.0) [0.0] | +| [[ COM_TOLERR_R \| Runtime-Parameters:-Miscellaneous#COM_TOLERR_R ]] | -1.0 | None | None | maximum tolerated error of deviation in radius during the iterations of determining the center of mass (<0=auto -> amr->dh[MAX_LEVEL]) [-1.0] | +| [[ CR_DIFF_MIN_B \| Runtime-Parameters:-Hydro#CR_DIFF_MIN_B ]] | 0.0 | None | None | disable diffusion locally when B field amplitude is smaller than this threshold (<=0=off) [0.0] ##CR_DIFFUSION only## | +| [[ CR_DIFF_PARA \| Runtime-Parameters:-Hydro#CR_DIFF_PARA ]] | 0.0 | 0.0 | None | cosmic-ray diffusion coefficients parallel/perpendicular to the | +| [[ CR_DIFF_PERP \| Runtime-Parameters:-Hydro#CR_DIFF_PERP ]] | 0.0 | 0.0 | None | magnetic field [0.0] ##CR_DIFFUSION only## | + +# D +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ DT__CR_DIFFUSION \| Runtime-Parameters:-Timestep#DT__CR_DIFFUSION ]] | 3.0e-1 | 0.0 | None | dt criterion: cosmic-ray diffusion CFL factor [0.3] ##CR_DIFFUSION only## | +| [[ DT__FLUID \| Runtime-Parameters:-Timestep#DT__FLUID ]] | -1.0 | None | None | dt criterion: fluid solver CFL factor (<0=auto) [-1.0] | +| [[ DT__FLUID_INIT \| Runtime-Parameters:-Timestep#DT__FLUID_INIT ]] | -1.0 | None | None | dt criterion: DT__FLUID at the first step (<0=auto) [-1.0] | +| [[ DT__GRAVITY \| Runtime-Parameters:-Timestep#DT__GRAVITY ]] | -1.0 | None | None | dt criterion: gravity solver safety factor (<0=auto) [-1.0] | +| DT__HYBRID_CFL | -1.0 | None | None | dt criterion: hybrid solver CFL factor (<0=auto) (diffusion) [-1.0] ## ELBDM_HYBRID ONLY## | +| DT__HYBRID_CFL_INIT | -1.0 | None | None | dt criterion: DT__HYBRID_CFL in the first step (<0=auto) [-1.0] ## ELBDM_HYBRID ONLY## | +| DT__HYBRID_VELOCITY | -1.0 | None | None | dt criterion: hybrid solver CFL factor (<0=auto) (Hamilton-Jacobi) [-1.0] ## ELBDM_HYBRID ONLY## | +| DT__HYBRID_VELOCITY_INIT | -1.0 | None | None | dt criterion: DT__HYBRID_VELOCITY in the first step (<0=auto) [-1.0] ## ELBDM_HYBRID ONLY## | +| [[ DT__MAX \| Runtime-Parameters:-Timestep#DT__MAX ]] | -1.0 | None | None | dt criterion: maximum allowed dt (<0=off) [-1.0] | +| [[ DT__MAX_DELTA_A \| Runtime-Parameters:-Timestep#DT__MAX_DELTA_A ]] | 0.01 | 0.0 | None | dt criterion: maximum variation of the cosmic scale factor [0.01] | +| [[ DT__PARACC \| Runtime-Parameters:-Timestep#DT__PARACC ]] | 0.5 | 0.0 | None | dt criterion: particle acceleration safety factor (0=off) [0.5] ##STORE_PAR_ACC ONLY## | +| [[ DT__PARVEL \| Runtime-Parameters:-Timestep#DT__PARVEL ]] | 0.5 | 0.0 | None | dt criterion: particle velocity safety factor [0.5] | +| [[ DT__PARVEL_MAX \| Runtime-Parameters:-Timestep#DT__PARVEL_MAX ]] | -1.0 | None | None | dt criterion: maximum allowed dt from particle velocity (<0=off) [-1.0] | +| DT__PHASE | 0.0 | 0.0 | None | dt criterion: phase rotation safety factor (0=off) [0.0] ##ELBDM ONLY## | +| [[ DT__SPEED_OF_LIGHT \| Runtime-Parameters:-Timestep#DT__SPEED_OF_LIGHT ]] | 0 | None | None | dt criterion: speed of light [0] ##SRHD ONLY## | +| [[ DT__SYNC_CHILDREN_LV \| Runtime-Parameters:-Timestep#DT__SYNC_CHILDREN_LV ]] | 0.1 | 0.0 | 1.0 | dt criterion: allow dt to adjust by (1.0-DT__SYNC_CHILDREN) in order to synchronize with the children level (for OPT__DT_LEVEL==3 only; 0=off) [0.1] | +| [[ DT__SYNC_PARENT_LV \| Runtime-Parameters:-Timestep#DT__SYNC_PARENT_LV ]] | 0.1 | 0.0 | None | dt criterion: allow dt to adjust by (1.0+DT__SYNC_PARENT) in order to synchronize with the parent level (for OPT__DT_LEVEL==3 only) [0.1] | +| [[ DUAL_ENERGY_SWITCH \| Runtime-Parameters:-Hydro#DUAL_ENERGY_SWITCH ]] | 2.0e-2 | 0.0 | None | apply dual-energy if E_int/E_kin < DUAL_ENERGY_SWITCH [2.0e-2] ##DUAL_ENERGY ONLY## | + +# E +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| ELBDM_BASE_SPECTRAL | 0 | None | None | adopt the spectral method to evolve base-level wave function (must enable SUPPORT_FFTW) [0] | +| ELBDM_FIRST_WAVE_LEVEL | -1 | 1 | None | level at which to switch to the wave solver (must >=1) [-1] ##ELBDM_HYBRID ONLY## | +| ELBDM_LAMBDA | 1.0 | None | None | quartic self-interaction coefficient [1.0] ##QUARTIC_SELF_INTERACTION ONLY## | +| ELBDM_MASS | -1.0 | 2.22507386e-308 | None | particle mass in ev/c^2 (input unit is fixed even when OPT__UNIT or COMOVING is on) | +| ELBDM_MATCH_PHASE | 1 | None | None | match child phases with father phases during data restriction [1] ##ELBDM_HYBRID ONLY## | +| ELBDM_PLANCK_CONST | -1.0 | None | None | reduced Planck constant (will be overwritten if OPT__UNIT or COMOVING is on) | +| ELBDM_REMOVE_MOTION_CM | ELBDM_REMOVE_MOTION_CM_NONE | 0 | 2 | remove the motion of center-of-mass (must enable OPT__CK_CONSERVATION): (0=off, 1=init, 2=every step) [0] | +| ELBDM_TAYLOR3_AUTO | 0 | None | None | Optimize ELBDM_TAYLOR3_COEFF automatically to minimize the damping at kmax [0] | +| ELBDM_TAYLOR3_COEFF | 1.0/6.0 | None | None | 3rd Taylor expansion coefficient [1.0/6.0] ##USELESS if ELBDM_TAYLOR3_AUTO is on## | +| [[ END_STEP \| Runtime-Parameters:-General#END_STEP ]] | -1L | None | None | end step (<0=auto -> must be set by test problems or restart) [-1] | +| [[ END_T \| Runtime-Parameters:-General#END_T ]] | -1.0 | None | None | end physical time (<0=auto -> must be set by test problems or restart) [-1.0] | +| EXT_POT_TABLE_DH_X | -1.0 | None | None | external potential table: spatial interval between adjacent x data points | +| EXT_POT_TABLE_DH_Y | -1.0 | None | None | external potential table: spatial interval between adjacent y data points | +| EXT_POT_TABLE_DH_Z | -1.0 | None | None | external potential table: spatial interval between adjacent z data points | +| [[ EXT_POT_TABLE_EDGEL_X \| Runtime-Parameters:-Gravity#EXT_POT_TABLE_EDGEL_X ]] | None | None | None | external potential table: starting x coordinates | +| [[ EXT_POT_TABLE_EDGEL_Y \| Runtime-Parameters:-Gravity#EXT_POT_TABLE_EDGEL_Y ]] | None | None | None | external potential table: starting y coordinates | +| [[ EXT_POT_TABLE_EDGEL_Z \| Runtime-Parameters:-Gravity#EXT_POT_TABLE_EDGEL_Z ]] | None | None | None | external potential table: starting z coordinates | +| EXT_POT_TABLE_FLOAT8 | -1 | -1 | -1 | external potential table: double precision (<0=auto -> FLOAT8, 0=off, 1=on) [-1] --> not supported yet; use -1 for now | +| [[ EXT_POT_TABLE_NAME \| Runtime-Parameters:-Gravity#EXT_POT_TABLE_NAME ]] | None | None | None | external potential table: filename | +| [[ EXT_POT_TABLE_NPOINT_X \| Runtime-Parameters:-Gravity#EXT_POT_TABLE_NPOINT_X ]] | -1 | None | None | external potential table: table size (i.e., number of data points) along x | +| [[ EXT_POT_TABLE_NPOINT_Y \| Runtime-Parameters:-Gravity#EXT_POT_TABLE_NPOINT_Y ]] | -1 | None | None | external potential table: table size (i.e., number of data points) along y | +| [[ EXT_POT_TABLE_NPOINT_Z \| Runtime-Parameters:-Gravity#EXT_POT_TABLE_NPOINT_Z ]] | -1 | None | None | external potential table: table size (i.e., number of data points) along z | + +# F +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ FB_LEVEL \| Runtime-Parameters:-Feedback#FB_LEVEL ]] | -1 | None | TOP_LEVEL | AMR level to apply feedback (must be MAX_LEVEL for now; <0=auto -> MAX_LEVEL) [-1] | +| [[ FB_RSEED \| Runtime-Parameters:-Feedback#FB_RSEED ]] | 456 | 0 | None | random seed [456] | +| [[ FB_SNE \| Runtime-Parameters:-Feedback#FB_SNE ]] | 0 | None | None | supernova explosion feedback [0] | +| [[ FB_USER \| Runtime-Parameters:-Feedback#FB_USER ]] | 0 | None | None | user-defined feedback [0] | +| [[ FLAG_BUFFER_SIZE \| Runtime-Parameters:-Refinement#FLAG_BUFFER_SIZE ]] | -1 | None | PS1 | number of buffer cells for the flag operation (0~PATCH_SIZE; <0=auto -> PATCH_SIZE) [-1] | +| [[ FLAG_BUFFER_SIZE_MAXM1_LV \| Runtime-Parameters:-Refinement#FLAG_BUFFER_SIZE_MAXM1_LV ]] | -1 | None | PS1 | FLAG_BUFFER_SIZE at the level MAX_LEVEL-1 (<0=auto -> REGRID_COUNT) [-1] | +| [[ FLAG_BUFFER_SIZE_MAXM2_LV \| Runtime-Parameters:-Refinement#FLAG_BUFFER_SIZE_MAXM2_LV ]] | -1 | None | PS1 | FLAG_BUFFER_SIZE at the level MAX_LEVEL-2 (<0=auto) [-1] | +| [[ FLU_GPU_NPGROUP \| Runtime-Parameters:-GPU#FLU_GPU_NPGROUP ]] | -1 | None | None | number of patch groups sent into the CPU/GPU fluid solver (<=0=auto) [-1] | + +# G +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ GAMMA \| Runtime-Parameters:-Hydro#GAMMA ]] | Depend | Depend | Depend | ratio of specific heats (i.e., adiabatic index) [5.0/3.0] ##EOS_GAMMA ONLY## | +| [[ GAMMA_CR \| Runtime-Parameters:-Hydro#GAMMA_CR ]] | 4.0/3.0 | 1.0 | None | effective adiabatic index of cosmic rays [4.0/3.0] | +| [[ GFUNC_COEFF0 \| Runtime-Parameters:-Gravity#GFUNC_COEFF0 ]] | -1.0 | None | None | Green's function coefficient at the origin for the isolated BC (<0=auto) [-1.0] | +| [[ GPU_NSTREAM \| Runtime-Parameters:-GPU#GPU_NSTREAM ]] | -1 | None | None | number of CUDA streams for the asynchronous memory copy in GPU (<=0=auto) [-1] | +| [[ GRACKLE_ACTIVATE \| Runtime-Parameters:-Chemistry-and-Radiation#GRACKLE_ACTIVATE ]] | 1 | None | None | enable Grackle [1] | +| GRACKLE_CIE_COOLING | 0 | None | None | 0: off; 1:on | +| [[ GRACKLE_CLOUDY_TABLE \| Runtime-Parameters:-Chemistry-and-Radiation#GRACKLE_CLOUDY_TABLE ]] | None | None | None | "grackle_data_file" | +| [[ GRACKLE_CMB_FLOOR \| Runtime-Parameters:-Chemistry-and-Radiation#GRACKLE_CMB_FLOOR ]] | 1 | None | None | map to "cmb_temperature_floor" [1] | +| [[ GRACKLE_COOLING \| Runtime-Parameters:-Chemistry-and-Radiation#GRACKLE_COOLING ]] | 1 | None | None | map to "with_radiative_cooling" [1] | +| GRACKLE_H2_OPA_APPROX | 0 | 0 | 1 | H2 opacity from Ripamonti+04; 0:off, 1:Ripomonti+04 | +| [[ GRACKLE_METAL \| Runtime-Parameters:-Chemistry-and-Radiation#GRACKLE_METAL ]] | 0 | None | None | map to "metal_cooling" (must increase NCOMP_PASSIVE_USER by 1) [0] | +| [[ GRACKLE_PE_HEATING \| Runtime-Parameters:-Chemistry-and-Radiation#GRACKLE_PE_HEATING ]] | 0 | None | None | map to "photoelectric_heating" [0] | +| [[ GRACKLE_PE_HEATING_RATE \| Runtime-Parameters:-Chemistry-and-Radiation#GRACKLE_PE_HEATING_RATE ]] | 8.5e-26 | 0.0 | None | map to "photoelectric_heating_rate (in erg/cm^3/s)" [8.5e-26] | +| [[ GRACKLE_PRIMORDIAL \| Runtime-Parameters:-Chemistry-and-Radiation#GRACKLE_PRIMORDIAL ]] | 0 | 0 | 3 | map to "primordial_chemistry" (0=Cloudy, 1/2/3=6-/9-/12-species) [0] (must increase NCOMP_PASSIVE_USER by 6/9/12, respectively) | +| GRACKLE_THREE_BODY_RATE | 0 | 0 | 5 | used Glover+08 rate | +| [[ GRACKLE_UV \| Runtime-Parameters:-Chemistry-and-Radiation#GRACKLE_UV ]] | 0 | None | None | map to "UVbackground" [0] | +| [[ GRACKLE_VERBOSE \| Runtime-Parameters:-Chemistry-and-Radiation#GRACKLE_VERBOSE ]] | 1 | None | None | map to "grackle_verbose" [1] | + +# H +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ HUBBLE0 \| Runtime-Parameters:-Cosmology#HUBBLE0 ]] | -1.0 | 2.22507386e-308 | 1.0 | dimensionless Hubble parameter (currently only for converting ELBDM_MASS to code units) | + +# I +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ INIT_DUMPID \| Runtime-Parameters:-Outputs#INIT_DUMPID ]] | -1 | None | None | set the first dump ID (<0=auto) [-1] | +| [[ INIT_SUBSAMPLING_NCELL \| Runtime-Parameters:-Initial-Conditions#INIT_SUBSAMPLING_NCELL ]] | 0 | 0 | None | perform sub-sampling during initialization: (0=off, >0=# of sub-sampling cells) [0] | +| [[ INT_MONO_COEFF \| Runtime-Parameters:-Interpolation#INT_MONO_COEFF ]] | 2.0 | 1.0 | 4.0 | coefficient for ensuring the interpolation monotonicity (1.0~4.0) [2.0] | +| [[ INT_MONO_COEFF_B \| Runtime-Parameters:-Interpolation#INT_MONO_COEFF_B ]] | 2.0 | 1.0 | 4.0 | coefficient for ensuring the interpolation monotonicity of B field (1.0~4.0) [2.0] ##MHD ONLY## | +| [[ INT_OPP_SIGN_0TH_ORDER \| Runtime-Parameters:-Interpolation#INT_OPP_SIGN_0TH_ORDER ]] | Depend | Depend | Depend | switch to 0th-order interpolation if adjacent values change signs [HYDRO:1; ELBDM:0] | +| [[ ISO_TEMP \| Runtime-Parameters:-Hydro#ISO_TEMP ]] | Depend | Depend | Depend | isothermal temperature in kelvin ##EOS_ISOTHERMAL ONLY## | + +# J +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ JEANS_MIN_PRES \| Runtime-Parameters:-Hydro#JEANS_MIN_PRES ]] | 0 | None | None | minimum pressure estimated from the Jeans length [0] ##HYDRO/MHD and GRAVITY ONLY## | +| [[ JEANS_MIN_PRES_LEVEL \| Runtime-Parameters:-Hydro#JEANS_MIN_PRES_LEVEL ]] | -1 | None | NLEVEL-1 | for JEANS_MIN_PRES; ensure Jeans length is resolved by JEANS_MIN_PRES_NCELL*dh[JEANS_MIN_PRES_LEVEL] (<0=auto -> MAX_LEVEL) [-1] | +| [[ JEANS_MIN_PRES_NCELL \| Runtime-Parameters:-Hydro#JEANS_MIN_PRES_NCELL ]] | 4 | 1 | None | for JEANS_MIN_PRES; see JEANS_MIN_PRES_LEVEL [4] | + +# L +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ LB_INPUT__PAR_WEIGHT \| Runtime-Parameters:-MPI-and-OpenMP#LB_INPUT__PAR_WEIGHT ]] | 0.0 | 0.0 | None | load-balance weighting of one particle over one cell [0.0] | +| [[ LB_INPUT__WLI_MAX \| Runtime-Parameters:-MPI-and-OpenMP#LB_INPUT__WLI_MAX ]] | 0.1 | 0.0 | None | weighted-load-imbalance (WLI) threshold for redistributing all patches [0.1] | + +# M +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ MAX_LEVEL \| Runtime-Parameters:-Refinement#MAX_LEVEL ]] | TOP_LEVEL | 0 | TOP_LEVEL | maximum refinement level (0~NLEVEL-1) [NLEVEL-1] | +| [[ MG_MAX_ITER \| Runtime-Parameters:-Gravity#MG_MAX_ITER ]] | -1 | None | None | maximum number of iterations in multigrid: (<0=auto) [-1] | +| [[ MG_NPOST_SMOOTH \| Runtime-Parameters:-Gravity#MG_NPOST_SMOOTH ]] | -1 | None | None | number of post-smoothing steps in multigrid: (<0=auto) [-1] | +| [[ MG_NPRE_SMOOTH \| Runtime-Parameters:-Gravity#MG_NPRE_SMOOTH ]] | -1 | None | None | number of pre-smoothing steps in multigrid: (<0=auto) [-1] | +| [[ MG_TOLERATED_ERROR \| Runtime-Parameters:-Gravity#MG_TOLERATED_ERROR ]] | -1.0 | None | None | maximum tolerated error in multigrid (<0=auto) [-1.0] | +| [[ MINMOD_COEFF \| Runtime-Parameters:-Hydro#MINMOD_COEFF ]] | 1.5 | 1.0 | 2.0 | coefficient of the generalized MinMod limiter (1.0~2.0) [1.5] | +| [[ MINMOD_MAX_ITER \| Runtime-Parameters:-Hydro#MINMOD_MAX_ITER ]] | 0 | 0 | None | maximum number of iterations to reduce MINMOD_COEFF when data reconstruction fails (0=off) [0] | +| [[ MIN_DENS \| Runtime-Parameters:-Hydro#MIN_DENS ]] | 0.0 | 0.0 | None | minimum mass density (must >= 0.0) [0.0] ##HYDRO, MHD, and ELBDM ONLY## | +| [[ MIN_EINT \| Runtime-Parameters:-Hydro#MIN_EINT ]] | 0.0 | 0.0 | None | minimum internal energy (must >= 0.0) [0.0] ##HYDRO and MHD ONLY## | +| MIN_ENTR | 0.0 | 0.0 | None | minimum entropy (must >= 0.0) [0.0] ##HYDRO and MHD ONLY## | +| [[ MIN_PRES \| Runtime-Parameters:-Hydro#MIN_PRES ]] | 0.0 | 0.0 | None | minimum pressure (must >= 0.0) [0.0] ##HYDRO and MHD ONLY## | +| MIN_TEMP | 0.0 | 0.0 | None | minimum temperature in K (must >= 0.0) [0.0] ##HYDRO and MHD ONLY## | +| [[ MOLECULAR_WEIGHT \| Runtime-Parameters:-Hydro#MOLECULAR_WEIGHT ]] | 0.6 | 2.22507386e-308 | None | mean molecular weight [0.6] | +| [[ MONO_MAX_ITER \| Runtime-Parameters:-Interpolation#MONO_MAX_ITER ]] | 10 | 0 | None | maximum number of iterations to reduce INT_MONO_COEFF when interpolation fails (0=off) [10] | +| [[ MU_NORM \| Runtime-Parameters:-Hydro#MU_NORM ]] | -1.0 | None | None | normalization of MOLECULAR_WEIGHT (<0=m_H, 0=amu, >0=input manually) [-1.0] | + +# N +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ NEWTON_G \| Runtime-Parameters:-Gravity#NEWTON_G ]] | -1.0 | None | None | gravitational constant (will be overwritten if OPT__UNIT or COMOVING is on) | +| [[ NX0_TOT_X \| Runtime-Parameters:-General#NX0_TOT_X ]] | -1 | PS2 | None | number of base-level cells along x | +| [[ NX0_TOT_Y \| Runtime-Parameters:-General#NX0_TOT_Y ]] | -1 | PS2 | None | number of base-level cells along y | +| [[ NX0_TOT_Z \| Runtime-Parameters:-General#NX0_TOT_Z ]] | -1 | PS2 | None | number of base-level cells along z | + +# O +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ OMEGA_M0 \| Runtime-Parameters:-Cosmology#OMEGA_M0 ]] | -1.0 | 0.0 | 1.0 | omega matter at the present time | +| [[ OMP_NTHREAD \| Runtime-Parameters:-MPI-and-OpenMP#OMP_NTHREAD ]] | -1 | None | None | number of OpenMP threads (<=0=auto) [-1] ##OPENMP ONLY## | +| [[ OPT__1ST_FLUX_CORR \| Runtime-Parameters:-Hydro#OPT__1ST_FLUX_CORR ]] | -1 | None | 2 | correct unphysical results (defined by MIN_DENS/PRES) by the 1st-order fluxes: (<0=auto, 0=off, 1=3D, 2=3D+1D) [-1] ##MHM/MHM_RP/CTU ONLY## | +| [[ OPT__1ST_FLUX_CORR_SCHEME \| Runtime-Parameters:-Hydro#OPT__1ST_FLUX_CORR_SCHEME ]] | Depend | Depend | Depend | Riemann solver for OPT__1ST_FLUX_CORR (-1=auto, 0=none, 1=Roe, 2=HLLC, 3=HLLE, 4=HLLD) [-1] | +| [[ OPT__BC_FLU_XM \| Runtime-Parameters:-Hydro#OPT__BC_FLU_XM ]] | -1 | 1 | 5 | fluid boundary condition at the -x face: (1=periodic, 2=outflow, 3=reflecting, 4=user, 5=diode) ##2/3/5 for HYDRO ONLY## | +| [[ OPT__BC_FLU_XP \| Runtime-Parameters:-Hydro#OPT__BC_FLU_XP ]] | -1 | 1 | 5 | fluid boundary condition at the +x face: (1=periodic, 2=outflow, 3=reflecting, 4=user, 5=diode) ##2/3/5 for HYDRO ONLY## | +| [[ OPT__BC_FLU_YM \| Runtime-Parameters:-Hydro#OPT__BC_FLU_YM ]] | -1 | 1 | 5 | fluid boundary condition at the -y face: (1=periodic, 2=outflow, 3=reflecting, 4=user, 5=diode) ##2/3/5 for HYDRO ONLY## | +| [[ OPT__BC_FLU_YP \| Runtime-Parameters:-Hydro#OPT__BC_FLU_YP ]] | -1 | 1 | 5 | fluid boundary condition at the +y face: (1=periodic, 2=outflow, 3=reflecting, 4=user, 5=diode) ##2/3/5 for HYDRO ONLY## | +| [[ OPT__BC_FLU_ZM \| Runtime-Parameters:-Hydro#OPT__BC_FLU_ZM ]] | -1 | 1 | 5 | fluid boundary condition at the -z face: (1=periodic, 2=outflow, 3=reflecting, 4=user, 5=diode) ##2/3/5 for HYDRO ONLY## | +| [[ OPT__BC_FLU_ZP \| Runtime-Parameters:-Hydro#OPT__BC_FLU_ZP ]] | -1 | 1 | 5 | fluid boundary condition at the +z face: (1=periodic, 2=outflow, 3=reflecting, 4=user, 5=diode) ##2/3/5 for HYDRO ONLY## | +| [[ OPT__BC_POT \| Runtime-Parameters:-Gravity#OPT__BC_POT ]] | -1 | 1 | 2 | gravity boundary condition: (1=periodic, 2=isolated) | +| [[ OPT__CHECK_PRES_AFTER_FLU \| Runtime-Parameters:-Hydro#OPT__CHECK_PRES_AFTER_FLU ]] | -1 | None | 1 | check unphysical pressure at the end of the fluid solver (<0=auto) [-1] | +| [[ OPT__CK_CONSERVATION \| Runtime-Parameters:-Miscellaneous#OPT__CK_CONSERVATION ]] | 0 | None | None | check the conservation law [0] | +| [[ OPT__CK_DIVERGENCE_B \| Runtime-Parameters:-Miscellaneous#OPT__CK_DIVERGENCE_B ]] | 0 | 0 | 2 | check the divergence-free constraint on B field (0=off, 1=on, 2=on+verbose) [0] ##MHD ONLY## | +| [[ OPT__CK_FINITE \| Runtime-Parameters:-Miscellaneous#OPT__CK_FINITE ]] | 0 | None | None | check if all variables are finite [0] | +| [[ OPT__CK_FLUX_ALLOCATE \| Runtime-Parameters:-Miscellaneous#OPT__CK_FLUX_ALLOCATE ]] | 0 | None | None | check if all flux arrays are properly allocated [0] ##HYDRO and ELBDM ONLY## | +| [[ OPT__CK_INPUT_FLUID \| Runtime-Parameters:-Miscellaneous#OPT__CK_INPUT_FLUID ]] | 0 | None | None | check the input data of the fluid solver [0] | +| [[ OPT__CK_INTERFACE_B \| Runtime-Parameters:-Miscellaneous#OPT__CK_INTERFACE_B ]] | 0 | None | None | check the consistency of patch interface B field [0] ##MHD ONLY## | +| [[ OPT__CK_MEMFREE \| Runtime-Parameters:-Miscellaneous#OPT__CK_MEMFREE ]] | 1.0 | 0.0 | None | check the free memory in GB (0=off, >0=threshold) [1.0] | +| [[ OPT__CK_NEGATIVE \| Runtime-Parameters:-Miscellaneous#OPT__CK_NEGATIVE ]] | 0 | 0 | 3 | check the negative values: (0=off, 1=density, 2=pressure and entropy, 3=both) [0] ##HYDRO ONLY## | +| [[ OPT__CK_NORMALIZE_PASSIVE \| Runtime-Parameters:-Miscellaneous#OPT__CK_NORMALIZE_PASSIVE ]] | 0 | None | None | check the normalization of passive scalars [0] ##OPT__NORMALIZE_PASSIVE ONLY## | +| [[ OPT__CK_PARTICLE \| Runtime-Parameters:-Miscellaneous#OPT__CK_PARTICLE ]] | 0 | None | None | check the particle allocation [0] | +| [[ OPT__CK_PATCH_ALLOCATE \| Runtime-Parameters:-Miscellaneous#OPT__CK_PATCH_ALLOCATE ]] | 0 | None | None | check if all patches are properly allocated [0] | +| [[ OPT__CK_PROPER_NESTING \| Runtime-Parameters:-Miscellaneous#OPT__CK_PROPER_NESTING ]] | 0 | None | None | check the proper-nesting condition [0] | +| [[ OPT__CK_REFINE \| Runtime-Parameters:-Miscellaneous#OPT__CK_REFINE ]] | 0 | None | None | check the grid refinement [0] | +| [[ OPT__CK_RESTRICT \| Runtime-Parameters:-Miscellaneous#OPT__CK_RESTRICT ]] | 0 | None | None | check the data restriction [0] | +| [[ OPT__CORR_AFTER_ALL_SYNC \| Runtime-Parameters:-Hydro#OPT__CORR_AFTER_ALL_SYNC ]] | -1 | None | None | apply various corrections after all levels are synchronized (see "Flu_CorrAfterAllSync"): (-1=auto, 0=off, 1=every step, 2=before dump) [-1] | +| [[ OPT__DT_LEVEL \| Runtime-Parameters:-Timestep#OPT__DT_LEVEL ]] | 3 | 1 | 3 | dt at different AMR levels (1=shared, 2=differ by two, 3=flexible) [3] | +| [[ OPT__DT_USER \| Runtime-Parameters:-Timestep#OPT__DT_USER ]] | 0 | None | None | dt criterion: user-defined -> edit "Mis_GetTimeStep_UserCriteria.cpp" [0] | +| [[ OPT__EXT_ACC \| Runtime-Parameters:-Gravity#OPT__EXT_ACC ]] | 0 | 0 | 1 | add external acceleration (0=off, 1=function, 2=table) [0] ##HYDRO ONLY## --> 2 (table) is not supported yet | +| [[ OPT__EXT_POT \| Runtime-Parameters:-Gravity#OPT__EXT_POT ]] | 0 | 0 | 2 | add external potential (0=off, 1=function, 2=table) [0] --> for 2 (table), edit the corresponding parameters below too | +| [[ OPT__FFTW_STARTUP \| Runtime-Parameters:-Initial-Conditions#OPT__FFTW_STARTUP ]] | Depend | Depend | Depend | initialise fftw plans: (-1=auto, 0=ESTIMATE, 1=MEASURE, 2=PATIENT (only FFTW3)) [-1] | +| [[ OPT__FIXUP_ELECTRIC \| Runtime-Parameters:-Hydro#OPT__FIXUP_ELECTRIC ]] | 1 | None | None | correct coarse grids by the fine-grid boundary electric field [1] ##MHD ONLY## | +| [[ OPT__FIXUP_FLUX \| Runtime-Parameters:-Hydro#OPT__FIXUP_FLUX ]] | Depend | Depend | Depend | correct coarse grids by the fine-grid boundary fluxes [1] ##HYDRO and ELBDM ONLY## | +| [[ OPT__FIXUP_RESTRICT \| Runtime-Parameters:-Hydro#OPT__FIXUP_RESTRICT ]] | 1 | None | None | correct coarse grids by averaging the fine-grid data [1] | +| [[ OPT__FLAG_CRAY \| Runtime-Parameters:-Refinement#OPT__FLAG_CRAY ]] | 0 | None | None | flag: cosmic-ray energy (Input__Flag_CRay) [0] ##COSMIC_RAY ONLY## | +| [[ OPT__FLAG_CURRENT \| Runtime-Parameters:-Refinement#OPT__FLAG_CURRENT ]] | 0 | None | None | flag: current density in MHD (Input__Flag_Current) [0] ##MHD ONLY## | +| OPT__FLAG_ENGY_DENSITY | 0 | None | None | flag: energy density (Input_Flag_EngyDensity) [0] ##ELBDM ONLY## | +| OPT__FLAG_INTERFERENCE | 0 | None | None | flag: interference level (Input__Flag_Interference) [0] ##ELBDM ONLY## | +| [[ OPT__FLAG_JEANS \| Runtime-Parameters:-Refinement#OPT__FLAG_JEANS ]] | 0 | None | None | flag: Jeans length (Input__Flag_Jeans) [0] ##HYDRO ONLY## | +| [[ OPT__FLAG_LOHNER_CRAY \| Runtime-Parameters:-Refinement#OPT__FLAG_LOHNER_CRAY ]] | 0 | None | None | flag: Lohner for cosmic-ray energy (Input__Flag_Lohner) [0] ##COSMIC_RAY ONLY## | +| [[ OPT__FLAG_LOHNER_DENS \| Runtime-Parameters:-Refinement#OPT__FLAG_LOHNER_DENS ]] | 0 | None | None | flag: Lohner for mass density (Input__Flag_Lohner) [0] ##BOTH HYDRO AND ELBDM## | +| [[ OPT__FLAG_LOHNER_ENGY \| Runtime-Parameters:-Refinement#OPT__FLAG_LOHNER_ENGY ]] | 0 | None | None | flag: Lohner for energy density (Input__Flag_Lohner) [0] ##HYDRO ONLY## | +| [[ OPT__FLAG_LOHNER_ENTR \| Runtime-Parameters:-Refinement#OPT__FLAG_LOHNER_ENTR ]] | 0 | None | None | flag: Lohner for entropy (Input__Flag_Lohner) [0] ##HYDRO ONLY## | +| [[ OPT__FLAG_LOHNER_FORM \| Runtime-Parameters:-Refinement#OPT__FLAG_LOHNER_FORM ]] | LOHNER_FLASH2 | 1 | 4 | form of Lohner: (1=FLASH-1, 2=FLASH-2, 3=form-invariant-1, 4=form-invariant-2) [2] | +| [[ OPT__FLAG_LOHNER_PRES \| Runtime-Parameters:-Refinement#OPT__FLAG_LOHNER_PRES ]] | 0 | None | None | flag: Lohner for pressure (Input__Flag_Lohner) [0] ##HYDRO ONLY## | +| [[ OPT__FLAG_LOHNER_TEMP \| Runtime-Parameters:-Refinement#OPT__FLAG_LOHNER_TEMP ]] | 0 | None | None | flag: Lohner for temperature (Input__Flag_Lohner) [0] ##HYDRO ONLY## | +| [[ OPT__FLAG_LRTZ_GRADIENT \| Runtime-Parameters:-Refinement#OPT__FLAG_LRTZ_GRADIENT ]] | 0 | None | None | flag: Lorentz factor gradient (Input__Flag_LrtzGradient) [0] ##SRHD ONLY## | +| [[ OPT__FLAG_NPAR_CELL \| Runtime-Parameters:-Refinement#OPT__FLAG_NPAR_CELL ]] | 0 | None | None | flag: # of particles per cell (Input__Flag_NParCell) [0] | +| [[ OPT__FLAG_NPAR_PATCH \| Runtime-Parameters:-Refinement#OPT__FLAG_NPAR_PATCH ]] | 0 | 0 | 2 | flag: # of particles per patch (Input__Flag_NParPatch): (0=off, 1=itself, 2=itself+siblings) [0] | +| [[ OPT__FLAG_PAR_MASS_CELL \| Runtime-Parameters:-Refinement#OPT__FLAG_PAR_MASS_CELL ]] | 0 | None | None | flag: total particle mass per cell (Input__Flag_ParMassCell) [0] | +| [[ OPT__FLAG_PRES_GRADIENT \| Runtime-Parameters:-Refinement#OPT__FLAG_PRES_GRADIENT ]] | 0 | None | None | flag: pressure gradient (Input__Flag_PresGradient) [0] ##HYDRO ONLY## | +| [[ OPT__FLAG_REGION \| Runtime-Parameters:-Refinement#OPT__FLAG_REGION ]] | 0 | None | None | flag: specify the regions **allowed** to be refined -> edit "Flag_Region.cpp" [0] | +| [[ OPT__FLAG_RHO \| Runtime-Parameters:-Refinement#OPT__FLAG_RHO ]] | 0 | None | None | flag: density (Input__Flag_Rho) [0] | +| [[ OPT__FLAG_RHO_GRADIENT \| Runtime-Parameters:-Refinement#OPT__FLAG_RHO_GRADIENT ]] | 0 | None | None | flag: density gradient (Input__Flag_RhoGradient) [0] | +| OPT__FLAG_SPECTRAL | 0 | None | None | flag: spectral refinement (Input__Flag_Spectral) [0] ##ELBDM ONLY## | +| OPT__FLAG_SPECTRAL_N | 2 | 1 | 14 | number of pol. coefficients to use for spectral refinement [2] ##ELBDM ONLY## | +| [[ OPT__FLAG_USER \| Runtime-Parameters:-Refinement#OPT__FLAG_USER ]] | 0 | None | None | flag: user-defined (Input__Flag_User) -> edit "Flag_User.cpp" [0] | +| [[ OPT__FLAG_USER_NUM \| Runtime-Parameters:-Refinement#OPT__FLAG_USER_NUM ]] | 1 | 1 | None | number of threshold values in user-defined table (Input__Flag_User) [1] | +| [[ OPT__FLAG_VORTICITY \| Runtime-Parameters:-Refinement#OPT__FLAG_VORTICITY ]] | 0 | None | None | flag: vorticity (Input__Flag_Vorticity) [0] ##HYDRO ONLY## | +| [[ OPT__FLU_INT_SCHEME \| Runtime-Parameters:-Interpolation#OPT__FLU_INT_SCHEME ]] | INT_DEFAULT | None | None | ghost-zone fluid variables for the fluid solver [-1] | +| [[ OPT__FREEZE_FLUID \| Runtime-Parameters:-Hydro#OPT__FREEZE_FLUID ]] | 0 | None | None | do not evolve fluid at all [0] | +| [[ OPT__FREEZE_PAR \| Runtime-Parameters:-Particles#OPT__FREEZE_PAR ]] | 0 | None | None | do not update particles (except for tracers) [0] | +| [[ OPT__GPUID_SELECT \| Runtime-Parameters:-GPU#OPT__GPUID_SELECT ]] | -1 | -3 | None | GPU ID selection mode: (-3=Laohu, -2=CUDA, -1=MPI rank, >=0=input) [-1] | +| OPT__GRAVITY_EXTRA_MASS | 0 | None | None | add extra mass source when computing gravity [0] | +| [[ OPT__GRA_INT_SCHEME \| Runtime-Parameters:-Interpolation#OPT__GRA_INT_SCHEME ]] | INT_CQUAD | 1 | 7 | ghost-zone potential for the gravity solver (for UNSPLIT_GRAVITY as well) [4] | +| [[ OPT__GRA_P5_GRADIENT \| Runtime-Parameters:-Gravity#OPT__GRA_P5_GRADIENT ]] | 0 | None | None | 5-points gradient in the Gravity solver (must have GRA/USG_GHOST_SIZE_G>=2) [0] | +| [[ OPT__INIT \| Runtime-Parameters:-Initial-Conditions#OPT__INIT ]] | -1 | 1 | 3 | initialization option: (1=FUNCTION, 2=RESTART, 3=FILE->"UM_IC") | +| [[ OPT__INIT_BFIELD_BYVECPOT \| Runtime-Parameters:-Initial-Conditions#OPT__INIT_BFIELD_BYVECPOT ]] | INIT_MAG_BYVECPOT_NONE | 0 | 2 | initialize the magnetic field from vector potential (0=off, 1=external disk file named "B_IC", see tool/inits/gen_vec_pot.py for example, 2=function) [0] ##MHD ONLY## | +| [[ OPT__INIT_GRID_WITH_OMP \| Runtime-Parameters:-MPI-and-OpenMP#OPT__INIT_GRID_WITH_OMP ]] | 1 | None | None | enable OpenMP when assigning the initial condition of each grid patch [1] | +| [[ OPT__INIT_RESTRICT \| Runtime-Parameters:-Initial-Conditions#OPT__INIT_RESTRICT ]] | 1 | None | None | restrict all data during the initialization [1] | +| [[ OPT__INT_FRAC_PASSIVE_LR \| Runtime-Parameters:-Hydro#OPT__INT_FRAC_PASSIVE_LR ]] | 1 | None | None | convert specified passive scalars to mass fraction during data reconstruction [1] | +| OPT__INT_PHASE | 1 | None | None | interpolation on phase (does not support MinMod-1D) [1] ##ELBDM ONLY## | +| [[ OPT__INT_PRIM \| Runtime-Parameters:-Interpolation#OPT__INT_PRIM ]] | 1 | None | None | switch to primitive variables when the interpolation on conserved variables fails [1] ##HYDRO ONLY## | +| [[ OPT__INT_TIME \| Runtime-Parameters:-Interpolation#OPT__INT_TIME ]] | 1 | None | None | perform "temporal" interpolation for OPT__DT_LEVEL == 2/3 [1] | +| [[ OPT__LAST_RESORT_FLOOR \| Runtime-Parameters:-Hydro#OPT__LAST_RESORT_FLOOR ]] | 1 | None | None | apply floor values as the last resort when the fluid solver fails [1] ##HYDRO and MHD ONLY## | +| OPT__LB_EXCHANGE_FATHER | Depend | Depend | Depend | exchange all cells of all father patches during load balancing (must enable for hybrid scheme + MPI) [0 usually, 1 for ELBDM_HYBRID] ## ELBDM_HYBRID ONLY### | +| [[ OPT__LR_LIMITER \| Runtime-Parameters:-Hydro#OPT__LR_LIMITER ]] | LR_LIMITER_DEFAULT | -1 | 7 | slope limiter of data reconstruction in the MHM/MHM_RP/CTU schemes: (-1=auto, 0=none, 1=vanLeer, 2=generalized MinMod, 3=vanAlbada, 4=vanLeer+generalized MinMod, 6=central, 7=Athena) [-1] | +| [[ OPT__MAG_INT_SCHEME \| Runtime-Parameters:-Interpolation#OPT__MAG_INT_SCHEME ]] | INT_CQUAD | None | None | ghost-zone magnetic field for the MHD solver (2,3,4,6 only) [4] | +| [[ OPT__MANUAL_CONTROL \| Runtime-Parameters:-Miscellaneous#OPT__MANUAL_CONTROL ]] | 1 | None | None | support manually dump data, stop run, or pause run during the runtime (by generating the file DUMP_GAMER_DUMP, STOP_GAMER_STOP, PAUSE_GAMER_PAUSE, respectively) [1] | +| [[ OPT__MEMORY_POOL \| Runtime-Parameters:-Refinement#OPT__MEMORY_POOL ]] | 0 | None | None | preallocate patches for OPT__REUSE_MEMORY=1/2 (Input__MemoryPool) [0] | +| [[ OPT__MINIMIZE_MPI_BARRIER \| Runtime-Parameters:-MPI-and-OpenMP#OPT__MINIMIZE_MPI_BARRIER ]] | 0 | None | None | minimize MPI barriers to improve load balance, especially with particles [0] (STORE_POT_GHOST, PAR_IMPROVE_ACC=1, OPT__TIMING_BARRIER=0 only; recommend AUTO_REDUCE_DT=0) | +| [[ OPT__NORMALIZE_PASSIVE \| Runtime-Parameters:-Hydro#OPT__NORMALIZE_PASSIVE ]] | 1 | None | None | ensure "sum(passive_scalar_density) == gas_density" [1] | +| [[ OPT__NO_FLAG_NEAR_BOUNDARY \| Runtime-Parameters:-Refinement#OPT__NO_FLAG_NEAR_BOUNDARY ]] | 0 | None | None | flag: disallow refinement near the boundaries [0] | +| [[ OPT__OPTIMIZE_AGGRESSIVE \| Runtime-Parameters:-Miscellaneous#OPT__OPTIMIZE_AGGRESSIVE ]] | 0 | None | None | apply aggressive optimizations (experimental) [0] | +| [[ OPT__OUTPUT_3VELOCITY \| Runtime-Parameters:-Outputs#OPT__OUTPUT_3VELOCITY ]] | 0 | None | None | output 3-velocities [0] ##SRHD ONLY## | +| [[ OPT__OUTPUT_BASE \| Runtime-Parameters:-Outputs#OPT__OUTPUT_BASE ]] | 0 | None | None | only output the base-level data [0] ##OPT__OUTPUT_PART ONLY## | +| [[ OPT__OUTPUT_BASEPS \| Runtime-Parameters:-Outputs#OPT__OUTPUT_BASEPS ]] | 0 | None | None | output the base-level power spectrum [0] | +| [[ OPT__OUTPUT_CC_MAG \| Runtime-Parameters:-Outputs#OPT__OUTPUT_CC_MAG ]] | 1 | None | None | output **cell-centered** magnetic field (necessary for yt analysis) [1] ##MHD ONLY## | +| [[ OPT__OUTPUT_CS \| Runtime-Parameters:-Outputs#OPT__OUTPUT_CS ]] | 0 | None | None | output sound speed [0] ##HYDRO ONLY## | +| [[ OPT__OUTPUT_DIVMAG \| Runtime-Parameters:-Outputs#OPT__OUTPUT_DIVMAG ]] | 0 | None | None | output |divergence(B)*dh/|B|| [0] ##MHD ONLY## | +| [[ OPT__OUTPUT_DIVVEL \| Runtime-Parameters:-Outputs#OPT__OUTPUT_DIVVEL ]] | 0 | None | None | output divergence(velocity) [0] ##HYDRO ONLY## | +| [[ OPT__OUTPUT_ENTHALPY \| Runtime-Parameters:-Outputs#OPT__OUTPUT_ENTHALPY ]] | 1 | None | None | output reduced enthalpy [1] ##SRHD ONLY## | +| [[ OPT__OUTPUT_ENTR \| Runtime-Parameters:-Outputs#OPT__OUTPUT_ENTR ]] | 0 | None | None | output gas entropy [0] ##HYDRO ONLY## | +| [[ OPT__OUTPUT_LORENTZ \| Runtime-Parameters:-Outputs#OPT__OUTPUT_LORENTZ ]] | 0 | None | None | output Lorentz factor [0] ##SRHD ONLY## | +| [[ OPT__OUTPUT_MACH \| Runtime-Parameters:-Outputs#OPT__OUTPUT_MACH ]] | 0 | None | None | output mach number [0] ##HYDRO ONLY## | +| [[ OPT__OUTPUT_MODE \| Runtime-Parameters:-Outputs#OPT__OUTPUT_MODE ]] | -1 | 1 | 3 | (1=const step, 2=const dt, 3=dump table) -> edit "Input__DumpTable" for 3 | +| [[ OPT__OUTPUT_PART \| Runtime-Parameters:-Outputs#OPT__OUTPUT_PART ]] | 0 | 0 | 7 | output a single line or slice: (0=off, 1=xy, 2=yz, 3=xz, 4=x, 5=y, 6=z, 7=diag) [0] | +| [[ OPT__OUTPUT_PAR_DENS \| Runtime-Parameters:-Outputs#OPT__OUTPUT_PAR_DENS ]] | PAR_OUTPUT_DENS_PAR_ONLY | 0 | 2 | output the particle or total mass density on grids: (0=off, 1=particle mass density, 2=total mass density) [1] ##OPT__OUTPUT_TOTAL ONLY## | +| [[ OPT__OUTPUT_PAR_MESH \| Runtime-Parameters:-Outputs#OPT__OUTPUT_PAR_MESH ]] | Depend | Depend | Depend | output the attributes of tracer particles mapped from mesh quantities -> edit "Input__Par_Mesh" [1] ##PARTICLE ONLY## | +| [[ OPT__OUTPUT_PAR_MODE \| Runtime-Parameters:-Outputs#OPT__OUTPUT_PAR_MODE ]] | 0 | 0 | 2 | output the particle data: (0=off, 1=text-file, 2=C-binary) [0] ##PARTICLE ONLY## | +| [[ OPT__OUTPUT_POT \| Runtime-Parameters:-Outputs#OPT__OUTPUT_POT ]] | 1 | None | None | output gravitational potential [1] ##OPT__OUTPUT_TOTAL ONLY## | +| [[ OPT__OUTPUT_PRES \| Runtime-Parameters:-Outputs#OPT__OUTPUT_PRES ]] | 0 | None | None | output gas pressure [0] ##HYDRO ONLY## | +| [[ OPT__OUTPUT_RESTART \| Runtime-Parameters:-Outputs#OPT__OUTPUT_RESTART ]] | 0 | None | None | output data immediately after restart [0] | +| [[ OPT__OUTPUT_TEMP \| Runtime-Parameters:-Outputs#OPT__OUTPUT_TEMP ]] | OutTempDefault | None | None | output gas temperature [0 (HD) or 1 (SRHD)] ##HYDRO ONLY## | +| [[ OPT__OUTPUT_TEXT_FORMAT_FLT \| Runtime-Parameters:-Outputs#OPT__OUTPUT_TEXT_FORMAT_FLT ]] | "%24.16e" | None | None | string format of output text files [%24.16e] | +| [[ OPT__OUTPUT_TOTAL \| Runtime-Parameters:-Outputs#OPT__OUTPUT_TOTAL ]] | 1 | 0 | 2 | output the simulation snapshot: (0=off, 1=HDF5, 2=C-binary) [1] | +| [[ OPT__OUTPUT_USER \| Runtime-Parameters:-Outputs#OPT__OUTPUT_USER ]] | 0 | None | None | output the user-specified data -> edit "Output_User.cpp" [0] | +| [[ OPT__OUTPUT_USER_FIELD \| Runtime-Parameters:-Outputs#OPT__OUTPUT_USER_FIELD ]] | 0 | None | None | output user-defined derived fields [0] -> edit "Flu_DerivedField_User.cpp" | +| OPT__OVERLAP_MPI | 0 | None | None | overlap MPI communication with CPU/GPU computations [0] ##NOT SUPPORTED YET## | +| [[ OPT__PARTICLE_COUNT \| Runtime-Parameters:-Refinement#OPT__PARTICLE_COUNT ]] | 1 | 0 | 2 | record the # of particles at each level: (0=off, 1=every step, 2=every sub-step) [1] | +| [[ OPT__PATCH_COUNT \| Runtime-Parameters:-Refinement#OPT__PATCH_COUNT ]] | 1 | 0 | 2 | record the # of patches at each level: (0=off, 1=every step, 2=every sub-step) [1] | +| [[ OPT__POT_INT_SCHEME \| Runtime-Parameters:-Interpolation#OPT__POT_INT_SCHEME ]] | INT_CQUAD | 4 | 5 | ghost-zone potential for the Poisson solver (only supports 4 & 5) [4] | +| [[ OPT__RECORD_CENTER \| Runtime-Parameters:-Miscellaneous#OPT__RECORD_CENTER ]] | 0 | None | None | record the position of maximum density, minimum potential, and center of mass [0] | +| [[ OPT__RECORD_DT \| Runtime-Parameters:-Timestep#OPT__RECORD_DT ]] | 1 | None | None | record info of the dt determination [1] | +| [[ OPT__RECORD_LOAD_BALANCE \| Runtime-Parameters:-MPI-and-OpenMP#OPT__RECORD_LOAD_BALANCE ]] | 1 | None | None | record the load-balance info [1] | +| [[ OPT__RECORD_MEMORY \| Runtime-Parameters:-Miscellaneous#OPT__RECORD_MEMORY ]] | 1 | None | None | record the memory consumption [1] | +| [[ OPT__RECORD_NOTE \| Runtime-Parameters:-Miscellaneous#OPT__RECORD_NOTE ]] | 1 | None | None | take notes for the general simulation info [1] | +| [[ OPT__RECORD_PERFORMANCE \| Runtime-Parameters:-Miscellaneous#OPT__RECORD_PERFORMANCE ]] | 1 | None | None | record the code performance [1] | +| [[ OPT__RECORD_UNPHY \| Runtime-Parameters:-Miscellaneous#OPT__RECORD_UNPHY ]] | 1 | None | None | record the number of cells with unphysical results being corrected [1] | +| [[ OPT__RECORD_USER \| Runtime-Parameters:-Miscellaneous#OPT__RECORD_USER ]] | 0 | None | None | record the user-specified info -> edit "Aux_Record_User.cpp" [0] | +| [[ OPT__REF_FLU_INT_SCHEME \| Runtime-Parameters:-Interpolation#OPT__REF_FLU_INT_SCHEME ]] | INT_DEFAULT | None | None | newly allocated fluid variables during grid refinement [-1] | +| [[ OPT__REF_MAG_INT_SCHEME \| Runtime-Parameters:-Interpolation#OPT__REF_MAG_INT_SCHEME ]] | INT_CQUAD | None | None | newly allocated magnetic field during grid refinement (2,3,4,6 only) [4] | +| [[ OPT__REF_POT_INT_SCHEME \| Runtime-Parameters:-Interpolation#OPT__REF_POT_INT_SCHEME ]] | INT_CQUAD | 1 | 7 | newly allocated potential during grid refinement [4] | +| [[ OPT__RESET_FLUID \| Runtime-Parameters:-Hydro#OPT__RESET_FLUID ]] | 0 | None | None | reset fluid variables after each update -> edit "Flu_ResetByUser.cpp" [0] | +| [[ OPT__RESET_FLUID_INIT \| Runtime-Parameters:-Hydro#OPT__RESET_FLUID_INIT ]] | -1 | None | None | reset fluid variables during initialization (<0=auto -> OPT__RESET_FLUID, 0=off, 1=on) [-1] | +| [[ OPT__RESTART_RESET \| Runtime-Parameters:-Initial-Conditions#OPT__RESTART_RESET ]] | 0 | None | None | reset some simulation status parameters (e.g., current step and time) during restart [0] | +| OPT__RES_PHASE | 0 | None | None | restriction on phase [0] ##ELBDM ONLY## | +| [[ OPT__REUSE_MEMORY \| Runtime-Parameters:-Refinement#OPT__REUSE_MEMORY ]] | 2 | 0 | 2 | reuse patch memory to reduce memory fragmentation: (0=off, 1=on, 2=aggressive) [2] | +| [[ OPT__RHO_INT_SCHEME \| Runtime-Parameters:-Interpolation#OPT__RHO_INT_SCHEME ]] | INT_CQUAD | 1 | 7 | ghost-zone mass density for the Poisson solver [4] | +| [[ OPT__SAME_INTERFACE_B \| Runtime-Parameters:-Hydro#OPT__SAME_INTERFACE_B ]] | 0 | None | None | ensure B field consistency on the shared interfaces between sibling patches (for debugging) [0] ##MHD ONLY## | +| [[ OPT__SELF_GRAVITY \| Runtime-Parameters:-Gravity#OPT__SELF_GRAVITY ]] | 1 | None | None | add self-gravity [1] | +| [[ OPT__SORT_PATCH_BY_LBIDX \| Runtime-Parameters:-Miscellaneous#OPT__SORT_PATCH_BY_LBIDX ]] | Depend | Depend | Depend | sort patches to improve bitwise reproducibility [SERIAL:0, LOAD_BALACNE:1] | +| [[ OPT__TIMING_BALANCE \| Runtime-Parameters:-Miscellaneous#OPT__TIMING_BALANCE ]] | 0 | None | None | record the max/min elapsed time in various code sections for checking load balance [0] | +| [[ OPT__TIMING_BARRIER \| Runtime-Parameters:-Miscellaneous#OPT__TIMING_BARRIER ]] | -1 | None | None | synchronize before timing -> more accurate, but may slow down the run (<0=auto) [-1] | +| [[ OPT__TIMING_MPI \| Runtime-Parameters:-Miscellaneous#OPT__TIMING_MPI ]] | 0 | None | None | record the MPI bandwidth achieved in various code sections [0] ##LOAD_BALANCE ONLY## | +| [[ OPT__UM_IC_DOWNGRADE \| Runtime-Parameters:-Initial-Conditions#OPT__UM_IC_DOWNGRADE ]] | 1 | None | None | downgrade UM_IC from level OPT__UM_IC_LEVEL to 0 [1] | +| [[ OPT__UM_IC_FLOAT8 \| Runtime-Parameters:-Initial-Conditions#OPT__UM_IC_FLOAT8 ]] | -1 | None | 1 | floating-point precision for UM_IC (<0: default, 0: single, 1: double) [default: same as FLOAT8] | +| [[ OPT__UM_IC_FORMAT \| Runtime-Parameters:-Initial-Conditions#OPT__UM_IC_FORMAT ]] | UM_IC_FORMAT_VZYX | 1 | 2 | data format of UM_IC: (1=vzyx, 2=zyxv; row-major and v=field) [1] | +| [[ OPT__UM_IC_LEVEL \| Runtime-Parameters:-Initial-Conditions#OPT__UM_IC_LEVEL ]] | 0 | 0 | TOP_LEVEL | starting AMR level in UM_IC [0] | +| [[ OPT__UM_IC_LOAD_NRANK \| Runtime-Parameters:-Initial-Conditions#OPT__UM_IC_LOAD_NRANK ]] | 1 | 1 | None | number of parallel I/O (i.e., number of MPI ranks) for loading UM_IC [1] | +| [[ OPT__UM_IC_NLEVEL \| Runtime-Parameters:-Initial-Conditions#OPT__UM_IC_NLEVEL ]] | 1 | 1 | None | number of AMR levels UM_IC [1] --> edit "Input__UM_IC_RefineRegion" if >1 | +| [[ OPT__UM_IC_NVAR \| Runtime-Parameters:-Initial-Conditions#OPT__UM_IC_NVAR ]] | Depend | Depend | Depend | number of variables in UM_IC: (1~NCOMP_TOTAL; <=0=auto) [HYDRO=5+passive/ELBDM=2] | +| [[ OPT__UM_IC_REFINE \| Runtime-Parameters:-Initial-Conditions#OPT__UM_IC_REFINE ]] | 1 | None | None | refine UM_IC from level OPT__UM_IC_LEVEL to MAX_LEVEL [1] | +| [[ OPT__UNIT \| Runtime-Parameters:-Units#OPT__UNIT ]] | 0 | None | None | specify code units -> must set exactly 3 basic units below [0] ##USELESS FOR COMOVING## | +| [[ OPT__VERBOSE \| Runtime-Parameters:-Miscellaneous#OPT__VERBOSE ]] | 0 | None | None | output the simulation progress in detail [0] | +| [[ OUTPUT_DT \| Runtime-Parameters:-Outputs#OUTPUT_DT ]] | -1.0 | None | None | output data every OUTPUT_DT time interval ##OPT__OUTPUT_MODE==2 ONLY## | +| [[ OUTPUT_PART_X \| Runtime-Parameters:-Outputs#OUTPUT_PART_X ]] | -1.0 | None | None | x coordinate for OPT__OUTPUT_PART [-1.0] | +| [[ OUTPUT_PART_Y \| Runtime-Parameters:-Outputs#OUTPUT_PART_Y ]] | -1.0 | None | None | y coordinate for OPT__OUTPUT_PART [-1.0] | +| [[ OUTPUT_PART_Z \| Runtime-Parameters:-Outputs#OUTPUT_PART_Z ]] | -1.0 | None | None | z coordinate for OPT__OUTPUT_PART [-1.0] | +| [[ OUTPUT_STEP \| Runtime-Parameters:-Outputs#OUTPUT_STEP ]] | -1 | None | None | output data every OUTPUT_STEP step ##OPT__OUTPUT_MODE==1 ONLY## | +| [[ OUTPUT_WALLTIME \| Runtime-Parameters:-Outputs#OUTPUT_WALLTIME ]] | -1.0 | None | None | output data every OUTPUT_WALLTIME walltime (<=0.0=off) [-1.0] | +| [[ OUTPUT_WALLTIME_UNIT \| Runtime-Parameters:-Outputs#OUTPUT_WALLTIME_UNIT ]] | 0 | 0 | 3 | unit of OUTPUT_WALLTIME (0=second, 1=minute, 2=hour, 3=day) [0] | + +# P +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ PAR_IC_FLOAT8 \| Runtime-Parameters:-Particles#PAR_IC_FLOAT8 ]] | -1 | None | 1 | floating-point precision for PAR_IC (<0: default, 0: single, 1: double) [default: same as FLOAT8_PAR] | +| [[ PAR_IC_FORMAT \| Runtime-Parameters:-Particles#PAR_IC_FORMAT ]] | PAR_IC_FORMAT_ATT_ID | 1 | 2 | data format of PAR_IC: (1=[attribute][id], 2=[id][attribute]; row-major) [1] | +| [[ PAR_IC_MASS \| Runtime-Parameters:-Particles#PAR_IC_MASS ]] | -1.0 | None | None | mass of all particles for PAR_INIT==3 (<0=off) [-1.0] | +| [[ PAR_IC_TYPE \| Runtime-Parameters:-Particles#PAR_IC_TYPE ]] | -1 | None | PAR_NTYPE-1 | type of all particles for PAR_INIT==3 (<0=off) [-1] | +| [[ PAR_IMPROVE_ACC \| Runtime-Parameters:-Particles#PAR_IMPROVE_ACC ]] | 1 | None | None | improve force accuracy at patch boundaries [1] ##STORE_POT_GHOST and PAR_INTERP=2/3 ONLY## | +| [[ PAR_INIT \| Runtime-Parameters:-Particles#PAR_INIT ]] | -1 | 1 | 3 | initialization option for particles: (1=FUNCTION, 2=RESTART, 3=FILE->"PAR_IC") | +| [[ PAR_INTEG \| Runtime-Parameters:-Particles#PAR_INTEG ]] | PAR_INTEG_KDK | 1 | 2 | particle integration scheme: (1=Euler, 2=KDK) [2] | +| [[ PAR_INTERP \| Runtime-Parameters:-Particles#PAR_INTERP ]] | PAR_INTERP_CIC | 1 | 3 | particle interpolation scheme: (1=NGP, 2=CIC, 3=TSC) [2] | +| [[ PAR_NPAR \| Runtime-Parameters:-Particles#PAR_NPAR ]] | -1L | None | None | total number of particles (must be set for PAR_INIT==1/3; must be an integer) | +| [[ PAR_PREDICT_POS \| Runtime-Parameters:-Particles#PAR_PREDICT_POS ]] | 1 | None | None | predict particle position during mass assignment [1] | +| [[ PAR_REMOVE_CELL \| Runtime-Parameters:-Particles#PAR_REMOVE_CELL ]] | -1.0 | None | None | remove particles X-root-cells from the boundaries (non-periodic BC only; <0=auto) [-1.0] | +| [[ PAR_TR_INTEG \| Runtime-Parameters:-Particles#PAR_TR_INTEG ]] | TRACER_INTEG_RK2 | 1 | 2 | tracer particle integration scheme: (1=Euler, 2=RK2) [2] | +| [[ PAR_TR_INTERP \| Runtime-Parameters:-Particles#PAR_TR_INTERP ]] | PAR_INTERP_TSC | 1 | 3 | tracer particle interpolation scheme: (1=NGP, 2=CIC, 3=TSC) [3] | +| PAR_TR_VEL_CORR | 0 | None | None | correct tracer particle velocities in regions of discontinuous flow [0] | +| [[ POT_GPU_NPGROUP \| Runtime-Parameters:-GPU#POT_GPU_NPGROUP ]] | -1 | None | None | number of patch groups sent into the CPU/GPU Poisson solver (<=0=auto) [-1] | + +# R +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ REFINE_NLEVEL \| Runtime-Parameters:-Refinement#REFINE_NLEVEL ]] | 1 | 1 | None | number of new AMR levels to be created at once during refinement [1] | +| [[ REGRID_COUNT \| Runtime-Parameters:-Refinement#REGRID_COUNT ]] | 4 | 1 | None | refine every REGRID_COUNT sub-step [4] | +| [[ RESTART_LOAD_NRANK \| Runtime-Parameters:-Initial-Conditions#RESTART_LOAD_NRANK ]] | 1 | 1 | None | number of parallel I/O (i.e., number of MPI ranks) for restart [1] | + +# S +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ SF_CREATE_STAR_DET_RANDOM \| Runtime-Parameters:-Star-Formation#SF_CREATE_STAR_DET_RANDOM ]] | -1 | None | None | make random numbers deterministic (i.e., independent of OpenMP and MPI, <0=auto) [-1] | +| [[ SF_CREATE_STAR_MASS_EFF \| Runtime-Parameters:-Star-Formation#SF_CREATE_STAR_MASS_EFF ]] | 1.0e-2 | 2.22507386e-308 | 1.0 | Gas-to-star mass conversion efficiency [1.0e-2] | +| [[ SF_CREATE_STAR_MAX_STAR_MFRAC \| Runtime-Parameters:-Star-Formation#SF_CREATE_STAR_MAX_STAR_MFRAC ]] | 0.5 | 2.22507386e-308 | 1.0 | maximum gas mass fraction allowed to convert to stars per substep [0.5] | +| SF_CREATE_STAR_MIN_GAS_DENS | 1.0e1 | 0.0 | None | minimum gas density allowed to form stars (in HI count/cm^3) [1.0e1] | +| [[ SF_CREATE_STAR_MIN_LEVEL \| Runtime-Parameters:-Star-Formation#SF_CREATE_STAR_MIN_LEVEL ]] | 0 | None | TOP_LEVEL | minimum AMR level allowed to form stars (<0=auto -> MAX_LEVEL) [0] | +| [[ SF_CREATE_STAR_MIN_STAR_MASS \| Runtime-Parameters:-Star-Formation#SF_CREATE_STAR_MIN_STAR_MASS ]] | 0.0 | 0.0 | None | minimum star particle mass for the stochastical star formation (in Msun) [0.0] | +| [[ SF_CREATE_STAR_RSEED \| Runtime-Parameters:-Star-Formation#SF_CREATE_STAR_RSEED ]] | 123 | 0 | None | random seed [123] | +| [[ SF_CREATE_STAR_SCHEME \| Runtime-Parameters:-Star-Formation#SF_CREATE_STAR_SCHEME ]] | 0 | 0 | 1 | star formation schemes (0=off, 1=AGORA) [0] | +| [[ SOR_MAX_ITER \| Runtime-Parameters:-Gravity#SOR_MAX_ITER ]] | -1 | None | None | maximum number of iterations in SOR: (<0=auto) [-1] | +| [[ SOR_MIN_ITER \| Runtime-Parameters:-Gravity#SOR_MIN_ITER ]] | -1 | None | None | minimum number of iterations in SOR: (<0=auto) [-1] | +| [[ SOR_OMEGA \| Runtime-Parameters:-Gravity#SOR_OMEGA ]] | -1.0 | None | None | over-relaxation parameter in SOR: (<0=auto) [-1.0] | +| SPEC_INT_GHOST_BOUNDARY | 4 | 1 | None | ghost boundary size for spectral interpolation [4] ##ELBDM & SUPPORT_SPECTRAL_INT ONLY## | +| SPEC_INT_TABLE_PATH | None | None | None | path to tables for spectral interpolation ##ELBDM & SUPPORT_SPECTRAL_INT ONLY## | +| SPEC_INT_VORTEX_THRESHOLD | 0.1 | 0.0 | None | vortex detection threshold for SPEC_INT_XY_INSTEAD_DEPHA [0.1] ##ELBDM & SUPPORT_SPECTRAL_INT ONLY## | +| SPEC_INT_XY_INSTEAD_DEPHA | 1 | None | None | interpolate x and y (real and imaginary parts in current implementation) around vortices instead of density and phase for the spectral interpolation, which has the advantage of being well-defined across vortices [1] ##ELBDM & SUPPORT_SPECTRAL_INT ONLY## | +| SRC_DELEPTONIZATION | 0 | None | None | deleptonization (for simulations of stellar core collapse) [0] ##HYDRO ONLY## | +| SRC_GPU_NPGROUP | -1 | None | None | number of patch groups sent into the CPU/GPU source-term solver (<=0=auto) [-1] | +| SRC_USER | 0 | None | None | user-defined source terms -> edit "Src_User.cpp" [0] | + +# T +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ TESTPROB_ID \| Runtime-Parameters:-General#TESTPROB_ID ]] | 0 | 0 | None | test problem ID [0]
0: none
1: HYDRO blast wave [+MHD]
2: HYDRO acoustic wave
3: HYDRO Bondi accretion (+GRAVITY)
4: HYDRO cluster merger vs. Flash (+GRAVITY & PARTICLE)
5: HYDRO AGORA isolated galaxy (+GRAVITY & PARTICLE & STAR_FORMATION & GRACKLE)
6: HYDRO caustic wave
7: HYDRO spherical collapse (+GRAVITY & COMOVING)
8: HYDRO Kelvin Helmholtz instability
9: HYDRO Riemann problems [+MHD]
10: HYDRO jet(s)
11: HYDRO Plummer cloud(s) (+GRAVITY & PARTICLE)
12: HYDRO gravity (+GRAVITY)
13: HYDRO MHD Arnold-Beltrami-Childress (ABC) flow (+MHD)
14: HYDRO MHD Orszag-Tang vortex (+MHD)
15: HYDRO MHD linear wave (+MHD)
16: HYDRO Jeans instability (+GRAVITY) [+MHD]
17: HYDRO particle in equilibrium (+GRAVITY & PARTICLE)
19: HYDRO energy power spectrum
20: HYDRO MHD Cosmic Ray Soundwave
21: HYDRO MHD Cosmic Ray Shocktube
23: HYDRO MHD Cosmic Ray Diffusion
100: HYDRO CDM cosmological simulation (+GRAVITY & COMOVING & PARTICLE)
101: HYDRO Zeldovich pancake collapse (+GRAVITY & COMOVING & PARTICLE)
1000: ELBDM external potential (+GRAVITY)
1001: ELBDM Jeans instability in the comoving frame (+GRAVITY, +COMOVING)
1002: ELBDM Jeans instability in the physical frame (+GRAVITY)
1003: ELBDM soliton merger (+GRAVITY)
1004: ELBDM self-similar halo (+GRAVITY, +COMOVING)
1005: ELBDM rotating vortex pair
1006: ELBDM vortex pair in linear motion
1007: ELBDM halo extracted from a large-scale structure simulation (+GRAVITY)
1008: ELBDM 1D Gaussian wave packet
1009: ELBDM large-scale structure simulation (+GRAVITY, +COMOVING)
1010: ELBDM plane wave
1011: ELBDM small wave perturbations on homogeneous background | + +# U +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| [[ UNIT_D \| Runtime-Parameters:-Units#UNIT_D ]] | -1.0 | None | None | mass density unit (<=0 -> set to UNIT_M/UNIT_L^3) [-1.0] | +| [[ UNIT_L \| Runtime-Parameters:-Units#UNIT_L ]] | -1.0 | None | None | length unit (<=0 -> set to UNIT_V*UNIT_T or (UNIT_M/UNIT_D)^(1/3)) [-1.0] | +| [[ UNIT_M \| Runtime-Parameters:-Units#UNIT_M ]] | -1.0 | None | None | mass unit (<=0 -> set to UNIT_D*UNIT_L^3) [-1.0] | +| [[ UNIT_T \| Runtime-Parameters:-Units#UNIT_T ]] | -1.0 | None | None | time unit (<=0 -> set to UNIT_L/UNIT_V) [-1.0] | +| [[ UNIT_V \| Runtime-Parameters:-Units#UNIT_V ]] | -1.0 | None | None | velocity unit (<=0 -> set to UNIT_L/UNIT_T) [-1.0] | + +# Y +| Name | Default | Min | Max | Short description | +| :--- | :--- | :--- | :--- | :--- | +| YT_FIG_BASENAME | None | None | None | figure basename [Fig] | +| YT_JUPYTER_USE_CONNECTION_FILE | 0 | None | None | use user-provided connection file when using libyt Jupyter UI [0] | +| YT_SCRIPT | None | None | None | yt inline analysis script (do not include the ".py" file extension) | +| YT_VERBOSE | 1 | 0 | 3 | verbose level of yt (0=off, 1=info, 2=warning, 3=debug) [1] | + + +## Remarks + + +
+ +## Links +* [[Main page of Runtime Parameters | Runtime Parameters]] diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Input__Parameter.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Input__Parameter.md index 5fd727f5cb..4d61bb5a22 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Input__Parameter.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Input__Parameter.md @@ -5,7 +5,7 @@ This page includes the following topics: ## Parameter List -* [[All]] +* [[All | Runtime-Parameters:-All]] -- List all parameters in alphabetical order * [[General | Runtime-Parameters:-General]] diff --git a/example/test_problem/Template/Input__Parameter b/example/test_problem/Template/Input__Parameter index a0978b4096..3f2f520f41 100644 --- a/example/test_problem/Template/Input__Parameter +++ b/example/test_problem/Template/Input__Parameter @@ -194,14 +194,14 @@ SRC_GPU_NPGROUP -1 # number of patch groups sent into the # Grackle library for chemistry and radiative cooling (SUPPORT_GRACKLE only) GRACKLE_ACTIVATE 1 # enable Grackle [1] GRACKLE_VERBOSE 1 # map to "grackle_verbose" [1] -GRACKLE_COOLING 1 # ... "with_radiative_cooling" [1] -GRACKLE_PRIMORDIAL 0 # ... "primordial_chemistry" (0=Cloudy, 1/2/3=6-/9-/12-species) [0] +GRACKLE_COOLING 1 # map to "with_radiative_cooling" [1] +GRACKLE_PRIMORDIAL 0 # map to "primordial_chemistry" (0=Cloudy, 1/2/3=6-/9-/12-species) [0] # (must increase NCOMP_PASSIVE_USER by 6/9/12, respectively) -GRACKLE_METAL 0 # ... "metal_cooling" (must increase NCOMP_PASSIVE_USER by 1) [0] -GRACKLE_UV 0 # ... "UVbackground" [0] -GRACKLE_CMB_FLOOR 1 # ... "cmb_temperature_floor" [1] -GRACKLE_PE_HEATING 0 # ... "photoelectric_heating" [0] -GRACKLE_PE_HEATING_RATE 8.5e-26 # ... "photoelectric_heating_rate (in erg/cm^3/s)" [8.5e-26] +GRACKLE_METAL 0 # map to "metal_cooling" (must increase NCOMP_PASSIVE_USER by 1) [0] +GRACKLE_UV 0 # map to "UVbackground" [0] +GRACKLE_CMB_FLOOR 1 # map to "cmb_temperature_floor" [1] +GRACKLE_PE_HEATING 0 # map to "photoelectric_heating" [0] +GRACKLE_PE_HEATING_RATE 8.5e-26 # map to "photoelectric_heating_rate (in erg/cm^3/s)" [8.5e-26] GRACKLE_CLOUDY_TABLE CloudyData_noUVB.h5 # "grackle_data_file" GRACKLE_THREE_BODY_RATE 4 # used Glover+08 rate GRACKLE_CIE_COOLING 1 # 0: off; 1:on @@ -308,16 +308,16 @@ OPT__EXT_POT 0 # add external potential (0=off, 1= # tabular external potential EXT_POT_TABLE_NAME ExtPotTable # external potential table: filename -EXT_POT_TABLE_NPOINT_X 129 # ... : table size (i.e., number of data points) along x/y/z -EXT_POT_TABLE_NPOINT_Y 129 # -EXT_POT_TABLE_NPOINT_Z 129 # -EXT_POT_TABLE_DH_X 0.0078125 # ... : spatial interval between adjacent data points -EXT_POT_TABLE_DH_Y 0.0078125 # -EXT_POT_TABLE_DH_Z 0.0078125 # -EXT_POT_TABLE_EDGEL_X 0.0 # ... : starting x/y/z coordinates -EXT_POT_TABLE_EDGEL_Y 0.0 # -EXT_POT_TABLE_EDGEL_Z 0.0 # -EXT_POT_TABLE_FLOAT8 -1 # ... : double precision (<0=auto -> FLOAT8, 0=off, 1=on) [-1] +EXT_POT_TABLE_NPOINT_X 129 # external potential table: table size (i.e., number of data points) along x +EXT_POT_TABLE_NPOINT_Y 129 # external potential table: table size (i.e., number of data points) along y +EXT_POT_TABLE_NPOINT_Z 129 # external potential table: table size (i.e., number of data points) along z +EXT_POT_TABLE_DH_X 0.0078125 # external potential table: spatial interval between adjacent x data points +EXT_POT_TABLE_DH_Y 0.0078125 # external potential table: spatial interval between adjacent y data points +EXT_POT_TABLE_DH_Z 0.0078125 # external potential table: spatial interval between adjacent z data points +EXT_POT_TABLE_EDGEL_X 0.0 # external potential table: starting x coordinates +EXT_POT_TABLE_EDGEL_Y 0.0 # external potential table: starting y coordinates +EXT_POT_TABLE_EDGEL_Z 0.0 # external potential table: starting z coordinates +EXT_POT_TABLE_FLOAT8 -1 # external potential table: double precision (<0=auto -> FLOAT8, 0=off, 1=on) [-1] # --> not supported yet; use -1 for now OPT__GRAVITY_EXTRA_MASS 0 # add extra mass source when computing gravity [0] diff --git a/tool/wiki/sync_runtime_parameter.py b/tool/wiki/sync_runtime_parameter.py new file mode 100644 index 0000000000..d5d7f3eb91 --- /dev/null +++ b/tool/wiki/sync_runtime_parameter.py @@ -0,0 +1,216 @@ +#!/bin/python3 +""" +## What it can do + +Automatically update `doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md` +when any of the following files are changed, updated, or pushed: +- `tool/wiki/sync_runtime_parameter.py` +- `src/Init/Init_Load_Parameter.cpp` +- `example/test_problem/Template/Input__Parameter` + +## How it works + +1. Detection: + The new workflow, "Update All Parameters Wiki Page", detects changes in any of the three specified files. +2. Execution: + If changes are detected, the workflow runs the script `tool/wiki/sync_runtime_parameter.py`. +3. Update: + The script updates `doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md` by creating + a new commit with the message: `[Workflow] Update all parameters wiki page`. + +## Script Algorithm + +1. Extract Parameter Names and Comments: + Retrieve all parameter names and their associated short comments from `example/test_problem/Template/Input__Parameter`. +2. Retrieve Parameter Details: + Gather the minimum, maximum, and default values of each parameter from `src/Init/Init_Load_Parameter.cpp`. +3. Link Integration: + Identify the original page links using the references placed at the top of each runtime parameter + wiki page (e.g., `[BOX_SIZE](#BOX_SIZE),  `). +4. Markdown Generation: + Compile the extracted data and generate the updated markdown file. +""" +#==================================================================================================== +# Imports +#==================================================================================================== +import re +from string import ascii_uppercase as auc + + + +#==================================================================================================== +# Global constants +#==================================================================================================== +ALL_PARAM_FILE = "../../example/input/Input__Parameter" +PARAM_CPP_FILE = "../../src/Init/Init_Load_Parameter.cpp" +LINK_FILES = [ "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Chemistry-and-Radiation.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Cosmology.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Feedback.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-GPU.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-General.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Gravity.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Hydro.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Initial-Conditions.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Interpolation.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-MPI-and-OpenMP.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Miscellaneous.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Outputs.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Particles.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Refinement.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Star-Formation.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Timestep.md", + "../../doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Units.md" + ] +OUT_MD = "Runtime-Parameters:-All.md" +REPLACE_DICT = { "NoMin_double":"None", "NoMax_double":"None", "NoDef_double":"None", + "NoMin_int":"None", "NoMax_int":"None", + "NoMin_long":"None", "NoMax_long":"None", + "NoDef_str":"None", "Useless_str":"None", + "Useless_bool":"None", + "true":"1", "false":"0", + "__DBL_MAX__":"1.79769313e+308", "Eps_double":"2.22507386e-308" + } + + + +#==================================================================================================== +# Classes +#==================================================================================================== +class parameter(): + def __init__( self, string ): + name, description = self.get_name_description( string ) + self.name = name + self.link_name = name + self.default = "" + self.minimum = "" + self.maximum = "" + self.description = description + self.NAdd = 0 + + def get_name_description( self, string ): + words = string.split() + name = words[0] + description = "" + for i in range(3, len(words)): + description += words[i] + ' ' + return name, description[:-1] + + def append_description( self, string ): + words = string.split() + self.description += "
" if self.name == "TESTPROB_ID" else ' ' + self.description += ' '.join(words[1:]) + return + + def get_link_name( self, file_dict ): + for file_name in file_dict: + search_pattern = "[%s](#%s)"%(self.name, self.name) + if search_pattern in file_dict[file_name]: + self.link_name = "[[ %s \\| %s#%s ]]"%(self.name, file_name, self.name) + return True + return False + + + +#==================================================================================================== +# Main +#==================================================================================================== +with open( ALL_PARAM_FILE, 'r' ) as f: + lines = f.readlines() + +with open( PARAM_CPP_FILE, 'r' ) as f: + lines_cpp = f.readlines() + +link_source_mds = {} +for file_path in LINK_FILES: + file_name = file_path.split('/')[-1][:-3] # get the filename without path and trailing `.md` + with open( file_path, 'r' ) as f: + link_source_mds[file_name] = f.read() + +params = {} + +# get all parameters from ALL_PARAM_FILE +# NOTE: assuming the line starts with space should be the comment of the above line +last_key = "" +for i, line in enumerate(lines): + if line[0] == '\n': continue + if line[0] == '#': continue + if line[0] == ' ': + params[last_key].append_description( line ) + continue + last_key = line.split()[0] + params[last_key] = parameter( line ) + +# get all default, min, max, and value from PARAM_CPP_FILE +for i, line in enumerate(lines_cpp): + if "ReadPara->Add" not in line: continue + words = list( filter( None, re.split( ',| ', line ) ) ) + if "//" == words[0]: continue + key = words[1][1:-1] + default = words[3] + minimum = words[4] + maximum = words[5] + + if key not in params: + print( "%-30s does not exist in %s"%(key, ALL_PARAM_FILE) ) + continue + + if params[key].NAdd >= 1: + print( "%-30s has more than one ReadPara->Add() function in %s"%(key, PARAM_CPP_FILE) ) + params[key].default = "Depend" + params[key].minimum = "Depend" + params[key].maximum = "Depend" + else: + params[key].default = REPLACE_DICT[default] if default in REPLACE_DICT else default + params[key].minimum = REPLACE_DICT[minimum] if minimum in REPLACE_DICT else minimum + params[key].maximum = REPLACE_DICT[maximum] if maximum in REPLACE_DICT else maximum + params[key].NAdd += 1 + +# get the detailed description link from LINK_FILES +for p in params: + status = params[p].get_link_name( link_source_mds ) + if not status: + print( "Can not find the description of %-30s in all runtime parameter pages!"%(p) ) + +# output the markdown file +with open( OUT_MD, 'w' ) as f: + param_str_format = '| %-100s | %15s | %15s | %15s | %s |\n' + + f.write( '> [!CAUTION]\n' ) + f.write( '> Please do not edit this file (page) manually, since the workflow will overwrite your changes.\n' ) + f.write( '\n' ) + f.write( 'This file (page) is automatically generated by the workflow `Update all parameters wiki page` using the script `tool/wiki/sync_runtime_parameter.py`.\n' ) + f.write( '\n' ) + f.write( 'The workflow is triggered when changes are pushed to any of the following files:\n' ) + f.write( '- `src/Init/Init_Load_Parameter.cpp`\n' ) + f.write( '- `example/input/Input__Paramter`\n' ) + f.write( '- `tool/wiki/sync_runtime_parameter.py`\n' ) + f.write( '\n' ) + f.write( 'For variables with `Default/Min/Max` labeled as `Depend`, click the parameter names for more details.\n' ) + f.write( '\n' ) + f.write( '# Index\n' ) + f.write( ', '.join( ['[%s](#%s)'%(i, i) for i in auc] ) ) + f.write( '\n' ) + + start_char = '' + params_sorted_key = sorted( params.keys() ) + for key in params_sorted_key: + # add alphabet title + if start_char != key[0]: + start_char = key[0] + f.write( '\n' ) + f.write( "# %s\n"%(start_char) ) + f.write( param_str_format%("Name", "Default", "Min", "Max", "Short description") ) + f.write( param_str_format%(":---", ":---", ":---", ":---", ":---") ) + + string = param_str_format%(params[key].link_name, params[key].default, params[key].minimum, params[key].maximum, params[key].description) + f.write( string ) + + f.write( '\n' ) + f.write( '\n' ) + f.write( '## Remarks\n' ) + f.write( '\n' ) + f.write( '\n' ) + f.write( '
\n' ) + f.write( '\n' ) + f.write( '## Links\n' ) + f.write( '* [[Main page of Runtime Parameters | Runtime Parameters]]\n' )