Wie erstelle ich eine galaktische Sternmassenfunktion?

Angenommen, ich habe eine Reihe von Sternmassen von Zehntausenden von Galaxien und ich weiß auch bereits, wie groß das gesamte "Vermessungsvolumen" (in Mpc ^ 3) ist, in dem all diese Galaxien enthalten sind. Zum Kontext, meine Daten stammen von einer Simulation der Galaxienentstehung bei Rotverschiebung ~ 0 und nicht von einer einfachen Beobachtung - also glaube ich im Prinzip nicht, dass ich mir Gedanken über Unvollständigkeitskorrekturen am schwachen (massearmen) Ende machen muss.

Wie erstelle und zeichne ich angesichts meiner Reihe von Sternmassen und des gesamten Vermessungsvolumens in Mpc ^ 3 die "Galaxie-Sternmassenfunktion", von der ich immer Leute rede sehe? Ist es nicht im Grunde ein Histogramm der stellaren Massenanordnung und dividiert dann die Anzahl der Galaxien in jedem Bin durch das Vermessungsvolumen (es ist fast wie eine Normalisierungskonstante)?

(Natürlich könnte diese Frage auch für Galaxienhelligkeitsfunktionen gelten.)

Antworten (1)

Ihr Ansatz ist völlig richtig, beachten Sie nur drei Dinge:

Logarithmische Verteilung

Erstens, da die Verteilung von Massen logarithmischer Natur ist (wie die meisten anderen Dinge), stellen Sie sicher, dass Sie sie logarithmisch einteilen. Andernfalls werden Sie die Bins am Ende der niedrigen (hohen) Masse überabtasten (unterabtasten).

Gemeinsame Dichten

Zweitens, um Massenfunktionen bei verschiedenen Rotverschiebungen vergleichen zu können, verwendet man das mitbewegte Volumen anstelle des physikalischen Volumens, sodass die Expansion des Universums herausgerechnet wird. Die beiden sind verwandt als v c Ö m = v p h j s ( 1 + z ) 3 .

Verdammt, Kleiner h !

Schließlich neigen Beobachter und Modellierer dazu, eine etwas andere Definition des Einheitsvolumens zu verwenden. Während Beobachter normalerweise verwenden M p c für Entfernungen, und daher M p c 3 Wenn Ihre Galaxien aus einer kosmologischen Simulation stammen, bei der die kosmologischen Parameter nach Belieben eingestellt werden können, ist es für Zahlendichten üblich, die Hubble-Konstante herauszurechnen H 0 . In Simulationen werden dann Massen und Abstände eingemessen h 1 M und h 1 M p c , also werden Zahlendichten eingemessen h 3 M p c 3 . Hier h H 0 / ( 100 k m s 1 M p c 1 ) .

Dies ist wahrscheinlich eine Reminiszenz an die Zeit, als die Hubble-Konstante ziemlich unsicher war. Heutzutage ist das meiner Meinung nach nicht mehr nötig, aber da es alle tun, ist es schwierig, gegen den Strom zu schwimmen. Für eine Diskussion dieses Themas siehe Croton (2013) .

Python-Code

Da Sie die Frage mit markiert haben, habe ich diesen kleinen Ausschnitt geschrieben, der die Arbeit erledigen sollte (ich habe zufällig ausgewählt 10 5 M p c als Ihr Umfragevolumen; Beachten Sie auch, dass ich in diesem Beispiel nicht ausklammere h ):

import numpy as np
import matplotlib.pyplot as plt

M     = np.loadtxt('Mstar.dat')         #Read stellar masses in Msun
logM  = np.log10(M)                     #Take logarithm
nbins = 10                              #Number of bins to divide data into
V     = 1e5                             #Survey volume in Mpc3
Phi,edg = np.histogram(logM,bins=nbins) #Unnormalized histogram and bin edges
dM    = edg[1] - edg[0]                 #Bin size
Max   = edg[0:-1] + dM/2.               #Mass axis
Phi   = Phi / V / dM                    #Normalize to volume and bin size

plt.clf()
plt.yscale('log')
plt.xlabel(r'$\log(M_\star\,/\,M_\odot)$')
plt.ylabel(r'$\Phi\,/\,\mathrm{dex}^{-1}\,\mathrm{Mpc}^{-3}$')
plt.plot(Max,Phi,ls='steps-post')
Das ist erstaunlich klar und hilfreich – vielen Dank! Besonders für das Python-Snippet!
Sehr gerne!