No description
- Jupyter Notebook 99.1%
- Python 0.7%
- Shell 0.2%
| notebooks | ||
| notebooks_demo | ||
| src | ||
| submit | ||
| submit_demo | ||
| .env.example | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| RUNBOOK_CLASS.md | ||
valp3m
Validation suite for the (tCOLA+)P3M gravity module of Simbelmynë.
Layout
| Directory | Content |
|---|---|
src/ |
The valp3m package; every shared routine lives here. |
notebooks/ |
The suite, run in order. Five are written by notebooks/generators/. |
submit/ |
SLURM scripts producing the artifacts the notebooks read. |
reports/ |
Measured findings, each with the measurement behind it. |
Simulation outputs, the per-run parameter and time-stepping files and the matplotlib cache all go under VALP3M_OUTPUT_PATH. Both data trees carry a per-spectrum sub-level, so valp3m.params.OUTPUT_PATH and RESULTS_PATH are the paths used by the code.
Setup
cp .env.example .env # then edit the two paths
set -a; source .env; set +a # from the repository root
cd src && pip install -e . --no-deps && cd ..
pysbmy must be importable and built from the appropriate Simbelmynë branch (soon-to-be available).
The suite
| Notebook | Validates | Where |
|---|---|---|
00_nonreg |
Non-regression runs for all force techniques (PM, tCOLA+PM, P3M, tCOLA+P3M), against a committed reference | compute node, ~25 min single-core |
01_force_law |
Measured two-body forces against closed-form laws. | compute node, minutes |
02_timestepping |
The Python to C time-stepping contract | anywhere, seconds |
03_convergence |
Time-step convergence of tCOLA+P3M against P3M | analysis only |
04_momentum_conservation |
Momentum conservation | anywhere, seconds |
05_limiters |
Limiter prefactors against accuracy targets, and the stringent grid | analysis only |
06_initial_redshift |
Effect of the 2LPT initial redshift, P3M and PM | analysis only |
07_hmf |
Halo mass functions of tCOLA+P3M against P3M | analysis only |
08_constants |
Values of physical and numerical constants | anywhere, seconds |
09_curation |
Limiter curation across configurations, with CPU cost | analysis only |
10_production |
Runs meeting the most stringent tiers on every statistic | analysis only |
11_production_GADGET |
Stringent runs against GADGET-4 TreePM | analysis only |
12_tiers_L80 |
Cheapest schedule meeting each of four accuracy tiers, at L = 80, N_p = 120^3 |
analysis only |
Run them in order after any change to Simbelmynë or to this repository. Each states its purpose and pass criteria in its header.
Licence
GPL-3.0-or-later; see LICENSE.