Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss18:boltzmann

Maxwell-Boltzmann-Verteilung

Allgemeine Berechnung der Maxwell-Boltzmann Verteilung

Die eigentliche Berechnung der Maxwell-Boltzmann-Verteilung findet im finalen Projekt in der Klasse MbFit() welche aus der Datei mb_fit() kommt, diese liegt in dem Unterornder „gui_pages/calc_modules/“.

Das Programm ist in vier Teile aufgeteilt:

  • load_puck_data()
  • calculate_velocitys()
  • count_velocity()
  • fit()

load_puck_data()

Diese Funktion bekommt die Postionsdaten als Argument übergeben und packt sie in eine Variable welche dann später von den anderen Funktionen benutzt werden kann.

calculate_velocitys()

Diese Funktion berechnet die Geschwindigkeiten aller Pucks mit den ubergebenen Positionsdaten.

Die Daten werden dann auch bus zu einem gewissen Grad zusammengefasst. (also damit mehr gleiche Geschwindigkeiten existieren)

Diese werden dann in der Liste „dxylist“ gespeichert und an „count_velocity()“ übergeben.

count_velocity()

Hier werden die Geschwindigkeiten gezählt und das Dictionary anzahllistedic gepackt.

fit()

Hier findet der eigentliche Fit mit Hilfe der in Python beinhaltenen Funktion „curve_fit()“ statt

"mb_fit.py" in Verbingung mit der Datenstruktur und dem GUI

[1] Wenn der „Berechnen“ Button gedrückt wird, wird über das tkinter gui die calc_mb() Funktiuon in der „gui_main.py“ Datei aufgerufen.
[2] Diese Funktion hollt sich die Positionsdaten und übergibt sie an die „calculate()“ Funktion. Diese wiederum erstellt eine neue Instanz der „MbFit()“ Klase die in „mb_fit.py“ liegt. Die bekommt dann auch die Positionsdaten für die Maxwell-Boltzmann Verteilung.
[3] (Ist noch nicht in der finalen Version) Wenn der schließen Button ausgeführt wird, was am Ende der Knopf oben rechts sein soll wird die Funktion „close_plot()“ in der der „gui_main.py“ Datei aufgerufen.
[4] Welche dann den erstellten Matplotlib Plot schließt.

Dateien

Hier eine Variation von dem Fit Programm welche im Gegensatz zu der im finalen Produkt funktioniert. Sie behält die Gleiche Struktur aber liest die Positionsdaten aus einer Datei und wird von einer anderen Datei aus gesteuert (mb_fit_final_example.py).

1)

1) Claas Fillies, Friedrich Rieber
ss18/boltzmann.txt · Zuletzt geändert: 2018/08/25 20:08 von f_g_r