diff --git a/doc/wiki/ELBDM.md b/doc/wiki/ELBDM.md deleted file mode 100644 index 85d0babf25..0000000000 --- a/doc/wiki/ELBDM.md +++ /dev/null @@ -1,29 +0,0 @@ - -## Compilation Options - -Related options: -[[--model | Installation:-Option-List#--model]],   -[[--elbdm_scheme | Installation:-Option-List#--elbdm_scheme]],   -[[--wave_scheme | Installation:-Option-List#--wave_scheme]],   -[[--conserve_mass | Installation:-Option-List#--conserve_mass]],   -[[--laplacian_four | Installation:-Option-List#--laplacian_four]],   -[[--gramfe_scheme | Installation:-Option-List#--gramfe_scheme]],   -[[--hybrid_scheme | Installation:-Option-List#--hybrid_scheme]],   -[[--self_interaction | Installation:-Option-List#--self_interaction]],   - - -## Runtime Parameters -[[Runtime parameters: ELBDM | Runtime-Parameters:-ELBDM]] - -Other related parameters: -TBF. - - -## Remarks - - -
- -## Links -* [[Main page of Physics Modules | Physics-Modules]] -* [[Main page of Runtime Parameters | Runtime Parameters]] diff --git a/doc/wiki/Physics-Modules-related/ELBDM.md b/doc/wiki/Physics-Modules-related/ELBDM.md new file mode 100644 index 0000000000..709ac36c31 --- /dev/null +++ b/doc/wiki/Physics-Modules-related/ELBDM.md @@ -0,0 +1,38 @@ + +## Compilation Options + +Related options: +[[--model | Installation:-Option-List#--model]],   +[[--elbdm_scheme | Installation:-Option-List#--elbdm_scheme]],   +[[--wave_scheme | Installation:-Option-List#--wave_scheme]],   +[[--conserve_mass | Installation:-Option-List#--conserve_mass]],   +[[--laplacian_four | Installation:-Option-List#--laplacian_four]],   +[[--gramfe_scheme | Installation:-Option-List#--gramfe_scheme]],   +[[--hybrid_scheme | Installation:-Option-List#--hybrid_scheme]],   +[[--self_interaction | Installation:-Option-List#--self_interaction]],   + + +## Runtime Parameters +[[Runtime parameters: ELBDM | Runtime-Parameters:-ELBDM]] + +Other related parameters: +[[ OPT__INT_PHASE | Runtime-Parameters:-Interpolation#OPT__INT_PHASE]],   +[[ OPT__LB_EXCHANGE_FATHER | Runtime-Parameters:-MPI-and-OpenMP#OPT__LB_EXCHANGE_FATHER]],   +[[ OPT__FLAG_ENGY_DENSITY | Runtime-Parameters:-Refinement#OPT__FLAG_ENGY_DENSITY]],   +[[ OPT__FLAG_INTERFERENCE | Runtime-Parameters:-Refinement#OPT__FLAG_INTERFERENCE]],   +[[ OPT__FLAG_SPECTRAL | Runtime-Parameters:-Refinement#OPT__FLAG_SPECTRAL]],   +[[ OPT__FLAG_SPECTRAL_N | Runtime-Parameters:-Refinement#OPT__FLAG_SPECTRAL_N]],   +[[ DT__PHASE | Runtime-Parameters:-Timestep#DT__PHASE]],   +[[ DT__HYBRID_CFL | Runtime-Parameters:-Timestep#DT__HYBRID_CFL]],   +[[ DT__HYBRID_CFL_INIT | Runtime-Parameters:-Timestep#DT__HYBRID_CFL_INIT]],   +[[ DT__HYBRID_VELOCITY | Runtime-Parameters:-Timestep#DT__HYBRID_VELOCITY]],   +[[ DT__HYBRID_VELOCITY_INIT | Runtime-Parameters:-Timestep#DT__HYBRID_VELOCITY_INIT]],   + +## Remarks + + +
+ +## Links +* [[Main page of Physics Modules | Physics-Modules]] +* [[Main page of Runtime Parameters | Runtime Parameters]] diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md index 0288725ab3..e81c115e7b 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-All.md @@ -55,16 +55,16 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na | [[ 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__HYBRID_CFL \| Runtime-Parameters:-Timestep#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 \| Runtime-Parameters:-Timestep#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 \| Runtime-Parameters:-Timestep#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 \| Runtime-Parameters:-Timestep#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__PHASE \| Runtime-Parameters:-Timestep#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] | @@ -73,24 +73,24 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na # 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## | +| [[ ELBDM_BASE_SPECTRAL \| Runtime-Parameters:-ELBDM#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 \| Runtime-Parameters:-ELBDM#ELBDM_FIRST_WAVE_LEVEL ]] | -1 | 1 | None | level at which to switch to the wave solver (must >=1) [-1] ##ELBDM_HYBRID ONLY## | +| [[ ELBDM_LAMBDA \| Runtime-Parameters:-ELBDM#ELBDM_LAMBDA ]] | 1.0 | None | None | quartic self-interaction coefficient [1.0] ##QUARTIC_SELF_INTERACTION ONLY## | +| [[ ELBDM_MASS \| Runtime-Parameters:-ELBDM#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 \| Runtime-Parameters:-ELBDM#ELBDM_MATCH_PHASE ]] | 1 | None | None | match child phases with father phases during data restriction [1] ##ELBDM_HYBRID ONLY## | +| [[ ELBDM_PLANCK_CONST \| Runtime-Parameters:-ELBDM#ELBDM_PLANCK_CONST ]] | -1.0 | None | None | reduced Planck constant (will be overwritten if OPT__UNIT or COMOVING is on) | +| [[ ELBDM_REMOVE_MOTION_CM \| Runtime-Parameters:-ELBDM#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 \| Runtime-Parameters:-ELBDM#ELBDM_TAYLOR3_AUTO ]] | 0 | None | None | Optimize ELBDM_TAYLOR3_COEFF automatically to minimize the damping at kmax [0] | +| [[ ELBDM_TAYLOR3_COEFF \| Runtime-Parameters:-ELBDM#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_DH_X \| Runtime-Parameters:-Gravity#EXT_POT_TABLE_DH_X ]] | -1.0 | None | None | external potential table: spatial interval between adjacent x data points | +| [[ EXT_POT_TABLE_DH_Y \| Runtime-Parameters:-Gravity#EXT_POT_TABLE_DH_Y ]] | -1.0 | None | None | external potential table: spatial interval between adjacent y data points | +| [[ EXT_POT_TABLE_DH_Z \| Runtime-Parameters:-Gravity#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_FLOAT8 \| Runtime-Parameters:-Gravity#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 | @@ -175,9 +175,9 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na | [[ 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_ENTR \| Runtime-Parameters:-Hydro#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## | +| [[ MIN_TEMP \| Runtime-Parameters:-Hydro#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] | @@ -231,8 +231,8 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na | [[ OPT__FLAG_ANGULAR \| Runtime-Parameters:-Refinement#OPT__FLAG_ANGULAR ]] | 0 | None | None | flag: angular resolution (Input__Flag_AngularResolution) [0] | | [[ 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_ENGY_DENSITY \| Runtime-Parameters:-Refinement#OPT__FLAG_ENGY_DENSITY ]] | 0 | None | None | flag: energy density (Input_Flag_EngyDensity) [0] ##ELBDM ONLY## | +| [[ OPT__FLAG_INTERFERENCE \| Runtime-Parameters:-Refinement#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## | @@ -250,8 +250,8 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na | [[ 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_SPECTRAL \| Runtime-Parameters:-Refinement#OPT__FLAG_SPECTRAL ]] | 0 | None | None | flag: spectral refinement (Input__Flag_Spectral) [0] ##ELBDM ONLY## | +| [[ OPT__FLAG_SPECTRAL_N \| Runtime-Parameters:-Refinement#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## | @@ -259,7 +259,7 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na | [[ 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__GRAVITY_EXTRA_MASS \| Runtime-Parameters:-Gravity#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") | @@ -267,11 +267,11 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na | [[ 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_PHASE \| Runtime-Parameters:-Interpolation#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__LB_EXCHANGE_FATHER \| Runtime-Parameters:-MPI-and-OpenMP#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] | @@ -305,7 +305,7 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na | [[ 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__OVERLAP_MPI \| Runtime-Parameters:-MPI-and-OpenMP#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] | @@ -323,7 +323,7 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na | [[ 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__RES_PHASE \| Runtime-Parameters:-Interpolation#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## | @@ -368,7 +368,7 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na | [[ 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] | +| [[ PAR_TR_VEL_CORR \| Runtime-Parameters:-Particles#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 @@ -392,10 +392,10 @@ For variables with `Default/Min/Max` labeled as `Depend`, click the parameter na | [[ 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## | +| [[ SPEC_INT_GHOST_BOUNDARY \| Runtime-Parameters:-ELBDM#SPEC_INT_GHOST_BOUNDARY ]] | 4 | 1 | None | ghost boundary size for spectral interpolation [4] ##ELBDM & SUPPORT_SPECTRAL_INT ONLY## | +| [[ SPEC_INT_TABLE_PATH \| Runtime-Parameters:-ELBDM#SPEC_INT_TABLE_PATH ]] | None | None | None | path to tables for spectral interpolation ##ELBDM & SUPPORT_SPECTRAL_INT ONLY## | +| [[ SPEC_INT_VORTEX_THRESHOLD \| Runtime-Parameters:-ELBDM#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 \| Runtime-Parameters:-ELBDM#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] | diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-ELBDM.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-ELBDM.md new file mode 100644 index 0000000000..817296363c --- /dev/null +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-ELBDM.md @@ -0,0 +1,154 @@ +Parameters described on this page: +[ELBDM_MASS](#ELBDM_MASS),   +[ELBDM_PLANCK_CONST](#ELBDM_PLANCK_CONST),   +[ELBDM_LAMBDA](#ELBDM_LAMBDA),   +[ELBDM_TAYLOR3_COEFF](#ELBDM_TAYLOR3_COEFF),   +[ELBDM_TAYLOR3_AUTO](#ELBDM_TAYLOR3_AUTO),   +[ELBDM_REMOVE_MOTION_CM](#ELBDM_REMOVE_MOTION_CM),   +[ELBDM_BASE_SPECTRAL](#ELBDM_BASE_SPECTRAL),   +[ELBDM_MATCH_PHASE](#ELBDM_MATCH_PHASE),   +[ELBDM_FIRST_WAVE_LEVEL](#ELBDM_FIRST_WAVE_LEVEL),   +[OPT__RES_PHASE](#OPT__RES_PHASE),   +[SPEC_INT_TABLE_PATH](#SPEC_INT_TABLE_PATH),   +[SPEC_INT_XY_INSTEAD_DEPHA](#SPEC_INT_XY_INSTEAD_DEPHA),   +[SPEC_INT_VORTEX_THRESHOLD](#SPEC_INT_VORTEX_THRESHOLD),   +[SPEC_INT_GHOST_BOUNDARY](#SPEC_INT_GHOST_BOUNDARY)   + +Parameters below are shown in the format:   **`Name`   (Valid Values)   [Default Value]** + + +* #### `ELBDM_MASS`   (>0)   [none] + * **Description:** +Particle mass in ev/c^2. +(Input unit is fixed even when OPT__UNIT or COMOVING is on) + * **Restriction:** + + +* #### `ELBDM_PLANCK_CONST`   (>0)   [conform to the unit system set by [[OPT__UNIT | Runtime-Parameters:-Units#OPT__UNIT]] or [[--comoving | Installation:-Option-List#--comoving]]] + * **Description:** +Reduced planck constant in g.cm^2/s^2. + * **Restriction:** +It will be overwritten by the default value when [[OPT__UNIT | Runtime-Parameters:-Units#OPT__UNIT]] or [[--comoving | Installation:-Option-List#--comoving]] +is on; no default when [[OPT__UNIT | Runtime-Parameters:-Units#OPT__UNIT]] and +[[--comoving | Installation:-Option-List#--comoving]] is off. + + +* #### `ELBDM_LAMBDA`   (none)   [1] + * **Description:** +Quartic self-interaction coefficient in ELBDM. + * **Restriction:** + + +* #### `ELBDM_TAYLOR3_COEFF`   (≥0.125)   [1.0/6.0] + * **Description:** +Coefficient for the 3rd-order Taylor expansion of the wave function. +Values below 0.125 are always unstable. +Values ≤ 1/6 become unstable if +[[DT__FLUID | Runtime-Parameters:-Timestep#DT__FLUID]] > +$\sqrt{3}\pi/8$ or $\sqrt{27}\pi/32$ (when [[--laplacian_four | Installation:-Option-List#--laplacian_four]] is enabled). + * **Restriction:** +Only applicable when the compilation option +[[ --wave_scheme | Installation:-Option-List#--wave_scheme ]] = `FD`. +Ignored if [ELBDM_TAYLOR3_AUTO](#ELBDM_TAYLOR3_AUTO) is enable. + +* #### `ELBDM_TAYLOR3_AUTO`   (none)   [0] + * **Description:** +If this parameter is set to 1, the code will automatically determine the coefficient +[ELBDM_TAYLOR3_COEFF](#ELBDM_TAYLOR3_COEFF) to minimize the amplitude error +for the smallest wavelength. + * **Restriction:** +Useless if [[ OPT__FREEZE_FLUID | Runtime-Parameters:-Hydro#OPT__FREEZE_FLUID]] is on. + + +* #### `ELBDM_REMOVE_MOTION_CM`   (0=none, 1=init, 2=every step)   [0] + * **Description:** +Remove the motion of center-of-mass. + * **Restriction:** +Only applicable when enabled +[[ OPT__CK_CONSERVATION | Runtime-Parameters:-Miscellaneous#OPT__CK_CONSERVATION ]]. +Not supported when +[[ --bitwise_reproducibility | Installation:-Option-List#--bitwise_reproducibility ]] = true. + + +* #### `ELBDM_BASE_SPECTRAL`   (0=off, 1=on)   [0] + * **Description:** +Adopt the spectral method to evolve base-level wave function. + * **Restriction:** +Requires [[--fftw | Installation:-Option-List#--fftw]] = FFTW2/FFTW +and periodic boundary conditions for all directions: +[[OPT__BC_FLU | Runtime-Parameters:-Hydro#OPT__BC_FLU_XM]] = 1. + + +* #### `ELBDM_MATCH_PHASE`   (0=off, 1=on)   [1] + * **Description:** +Match child phases with father phases during data restriction. + * **Restriction:** +Only applicable when enabling the compilation option +[[ --elbdm_scheme | Installation:-Option-List#--elbdm_scheme]] = `HYBRID`. +Requires [[ OPT__UM_IC_LEVEL | Runtime-Parameters:-Initial-Conditions#OPT__UM_IC_LEVEL ]] +≥ [ELBDM_FIRST_WAVE_LEVEL](#ELBDM_FIRST_WAVE_LEVEL). + + +* #### `ELBDM_FIRST_WAVE_LEVEL`   (1 ≤ input ≤ [[ MAX_LEVEL | Runtime-Parameters:-Refinement#MAX_LEVEL]])   [none] + * **Description:** +Level at which to switch to the wave solver. + * **Restriction:** +Only applicable when enabling the compilation option +[[ --elbdm_scheme | Installation:-Option-List#--elbdm_scheme]] = `HYBRID`. + + +* #### `OPT__RES_PHASE`   (0=off, 1=on)   [0] + * **Description:** +Restriction on phase. (i.e., the averages of fine-grid data equal the coarse-grid data) + * **Restriction:** + + +* #### `SPEC_INT_TABLE_PATH`   (none)   [none] + * **Description:** +Path to the table of the spectral interpolation. +See [[ ELBDM Spectral Interpolation | ELBDM-Spectral-Interpolation]] for details. +Table download script is available at +`example/test_problem/ELBDM/LSS_Hybrid/download_spectral_interpolation_tables.sh`. + * **Restriction:** +Only applicable when the enabling compilation option +[[ --spectral_interpolation | Installation:-Option-List#--spectral_interpolation]] +and [[ Interpolation schemes | Runtime-Parameters:-Interpolation##INT_TABLE]] = 8. + + +* #### `SPEC_INT_XY_INSTEAD_DEPHA`   (0=off, 1=on)   [1] + * **Description:** +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 + * **Restriction:** +Only applicable when the enabling compilation option +[[ --spectral_interpolation | Installation:-Option-List#--spectral_interpolation]] +and [[ Interpolation schemes | Runtime-Parameters:-Interpolation##INT_TABLE]] = 8. + + +* #### `SPEC_INT_VORTEX_THRESHOLD`   (≥0)   [0.1] + * **Description:** +Vortex detection threshold for [SPEC_INT_XY_INSTEAD_DEPHA](#SPEC_INT_XY_INSTEAD_DEPHA), +triggered when Lap(S) * dx**2 > threshold, indicating a significant phase jump. + * **Restriction:** +Only applicable when the enabling compilation option +[[ --spectral_interpolation | Installation:-Option-List#--spectral_interpolation]] +and [[ Interpolation schemes | Runtime-Parameters:-Interpolation##INT_TABLE]] = 8. + + +* #### `SPEC_INT_GHOST_BOUNDARY`   (≥1)   [4] + * **Description:** +Ghost boundary size for spectral interpolation. + * **Restriction:** +Only applicable when the enabling compilation option +[[ --spectral_interpolation | Installation:-Option-List#--spectral_interpolation]] +and [[ Interpolation schemes | Runtime-Parameters:-Interpolation##INT_TABLE]] = 8. + +## Remarks + + +
+ +## Links +* [[Main page of Runtime Parameters | Runtime Parameters]] +* [[Main page of ELBDM | ELBDM]] \ No newline at end of file diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Gravity.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Gravity.md index 0b3aefac1b..86c5c93776 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Gravity.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Gravity.md @@ -17,10 +17,14 @@ Parameters described on this page: [EXT_POT_TABLE_NPOINT_X](#EXT_POT_TABLE_NPOINT_X),   [EXT_POT_TABLE_NPOINT_Y](#EXT_POT_TABLE_NPOINT_Y),   [EXT_POT_TABLE_NPOINT_Z](#EXT_POT_TABLE_NPOINT_Z),   -[EXT_POT_TABLE_DH](#EXT_POT_TABLE_DH),   +[EXT_POT_TABLE_DH_X](#EXT_POT_TABLE_DH_X),   +[EXT_POT_TABLE_DH_Y](#EXT_POT_TABLE_DH_Y),   +[EXT_POT_TABLE_DH_Z](#EXT_POT_TABLE_DH_Z),   [EXT_POT_TABLE_EDGEL_X](#EXT_POT_TABLE_EDGEL_X),   [EXT_POT_TABLE_EDGEL_Y](#EXT_POT_TABLE_EDGEL_Y),   -[EXT_POT_TABLE_EDGEL_Z](#EXT_POT_TABLE_EDGEL_Z)   +[EXT_POT_TABLE_EDGEL_Z](#EXT_POT_TABLE_EDGEL_Z),   +[EXT_POT_TABLE_FLOAT8](#EXT_POT_TABLE_FLOAT8),   +[OPT__GRAVITY_EXTRA_MASS](#OPT__GRAVITY_EXTRA_MASS)   @@ -132,7 +136,7 @@ Enable self-gravity. * #### `OPT__EXT_ACC`   (0=off, 1=on)   [0] * **Description:** Add external acceleration. See -[External Acceleration/Potential](#external-accelerationpotential) +[[ External Acceleration/Potential | Gravity#external-accelerationpotential]] for how to specify external acceleration. * **Restriction:** Not applicable to the wave dark matter simulations @@ -142,7 +146,7 @@ Not applicable to the wave dark matter simulations * #### `OPT__EXT_POT`   (0=off, 1=function, 2=table)   [0] * **Description:** Add external potential. See -[External Acceleration/Potential](#external-accelerationpotential) +[[ External Acceleration/Potential | Gravity#external-accelerationpotential]] for how to specify external potential. * **Restriction:** @@ -170,10 +174,22 @@ See [EXT_POT_TABLE_NPOINT_X](#EXT_POT_TABLE_NPOINT_X). See [EXT_POT_TABLE_NPOINT_X](#EXT_POT_TABLE_NPOINT_X). * **Restriction:** - -* #### `EXT_POT_TABLE_DH`   (>0.0)   [none] + +* #### `EXT_POT_TABLE_DH_X`   (>0.0)   [none] * **Description:** -For [OPT__EXT_POT](#OPT__EXT_POT)`=2`: spatial interval between adjacent tabular data. +For [OPT__EXT_POT](#OPT__EXT_POT)`=2`: spatial interval along the x direction between adjacent tabular data. + * **Restriction:** + + +* #### `EXT_POT_TABLE_DH_Y`   (>0.0)   [none] + * **Description:** +See [EXT_POT_TABLE_DH_X](#EXT_POT_TABLE_DH_X). + * **Restriction:** + + +* #### `EXT_POT_TABLE_DH_Z`   (>0.0)   [none] + * **Description:** +See [EXT_POT_TABLE_DH_X](#EXT_POT_TABLE_DH_X). * **Restriction:** @@ -198,6 +214,25 @@ See [EXT_POT_TABLE_EDGEL_X](#EXT_POT_TABLE_EDGEL_X). See [EXT_POT_TABLE_EDGEL_X](#EXT_POT_TABLE_EDGEL_X). * **Restriction:** + +* #### `EXT_POT_TABLE_FLOAT8`   (0=single precision, 1=double precision; <0 → set to default)   [-1] + * **Description:** +For [OPT__EXT_POT](#OPT__EXT_POT)`=2`: floating-point accuracy of the tabular data. +**NOT SUPPORTED YET!!** The code currently only supports the default setting, +which matches the floating-point accuracy specified by +[[--double | Installation:-Option-List#--double]] during compilation. + * **Restriction:** + + +* #### `OPT__GRAVITY_EXTRA_MASS`   (0=off, 1=on)   [0] + * **Description:** +Enable extra mass in the gravity solver. +Mass introduced here is only used for gravity (e.g., Poisson equation) and +is excluded from other equations (e.g., hydro/MHD/Schrödinger) and output data. +To configure the extra mass, edit /src/SelfGravity/Poi_AddExtraMassForGravity.cpp. +Refer to [[Initialization Function | Adding-New-Simulations#initialization-function]] for details. + * **Restriction:** + ## Remarks diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Hydro.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Hydro.md index 9b5c78250a..0c18e87d78 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Hydro.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Hydro.md @@ -28,6 +28,8 @@ Parameters described on this page: [MIN_DENS](#MIN_DENS),   [MIN_PRES](#MIN_PRES),   [MIN_EINT](#MIN_EINT),   +[MIN_TEMP](#MIN_TEMP),   +[MIN_ENTR](#MIN_ENTR),   [OPT__CHECK_PRES_AFTER_FLU](#OPT__CHECK_PRES_AFTER_FLU),   [OPT__LAST_RESORT_FLOOR](#OPT__LAST_RESORT_FLOOR),   [JEANS_MIN_PRES](#JEANS_MIN_PRES),   @@ -311,6 +313,18 @@ Gas pressure floor. Gas internal energy density floor. * **Restriction:** + +* #### `MIN_TEMP`   (≥0.0)   [0.0] + * **Description:** +Gas temperature floor in K. + * **Restriction:** + + +* #### `MIN_ENTR`   (≥0.0)   [0.0] + * **Description:** +Gas entropy floor. + * **Restriction:** + * #### `JEANS_MIN_PRES`   (0=off, 1=on)   [0] * **Description:** 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 4d61bb5a22..188a87799d 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Input__Parameter.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Input__Parameter.md @@ -26,6 +26,9 @@ This page includes the following topics: * [[Hydro | Runtime-Parameters:-Hydro]] -- Hydro solvers, physical constants, boundary conditions +* [[ELBDM | Runtime-Parameters:-ELBDM]] +-- ELBDM solvers, physical constants, boundary conditions + * [[Gravity | Runtime-Parameters:-Gravity]] -- Gravity solvers, physical constants, boundary conditions diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Interpolation.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Interpolation.md index 600bae5c34..8c00f4e0a7 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Interpolation.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Interpolation.md @@ -20,6 +20,7 @@ Parameters described on this page: [OPT__RHO_INT_SCHEME](#OPT__RHO_INT_SCHEME),   [OPT__GRA_INT_SCHEME](#OPT__GRA_INT_SCHEME),   [OPT__REF_POT_INT_SCHEME](#OPT__REF_POT_INT_SCHEME),   +[OPT__INT_PHASE](#OPT__INT_PHASE),   [INT_MONO_COEFF](#INT_MONO_COEFF),   [INT_MONO_COEFF_B](#INT_MONO_COEFF_B),   [MONO_MAX_ITER](#MONO_MAX_ITER),   @@ -41,6 +42,7 @@ Supported interpolation schemes: |5 | Non-conservative quadratic| |6 | Conservative quartic| |7 | Non-conservative quartic| +|8 | Spectral | Parameters below are shown in the format:   **`Name`   (Valid Values)   [Default Value]** @@ -112,6 +114,14 @@ gravitational acceleration. Interpolation scheme for computing the gravitational potential on the newly refined patches. * **Restriction:** + +* #### `OPT__INT_PHASE`   (0=off, 1=on)   [1] + * **Description:** +Enable phase interpolation (does not support MinMod-1D). +The interpolation scheme follows `OPT__REF_FLU_INT_SCHEME`. + * **Restriction:** +For [[--model | Installation:-Option-List#--model]]=ELBDM only. + * #### `INT_MONO_COEFF`   (1.0 ≤ input ≤ 4.0)   [2.0] * **Description:** diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-MPI-and-OpenMP.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-MPI-and-OpenMP.md index 3b8fad53e4..bb89dfd07b 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-MPI-and-OpenMP.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-MPI-and-OpenMP.md @@ -1,10 +1,12 @@ Parameters described on this page: [OMP_NTHREAD](#OMP_NTHREAD),   [OPT__INIT_GRID_WITH_OMP](#OPT__INIT_GRID_WITH_OMP),   +[OPT__OVERLAP_MPI](#OPT__OVERLAP_MPI),   [LB_INPUT__WLI_MAX](#LB_INPUT__WLI_MAX),   [LB_INPUT__PAR_WEIGHT](#LB_INPUT__PAR_WEIGHT),   [OPT__RECORD_LOAD_BALANCE](#OPT__RECORD_LOAD_BALANCE),   -[OPT__MINIMIZE_MPI_BARRIER](#OPT__MINIMIZE_MPI_BARRIER)   +[OPT__MINIMIZE_MPI_BARRIER](#OPT__MINIMIZE_MPI_BARRIER),   +[OPT__LB_EXCHANGE_FATHER](#OPT__LB_EXCHANGE_FATHER)   Parameters below are shown in the format:   **`Name`   (Valid Values)   [Default Value]** @@ -34,6 +36,17 @@ for example, the initial condition setup involves random numbers. Only applicable when enabling the compilation option [[--openmp | Installation:-Option-List#--openmp]]. + +* #### `OPT__OVERLAP_MPI`   (0=off, 1=on)   [0] + * **Description:** +Whether or not to enable the overlapping MPI communication +of CPU/GPU computation. **NOT SUPPORTED YET!!** + * **Restriction:** +Only applicable when enabling the compilation option +[[--overlap_mpi | Installation:-Option-List#--overlap_mpi]], +[[--mpi | Installation:-Option-List#--mpi]], +[[--openmp | Installation:-Option-List#--openmp]]. + * #### `LB_INPUT__WLI_MAX`   (≥0.0)   [0.1] * **Description:** @@ -81,6 +94,16 @@ set [[PAR_IMPROVE_ACC | Runtime Parameters:-Particles#PAR_IMPROVE_ACC]]=1. must be disabled. In addition, it is currently recommended to disable [[AUTO_REDUCE_DT | Runtime Parameters:-Timestep#AUTO_REDUCE_DT]]. + +* #### `OPT__LB_EXCHANGE_FATHER`   (0=off, 1=on)   [0 usually, 1 for [[--ELBDM_SCHEME=HYBRID | Installation:-Option-List#--elbdm_scheme]]] + * **Description:** +Enables the exchange of all cells from all father patches during load balancing. + * **Restriction:** +Only applicable when enabling the compilation option +[[--mpi | Installation:-Option-List#--mpi]]. +This option is mandatory for [[--ELBDM_SCHEME=HYBRID | Installation:-Option-List#--elbdm_scheme]] +to ensure proper phase field matching. + ## Remarks diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Particles.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Particles.md index ed6a212ba0..a3bfd7c07e 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Particles.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Particles.md @@ -10,6 +10,7 @@ Parameters described on this page: [PAR_INTEG](#PAR_INTEG),   [PAR_TR_INTERP](#PAR_TR_INTERP),   [PAR_TR_INTEG](#PAR_TR_INTEG),   +[PAR_TR_VEL_CORR](#PAR_TR_VEL_CORR),   [PAR_IMPROVE_ACC](#PAR_IMPROVE_ACC),   [PAR_PREDICT_POS](#PAR_PREDICT_POS),   [PAR_REMOVE_CELL](#PAR_REMOVE_CELL),   @@ -114,6 +115,16 @@ Tracer particle integration scheme. Euler integration is only first-order accura and is generally not recommended. * **Restriction:** + +* #### `PAR_TR_VEL_CORR`   (0=off, 1=on)   [0] + * **Description:** +Tracer particle velocities will be corrected in regions of discontinuous flow. +It may be used only for mapping velocity, used to correct tracer particle +trajectories in discontinuous flows. See Section 2.2 and Equation 1 of +[Wittor et al. (2016) MNRAS, 464, 4](https://ui.adsabs.harvard.edu/abs/2017MNRAS.464.4448W) + * **Restriction:** +Only applicable when adopting [PAR_INTERP](#PAR_INTERP)=2/3 + * #### `PAR_IMPROVE_ACC`   (0=off, 1=on)   [1] * **Description:** diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Refinement.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Refinement.md index 9c8ff3f3b8..fbe834d868 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Refinement.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Refinement.md @@ -43,6 +43,10 @@ Parameters described on this page: [OPT__FLAG_LOHNER_ENTR](#OPT__FLAG_LOHNER_ENTR),   [OPT__FLAG_LOHNER_CRAY](#OPT__FLAG_LOHNER_CRAY),   [OPT__FLAG_LOHNER_FORM](#OPT__FLAG_LOHNER_FORM),   +[OPT__FLAG_ENGY_DENSITY](#OPT__FLAG_ENGY_DENSITY),   +[OPT__FLAG_INTERFERENCE](#OPT__FLAG_INTERFERENCE),   +[OPT__FLAG_SPECTRAL](#OPT__FLAG_SPECTRAL),   +[OPT__FLAG_SPECTRAL_N](#OPT__FLAG_SPECTRAL_N),   [OPT__FLAG_USER](#OPT__FLAG_USER),   [OPT__FLAG_USER_NUM](#OPT__FLAG_USER_NUM),   [OPT__FLAG_REGION](#OPT__FLAG_REGION),   @@ -343,6 +347,74 @@ for cells with gas density lower than this threshold. input file `Input__Flag_Lohner`.* * **Restriction:** + +* #### `OPT__FLAG_ENGY_DENSITY`   (0=off, 1=on)   [0] + * **Description:** +Refinement criterion: energy density. +Specify the refinement thresholds on different levels in the input +file `Input__Flag_EngyDensity` with the +[[specific format | Runtime-Parameters:-Input__Flag_*]]. +Additional column `Soften` is added to the denominator when evaluating energy density +to prevent flagging in the extremely low density region. +An example file can be found at `example/input/Input__Flag_EngyDensity`. + * **Restriction:** +Must compile with [[--model | Installation:-Option-List#--model]]=ELBDM. + + +* #### `OPT__FLAG_INTERFERENCE`   (0=off, 1=on)   [0] + * **Description:** +Refinement criterion: interference. +When this option is enabled, the code will flag if one of the following criteria's value +is larger than the threshold (dimensionless): + * minimum density & quantum pressure (QP) & local extremum in density field + * second derivative in phase & local extremum in phase field + + An example file can be found at `example/input/Input__Flag_Interference`. + ``` + # Level QP Density PhaseLap OnlyAtExtrema + 0 0.03 0 1.0 0 + 1 0.03 0 1.0 0 + 2 0.03 0 1.0 0 + ``` + * QP: Threshold <= 0.03 avoids spurious halos + and yields good agreement with wave-only simulations + * Density: Threshold is defaulted to 0.0. + Non-zero values can prevent refinement in low-density regions with + minor oscillations but use with caution as they may cause instability. + * PhaseLap: Second derivative of phase field. + * OnlyAtExtrema: Refine only at density and phase field extrema (default: False). + Can prevent refinement in regions with high quantum pressure and phase curvature + without destructive interference, but use cautiously as it may cause instability. + + *Caution: If `OPT__FLAG_INTERFERENCE` is off for `ELBDM_HYBRID`, + the simulations will never switch to the wave scheme.* + * **Restriction:** +Must compile with [[--model | Installation:-Option-List#--model]]=ELBDM and [[--ELBDM_SCHEME | Installation:-Option-List#--elbdm_scheme]]=HYBRID. + + +* #### `OPT__FLAG_SPECTRAL`   (0=off, 1=on)   [0] + * **Description:** +Refinement criterion: spectral refinement on wave levels per patch group. +The method checks polynomial expansion coefficients of the wave function. +Higher-order coefficients should decay exponentially for well-resolved regions; +large coefficients indicate under-resolution, triggering refinement. +An example file can be found at `example/input/Input__Flag_Spectral`. +Default values are 1 for all levels. +Derefinement currently not functional. +This function checks the polynomial coefficients of order +(13 - [OPT__FLAG_SPECTRAL_N](#OPT__FLAG_SPECTRAL_N) + 1) to order 13. + * **Restriction:** +Must compile with [[--model | Installation:-Option-List#--model]]=ELBDM. + + +* #### `OPT__FLAG_SPECTRAL_N`   (1 ≤ input ≤ 14)   [2] + * **Description:** +The number of polynomial coefficients to use for spectral refinement. +(See [OPT__FLAG_SPECTRAL](#OPT__FLAG_SPECTRAL) for details.) + * **Restriction:** +Must compile with [[--model | Installation:-Option-List#--model]]=ELBDM +and enabled [OPT__FLAG_SPECTRAL](#OPT__FLAG_SPECTRAL). + * #### `OPT__FLAG_USER`   (0=off, 1=on)   [0] * **Description:** diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Timestep.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Timestep.md index ba8000e787..8e0a244c5b 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Timestep.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Timestep.md @@ -22,6 +22,11 @@ Parameters described on this page: [DT__MAX_DELTA_A](#DT__MAX_DELTA_A),   [DT__SYNC_PARENT_LV](#DT__SYNC_PARENT_LV),   [DT__SYNC_CHILDREN_LV](#DT__SYNC_CHILDREN_LV),   +[DT__PHASE](#DT__PHASE),   +[DT__HYBRID_CFL](#DT__HYBRID_CFL),   +[DT__HYBRID_CFL_INIT](#DT__HYBRID_CFL_INIT),   +[DT__HYBRID_VELOCITY](#DT__HYBRID_VELOCITY),   +[DT__HYBRID_VELOCITY_INIT](#DT__HYBRID_VELOCITY_INIT),   [OPT__DT_USER](#OPT__DT_USER),   [OPT__DT_LEVEL](#OPT__DT_LEVEL),   [OPT__RECORD_DT](#OPT__RECORD_DT),   @@ -143,6 +148,57 @@ with the children level. See also Section 2.1 in the * **Restriction:** For [OPT__DT_LEVEL](#OPT__DT_LEVEL)=3 only. + +* #### `DT__PHASE`   (>0.0; 0=off)   [0] + * **Description:** +Restrict the maximum phase rotation to be less than `DT__PHASE` * 2π within a timestep. +Typically ranges from 0 to 1. + * **Restriction:** +Only applicable when adopting the compilation option +[[--model | Installation:-Option-List#--model]]=ELBDM. + + +* #### `DT__HYBRID_CFL`   (0 ≤ input ≤ 0.49; <0.0 → set to default)   [-1] + * **Description:** +CFL safety factor for the Hamilton-Jacobi equation (refer to [DT__FLUID](#DT__FLUID) CFL) . +The default value is set to 0.4, or 0.2 if [[--gravity | Installation:-Option-List#--gravity]] is enabled. +`DT__HYBRID_CFL` > 0.49 is unstable. + * **Restriction:** +Only applicable when adopting the compilation option +[[--model | Installation:-Option-List#--model]]=ELBDM and [[--elbdm_scheme | Installation:-Option-List#--elbdm_scheme]]=HYBRID. + + +* #### `DT__HYBRID_CFL_INIT`   (0 ≤ input ≤ 0.49; <0.0 → set to default)   [[DT__HYBRID_CFL](#DT__HYBRID_CFL)] + * **Description:** +CFL safety factor for the Hamilton-Jacobi equation _at the first step_. This could be +useful when the first step requires a much smaller timestep. +`DT__HYBRID_CFL_INIT` > 0.49 is unstable. + * **Restriction:** +Only applicable when adopting the compilation option +[[--model | Installation:-Option-List#--model]]=ELBDM and [[--elbdm_scheme | Installation:-Option-List#--elbdm_scheme]]=HYBRID. +Useless for restart. + + +* #### `DT__HYBRID_VELOCITY`   (0 ≤ input ≤ 3.5; <0.0 → set to default)   [-1] + * **Description:** +CFL safety factor for the Hamilton-Jacobi equation (refer to [DT__FLUID](#DT__FLUID) CFL) . +The default value is 1. +`DT__HYBRID_VELOCITY` > 3.5 is unstable. + * **Restriction:** +Only applicable when adopting the compilation option +[[--model | Installation:-Option-List#--model]]=ELBDM and [[--elbdm_scheme | Installation:-Option-List#--elbdm_scheme]]=HYBRID. + + +* #### `DT__HYBRID_VELOCITY_INIT`   (0 ≤ input ≤ 3.5;; <0.0 → set to default)   [[DT__HYBRID_VELOCITY](#DT__HYBRID_VELOCITY)] + * **Description:** +CFL safety factor for the Hamilton-Jacobi equation _at the first step_. This could be +useful when the first step requires a much smaller timestep. +`DT__HYBRID_VELOCITY_INIT` > 3.5 is unstable. + * **Restriction:** +Only applicable when adopting the compilation option +[[--model | Installation:-Option-List#--model]]=ELBDM and [[--elbdm_scheme | Installation:-Option-List#--elbdm_scheme]]=HYBRID. +Useless for restart. + * #### `OPT__DT_USER`   (0=off, 1=on)   [0] * **Description:** diff --git a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Units.md b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Units.md index a659156a23..bfefdef972 100644 --- a/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Units.md +++ b/doc/wiki/Runtime-Parameters-related/Runtime-Parameters:-Units.md @@ -16,8 +16,8 @@ Parameters described on this page: Other related parameters: [[NEWTON_G| Runtime-Parameters:-Gravity#NEWTON_G]],   -[[ELBDM_MASS | Wave-Dark-Matter#ELBDM_MASS]],   -[[ELBDM_PLANCK_CONST | Wave-Dark-Matter#ELBDM_PLANCK_CONST]]   +[[ELBDM_MASS | Runtime-Parameters:-ELBDM#ELBDM_MASS]],   +[[ELBDM_PLANCK_CONST | Runtime-Parameters:-ELBDM#ELBDM_PLANCK_CONST]]   Parameters below are shown in the format:   **`Name`   (Valid Values)   [Default Value]** @@ -92,8 +92,8 @@ When enabling units (i.e., [OPT__UNIT](#OPT__UNIT)=1), all input values must be set consistently with the adopted unit system unless otherwise specified. All input physical constants (e.g., [[NEWTON_G| Runtime-Parameters:-Gravity#NEWTON_G]], -[[ELBDM_MASS | Wave-Dark-Matter#ELBDM_MASS]], and -[[ELBDM_PLANCK_CONST | Wave-Dark-Matter#ELBDM_PLANCK_CONST]]) +[[ELBDM_MASS | Runtime-Parameters:-ELBDM#ELBDM_MASS]], and +[[ELBDM_PLANCK_CONST | Runtime-Parameters:-ELBDM#ELBDM_PLANCK_CONST]]) will be reset automatically to conform to the adopted unit system. The code does not distinguish external and internal units; diff --git a/src/Init/Init_ResetParameter.cpp b/src/Init/Init_ResetParameter.cpp index 4ecd59889f..0c5c0ba9cc 100644 --- a/src/Init/Init_ResetParameter.cpp +++ b/src/Init/Init_ResetParameter.cpp @@ -624,7 +624,7 @@ void Init_ResetParameter() } -// turn off "OPT__OVERLAP_MPI" if (1) OVERLAP_MPI=ff, (2) SERIAL=on, (3) LOAD_BALANCE=off, +// turn off "OPT__OVERLAP_MPI" if (1) OVERLAP_MPI=off, (2) SERIAL=on, (3) LOAD_BALANCE=off, // (4) OPENMP=off, (5) MPI thread support=MPI_THREAD_SINGLE # ifndef OVERLAP_MPI if ( OPT__OVERLAP_MPI )