Im folgenden findest du Python-Code gemischt mit meinen Überlegungen zu den Übungsaufgaben. Das ist keine Musterlösung! Fühl dich ermutigt, einen Blick auf den Code zu werfen, dich durch die Links zu klicken, und diesen Post als Ausgangspunkt für eigene Recherchen zu benutzen.
Wie immer beginnen wir mit der Präambel:
# Braucht man immer
import numpy as np
import pandas as pd
# als Astronomin sowieso
import astropy.units as u
from astropy.constants import G, M_sun
# für hübsche Plots
from matplotlib import rc as RC
RC('font', size=15)
RC('ytick', labelsize=15)
RC('axes', labelsize=15)
linewdith, fontsize = 3, 14
import matplotlib.pyplot as plt
%matplotlib inline
import matplotlib.image as mpimg
Jetzt haben wir alles, was wir an Python-Packages brauchen. Los geht's:
1. Struktur der Milchstraße¶
Wo befinden sich typischerweise die folgenden Objekte in der Milchstraße?¶
Kugelsternhaufen¶
Kugelsternhaufen sind alte Objekte und finden sich bevorzugt im Sternenhalo.
offene Sternhaufen¶
Offene Sternhaufen sind junge Sterngruppen, die sich nach der Entstehung noch eng beieinander aufhalten. Man findet sie in den Spiralarmen.
H II Gebiete¶
HII Gebiete entsprechen dem Stadium vor der Bildung eines offenen Sternhaufens. Sie haben eine Temperatur von ca. 10 000 K und leuchten daher blau. Entsprechend findet man sie ebenfalls in den Spiralarmen der Galaxie.
supermassereiches Schwarzes Loch¶
Aus den Bewegungen von Sternen im Zentrum der Milchstraße schließen wir, dass sich dort ein superschweres Objekt befindet - ein supermassereiches schwarzes Loch (Sagittarius A*).
die Sonne¶
Die Sonne befindet sich im Orion-Arm unserer Heimatgalaxie. Die Entfernung zum Zentrum besträgt ca. 8.2 kpc. Bei einem sichtbaren Durchmesser von ca. 30 kpc, finden wir sie daher in etwa auf halber Strecke zum Rand.
Zeichne die Fundorte dieser Objekte in der untenstehenden Skizze ein.¶
from ipywidgets import interact
from bokeh.io import output_notebook, push_notebook
import matplotlib.pyplot as plt
%matplotlib inline
import matplotlib.image as mpimg
suff = [ "_kugelsternhaufen", "_offene_sternhaufen", "_hii_gebiete", "_smbh", "_sonne",]
out = ["Kugelsternhaufen","Offene Sternhaufen", "HII Gebiete", "Supermassereiches Schwarzes Loch", "Sonne"]
obj = dict(zip(out,suff))
for key, val in zip(out,suff):
img = mpimg.imread(f'milchstrasse{val}.png')
plt.figure(figsize=(20,8))
plt.imshow(img)
plt.title(key, fontsize=20)
plt.axis("off")
2. Sternstromparallaxe¶
Vereinfacht betrachtet bewegen sich die Sterne eines Sternhaufens relativ zur Sonne gemeinsam in eine Richtung im Raum. Eine Beobachterin stellt jedoch fest, dass die Bewegungsvektoren der tangentialen Eigenbewegung $(\mu_{\alpha},\mu_{\delta})$ auf einen Konvergenzpunkt zulaufen.
Erkläre diesen scheinbaren Widerspruch.¶
Der Anschein der Konvergenz auf einen Punkt am Himmel ist vergleichbar mit dem Eindruck, den man gewinnt, wenn man parallel verlaufende Eisenbahnschienen betrachtet. In Richtung des Horizonts streben sie ebenfalls scheinbar aufeinander zu. Der Effekt kommt also durch die von der tangentialen Eigenbewegung nicht erfasste Radialgeschwindigkeit zustande.
Erkläre kurz die Methode der Sternstromparallaxe für die Entfernungsbestimmung von nahegelegenen Sternhaufen in der Milchstraße. Nenne die notwendigen Messgrößen.¶
1. Berechne den Konvergenzpunkt¶
Messgrößen: Die vierdimensionalen Koordinaten der Sterne des Sternhaufens (mindestens zwei): $(\alpha, \delta, \mu_{\alpha},\mu_{\delta})$, d.h. Rektaszension, Deklination, und die beiden Komponenten der tangentialen Eigenbewegung. Sie definieren zwei Geraden in 2D.
Der Schnittpunkt der (zwei) Geraden in der Ebene ist der Konvergenzpunkt.
2. Berechne den Winkelabstand $\psi$ zwischen Stern und Konvergenzpunkt¶
Die Richtungsvektoren $\mathbf{n}$ des Sterns und $\mathbf{n_{conv}}$ des Konvergenzpunkts (jetzt in 3D!) schließen $\psi$ ein, sodass gilt
$\cos \psi = \mathbf{n} \cdot \mathbf{n_{conv}}$
3. Messe die Radialgeschwindigkeit $v_r$ eines Sterns¶
Bonusfrage: Wie messen wir das?
4. Bereche die Distanz¶
Für $\mathbf{n_{conv}}$ gilt nun (siehe Kapitel 2.2.3. im Lehrbuch):
$\mathbf{n_{conv}}=\dfrac{\mathbf{v}}{|\mathbf{v}|}$
Daraus folgt durch Einsetzen:
$v_t = v_r \cdot \tan\psi$
Die rechte Seite der Gleichung ist bekannt aus 2. und 3. Wir kennen also die tatsächliche Tangentialgeschwindigkeit des Sterns! Jetzt können wir die Beziehung zwischen Eigenbewegung und Tangentialgeschwindigkeit benutzen, um die Distanz $D$ auszurechnen:
$D = \dfrac{v_t}{\mu} $
Worin besteht die eingangs erwähnte Vereinfachung?¶
Die Sterne innerhalb eines Haufens bewegen sich nicht perfekt mit der gleichen Geschwindigkeit parallel zueinander, sondern auch kreuz und quer relativ zueinander.
Was bedeutet das praktisch für die Methode der Sternstromparallaxe?¶
Deswegen wird der Konvergenzpunkt für keine zwei Paare von Sternen in einem Sternhaufen je völlig übereinstimmen. Doch je mehr Sterne man in die Rechnung einbezieht, desto eher ist es möglich, diese haufen-internen (unter bestimmten Annahmen über die Art dieser Bewegungen) herauszurechnen.
Bonusfrage: Welche Annahme wäre plausibel?
3. Rotationskurve¶
Das Paper von Albada et al. (1986) über Dunkle Materie in Spiralgalaxien. Wir befassen uns hier mit NGC 3198:
img = mpimg.imread('NGC3198_SDSS_DR14.jpg')
plt.figure(figsize=(6,6))
plt.axis("off")
plt.title("NGC3198: NASA/JPL-Caltech/K. Gordon (Space Telescope Science Institute) and SINGS Team ")
plt.imshow(img);
a. Füge die Datenpunkte aus der Tabelle zur unteren Hälfte der Abbildung hinzu.¶
siehe Abbildung unten.
b. Füge sodann die Rotationskurven¶
(i) eines starren Körpers
(ii) eines typischen Kepler-Systems
siehe Abbildung unten.
c. Wie lautet die Beziehung zwischen Geschwindigkeit $V(R)$ und Radius $R$ für (i) und (ii)?¶
(i) starrer Körper¶
Ein starrer Körper rotiert per Definition starr, wie z.B. eine Schallplatte. Die Winkelgeschwindigkeit bleibt also konstant:
$V_{starr}(R)= \omega_\mathrm{const.} \cdot R$
(ii) Kepler-System¶
In einem Kepler-System können wir die Zentrifugalkraft für einen Massepunkt auf einer Keplerscher Bahn benutzen ($E_{kin} = E_{pot}$) benutzen und erhalten:
$V_{Kepler}(R)= \sqrt{\dfrac{GM(R)}{R}}$
$M(R)$ ist dabei die Masse innerhalb des Radius $R$.
Nun zum Programmierteil:
Zunächst definieren wir die beiden Beziehungen als Funktionen:
def v_Kepler(r, masse):
"""V(R) fuer ein Kepler-System.
Parameters:
-----------
r : float mit astropy Einheit
Distanz zum Mittelpunkt
masse : float
M(R)
Return:
--------
Geschwindigkeit eines Massepunkts in
einem Kepler-System.
"""
return np.sqrt(G * masse * M_sun / r).to("km/s").value
def v_starr(r, omega=1./1000.):
"""V(R) eines starren Koerpers.
Parameters:
-----------
r : float mit astropy Einheit
Distanz zum Mittelpunkt
omega : float
Umdrehungsrate des Koerpers
Return:
-------
Geschwindigkeit des Ort im Abstand r
auf dem rotierenden starren Koerper
"""
return (r * omega * 2. * np.pi / u.Myr).to("km/s").value
Jetzt können wir diese Funktionen nutzen, um sie in die Graphik einzuzeichnen.
Die Kurven für NGC 3198 kommen sogleich als Tabelle dazu:
# Lies die Kurven aus dem Paper ein, sowie die Schätzung für die Dunkle Materie
rv = pd.read_csv("albada_r_v.csv")
# Initiiere ein Array von Radien für die Berechnung der Rotationskurven (i) und (ii)
r = np.linspace(0.1,31,200)*u.kpc
rv.head()
# Lies aus der Helligkeitsverteilung in der oberen Hälfte ber Abb. 2 eine passable Kurve für M(R) ab
# Wir nehmen an, dass das Verhältnis von Masse zu Leuchtkraft konstant ist.
# mit numpy.cumsum() bekommst du eine sehr grobe Näherung an das Intergral aus den Daten:
cummass = np.zeros(len(rv.lum))
cummass[:len(rv.lum.dropna())] = 4e17 * np.power(10, -0.4 * rv.lum).dropna().cumsum()
cummass[len(rv.lum.dropna()):] = cummass[len(rv.lum.dropna())-1]
cummass = np.interp(r.value,rv.r, cummass)
# So sieht M(R) aus, wenn man die obere Hälfte der Abbildung zu Rate zieht:
plt.figure(figsize=(8,6))
plt.plot(r, cummass, c="k")
plt.title(r"sichtbare Masse innerhalb von $R$", fontsize=16)
plt.xlim(0,32)
plt.ylabel(r"M [$M_\odot$]")
plt.xlabel("R [kpc]");
# Beginne eine neue Abbildung
plt.figure(figsize=(10,7))
# Berechne und zeichne (i) und (ii) ein
plt.plot(r,v_starr(r), linewidth=linewdith,
label=r"(i) starrer Körper mit $\omega=\dfrac{2\pi}{\mathrm{Gyr}}$")
plt.plot(r, v_Kepler(r, cummass), linewidth=linewdith,
label=r"(ii) Kepler-System")
# Zeichne die drei Kurven für NGC 3198 ein
plt.plot(rv.r, rv.vlum, linewidth=linewdith, c="k",
label="erwarteter Verlauf aus der sichtbaren Materie" )
plt.scatter(rv.r, rv.v,s=30,c="k",
label="NGC 3198 (Albada et al. 1986) - Tabelle 1.")
plt.plot(rv.r, rv.vdark, linewidth=linewdith, c="k", linestyle="dashed",
label="Dunkle Materie Halo" )
# Hübsche Abbildung
plt.ylim(0,250)
plt.xlim(1,32)
plt.xlabel(r"$R$ [kpc]")
plt.ylabel(r"$V$ [km/s]")
plt.legend(loc=1, fontsize=15)
plt.tight_layout()
c. Beschreibe die beobachtete Rotationskurve. Wie erklären wir sie uns?¶
Die Rotationsgeschwindigkeit steigt bis zu einem Radius von ca. 8 kpc an und flacht dann ab. NGC 3198 rotiert nicht wie eine starre Scheibe, sondern differentiell. Wie unsere Galaxis rotieren auch Spiralgalaxien wie NGC 3198 im Außenbereich sehr viel schneller, als man aufgrund des Keplergesetzes und der sichtbaren Materieverteilung erwarten würde. Wir interpretieren diese Beobachtung als Hinweis auf einen Halo aus dunkler Materie, der die Massenverteilung in den Außenbereichen dominiert.
d. Wie würde die Rotationskurve für einen Halo aus Dunkler Materie aussehen? Zeichne auch dessen Rotationskurve in die Abbildung ein. Welche Art von Materie dominiert bei welchen Radien? Warum?¶
Das gesamte Gravitationspotenzial der Galaxie setzt sich aus der sichtabren und dunklen Materie zusammen. Für die beobachte Rotationskurve $V(R)$ gilt daher:
$v^2 = \dfrac{G(M_{lum}(R) + M_{DM}(R))}{R} = v_{lum}^2 + v_{DM}^2$
So erhalten wir für die Rotationskurve des Dunkle Materie Halos die folgende Relation:
$v_{DM}^2 = v^2 - v_{lum}^2$
Außerhalb von ca. 10 kpc dominiert die dunkle Materie die Masserverteilung in NGC 3198.
Ein Grund für die beobachtete, weit weniger im Zentrum konzentrierte, Verteilung der Dunklen Materie könnte sein, dass die Teilchen, aus denen sie besteht, nur sehr schwach wechselwirken (WIMPs), und seit der Entstehung des Universums noch nicht hinreichend Zeit gehabt haben, sich zu verdichten. Leider hat noch nie jemand ein WIMP gesehen.