-
Notifications
You must be signed in to change notification settings - Fork 0
Home
⏸️ Note: GRANITE is on a development hiatus from May to August 2026. The Wiki content remains accurate for v0.6.8 (the stable hiatus checkpoint). See the main repository README for full details.
GRANITE (General‑Relativistic Adaptive N‑body Integrated Tool for Extreme Astrophysics) is a high‑performance, open‑source numerical relativity engine designed to simulate the most violent events in the universe: the simultaneous inspiral, tidal disruption, and merger of multiple supermassive black holes in the presence of massive stars, magnetic fields, radiation, and neutrino microphysics.
Unlike traditional numerical relativity codes that focus on binary black hole or binary neutron star mergers, GRANITE is built from the ground up for N‑body supermassive black hole coalescence (N ≥ 3) with full physics:
- CCZ4 spacetime evolution – 22 evolved variables, 4th‑order finite differences, moving‑puncture gauge, Kreiss–Oliger dissipation.
- GRMHD with advanced Riemann solvers – HLLE and HLLD (Miyoshi & Kusano 2005), MP5/PPM/PLM reconstruction, constrained transport (∇·B = 0).
- Multi‑physics matter – tabulated nuclear EOS, M1 grey radiation transport, hybrid neutrino leakage + moments.
- Block‑structured AMR – Berger–Oliger subcycling, gradient‑based tagging, tracking spheres for moving horizons (full multi‑level AMR is under active development).
- Post‑processing suite – Ψ₄ gravitational‑wave extraction, spin‑weighted spherical harmonics, recoil velocity, Blandford–Znajek jet power, and EM light curves.
- HPC ready – MPI + OpenMP + HDF5 parallel I/O. GPU backends (CUDA/HIP) are on the roadmap.
- Release: v0.6.8
-
Test suite: 107 C++ tests across 20 suites (105 passed, 2 skipped) via GoogleTest v1.14 + Python
pytestsuite -
Validated benchmarks:
single_puncture(Schwarzschild stability),B2_eq(equal‑mass binary black hole merger),gauge_wave(CCZ4 code validation) -
Production‑grade components: CCZ4 core, GRMHD Valencia formulation, HLLD+CT, tabulated EOS, horizon finder,
granite_analysisCLI package.
| If you want to... | Go to |
|---|---|
| Install GRANITE | Installation Guide |
| Understand the engine architecture | Architecture Overview |
| Configure a simulation | Parameter Reference |
| Debug a failing simulation | Simulation Health & Debugging |
| Understand the physics equations | Physics Formulations |
| See benchmark results | Benchmarks & Validation |
| Deploy on HPC | HPC Deployment |
| Contribute code | Developer Guide |
| See what bugs have been fixed | Known Fixed Bugs |
| Understand initial data options | Initial Data |
| Learn about AMR design | AMR Design |
| Understand GW extraction | GW Extraction |
| See what's coming next | Roadmap |
| Get answers to common questions | FAQ |
| See the scientific context | Scientific Context |
| Navigate all documents | Documentation Index |
| Version history | CHANGELOG Summary |
| Explore the interactive WebGL N-body simulator | VORTEX Engine |
| Learn about the Architecture History of GRANITE & VORTEX | Theoretical & Architectural Overview |
Tip
Recommended stable baseline: If you are not experienced with resolving WSL, Python, CMake, or CLI integration errors, do not start from the active main branch. Use the v0.6.5 tag instead. It is the stable baseline release intended for clean benchmark runs with the legacy sim_tracker.py telemetry workflow. Download the v0.6.5 ZIP from the repository Tags page, extract it under WSL/Linux, and run the commands documented inside that version.
- Follow the Installation Guide (Linux / WSL2 only).
- Install the Python analysis package:
pip install -e .[dev] - Run the health check:
python3 scripts/health_check.py - Launch the single‑puncture benchmark:
python3 scripts/run_granite.py run --benchmark single_puncture - Explore the live dashboard:
python3 scripts/run_granite.py dev— integrated build → run →granite_analysistelemetry pipeline.
git clone https://github.com/LiranOG/Granite-NR.git && cd Granite-NR
# Install dependencies (Ubuntu/WSL2)
sudo apt update && sudo apt install -y build-essential cmake libhdf5-dev libopenmpi-dev libyaml-cpp-dev
# Build
python3 scripts/run_granite.py build --build-type Release
# Install Python analysis package
pip install -e .[dev]
# Pre-flight check
python3 scripts/health_check.py
# Run all tests (C++ + Python)
PYTHONPATH=python pytest -q tests/python
# Run single-puncture benchmark
python3 scripts/run_granite.py run --benchmark single_puncture
# Live telemetry pipe
./build/bin/granite_main benchmarks/B2_eq/params.yaml 2>&1 | python3 -m granite_analysis.cli.sim_trackerGRANITE welcomes contributions from the scientific and open-source communities. See Developer Guide and .github/CONTRIBUTING.md.
For institutional partnership, HPC allocations, or academic collaboration: open a GitHub Issue tagged [partnership].
"Simulate the unimaginable."
GRANITE v0.6.8 — MAY 19, 2026 — LiranOG
v0.6.8 · Repository · Issues
- 🩺 Simulation Health & Debugging
- 📊 Benchmarks & Validation
- 🗂️ AMR Design
- 🖥️ HPC Deployment
- 🌀 VORTEX Engine
"Simulate the unimaginable."