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:
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):
Het totale snelheidsbudget wordt:
Wat overblijft voor ruimte en tijd is de lokale ruimtetijdsnelheid:
Definieer \(r_s = 2GM/c^2\). Dit is de afstand waar \(c_{local} = 0\), waar het volledige snelheidsbudget opgaat aan \(v_{grav}\):
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()
# 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\):
De eigenversnelling van een stilstaande waarnemer op afstand \(r\) (uit de Schwarzschildmetriek):
De relatie is dus:
In het zwakke veld (\(r \gg r_s\)) vereenvoudigt dit tot:
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
Stap 2 — Viersnelheid van een stilstaande waarnemer
Een waarnemer die op vaste \(r\) blijft (\(dr = d\theta = d\varphi = 0\)) heeft viersnelheid:
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:
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:
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}}\):
Conclusie: vijf stappen — metriek, viersnelheid, Christoffelsymbolen, geodeetvergelijking, frameprojectie — om te komen tot hetzelfde resultaat dat de ORT in één stap geeft:
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:
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:
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:
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:
Niets kan bewegen — niet door de ruimte, niet door de tijd
Klokken staan stil — \(\tau/t_\infty = 0\)
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:
Dit is exact de ontsnappingssnelheid \(v_{esc} = \sqrt{2GM/r}\).
Voor een bewegend object geldt het driecomponenten-budget:
# 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\):
Dit is de ruimtelijke component van de Schwarzschildmetriek:
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:
Temporeel (brekingsindex): \(n_{tijd} = c/c_{local}\)
Ruimtelijk (uitrekking): \(n_{ruimte} = c/c_{local}\)
Gecombineerd: de effectieve brekingsindex:
De totale afbuighoek:
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:
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:
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:
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:
Klokken lopen langzamer waar \(c_{local}\) lager is → tijddilatatie
De ruimte rekt radiaal uit → afstanden worden groter nabij massa
Licht buigt af door de gecombineerde brekingsindex \(n_{eff} = (c/c_{local})^2\)
Licht verliest frequentie bij het stijgen → roodverschuiving
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:
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:
§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:
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:
# 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:
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).