Photonenwellen ersetzen Dunkle Materie: Python und SPARC revolutionieren Galaxienrotation
Das Dunkle-Materie-Problem beschäftigt Astrophysiker seit Jahrzehnten. Standardmodelle der galaktischen Dynamik benötigen unsichtbare Masse, um die unerwartet hohen Rotationsgeschwindigkeiten von Sternen in den äußeren Regionen von Galaxien zu erklären. Doch das Anpassen von Parametern für diese hypothetische Substanz bei jeder einzelnen Galaxie weckt Zweifel an ihrer grundlegenden Gültigkeit. Der unabhängige Forscher Pavel K. schlägt eine kühne Alternative vor: die Theorie des Vibrations-Energetischen Resonanz-Kontinuums (TVERC), die das Universum als Medium betrachtet, das strengen Gesetzen der Kontinuumsmechanik und nichtlinearer Hydrodynamik unterliegt. Um diese Idee zu testen, baute er ein Rechenexperiment mit Python und offenen astrophysikalischen Daten auf, das die Kinematik von 175 Galaxien modelliert – ganz ohne Dunkle Materie.
Das Dunkle-Materie-Rätsel und die TVERC-Alternative
Galaktische Modelle basieren auf der Gravitation sichtbarer Materie. Doch Beobachtungen zeigen, dass äußere Regionen viel schneller rotieren als vorhergesagt. Um die Daten zu passen, wurde Dunkle Materie postuliert – eine unsichtbare Substanz, die den Großteil der Masse des Universums ausmacht. Der Haken? Dunkle-Materie-Halo-Parameter müssen für jede Galaxie individuell angepasst werden, was auf Schwächen im Paradigma hindeutet und die Suche nach besseren Erklärungen anregt.
TVERC dreht den Spieß um. Statt Dunkle-Materie-Partikeln führt es ein dichtes „akustisches Polster“ aus elastischen Vakuumwellen ein. Sterne erzeugen diese Wellen über Milliarden Jahre und steigern lokal die opto-mechanische Viskosität des Raums. Die Galaxie rotiert als kohärente Einheit, ihre Kinematik folgt universellen, skalierbaren Gesetzen der Wellenenergie-Diffusion in diesem viskosen Medium. Keine galaxis-spezifischen Anpassungen mehr – nur ein einziges, physikbasiertes Modell für alle.
Rechtexperiment mit der SPARC-Datenbank
Zur Validierung von TVERC führte Pavel ein Rechenexperiment mit realen astrophysikalischen Daten durch. Er nutzte die offene SPARC-Datenbank (Spitzer Photometry & Accurate Rotation Curves), die präzise Photometrie und Rotationskurven für 175 Galaxien bietet – von massereichen Spiralen bis zu Zwergirregulären. Sie ist der Goldstandard für Galaxien-Dynamik-Studien.
Ziel: Ein einheitliches Set aus 19 makroskopischen 3D-Medium-Parametern finden, das alle 175 Galaxien gleichzeitig passt. Diese umfassen Vakuumsteifigkeit, Wellenenergie-Abfallgradienten, Wellenmultiplikatoren und mehr. Er meisterte diese Herausforderung mit scipy.optimize.differential_evolution aus SciPy – einem leistungsstarken globalen Optimierer für hochdimensionale Räume. Es minimierte die Abweichungen zwischen TVERC-vorhersagten Rotationskurven und Beobachtungen, unter Einhaltung physikalischer Realität durch strenge Grenzen.
Python-Implementierung: Optimierer und TVERC-Physikmodell
Python mit seinem Wissenschafts-Stack (numpy, scipy, matplotlib) war ideal. Der Prozess lädt SPARC bei Bedarf automatisch herunter, um Reproduzierbarkeit zu gewährleisten, und startet den Optimierer mit physikbeschränkten Grenzen für alle 19 Parameter. Diese halten Lösungen realistisch.
Hier ein Code-Snippet zur Optimierer-Einrichtung und Grenzen:
# === SCRIPT 1: TVERC AUTO-OPTIMIZER V10.1 (STRICT PHYSICS ENGINE) ===
import os
import subprocess
print("=== STAGE 1: SPARC DATABASE DOWNLOADING ===")
# Auto-download SPARC safely
if not os.path.exists('sparc-json'):
print("Downloading aggregated SPARC database (sparc_full.json)...")
subprocess.run(["git", "clone", "https://github.com/wohlig/sparc-json.git'])
print("Done! Database loaded.\n")
else:
print("Database exists. Skipping download.\n")
import numpy as np
import matplotlib.pyplot as plt
import json
import warnings
from scipy.optimize import differential_evolution
warnings.filterwarnings("ignore")
print("=== TVERC UNIFIED MODEL: V10.1 STRICT PHYSICS OPTIMIZER ===")
print("Mode: 175 galaxies. Physical penalties active. 5% outlier trimming.")
# ==============================================================================
# STRICT PHYSICAL BOUNDS (19 PARAMETERS)
# ==============================================================================
BOUNDS = [
(1.0, 15.0), # 0: initial_phi (Constrained by adequate vacuum tension)
(0.0005, 15.0), # 1: coupling (Matter-vacuum interaction)
(0.0, 50.0), # 2: base_kinetic_push (Kinematic offset max 50 km/s)
(0.1, 3.0), # 3: gas_ripple_multiplier (Gas volatility multiplier)
(2.0, 20.0), # 4: halo_radius_multiplier (Halo larger than disk by 2-20x)
(1.0, 10.0), # 5: a_scale_divisor (Density decay shape)
(0.3, 0.85), # 6: M_L_disk_base (PHYSICS: Disk M/L in IR band ~0.5)
(1e-6, 0.5), # 7: min_scattering
(0.1, 1.5), # 8: phi_exponent (Field attenuation exponent)
(0.1, 20.0), # 9: k_ripple_base
(0.01, 5.0), # 10: rho_sup_scale
(0.1, 1.0), # 11: rho_sup_power
(0.4, 1.0), # 12: M_L_bulge (PHYSICS: Bulge has older stars, higher M/L)
(-0.3, 0.3), # 13: ml_gradient (Smooth stellar population gradient)
(5.0, 25.0), # 14: disp_center (Core gas dispersion 5-25 km/s)
(2.0, 12.0), # 15: disp_edge (Edge dispersion minimum ~2 km/s)
(0.5, 3.0), # 16: disp_scale (Dispersion decay rate)
(0.3, 1.0), # 17: bulge_flattening (PHYSICS: Bulge is a 3D ellipsoid)
(0.0, 0.5) # 18: thermal_halo_coupling
]
Nach der Optimierung (oft 3+ Stunden) erzeugen die 19 universellen Parameter Rotationskurven. Dieses Snippet lädt sie und führt den TVERC-Physikkern aus:
# ==============================================================================
# TVERC KINEMATIC VISUALIZER: 12 GALAXY GRID
# ==============================================================================
# Auto-download SPARC
import os
if not os.path.exists('sparc-json'):
print("Downloading SPARC database...")
os.system('rm -rf sparc-json')
os.system('git clone https://github.com/wohlig/sparc-json.git')
import numpy as np
import matplotlib.pyplot as plt
import json
import warnings
warnings.filterwarnings('ignore')
print("\n=== TVERC KINEMATIC VISUALIZER: FORWARD CALCULATION ===")
# ==============================================================================
# 19 UNIVERSAL TVERC PARAMETERS (Derived from Run 1 Baseline)
# ==============================================================================
# Each represents a core property of the 3D Continuum
best_params = [
14.4842, # 0: initial_phi (Baseline vacuum tension scalar)
13.4859, # 1: coupling (Matter-vacuum interaction constant)
6.7855, # 2: base_kinetic_push (Ponderomotive acceleration offset, km/s)
1.3480, # 3: gas_ripple_multiplier (Thermodynamic volatility of interstellar gas)
19.9079, # 4: halo_radius_multiplier (Wave halo boundary scaling relative to disk)
2.4916, # 5: a_scale_divisor (Radial gradient shape factor of the transition zone)
0.5702, # 6: M_L_disk_base (Mass-to-Light ratio for the stellar disk)
0.0000146, # 7: min_scattering (Absolute lower limit of wave scattering in void)
0.8768299, # 8: phi_exponent (Spatial decay exponent of the tension field)
0.3786, # 9: k_ripple_base (Fundamental wave-number for thermal ripples)
3.3008619, # 10: rho_sup_scale (Density threshold for high-frequency damping)
0.4823863, # 11: rho_sup_power (Power of the density damping threshold)
0.5949, # 12: M_L_bulge (Mass-to-Light ratio for the older central bulge)
-0.1827, # 13: ml_gradient (Smooth radial decay of stellar mass density)
5.3, # 14: disp_center (Gas velocity dispersion at the core, km/s)
2.4, # 15: disp_edge (Gas velocity dispersion at the periphery, km/s)
2.2334, # 16: disp_scale (Exponential decay scale of gas dispersion)
0.8531, # 17: bulge_flattening (Geometric oblateness of the 3D bulge)
0.2692 # 18: thermal_halo_coupling (Fraction of thermal energy feeding the halo)
]
# ==============================================================================
# TVERC CORE PHYSICS ENGINE
# ==============================================================================
FIXED_CONFIG = {'alpha': 10e113}
class TVERCGalaxyModel:
def __init__(self, params):
self.alpha = FIXED_CONFIG['alpha']
self.initial_phi = params[0]
self.coupling = params[1]
self.base_push = params[2]
self.gas_ripple_multiplier = params[3]
self.halo_multiplier = params[4]
self.a_scale_divisor = params[5]
self.ml_disk_base = params[6]
self.min_scattering = params[7]
self.phi_exponent = params[8]
self.k_ripple_base = params[9]
self.rho_sup_scale = params[10]
self.rho_sup_power = params[11]
self.ml_bulge = params[12]
self.ml_gradient = params[13]
self.disp_center = params[14]
self.disp_edge = params[15]
self.disp_scale = params[16]
self.bulge_flattening = params[17]
self.thermal_coupling = params[18]
self.v_phi_base = 299792.458
def get_static_tension_energy(self, phi_val):
return (3.0 / (2.0 * self.alpha)) * (1.0 - 1.0 / (1.0 + self.alpha * phi_val**2))
def effective_ripple_energy_density(self, phi_val, rho_eff, grad_sq):
local_k_ripple = self.k_ripple_base / (1.0 + (rho_eff / self.rho_sup_scale))
local_k_ripple = np.maximum(local_k_ripple, 1.0)
v_eff_local = self.v_phi_base / (local_k_ripple * 124.1)
retention_factor = 1.0 / (1.0 + (rho_eff / self.rho_sup_scale)**self.rho_sup_power)
effective_factor = np.maximum(retention_factor, self.min_scattering)
u_static = self.get_static_tension_energy(phi_val)
u_coupling = 0.5 * self.coupling * rho_eff * phi_val**2
kinetic_energy = 0.5 * v_eff_local**2 * grad_sq
return kinetic_energy + (u_static + u_coupling) * effective_factor
G = 4.30091e-6
def process_galaxy_json(galaxy_data, tverc_model):
raw_array = np.array(galaxy_data['data'])
R, V_obs, V_gas_raw = raw_array[:, 0], raw_array[:, 1], np.abs(raw_array[:, 3])
V_disk, V_bulge = raw_array[:, 4], raw_array[:, 5]
valid = R > 0
R, V_obs, V_gas_raw, V_disk, V_bulge = R[valid], V_obs[valid], V_gas_raw[valid], V_disk[valid], V_bulge[valid]
M_stars_raw = R * (V_disk**2 * 0.2) / G
idx_half = np.searchsorted(M_stars_raw, M_stars_raw[-1]/2) if M_stars_raw[-1] > 0 else -1
R_eff_raw = R[min(idx_half, len(R)-1)] if M_stars_raw[-1] > 0 else max(R[-1]/2, 1.0)
V_dispersion = tverc_model.disp_center * np.exp(-R / (R_eff_raw * tverc_model.disp_scale)) + tverc_model.disp_edge
V_gas = np.sqrt(V_gas_raw**2 + V_dispersion**2)
surf_dens_approx = M_stars_raw[-1] / (R_eff_raw**2)
dyn_ml_disk = tverc_model.ml_disk_base * (np.maximum(surf_dens_approx / 1e8, 0.1))**tverc_model.ml_gradient
M_disk_R = R * (V_disk**2 * dyn_ml_disk) / G
M_bulge_R = R * (V_bulge**2 * tverc_model.ml_bulge) / G
M_gas_R = R * V_gas**2 / G
rho_disk, rho_bulge, rho_gas = np.zeros_like(R), np.zeros_like(R), np.zeros_like(R)
V_sph_0 = (4/3) * np.pi * R[0]**3
rho_disk[0], rho_bulge[0], rho_gas[0] = M_disk_R[0]/V_sph_0, M_bulge_R[0]/(V_sph_0*tverc_model.bulge_flattening), M_gas_R[0]/V_sph_0
Ergebnisse und physikalische Erkenntnisse
Der Optimierer hat es geschafft: Ein einziges Set aus 19 universellen Parametern passt die Kinematik von 175 höchst unterschiedlichen Galaxien. Mittlerer absoluter Prozentfehler (MAPE) zwischen TVERC-Kurven und Teleskopdaten? Nur 15,59 %. Für eine so breite Stichprobe mit einem Modell ist das bahnbrechend. Keine individuellen Dunkle-Materie-Halos nötig – die Dynamik ergibt sich aus intrinsischen Eigenschaften der Raumzeit.
Wichtige Erkenntnisse:
- Universeller Fit: Ein Parametersatz deckt alle Galaxientypen ab, von Riesen bis Zwergen – im Gegensatz zu Dunkle-Materie-Modellen mit galaxis-spezifischen Anpassungen.
- Beeindruckende Genauigkeit: 15,59 % Durchschnittsfehler zeigen starke Vorhersagekraft.
- Physikalische Fundierung: Alle 19 Parameter entsprechen realen Eigenschaften wie Vakuumspannung (
initial_phi) oder Materie-Vakuum-Kopplung (coupling). - Keine Dunkle Materie nötig: TVERC erklärt flache Rotationskurven allein durch Vakuumwelleneffekte.
Das stellt die Dunkle-Materie-Doktrin infrage und eröffnet neue Perspektiven auf kosmische Gesetze. TVERC prognostiziert sogar Schwarze-Loch-Resonanzsummen, validiert an LIGO-Daten, und geht über Galaxien hinaus.
Wichtige Highlights
- Paradigmenwechsel in der Astrophysik: Weg mit Dunkler Materie, hin zu Kontinuumsmechanik-Ansatz des Universums.
- Python-gestützte Modellierung:
scipy.optimize.differential_evolutionsimuliert 175 Galaxien mit 19 universellen Parametern. - Bewährte Präzision: 15,59 % MAPE bei SPARC-Rotationskurven.
- Einheitslösung: Universelle Parameter schlagen Dunkle-Materie-Anpassungen.
- Weiterer Anwendungsbereich: Gilt auch für Schwarze Löcher, bestätigt durch LIGO.
— Editorial Team
Noch keine Kommentare.