-
Notifications
You must be signed in to change notification settings - Fork 0
VORTEX Simulator
VORTEX ETERNITY | v0.6.7 (Gold Master) | April 15, 2026
Location: viz/vortex_eternity/
"Where equations meet eternity β every orbit, every merger, every collapse, rendered in real time."
- What is VORTEX?
- VORTEX and GRANITE β Architecture
- Physics Engine β Complete Reference
- Zero-Allocation Architecture
- Rendering Pipeline
- Simulation Scenarios
- Live Telemetry Dashboard
- Camera System
- Controls & Keyboard Reference
- Cinematic & Recording Tools
- Data I/O
- Version History
- Roadmap: VORTEX v1.0
- Physics References
VORTEX (VORTEX ETERNITY) is a standalone, browser-native N-body simulation and visualization engine for gravitational astrophysics. It runs entirely inside a single HTML file with no installation, no server, and no external dependencies beyond the bundled Three.js library.
VORTEX is not a toy simulation. It is a research-grade Post-Newtonian engine implementing the full EIH hierarchy through 2PN, with analytical 2.5PN radiation reaction, 1.5PN Lense-Thirring spin-orbit coupling, 2PN spin-spin, and 2PN quadrupole-monopole corrections β all running in a Hermite 4th-order predictor-corrector integrator stabilized by Kahan compensated summation.
- Gravitational N-body dynamics under full Post-Newtonian gravity (1PN + 2PN + 2.5PN)
- Black hole and neutron star inspiral with gravitational wave energy loss
- Lense-Thirring frame dragging and spin precession (exact Rodrigues rotation)
- Tidal Disruption Events (TDE) via Roche limit physics
- Supernovae and Hypernovae with blast dynamics
- Accretion disk formation around compact objects
- Kozai-Lidov oscillations, EMRI, galactic center dynamics
- Merger mass defect (ΞM_rad), GW recoil kicks
- Solar System dynamics, circumbinary planets, pulsar environments
- Real-time WebGL 3D scene at 60 FPS
- Gravitational lensing via custom GLSL Schwarzschild ray-deflection shader
- Einstein Cross (4-image lensing) for extreme compact objects
- Relativistic Doppler shift (redshift/blueshift) and Lorentz beaming
- Body trails, glow halos, accretion disk particles
- Live orbital trajectory prediction (ellipse/hyperbola/parabola)
- Minimap with Isobar (gravitational potential) and Flux (radiation) sensor modes
CURRENT STATE (v0.6.7)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
GRANITE (C++ HPC) VORTEX (Browser Engine)
CCZ4 spacetime evolution β Standalone PN sandbox
GRMHD Valencia β Independent N-body sim
HDF5 checkpoints β No GRANITE connection yet
AMR grid hierarchy β Own physics integrator
TARGET STATE (v1.0)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
GRANITE (C++ HPC) VORTEX (3D Dashboard)
Full CCZ4 + GRMHD sim β Read GRANITE HDF5 files
Produces HDF5 + JSON β Replay spacetime data
Python distills outputs β Render horizon topology
Kinematic streams β Visualize Psi4 GW strain
Telemetry JSON β Interactive NR explorer
VORTEX is the visualization and outreach layer of GRANITE. The C++ backend handles the full non-linear CCZ4 field equations at supercomputer scale. VORTEX handles human perception β making those results tangible, interactive, and beautiful in a browser tab.
The v1.0 integration pipeline:
GRANITE HDF5 checkpoints
β
Python granite_analysis (distillation)
β
JSON kinematic + telemetry streams
β
VORTEX ingest + 3D playback
β
Interactive exploration of NR data
Reference: Makino & Aarseth (1992), PASJ 44, 141β151
The Hermite scheme evolves both position x and velocity v simultaneously, requiring both the acceleration a and its time derivative β the jerk j = da/dt β at each step. This 4th-order accuracy with jerk is far superior to RK4 for gravitational N-body problems.
Predict step:
x_p = x + vΒ·dt + (1/2)aΒ·dtΒ² + (1/6)jΒ·dtΒ³
v_p = v + aΒ·dt + (1/2)jΒ·dtΒ²
Evaluate: Compute forces and jerks (a_new, j_new) at predicted positions.
Correct step:
v = vβ + (1/2)(aβ+aβ)dt + (1/12)(jβ-jβ)dtΒ²
x = xβ + (1/2)(vβ+vβ)dt + (1/12)(aβ-aβ)dtΒ²
Adaptive timestep (Aarseth criterion):
dt = Ξ· Γ sqrt(|a| / |j|)
Ξ· is a safety factor. Small steps near close encounters; large steps in the far field β critical for accurate inspiral simulations.
NaN Shield: After every corrector step, all position/velocity components are validated. If NaN or Infinity is detected, the timestep is bisected and retried. After MAX_BISECT = 6 halvings without recovery, the corrupted body is surgically removed and the simulation continues.
All energy accumulation uses the Kahan compensated summation algorithm to prevent floating-point round-off from accumulating over millions of integration steps:
class KahanSum {
add(value) {
const y = value - this.c; // compensated value
const t = this.sum + y; // sum + compensated value
this.c = (t - this.sum) - y; // capture lost bits
this.sum = t;
}
}The ΞE/Eβ readout in the top bar is the Kahan-tracked symplectic energy error. Values below 0.01% indicate excellent Hamiltonian conservation.
All PN corrections are togglable at runtime and applied as acceleration + jerk terms in the O(NΒ²) force loop.
Reference: Will (2014), LRRGR Β§9
aβ^{1PN} = (Gmβ/rΒ²cΒ²) Β· [nΜΒ·Ξ¦β + (4nΜΛβ - 3nΜΛβ)Β·v_rel]
Ξ¦β = -vβΒ² - 2vβΒ² + 4(vβΒ·vβ) + (3/2)αΉ
βΒ² + 5Gmβ/r + 4Gmβ/r
VORTEX implements the full analytical 1PN jerk (da^{1PN}/dt via chain rule) β not a finite-difference approximation. This is required for Hermite-4 correctness and is rare even in research codes.
Reference: Will (2014) Β§9.1; Blanchet & Iyer (2003), PRD 71, 024004
O(v/c)β΄ corrections. Active for all body types.
a^{2PN} = (Gm/rΒ²cβ΄) Β· (AβΒ·nΜ + BβΒ·v_rel)
Aβ includes: velocityβ΄ terms + (Gm/r)Β·velocityΒ² cross terms + (GΒ²mΒ²/rΒ²) terms
Bβ includes: (nΜΒ·v_b)Β·velocityΒ² + (Gm/r)Β·radial projections
Reference: Blanchet (2014), LRRGR Β§5
The term that drives inspiral β removes orbital energy at the Peters quadrupole rate:
a^{2.5PN} = (4/5)Β·GΒ²mβmβ/(cβ΅rΒ³) Β· [nΜΒ·A_rad + v_relΒ·B_rad]
A_rad = αΉ
Β·(-6vΒ² + 52GM/3r + 3αΉ
Β²)
B_rad = 2vΒ² - 8GM/r - 3αΉ
Β²
Active only for compact objects: BH and NS types. VORTEX also implements the full analytical 2.5PN jerk (not finite difference).
Reference: Barker & O'Connell (1975); Damour (2001) Β§4
Full Barker-O'Connell spin-orbit force:
F_SO = (GΞΌ/rΒ³cΒ²) Β· {6(nΜΓv)(S_effΒ·nΜ) - 3(S_effΒ·nΜ)nvΒ·nΜ + 3nv(S_effΓnΜ) - S_effΓv}
S_eff = Sβ/mβ + Sβ/mβ (mass-reduced effective spin)
Spin precession via exact Rodrigues rotation β preserves |S| exactly. Euler integration inflates spin magnitude and is NOT used.
Reference: Barker & O'Connell (1975); Kidder (1995), PRD 52, 821
Fβ_SS = (G/mβmβcΒ²rβ΄) Β· {15(nΜΒ·Sβ)(nΜΒ·Sβ)nΜ - 3(SβΒ·Sβ)nΜ - 3(nΜΒ·Sβ)Sβ - 3(nΜΒ·Sβ)Sβ}
Fβ_SS = -Fβ_SS (Newton's 3rd β exact for Hamiltonian systems)
Reference: Poisson (1998), PRD 57, 5287
C_Q coefficients: BH β 1.0 (Kerr metric)
NS β 4.0 (canonical stiff EOS)
F_QM = (Gm_bΒ·C_Q)/(2cΒ²m_aΒ²rβ΄) Β· {6(nΜΒ·S_a)S_a + (3S_aΒ² - 15(nΜΒ·S_a)Β²)nΜ}
d_Roche = 2.44 Β· r_phys Β· (M_massive / M_small)^(1/3)
r_phys = 0.7 Β· m^(1/3) [calibrated: 1 Mβ β 0.7 sim-units]
Trigger: r < d_Roche AND M_massive β₯ 100 AND M_small β₯ 0.5
Hypernova threshold: M_star > 40 Mβ β E_HN = 100 Γ E_SN
Lethal zone: E_deposited > E_binding β companion evaporates
E_binding = 3GMΒ²/(5R) (uniform sphere)
Blast: a = E_totalΒ·Ο / (4ΟRΒ²Β·m_companion)
ISCO-bounded particle dynamics. Keplerian orbits between visual radius and Kerr ISCO:
r_ISCO = GM/cΒ² Β· (3 + Zβ - sqrt[(3-Zβ)(3+Zβ+2Zβ)])
Disk luminosity: L = GΒ·MΒ·αΉ / (2Β·r_ISCO)
The VORTEX physics hot loop allocates exactly zero objects per frame. This is the architectural foundation that enables 60 FPS under intense computation.
JavaScript's garbage collector pauses execution when it reclaims memory. Naive vector code creates thousands of new THREE.Vector3() per frame β GC stall every few seconds β dropped frames.
Solution: All temporary vectors are pre-allocated at startup:
const _r = new THREE.Vector3(); // separation vector rββ
const _v = new THREE.Vector3(); // velocity difference vβ-vβ
const _a = new THREE.Vector3(); // Newtonian acceleration kernel
const _k = new THREE.Vector3(); // jerk kernel
const _nHat = new THREE.Vector3(); // unit vector nΜ = rΜββ
const _pnA = new THREE.Vector3(); // PN acceleration accumulator
const _pnJ = new THREE.Vector3(); // PN jerk accumulatorAll operations mutate these vectors in-place:
// CORRECT (zero-alloc):
_r.subVectors(b2.position, b1.position);
// WRONG (allocates on heap):
const r = b2.position.clone().sub(b1.position); // NEVER in hot loopResult at 20 substeps/frame:
- Without ZAA: ~40,000 Vector3 allocations/frame β GC every 2 seconds
- With ZAA: 0 allocations/frame β GC never triggered by physics
VORTEX uses Three.js r128 as the WebGL abstraction layer.
All N bodies rendered as a single draw call:
Pre-allocate InstancedMesh with MAX_BODIES = 64
Each frame: mutate instanceMatrix[] and instanceColor[] in-place
Single draw call regardless of body count
frustumCulled = false: bodies never clipped at large orbital radii
Custom ShaderPass post-processing simulates Schwarzschild optical curvature β bending UV coordinates toward each compact object via 1/rΒ² deflection.
Einstein Cross extension: When lensStr > 0.18 (strong-field threshold), 4 additional image samples composited at Β±x/Β±y offsets at Einstein ring radius, Gaussian-weighted:
float w = exp(-8.0 * pow(dist - eRuv*0.55, 2.0));
color += texture(tDiffuse, crossUV) * w * crossStrength;Applied per-body in syncInstances(), mutating iColorData Float32Array in-place:
const beta = dot(v_body, rΜ_camera) / C_SIM;
R_channel *= (1 + beta * 1.4); // receding β redder
B_channel *= (1 - beta * 1.4); // approaching β bluer
G_channel *= clamp(1 + |beta| * 2.5, 0.25, 3.5); // Lorentz beamingFor selected body: compute Kepler elements analytically from (r, v), trace in orbital plane, transform to world coordinates. Color: green = ellipse, yellow = parabola, red = hyperbola.
| Scenario | Bodies | Key Physics | Description |
|---|---|---|---|
| Genesis Β· 8-Body | 8 | 2.5PN, SO | Default sandbox β diverse BHs, NSs, stars |
| GW150914 Inspiral | 2 | 2.5PN | Historical LIGO detection configuration |
| GW170817 Inspiral | 2 | 2.5PN, NS | Binary neutron star (LIGO/Virgo 2017) |
| EMRI (LISA) | 2 | 2.5PN, SO | Extreme mass ratio inspiral |
| ZKL Triple | 3 | Kozai-Lidov | Kozai-Lidov driven merger triple |
| SgrA Galactic Center* | N | 1PN, SO | S-star orbits around Sgr A* |
| Kozai-Lidov | 3 | Secular | Inner binary + inclined perturber |
| TDE Encounter | 2 | Roche, TDE | Star disruption by SMBH |
| Retrograde Chaos | N | N-body | Retrograde orbit chaos |
| Oort Cloud Infall | N | Keplerian | Long-period comet infall |
| Interstellar Pass-by | 2 | Hyperbolic | Hyperbolic stellar fly-by |
| β Solar System | 9 | 1PN | Sun + 8 planets |
| β Pulsar Playground | 5 | 2.5PN, SO | Ultra-massive magnetar + planetary system |
| β Circumbinary Haven | N | Resonance | Tatooine-style circumbinary planet |
| β Solar Proxy | N | Keplerian | Sun-like star with Earth-like companion |
| Mission | Description |
|---|---|
| Total Eclipse | 3-body eclipse: star, gas giant, moon in syzygy |
| Binary Dance | Two neutron stars at extreme proximity |
| Grand Alignment | 5 bodies in grand alignment |
Auto-classification from compactness C = GΒ·M / (cΒ²Β·R):
| Type | Compactness C | Notes |
|---|---|---|
| BH (Black Hole) | C β₯ 0.25 | 2.5PN + SO active |
| NS (Neutron Star) | 0.1 β€ C < 0.25 | 2.5PN + SO active, C_Q=4.0 |
| DWARF | C < 0.1, M β₯ 1 Mβ | Newtonian + 1PN |
| STAR | M β₯ 100 Mβ | Supernova eligible |
| Field | Description |
|---|---|
| FPS | Rendering frame rate (target: 60) |
| SUB | Physics substeps per render frame |
| ΞE | Kahan symplectic energy error (%) |
| T | Simulated time in years |
| Bodies | Active body count |
| Mergers | Merger event count |
| Quantity | Symbol | Physical Meaning |
|---|---|---|
| Ξ±_min Geometric Lapse | Ξ± = β(1-2Ξ¦/cΒ²) | Spacetime curvature proxy |
| Symplectic Energy Error | |ΞE/Eβ| | Kahan Hamiltonian conservation |
| L_GW Peters Quadrupole | L_GW [cβ΅/G] | Instantaneous GW luminosity |
| PN Parameter | x = max(vΒ²,GM/r)/cΒ² | Post-Newtonian expansion |
| ΞΟ GR Phase Dephasing | ΞΟ [rad] | GR phase vs Newtonian |
| M_rad GW Mass Defect | ΞM [Mβ] | Total mass radiated as GW |
| |S_total| Lense-Thirring | Ο_eff | Effective spin parameter |
| hβ / hΓ GW Strain | h [G/cβ΄] | Quadrupole GW strain |
| M_chirp / T_merge | M_c [Mβ] | Chirp mass + merger estimate |
| f_GW Frequency | f_GW [Hz] | Dominant GW emission frequency |
| QNM Ringdown | f_QNM | Post-merger quasi-normal mode |
Three real-time charts:
-
e vs a (Orbital Evolution): Eccentricity vs. semi-major axis β traces the Peters inspiral track from initial orbit through circularization to plunge.
-
f_GW Chirp: GW frequency vs. time on semi-log Y axis. The upward sweep confirms 2.5PN radiation reaction is active.
-
Ξ²Β² = (v/c)Β²: Peak relativistic velocity parameter per step. Values Ξ²Β²β0.1 indicate strong-field regime where PN approximation approaches its limits.
MTF time-filter: LIVE / 1YR / 10YR / MAX for historical data replay.
| Mode | Description | Best For |
|---|---|---|
| Free Orbit | OrbitControls β drag to rotate, scroll to zoom | General exploration |
| Track CoM | Follows center of mass | Binary inspiral |
| Top Down | Fixed overhead view | Orbital plane |
| Cinematic | Auto-panning slow sweep | Screenshots |
| π¬ Autopilot | AI director cycling between targets | Long recordings |
| Surface View | First-person on body surface | Planetary scale |
Cinematic Autopilot: Cycles through BH/NS/massive body targets at 12β15s (randomized to prevent periodicity). Camera smoothly lerps to target with factor = 0.04 per frame.
| Toggle | Effect | Default |
|---|---|---|
| 1PN | EIH conservative | ON |
| 2.5PN | Radiation reaction / inspiral | ON |
| L-T SO | Lense-Thirring spin-orbit | ON |
| Lens | Gravitational lensing shader | ON |
| Roche | TDE via Roche limit | ON |
| β AutoSN | Auto-supernova at end-of-life | OFF |
| π Shell | Volumetric shockwave shell | ON |
| Speed | Meaning |
|---|---|
| β100Γ | Reverse fast |
| β10Γ | Reverse slow |
| 0.1Γ | Ultra-slow |
| 1Γ | Real-time |
| 10Γ | Default |
| 100Γ | Fast forward |
| 500Γ | Extreme fast |
| β© Rewind | Flip time direction |
Chronos Rewind: Flips sign of all velocity vectors β time runs backward.
| Key | Action |
|---|---|
Space |
Pause / Resume |
R |
Reset scenario |
Z |
Zen Mode (UI hide) |
F |
WASD free-flight toggle |
X |
Supernova on selected body |
[ |
Sim-OS Master Menu |
Esc |
Cancel placement / close overlay |
? |
Keyboard reference modal |
Click body |
Select body |
Drag canvas |
Spawn body (slingshot) |
Press Z β all UI fades to invisible (500ms CSS transitions). Only WebGL canvas, vignette, and atmospheric haze remain. Toast notification auto-fades after 3 seconds.
Use case: Screen recording, outreach videos, public demonstrations.
Real-time chirp synthesizer using Web Audio API:
Frequency: f_audio = clamp(f_GW Γ 10, 30 Hz, 1200 Hz)
30 Hz floor β deep inspiral rumble
1200 Hz ceiling β merger squeal
Amplitude: gain = clamp(|hβ| Γ 5Γ10βΆ, 0, 0.5)
Signal path: Oscillator β Physics Gain β Master Gain β Output
All parameter updates use AudioParam.setTargetAtTime(Ο=0.08s) β zero-alloc, no GC, no click/pop artifacts.
Volume panel: π button in top bar. Dynamic icon: π 0% / π 40% / π 75% / π 100%.
AI camera director. Priority: BH/NS β massive bodies (M>10) β all bodies. Hold 12β15s per target (jittered). Slow lerp factor 0.04 for cinematic smoothness.
β¬ EXPORT β Downloads complete simulation snapshot: all body states, time, scenario name, toggle states.
β¬ IMPORT β Restores full simulation from JSON snapshot. Enables sharing and reproducibility.
β€ CSV β Current step telemetry in tabular format: positions, velocities, masses, energy, angular momentum.
| Mode | Visualization |
|---|---|
| Bodies | Body dots + velocity arrows + ISCO reticles |
| γγ Isobar | Gravitational potential Ξ¦ = -Ξ£GM/r with marching-squares iso-contours (8 levels) |
| π‘ Flux | Bolometric radiation flux F = Ξ£L/(4ΟrΒ²) with thermal color ramp |
Isobar mode is a scientific-grade visualization of gravitational influence zones not available in any other quick visualizer.
Additional minimap features: camera frustum cone overlay, ISCO proximity pulsing reticles, click-to-select, hover tooltips (name / mass / velocity / gravitational redshift / type), logarithmic radial projection toggle.
Zen Mode: Full UI fade (500ms CSS), Z key, toast notification, all UI elements suppressed including #kh shortcut bar.
GW Audio Sonification: Dual gain chain (physics-driven + user volume), zero-alloc via setTargetAtTime, lazy init on first user click (autoplay policy compliant). Frequency: 30β1200 Hz mapped from f_GW.
Cinematic Autopilot: AI camera director with 12β15s jittered hold times, smooth lerp, Event Log feedback on each target switch.
ESC Abort: Universal cancel for all drag/placement operations. Clears slingshot preview from 3D scene.
Master Volume Panel: π top-bar floating popup with slider, mute toggle, dynamic icon.
FWM Hardening (5 passes): Off-screen initial placement fix; sticky drag on cross-display pointer escape; zoom-aware coordinate transforms; resize boundary violations; HUD-scale-aware window sizing.
NR Diagnostics Window: Three Chart.js panels (e vs a, f_GW chirp, Ξ²Β²). MTF time-filter (LIVE/1YR/10YR/MAX). _clearTelemetry() centralized reset prevents cross-scenario contamination.
Minimap 3.0: Isobar (marching-squares potential), Flux (bolometric), ISCO reticles, click-to-select, hover tooltips, velocity arrows, log-projection toggle, camera frustum, canvas size fix for CSS flex distortion.
Relativistic Doppler & Beaming: CPU-side per-body color modulation, zero-alloc iColorData mutation.
Einstein Cross shader: 4-image secondary lensing at strong-field threshold, Gaussian-weighted.
Master Menu Categorization: 4 sections β Relativistic Optics, Scientific Analysis, Tactical Tools, System.
Phase label overflow fix: max-width: 28vw; text-overflow: ellipsis prevents overwrite of right-side telemetry at high HUD scale.
Initial VORTEX release into the GRANITE ecosystem:
- Zero-Allocation Architecture (ZAA)
- Hermite 4th-order P-C integrator (Makino & Aarseth 1992)
- Kahan compensated summation
- 1PN + 2PN + 2.5PN full hierarchy with analytical jerks
- 1.5PN Lense-Thirring SO (Barker-O'Connell + Rodrigues exact rotation)
- 2PN Spin-Spin (Barker-O'Connell, Kidder 1995)
- 2PN Quadrupole-Monopole (Poisson 1998)
- Roche limit TDE detection
- Supernova / Hypernova mechanics
- Accretion disk (ISCO-bounded Keplerian particles)
- GLSL Schwarzschild gravitational lensing shader
- 14 pre-built scenarios
- Mission Control telemetry (KE, PE, H, L, P, v_max)
- GW quadrupole extraction (hβ, hΓ, M_chirp, f_GW, QNM)
[1] GRANITE C++ β HDF5 checkpoints
[2] Python granite_analysis distillation:
positions.json (body CoM trajectories)
horizons.json (apparent horizon radii vs time)
gw.json (Ξ¨β decomposition at extraction radii)
telemetry.json (||H||β, Ξ±_center, AMR stats vs step)
[3] VORTEX ingests JSON streams:
3D body trajectory replay
Animated apparent horizon visualization
GW strain hβ/hΓ as audio + visual overlay
Constraint norm color-coded spacetime
AMR grid structure animation
| Feature | Status |
|---|---|
| GRANITE HDF5 reader (Python) | Planned |
| JSON stream format spec | Planned |
| VORTEX JSON playback mode | Planned |
| Apparent horizon mesh renderer | Planned |
| Ξ¨β waveform overlay | Planned |
| AMR grid visualization | Planned |
| Time-scrub playback control | Planned |
| Multi-resolution comparison view | Planned |
No GRANITE connection: VORTEX is an independent PN sandbox. It does not read GRANITE HDF5 outputs yet.
PN vs CCZ4: VORTEX uses Post-Newtonian approximations valid for v βͺ c. GRANITE solves the full nonlinear Einstein equations. The two agree only in the weakly relativistic regime.
Merger physics: VORTEX merges bodies into a single object. Quasi-normal mode ringdown is estimated from Kerr formulae, not evolved. Accurate ringdown requires full CCZ4 evolution from GRANITE.
Energy conservation: GW energy loss tracked via Peters formula (2.5PN). Total energy radiated requires full Ξ¨β extraction from GRANITE at multiple extraction radii.
| Reference | Used In |
|---|---|
| Makino & Aarseth (1992), PASJ 44, 141 | Hermite 4th-order P-C integrator |
| Will (2014), LRRGR Β§9 | 1PN EIH acceleration + analytical jerk |
| Blanchet & Iyer (2003), PRD 71, 024004 | 2PN EIH (conservative) |
| Blanchet (2014), LRRGR Β§5 | 2.5PN radiation reaction + analytical jerk |
| Barker & O'Connell (1975), PRD 12, 329 | Spin-orbit, Spin-spin coupling |
| Damour (2001) Β§4 | Full Barker-O'Connell SO expression |
| Kidder (1995), PRD 52, 821 | 2PN spin-spin |
| Poisson (1998), PRD 57, 5287 | 2PN quadrupole-monopole; C_Q coefficients |
| Peters (1964), Phys. Rev. 136, B1224 | GW energy loss (quadrupole formula) |
| Nitadori & Aarseth (2012), MNRAS 424 | Reference practice for 2.5PN jerk |
| Kahan (1965), Commun. ACM 8, 40 | Compensated summation algorithm |
| Rodrigues (1840) | Exact rotation formula for spin evolution |
VORTEX ETERNITY v0.6.7 β April 15, 2026 β LiranOG
Part of the GRANITE numerical relativity ecosystem
See also: Home | Architecture Overview | Scientific Context | GW Extraction
v0.6.8 Β· Repository Β· Issues
- π©Ί Simulation Health & Debugging
- π Benchmarks & Validation
- ποΈ AMR Design
- π₯οΈ HPC Deployment
- π VORTEX Engine
"Simulate the unimaginable."