Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ChunYen-Chen authored Dec 17, 2024
1 parent 6570b54 commit e24f7eb
Showing 1 changed file with 25 additions and 11 deletions.
36 changes: 25 additions & 11 deletions example/test_problem/ELBDM/LSS_Hybrid/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,23 +28,33 @@
| OPT__FLAG_INTERFERENCE | 1 |

3. Flag tables
* `Input__Flag_Rho`: example/input/Input__Flag_Rho8
* `Input__Flag_Spectral`: example/input/Input__Flag_Spectral
* `Input__Flag_Interference`: example/input/Input__Flag_Interference
* `Input__Flag_Rho`: `example/input/Input__Flag_Rho8`
* `Input__Flag_Spectral`: `example/input/Input__Flag_Spectral`
* `Input__Flag_Interference`: `example/input/Input__Flag_Interference`


Note:
========================================
1. Cosmological large-scale structure simulations using hybrid scheme

2. Quickstart:
1. Download the IC file: `sh download_light_halo_ic.sh` or `sh download_heavy_halo_ic.sh`
1. Download the IC file
```bash
sh download_light_halo_ic.sh
```
or
```bash
sh download_heavy_halo_ic.sh
```
2. For spectral interpolation:
- Download spectral interpolation tables with `sh download_spectral_interpolation_tables.sh`
- Set `OPT__FLU_INT_SCHEME` and `OPT__REF_FLU_INT_SCHEME` to 8
- Download spectral interpolation tables
```bash
sh download_spectral_interpolation_tables.sh
```
- Set [[OPT__FLU_INT_SCHEME | ]] and [[OPT__REF_FLU_INT_SCHEME | ]] to 8
3. Compile GAMER and run simulation to redshift 0 with default settings.

3. Explanation:
4. Explanation:
1. IC

The wave IC consisting of two blocks of real and imaginary parts are converted to hybrid IC
Expand All @@ -65,18 +75,22 @@ Note:
and supports up- and downscaling periodic wave and hybrid IC. Optionally, it accepts the keyword -float8 for double precision input data.
2. Interpolation tables

The tables can be recreated by calling `mpirun -n 16 python3 tool/table_maker/GramFE/compute_interpolation_tables.py`. `INT_SPEC_TABLE_PATH` (default = "./") must be set to a folder containing the folders `interpolation_tables` and `boundary2extension_tables`
The tables can be recreated by calling
```bash
mpirun -n 16 python3 tool/table_maker/GramFE/compute_interpolation_tables.py
```
`INT_SPEC_TABLE_PATH` (default = "./") must be set to a folder containing the folders `interpolation_tables` and `boundary2extension_tables`

3. The simulation uses a low base-level resolution of 2.8 Mpc/h / 64 ~ 44 kpc/h (comoving).
This corresponds to a maximum wave vector k ~ 72 h/Mpc well above the cutoff power in the initial conditions for m = 2.0e-23 eV. This initial resolution has shown very good agreement with higher resolution wave initial conditions.

4. The simulation uses the fluid solver on levels 0 - 3 and switches to the wave solver in regions of interference on level 4.
The corresponding runtime parameter `ELBDM_FIRST_WAVE_LEVEL` is set to 4.
The corresponding runtime parameter [[ELBDM_FIRST_WAVE_LEVEL | ELBDM#ELBDM_FIRST_WAVE_LEVEL]] is set to 4.

The resolution for the first level using the wave solver is 2.8 Mpc/h /(64*2^4) ~ 2.75 kpc/h (comoving) with these settings.
This resolution has shown to be a good compromise for the starting resolution of the wave solver.
Note that increasing [[ELBDM_FIRST_WAVE_LEVEL | ]] will affect performance since it will likely lead to overrefinement. However, it should increase the accuracy of the hybrid scheme.
On the contrary, decreasing [[ELBDM_FIRST_WAVE_LEVEL | ]] will lead to a lower-resolution at the wave-fluid boundary (regardless of [[MAX_LEVEL | ]] and [[REFINE_NLEVEL | ]]) and will negatively affect the accuracy of the solver.
Note that increasing [[ELBDM_FIRST_WAVE_LEVEL | ELBDM#ELBDM_FIRST_WAVE_LEVEL]] will affect performance since it will likely lead to overrefinement. However, it should increase the accuracy of the hybrid scheme.
On the contrary, decreasing [[ELBDM_FIRST_WAVE_LEVEL | ELBDM#ELBDM_FIRST_WAVE_LEVEL]] will lead to a lower-resolution at the wave-fluid boundary (regardless of [[MAX_LEVEL | Runtime-Parameters:-Refinement#MAX_LEVEL]] and [[REFINE_NLEVEL | Runtime-Parameters:-Refinement#REFINE_NLEVEL]]) and will negatively affect the accuracy of the solver.

3. Default maximum resolution is low
--> Only 2.8/(64*2^6) ~ 0.7 kpc/h (comoving)
Expand Down

0 comments on commit e24f7eb

Please sign in to comment.