ORT: Zwaartekracht Basis#

Hoofdstuk 12, deel 1 | §12.1–12.14 | Formules 23–39

Dit notebook behandelt de basiseffecten van zwaartekracht in de ORT. Het kernidee: nabij massa gaat een deel van het snelheidsbudget \(c\) richting de massa (\(v_{grav}\), de ontsnappingssnelheid), waardoor de lokale ruimtetijdsnelheid daalt: \(c_{local}^2 = c^2 - v_{grav}^2\). Uit deze ene uitbreiding volgen gravitationele tijddilatatie, roodverschuiving, lichtafbuiging, baanprecissie, en de volledige Schwarzschildmetriek.


import sys, pathlib
sys.path.insert(0, str(pathlib.Path().resolve().parent / 'shared'))
from ort_core import *
from ort_plots import (c_local_profile, c_local_profile_interactive, spacetime_embedding_3d,
    orbital_precession_plot, light_deflection_diagram, photon_sphere_shadow, einstein_ring_plot, comparison_table)
import matplotlib.pyplot as plt
import math
import numpy as np
%matplotlib inline

§12.1 — Het Principe: het driecomponenten-snelheidsbudget#

In de SRT beweegt alles met \(c\) door de ruimtetijd. Het snelheidsbudget heeft twee componenten:

\[v_{ruimte}^2 + v_{tijd}^2 = c^2\]

Nabij massa komt er een derde component bij: de gravitatiesnelheid \(v_{grav}\). Dit is de snelheidscomponent gericht naar de centrale massa, met als grootte de ontsnappingssnelheid (bekend uit Newton):

\[v_{grav} = \sqrt{\frac{2GM}{r}}\]

Het totale snelheidsbudget wordt:

\[v_{grav}^2 + v_{ruimte}^2 + v_{tijd}^2 = c^2 \qquad (29)\]

Wat overblijft voor ruimte en tijd is de lokale ruimtetijdsnelheid:

\[c_{local}^2 \equiv c^2 - v_{grav}^2 = c^2 - \frac{2GM}{r}\]
\[c_{local}(r) = c \cdot \sqrt{1 - \frac{2GM}{c^2 r}} \qquad (23)\]

Definieer \(r_s = 2GM/c^2\). Dit is de afstand waar \(c_{local} = 0\), waar het volledige snelheidsbudget opgaat aan \(v_{grav}\):

\[r_s = \frac{2GM}{c^2} \qquad \text{(Schwarzschildstraal — consequentie, geen postulaat)}\]

Het kernidee: nabij massa gaat een deel van je snelheidsbudget \(c\) naar de massa toe (\(v_{grav}\)), waardoor er minder overblijft voor beweging door ruimte en tijd (\(c_{local}\)).

Hetzelfde patroon als in de vlakke ruimtetijd:

  • Vlakke ruimtetijd: constante \(c\) → tijddilatatie, lengtecontractie, \(E = mc^2\)

  • Zwaartekracht: variërende \(c_{local}\) → gravitationele tijddilatatie, roodverschuiving, eventhorizon

# c_local profiel voor de Zon en de Aarde
fig = c_local_profile([SUN, EARTH], ['Zon', 'Aarde'], lang='nl')
plt.show()
_images/b9b0d9e77f4c166bb2eb249a6f8bd2aa0911f027e8fc73b23622d7370aedd498.png
# Interactief: pas de massa aan en bekijk het c_local-profiel
c_local_profile_interactive(lang='nl')
Interactieve versie — download het notebook om de slider te gebruiken.

De gradiënt van \(c_{local}\) is de zwaartekracht#

De afgeleide van \(c_{local}\) naar \(r\) onthult een directe band met de gravitatieversnelling \(g\):

\[\frac{dc_{local}}{dr} = \frac{GM}{c \cdot r^2 \cdot \sqrt{1 - r_s/r}} \qquad (23b)\]

De eigenversnelling van een stilstaande waarnemer op afstand \(r\) (uit de Schwarzschildmetriek):

\[g_{proper} = \frac{GM}{r^2 \cdot \sqrt{1 - r_s/r}}\]

De relatie is dus:

\[\frac{dc_{local}}{dr} = \frac{g_{proper}}{c} \qquad (23c)\]

In het zwakke veld (\(r \gg r_s\)) vereenvoudigt dit tot:

\[\frac{dc_{local}}{dr} \approx \frac{GM}{c \cdot r^2} = \frac{g}{c}\]

Interpretatie: de gradiënt van het \(c_{local}\)-veld is de zwaartekracht, geschaald met \(1/c\). Waar \(c_{local}\) snel verandert met de afstand, is de zwaartekracht sterk. Bij de eventhorizon (\(r = r_s\)) divergeert \(dc_{local}/dr\) — oneindige eigenversnelling, precies zoals in de ART.

In de ORT is zwaartekracht dus geen kracht, maar de helling van het lokale snelheidsveld.

# Verificatie: dc_local/dr = g_proper / c
print("=== Gradiënt van c_local = zwaartekracht ===")
print()

# Aarde
print("--- Aarde (oppervlak) ---")
dc_dr_earth = EARTH.dc_local_dr(R_EARTH)
g_earth = EARTH.proper_acceleration(R_EARTH)
print(f"  dc_local/dr      = {dc_dr_earth:.6e} [1/s]")
print(f"  g_proper         = {g_earth:.4f} m/s²")
print(f"  g_proper / c     = {g_earth / C:.6e} [1/s]")
print(f"  Verhouding       = {dc_dr_earth / (g_earth / C):.15f}  (moet 1 zijn)")
print()

# Zon
print("--- Zon (oppervlak) ---")
dc_dr_sun = SUN.dc_local_dr(R_SUN)
g_sun = SUN.proper_acceleration(R_SUN)
print(f"  dc_local/dr      = {dc_dr_sun:.6e} [1/s]")
print(f"  g_proper         = {g_sun:.4f} m/s²")
print(f"  g_proper / c     = {g_sun / C:.6e} [1/s]")
print(f"  Verhouding       = {dc_dr_sun / (g_sun / C):.15f}")
print()

# Zwart gat (10 M☉) — sterk veld
BH = GravityModel(10 * M_SUN)
print("--- Zwart gat 10 M☉ (r = 1.1 r_s) ---")
r_bh = 1.1 * BH.rs
dc_dr_bh = BH.dc_local_dr(r_bh)
g_bh = BH.proper_acceleration(r_bh)
print(f"  dc_local/dr      = {dc_dr_bh:.6e} [1/s]")
print(f"  g_proper         = {g_bh:.6e} m/s²")
print(f"  g_proper / c     = {dc_dr_bh:.6e} [1/s]")
print(f"  Verhouding       = {dc_dr_bh / (g_bh / C):.15f}")
print()
print("De relatie dc_local/dr = g/c geldt EXACT, van zwak tot sterk veld.")
=== Gradiënt van c_local = zwaartekracht ===

--- Aarde (oppervlak) ---
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[4], line 7
      5 # Aarde
      6 print("--- Aarde (oppervlak) ---")
----> 7 dc_dr_earth = EARTH.dc_local_dr(R_EARTH)
      8 g_earth = EARTH.proper_acceleration(R_EARTH)
      9 print(f"  dc_local/dr      = {dc_dr_earth:.6e} [1/s]")

AttributeError: 'GravityModel' object has no attribute 'dc_local_dr'

Ter vergelijking: afleiding van \(g_{proper}\) via de ART#

De eigenversnelling \(g_{proper} = \frac{GM}{r^2 \sqrt{1 - r_s/r}}\) werd hierboven geïntroduceerd als resultaat uit de Schwarzschildmetriek. Hieronder de volledige ART-afleiding via Christoffelsymbolen, zodat duidelijk wordt hoe complex de standaardroute is versus de ORT-éénstapsformule \(g = c \cdot dc_{local}/dr\).

Stap 1 — Schwarzschildmetriek

\[ds^2 = -f(r)\,c^2\,dt^2 + f(r)^{-1}\,dr^2 + r^2\,d\Omega^2 \qquad \text{met } f(r) = 1 - \frac{r_s}{r}\]

Stap 2 — Viersnelheid van een stilstaande waarnemer

Een waarnemer die op vaste \(r\) blijft (\(dr = d\theta = d\varphi = 0\)) heeft viersnelheid:

\[u^\mu = \left(\frac{dt}{d\tau}, 0, 0, 0\right) = \left(\frac{1}{\sqrt{f}}, 0, 0, 0\right)\]

want \(ds^2 = -f \cdot c^2 \cdot dt^2 = -c^2 \cdot d\tau^2\), dus \(dt/d\tau = 1/\sqrt{f}\).

Stap 3 — Christoffelsymbool \(\Gamma^r_{tt}\)

Uit de metriek volgt het relevante Christoffelsymbool:

\[\Gamma^r_{tt} = \tfrac{1}{2}\,g^{rr}\,\frac{\partial g_{tt}}{\partial r} = \tfrac{1}{2}\,f(r)\,\frac{r_s \cdot c^2}{r^2} = f(r)\,\frac{GM}{r^2}\]

Stap 4 — Coördinaatversnelling (geodeetvergelijking)

De geodeetvergelijking \(\frac{d^2 x^r}{d\tau^2} + \Gamma^r_{\mu\nu}\,u^\mu\,u^\nu = 0\) geeft voor de stilstaande waarnemer:

\[a^r_{coord} = -\Gamma^r_{tt}\,(u^t)^2 = -f(r)\,\frac{GM}{r^2}\,\frac{1}{f} = -\frac{GM}{r^2}\]

De factor \(f\) valt weg — de coördinaatversnelling is Newtoniaans.

Stap 5 — Van coördinaat- naar eigenversnelling

De lokale (fysieke) versnelling gemeten door de waarnemer vereist projectie op het lokale frame via \(\sqrt{g_{rr}}\):

\[g_{proper} = \sqrt{g_{rr}} \cdot |a^r_{coord}| = \frac{1}{\sqrt{f}} \cdot \frac{GM}{r^2} = \frac{GM}{r^2\,\sqrt{1 - r_s/r}}\]

Conclusie: vijf stappen — metriek, viersnelheid, Christoffelsymbolen, geodeetvergelijking, frameprojectie — om te komen tot hetzelfde resultaat dat de ORT in één stap geeft:

\[g = c \cdot \frac{dc_{local}}{dr} = \frac{GM}{r^2\,\sqrt{1 - r_s/r}} \qquad (23b/23c)\]

De wiskundige machinerie van de ART (differentiaalgeometrie, Christoffelsymbolen, geodeetvergelijkingen) is krachtig en algemeen, maar verbergt het fysische inzicht: zwaartekracht is de helling van het lokale snelheidsveld.

§12.2 — Gravitationele tijddilatatie#

Een klok op afstand \(r\) van een massa ervaart \(c_{local} < c\). Als de klok stilstaat in de ruimte gaat alle \(c_{local}\) naar beweging door de tijd:

\[\frac{\tau}{t_\infty} = \frac{c_{local}}{c} = \sqrt{1 - \frac{r_s}{r}} \qquad (24/25)\]

Dit is exact de Schwarzschild-tijddilatatie uit de ART.

# Tijddilatatie op het aardoppervlak, GPS-hoogte, ISS-hoogte
print("=== Gravitationele tijddilatatie (Aarde) ===")
print(f"Schwarzschildstraal Aarde: r_s = {EARTH.rs:.4e} m = {EARTH.rs*1000:.4f} mm")
print()

locations = [
    ("Aardoppervlak", R_EARTH),
    ("ISS (408 km)", R_ISS),
    ("GPS (20.200 km)", R_GPS),
]
for name, r in locations:
    td = EARTH.time_dilation_factor(r)
    diff_per_day = (1 - td) * 86400e6  # microseconden per dag
    print(f"{name:25s}: τ/t∞ = {td:.15f}  (verschil: {diff_per_day:.3f} µs/dag)")
# Newton vs ORT: tijddilatatie op GPS-hoogte
# Newton kent GEEN tijddilatatie — tijd is absoluut!
r_gps = R_EARTH + 20_200_000  # GPS-hoogte ~20.200 km
td_ort = EARTH.time_dilation_factor(r_gps)
drift_per_day_us = (1 - td_ort) * 86400 * 1e6  # µs per dag

print("=== Newton vs ORT: gravitationele tijddilatatie ===")
print(f"Klok op GPS-hoogte ({20200} km):")
print(f"  Newton:  Δt = 0 µs/dag      (tijd is absoluut!)")
print(f"  ORT:     Δt = {drift_per_day_us:+.2f} µs/dag  (klok loopt SNELLER)")
print()
print(f"Zonder correctie: GPS zou na 1 dag {abs(drift_per_day_us) * C * 1e-6:.0f} m afwijken!")
print(f"Na 1 week: {abs(drift_per_day_us) * 7 * C * 1e-6:.0f} m — navigatie onbruikbaar.")

§12.3 — Gravitationele roodverschuiving#

Licht dat ontsnapt uit een zwaartekrachtsveld verliest frequentie:

\[\frac{f_{obs}}{f_{emit}} = \frac{c_{local}(r_{emit})}{c_{local}(r_{obs})} = \frac{\sqrt{1 - r_s/r_{emit}}}{\sqrt{1 - r_s/r_{obs}}} \qquad (25/27)\]

Als de waarnemer verder van de massa staat: \(f_{obs} < f_{emit}\)roodverschuiving.

# Pound-Rebka experiment (1959): 22.5 m hoogteverschil
h = 22.5  # meter
r_bottom = R_EARTH
r_top = R_EARTH + h

z = EARTH.gravitational_redshift(r_bottom, r_top)
delta_f_over_f = -z  # roodverschuiving = negatief

# Benadering: Δf/f ≈ g·h/c²
g = G * M_EARTH / R_EARTH**2
approx = g * h / C**2

print("=== Pound-Rebka experiment ===")
print(f"Hoogte: {h} m")
print(f"Roodverschuiving z     = {z:.6e}")
print(f"|Δf/f|                 = {abs(delta_f_over_f):.6e}")
print(f"Benadering g·h/c²      = {approx:.6e}")
print(f"Gemeten (1959)         = (2.57 ± 0.26) ·10⁻¹⁵")

§12.4 — GPS volledige correctie (SRT + zwaartekracht)#

GPS combineert beide effecten in één formule:

\[v_{tijd} = \frac{\sqrt{c_{local}^2 - v^2}}{c} \qquad (26)\]

Component

Oorzaak

Effect

SRT

Snelheid satelliet (3870 m/s)

−7 µs/dag (langzamer)

Zwaartekracht

Lagere g op GPS-hoogte

+45 µs/dag (sneller)

Netto

Combinatie

+38 µs/dag (sneller)

# GPS correctie: combinatie SRT + zwaartekracht
v_gps = 3870  # m/s (GPS satelliet snelheid)

# Aardoppervlak (in rust)
td_surface = EARTH.combined_time_dilation(R_EARTH, 0)

# GPS satelliet (bewegend op hoogte)
td_gps = EARTH.combined_time_dilation(R_GPS, v_gps)

# Verschil in microseconden per dag
diff_us_per_day = (td_gps - td_surface) * 86400 * 1e6

# Afzonderlijke componenten
grav_only = (EARTH.time_dilation_factor(R_GPS) - EARTH.time_dilation_factor(R_EARTH)) * 86400 * 1e6
srt_only = (math.sqrt(1 - (v_gps/C)**2) - 1) * 86400 * 1e6

print("=== GPS Correctie ===")
print(f"Alleen zwaartekracht:   {grav_only:+.2f} µs/dag")
print(f"Alleen SRT (snelheid):  {srt_only:+.2f} µs/dag")
print(f"Gecombineerd (formule): {diff_us_per_day:+.2f} µs/dag")
print(f"\nVerwacht netto:         +38 µs/dag")

§12.5 — De eventhorizon (\(c_{local} = 0\))#

Bij \(r = r_s\) wordt \(c_{local} = 0\). De consequenties:

  1. Niets kan bewegen — niet door de ruimte, niet door de tijd

  2. Klokken staan stil\(\tau/t_\infty = 0\)

  3. Licht kan niet ontsnappen — er is geen lokale ruimtetijdsnelheid meer

# Zwart gat van 10 zonsmassa's
BH_10 = GravityModel(10 * M_SUN)
print(f"=== Zwart gat van 10 M☉ ===")
print(f"r_s = {BH_10.rs:.3e} m = {BH_10.rs/1000:.2f} km")
print()

# c_local op verschillende afstanden van de horizon
factors = [10.0, 5.0, 2.0, 1.5, 1.1, 1.01, 1.001, 1.0]
print(f"{'r/r_s':>8s}  {'c_local/c':>12s}  {'c_local (m/s)':>15s}")
print("-" * 40)
for f in factors:
    r = f * BH_10.rs
    cl = BH_10.c_local(r)
    print(f"{f:8.3f}  {cl/C:12.6f}  {cl:15.0f}")

§12.6 — De gravitatiesnelheid \(v_{grav}\)#

Nabij een massa gaat een deel van je totale snelheid \(c\) richting die massa:

\[v_{grav}^2 + c_{local}^2 = c^2 \qquad (27)\]
\[v_{grav} = c \cdot \sqrt{\frac{r_s}{r}} \qquad (28)\]

Dit is exact de ontsnappingssnelheid \(v_{esc} = \sqrt{2GM/r}\).

Voor een bewegend object geldt het driecomponenten-budget:

\[v_{grav}^2 + v_{ruimte}^2 + v_{tijd}^2 = c^2 \qquad (29)\]
# v_grav op verschillende afstanden
print("=== Snelheidsbudget nabij 10 M☉ zwart gat ===")
print(f"{'r/r_s':>8s}  {'v_grav/c':>10s}  {'c_local/c':>10s}  {'check v²+c²':>12s}")
print("-" * 46)
for f in [10.0, 5.0, 2.0, 1.5, 1.1, 1.01, 1.0]:
    r = f * BH_10.rs
    vg = BH_10.v_grav(r)
    cl = BH_10.c_local(r)
    check = math.sqrt(vg**2 + cl**2) / C
    print(f"{f:8.3f}  {vg/C:10.6f}  {cl/C:10.6f}  {check:12.9f}")

§12.7 — Ruimtelijke uitrekking#

Een coördinaatafstand \(dr\) correspondeert met een grotere fysieke afstand \(dl\):

\[dl = \frac{dr}{\sqrt{1 - r_s/r}} = dr \cdot \frac{c}{c_{local}} \qquad (30)\]

Dit is de ruimtelijke component van de Schwarzschildmetriek:

\[g_{rr} = \left(1 - \frac{r_s}{r}\right)^{-1} = \left(\frac{c}{c_{local}}\right)^2\]

Samen met \(g_{tt} = (c_{local}/c)^2\) matcht de ORT nu beide diagonaalcomponenten.

# Ruimtelijke uitrekking nabij de Zon en een 10 M☉ zwart gat
print("=== Ruimtelijke uitrekking ===")
print()
print("--- Zon (oppervlak) ---")
stretch_sun = SUN.spatial_stretching(R_SUN)
print(f"Uitrekkingsfactor: {stretch_sun:.10f}")
print(f"Extra lengte per km: {(stretch_sun - 1) * 1000:.6f} m")
print()
print("--- 10 M☉ zwart gat ---")
for f in [10.0, 3.0, 1.5, 1.1, 1.01]:
    r = f * BH_10.rs
    s = BH_10.spatial_stretching(r)
    print(f"  r = {f:.2f} r_s:  uitrekking = {s:.6f}  (1 km → {s:.6f} km)")

3D Flamm-paraboloïde#

De ruimtelijke uitrekking kan gevisualiseerd worden als het Flamm-paraboloïde: een 2D inbedding van de ruimtelijke geometrie rond een massa.

# 3D inbedding van de ruimtelijke geometrie
fig = spacetime_embedding_3d(lang='nl')
if fig is not None:
    fig.show()

§12.8 — Lichtafbuiging#

Licht dat langs een massa scheert wordt afgebogen door twee gelijke bijdragen:

  1. Temporeel (brekingsindex): \(n_{tijd} = c/c_{local}\)

  2. Ruimtelijk (uitrekking): \(n_{ruimte} = c/c_{local}\)

Gecombineerd: de effectieve brekingsindex:

\[n_{eff} = \left(\frac{c}{c_{local}}\right)^2 = \frac{1}{1 - r_s/r} \qquad (31)\]

De totale afbuighoek:

\[\alpha = \frac{2r_s}{b} = \frac{4GM}{bc^2} \qquad (32)\]

Dit is exact het resultaat van de ART (Einstein 1915: 1.75”). Soldner (1801) en Einstein (1911) vonden de helft: alleen het temporele effect.

# Lichtafbuiging diagram
fig = light_deflection_diagram(lang='nl')
plt.show()
# Lichtafbuiging door de Zon (b = R_zon)
alpha_arcsec = SUN.light_deflection_arcsec(R_SUN)
alpha_half = SUN.half_light_deflection(R_SUN) * (180/math.pi) * 3600

print("=== Lichtafbuiging door de Zon ===")
print(f"Impactparameter b = R_zon = {R_SUN:.3e} m")
print(f"Soldner/Einstein 1911 (halve waarde): {alpha_half:.4f}\"")
print(f"ORT / ART (volledige):    {alpha_arcsec:.4f}\"")
print(f"Gemeten (Eddington 1919):             1.75 ± 0.06\"")
# Newton vs ORT: lichtafbuiging door de Zon
# Newton/Soldner (1801) voorspelt de HELFT van het juiste antwoord!
alpha_newton = SUN.half_light_deflection(R_SUN) * (180 / math.pi) * 3600
alpha_ort = SUN.light_deflection_arcsec(R_SUN)

print("=== Newton vs ORT: lichtafbuiging door de Zon ===")
print(f"  Newton/Soldner (1801):  {alpha_newton:.4f}\"  (alleen tijdkromming)")
print(f"  ORT/Einstein (1915):    {alpha_ort:.4f}\"  (tijd + ruimtekromming)")
print(f"  Eddington (1919):       1.75 ± 0.06\"  (gemeten!)")
print()
print(f"Newton voorspelt exact de HELFT: {alpha_newton/alpha_ort:.3f}×")
print(f"De ontbrekende helft komt van ruimtekromming — iets dat Newton niet kent.")

§12.9 — Baanprecissie — de effectieve potentiaal#

In de Newtonmechanica levert het zwaartekrachtspotentiaal en het impulsmoment samen een effectieve potentiaal die een gesloten ellipsbaan beschrijft:

\[V_{Newton}(r) = -\frac{GM}{r} + \frac{L^2}{2r^2} \qquad (33)\]

waarbij \(L\) het specifiek impulsmoment is. Deze baan sluit exact — er is geen precessie.

In de ART (en in de ORT) komt er een extra term bij:

\[V_{GR}(r) = -\frac{GM}{r} + \frac{L^2}{2r^2} - \frac{GML^2}{r^3 c^2} \qquad (34)\]

De extra term \(-GML^2/(r^3c^2)\) is altijd negatief en wordt sterker naarmate \(r\) kleiner wordt. Bij het perihelium (dichtstbij de zon) is het effect het grootst. Dit opent de ellips: na elke omloop ligt het perihelium iets verder — periheliumprecessie.

Twee gelijke bijdragen — hetzelfde 50/50-patroon#

Net als bij lichtafbuiging komt de extra term uit het samenspel van twee effecten:

  • Temporeel (\(g_{tt}\)): de variërende kloksnelheid beïnvloedt de effectieve baansnelheid → bijdrage \((3/2)\pi r_s / (a(1-e^2))\) per omloop

  • Ruimtelijk (\(g_{rr}\)): de uitrekking van de radiale afstand beïnvloedt de effectieve potentiaal → even grote bijdrage \((3/2)\pi r_s / (a(1-e^2))\)

Samen:

\[\Delta\varphi = \frac{3\pi r_s}{a(1-e^2)} \qquad \text{per omloop} \qquad (35)\]

Mercurius — de klassieke test#

Voor Mercurius (\(a = 5.791 \cdot 10^{10}\) m, \(e = 0.20563\)):

  • \(\Delta\varphi\) per omloop = 0.1035 boogseconden

  • Omlopen per eeuw = 415.2

  • \(\Delta\varphi\) per eeuw = 42.98 boogseconden — exact de waargenomen waarde

Planeet

Δφ/omloop (“)

Omlopen/eeuw

Δφ/eeuw (“)

Waargenomen (“)

Mercurius

0.1035

415.2

42.98

43.0

Venus

0.0053

162.5

0.86

8.6*

Aarde

0.0038

100.0

0.38

3.8*

Mars

0.0013

53.1

0.07

1.4*

* De waargenomen waarden voor Venus, Aarde en Mars bevatten ook gravitationele invloeden van andere planeten; het relativistisch aandeel is het kleinst voor deze planeten.

Historisch perspectief#

  • Le Verrier (1859): ontdekte de anomale precessie van Mercurius — 43 boogseconden per eeuw die niet verklaard werden door Newton

  • Einstein (1915): de ART voorspelt exact 42.98”/eeuw — zonder vrije parameters. Dit was een van de eerste bevestigingen van de ART.

  • ORT: dezelfde formule \(\Delta\varphi = 3\pi r_s/(a(1-e^2))\) — exact hetzelfde resultaat

# Baanprecissie van Mercurius
prec_per_orbit = SUN.orbital_precession_arcsec(A_MERCURY, E_MERCURY)
prec_per_century = SUN.orbital_precession_arcsec_century(A_MERCURY, E_MERCURY, T_MERCURY)

print("=== Baanprecissie van Mercurius ===")
print(f"Halve grote as a  = {A_MERCURY:.4e} m")
print(f"Excentriciteit e  = {E_MERCURY}")
print(f"Omlooptijd        = {T_MERCURY/86400:.3f} dagen")
print(f"\nΔφ per omloop      = {prec_per_orbit:.4f}\"")
print(f"Δφ per eeuw        = {prec_per_century:.2f}\"")
print(f"Waargenomen       = 43.0\"")
# Newton vs ORT: baanprecissie van Mercurius
# Newton voorspelt gesloten ellipsen — 0 extra precissie!
prec_ort = SUN.orbital_precession_arcsec(A_MERCURY, E_MERCURY)
prec_per_century = prec_ort * (100 * 365.25 * 86400) / T_MERCURY

print("=== Newton vs ORT: baanprecissie van Mercurius ===")
print(f"  Newton:           0.00\"/eeuw   (ellips sluit exact!)")
print(f"  ORT/Einstein:    {prec_per_century:.2f}\"/eeuw")
print(f"  Waargenomen:     43.0 ± 0.1\"/eeuw  (Le Verrier, 1859)")
print()
print(f"Dit onverklaarde verschil was 56 jaar lang een raadsel.")
print(f"Einstein loste het op in 1915 — zijn eerste bevestiging van de ART.")
# Precissie-plot voor Mercurius
fig = orbital_precession_plot(SUN, A_MERCURY, E_MERCURY, n_orbits=5, lang='nl')
plt.show()

§12.10 — Wat lijkt op gekromde ruimtetijd#

In de ART worden gravitatie-effecten beschreven als kromming van de ruimtetijd: massa buigt de ruimtetijd, en objecten volgen geodeten (rechte paden in gekromde ruimte).

In de ORT is er een alternatieve beschrijving: de ruimtetijdsnelheid \(c_{local}\) varieert van plek tot plek. Objecten bewegen nog steeds met hun lokale \(c_{local}\) door de ruimtetijd, maar omdat \(c_{local}\) afhangt van positie, veranderen de “regels” van punt tot punt.

Een variërende \(c_{local}\) produceert dezelfde effecten als ruimtekromming:

  1. Klokken lopen langzamer waar \(c_{local}\) lager is → tijddilatatie

  2. De ruimte rekt radiaal uit → afstanden worden groter nabij massa

  3. Licht buigt af door de gecombineerde brekingsindex \(n_{eff} = (c/c_{local})^2\)

  4. Licht verliest frequentie bij het stijgen → roodverschuiving

  5. Bij \(c_{local} = 0\) stopt alles → eventhorizon

Met \(v_{grav}\) en de ruimtelijke uitrekking begrijpen we nu ook de ruimtelijke component: de variërende \(c_{local}\) beïnvloedt niet alleen het tijdverloop, maar ook de afstandsmaat. Wat in de ART uitziet als een vierdimensionaal gekromde ruimtetijd, is in de ORT een variërende lokale snelheidsstructuur.

§12.11 — De Schwarzschildverbinding#

De Schwarzschildmetriek voor een bolvormige massa:

\[ds^2 = \left(1 - \frac{r_s}{r}\right) c^2 dt^2 - \left(1 - \frac{r_s}{r}\right)^{-1} dr^2 - r^2 d\Omega^2\]

De ORT reproduceert nu beide diagonaalcomponenten:

Tijdcomponent: $\(g_{tt} = 1 - \frac{r_s}{r} = \left(\frac{c_{local}}{c}\right)^2 \qquad (36)\)$

De tijddilatatie: \(\sqrt{g_{tt}} = c_{local}/c\) — exact formule (23).

Ruimtelijke component: $\(g_{rr} = \left(1 - \frac{r_s}{r}\right)^{-1} = \left(\frac{c}{c_{local}}\right)^2 \qquad (37)\)$

De ruimtelijke uitrekking: \(\sqrt{g_{rr}} = c/c_{local}\) — exact formule (30).

De overeenkomst is niet bij benadering — het is een exacte gelijkheid voor beide diagonaalcomponenten. Dit betekent dat de ORT met één enkel principe (variërende \(c_{local}\)) zowel de tijdeffecten als de ruimtelijke effecten van de Schwarzschildoplossing reproduceert.

De niet-diagonale componenten (die optreden bij roterende massa’s, Kerr-metriek) worden behandeld in §12.27 (notebook 03).

# Numerieke verificatie: g_tt en g_rr uit Schwarzschild vs uit c_local/c
print("=== Schwarzschildverificatie: g_tt en g_rr uit c_local ===")
print()
print(f"{'r/r_s':>8s}  {'g_tt (Schw)':>12s}  {'(c_l/c)²':>12s}  {'g_rr (Schw)':>12s}  {'(c/c_l)²':>12s}  {'match':>6s}")
print("-" * 70)
for f in [100.0, 10.0, 5.0, 3.0, 2.0, 1.5, 1.1, 1.01]:
    r = f * BH_10.rs
    # Schwarzschild metriekcomponenten
    g_tt_schw = 1 - BH_10.rs / r
    g_rr_schw = 1 / (1 - BH_10.rs / r)
    # ORT: uit c_local
    cl = BH_10.c_local(r)
    g_tt_ort = (cl / C) ** 2
    g_rr_ort = (C / cl) ** 2
    match = "✓" if abs(g_tt_schw - g_tt_ort) < 1e-12 and abs(g_rr_schw - g_rr_ort) < 1e-10 else "✗"
    print(f"{f:8.2f}  {g_tt_schw:12.8f}  {g_tt_ort:12.8f}  {g_rr_schw:12.8f}  {g_rr_ort:12.8f}  {match:>6s}")
print()
print("Eén principe (variërende c_local) → beide Schwarzschild-componenten: EXACT.")

§12.12 — Het patroon: constante c → SRT, variërende c_local → zwaartekracht#

De ORT onthult een elegant patroon:

Regime

Ruimtetijdsnelheid

Wat volgt

Geen massa

\(c\) (constant)

SRT: tijddilatatie, \(E=mc^2\), Lorentz

Nabij massa

\(c_{local} < c\)

Gravitationele tijddilatatie, roodverschuiving

Nabij massa

\(v_{grav} > 0\)

Lichtafbuiging, ruimtelijke uitrekking

Nabij massa

\(g_{tt} \cdot g_{rr}\)

Baanprecissie (50/50 temporeel + ruimtelijk)

Eventhorizon

\(c_{local} = 0\)

Niets beweegt, Zijn = 0

Ver van massa

\(c_{local} \to c\)

Terugkeer naar vlakke ruimtetijd

Eén principe — “alles beweegt met de lokale ruimtetijdsnelheid” — beschrijft zowel speciale relativiteit als de belangrijkste zwaartekrachtseffecten. De snelheidsbol krijgt een derde component:

\[v_{grav}^2 + v_{ruimte}^2 + v_{tijd}^2 = c^2\]

§12.13 — Wat deze uitbreiding beschrijft en wat niet#

Het model beschrijft nu zowel de temporele als de ruimtelijke effecten van statische, bolvormige zwaartekracht.

Beschreven in dit notebook (§12.1–12.14):

  • Tijddilatatie, roodverschuiving, lichtafbuiging, baanprecissie

  • Shapiro-vertraging, geodetische precessie, eventhorizon

  • Geladen massa (Reissner-Nordström, zie §12.15)

  • Alle vier klassieke testen van de ART (§12.16), plus geodetische precessie als vijfde test (§12.17)

Inmiddels ook beschreven (notebooks 03–05):

  • Zwart-gat interieur (\(r < r_s\)): analytische voortzetting \(c_{interior} = c \cdot \sqrt{r_s/r - 1}\), gebaseerd op de Oppenheimer-Snyder oplossing (§12.23)

  • Zwaartekrachtsgolven: dynamische \(c_{local}(r,t)\) — volledig beschreven in §12.26 (inspiral, merger, ringdown)

  • Kosmologie: ons heelal als binnenkant van een zwart gat (§12.22–12.25, hypothese + speculatief)

  • Roterende massa’s (Kerr-metriek): \(c_{local}(r,\theta)\) + sleepveld \(\omega(r,\theta)\), Lense-Thirring-precessie, Kerr ISCO (§12.27)

Nog niet beschreven (toekomstig werk):

  • Roterende geladen massa’s (Kerr-Newman): de combinatie van rotatie en lading — de meest algemene zwart-gatoplossing

Interpretatieve kanttekening:

  • \(c_{local}\) is een coördinaatsnelheid: in de ART meet een lokale waarnemer altijd lichtsnelheid \(c\) (equivalentieprincipe); \(c_{local}\) correspondeert met de coördinaatsnelheid \(dr/dt\) vanuit het externe perspectief — een interpretatief verschil dat helder benoemd moet worden

§12.14 — Invariantie van Zijn in een zwaartekrachtsveld#

In de SRT: \(\text{Zijn} = m_0 \cdot c\). Nabij massa:

\[\text{Zijn} = m_0 \cdot c_{local} \qquad (38)\]

Consequenties:

  • Massa neemt NIET toe in zwaartekracht — het is \(c_{local}\) die daalt, niet \(m_0\) die stijgt

  • Nabij andere zijnden daalt je Zijn — anti-holistisch principe

  • Eventhorizon: Zijn = 0\(c_{local} = 0 \Rightarrow m_0 \cdot 0 = 0\)

Gravitationele bindingsenergie:

\[E_{binding} = m_0 c^2 \left(1 - \sqrt{1 - \frac{r_s}{r}}\right) \qquad (39)\]
# Zijn nabij de Aarde en een zwart gat
m0 = 1.0  # kg referentiemassa
print("=== Invariantie van Zijn ===")
print(f"In vlakke ruimtetijd: Zijn = m₀ · c = {m0 * C:.6e} kg·m/s")
print()

print("--- Nabij de Aarde ---")
cl_earth = EARTH.c_local(R_EARTH)
zijn_earth = m0 * cl_earth
print(f"c_local(R_aarde)  = {cl_earth:.6f} m/s")
print(f"Zijn(R_aarde)     = {zijn_earth:.6e} kg·m/s")
print(f"Zijn/Zijn_∞       = {cl_earth/C:.15f}")
print()

print("--- Nabij 10 M☉ zwart gat ---")
for f in [10.0, 2.0, 1.1, 1.01]:
    r = f * BH_10.rs
    cl = BH_10.c_local(r)
    print(f"  r = {f:.2f} r_s:  Zijn = {m0 * cl:.6e} kg·m/s  ({cl/C:.6f} c)")

print()
# Bindingsenergie
E_bind = m0 * C**2 * (1 - EARTH.time_dilation_factor(R_EARTH))
print(f"Bindingsenergie 1 kg op aardoppervlak: {E_bind:.6e} J")

Samenvatting#

Alle basale zwaartekrachtseffecten volgen uit één uitbreiding:

\[c_{local}(r) = c \cdot \sqrt{1 - \frac{r_s}{r}}\]

Effect

Formule

Bevestiging

Gradiënt = zwaartekracht

\(dc_{local}/dr = g/c\)

Formule (23b/23c)

Tijddilatatie

\(\tau/t = \sqrt{1-r_s/r}\)

GPS, atoomklokken

Roodverschuiving

\(f_{obs}/f_{emit} = c_{local,e}/c_{local,o}\)

Pound-Rebka

GPS-correctie

\(v_{tijd} = \sqrt{c_{local}^2 - v^2}/c\)

Dagelijkse verificatie

Eventhorizon

\(c_{local} = 0\) bij \(r = r_s\)

EHT M87*, Sgr A*

Lichtafbuiging

\(\alpha = 4GM/(bc^2)\)

Eddington 1919

Baanprecissie

\(\Delta\varphi = 3\pi r_s/(a(1-e^2))\)

Mercurius 42.98”/eeuw

Schwarzschildmetriek

\(g_{tt} = (c_{local}/c)^2\), \(g_{rr} = (c/c_{local})^2\)

Exact — formule (36)/(37)

Zijn in zwaartekracht

\(S = m_0 \cdot c_{local}\)

Behoudswet

Scope

§12.1–12.14: alle basiseffecten

§12.15+: RN, Shapiro, Kerr, GW, kosmologie

Vervolg: Notebook 03 behandelt gevorderde onderwerpen (RN, Shapiro, geodetische precessie, fotonsfeer, GW, Kerr).