No description
  • Jupyter Notebook 99.1%
  • Python 0.7%
  • Shell 0.2%
Find a file
2026-08-05 21:41:41 +02:00
notebooks work in progress; add notebooks_demo 2026-08-05 21:41:41 +02:00
notebooks_demo work in progress; add notebooks_demo 2026-08-05 21:41:41 +02:00
src work in progress; add notebooks_demo 2026-08-05 21:41:41 +02:00
submit work in progress; add notebooks_demo 2026-08-05 21:41:41 +02:00
submit_demo work in progress; add notebooks_demo 2026-08-05 21:41:41 +02:00
.env.example work in progress; small fixes throughout the repository 2026-07-31 11:53:40 +02:00
.gitignore Enhancement; cleaning; fixes; refactoring; add new scripts and configuration files for full validation suite 2026-07-29 06:25:13 +02:00
LICENSE first commit 2026-07-26 06:54:13 +02:00
README.md work in progress; small fixes throughout the repository 2026-07-31 11:53:40 +02:00
RUNBOOK_CLASS.md work in progress; add notebooks_demo 2026-08-05 21:41:41 +02:00

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.