====== Protokolle Galaxiesimulation====== === 21.11.2024 === * Recherche * Entscheidung für konkretes Thema === 28.11.2024 === * Einarbeiten in physikalische Gesetze des N-Körper-Problems (Quelle: https://www.tat.physik.uni-tuebingen.de/~schaefer/teach/f/cp.pdf) - Newtons Gravitationsgesetz * gewöhnliche Differentialgleichungen 1. und 2. Ordnung (Quelle: https://mathe.zone/data/skripten/differentialgleichungen.pdf) * Einführung * eulersches Polygonzugverfahren * Schriftliche Erarbeitung: * {{ws2425:astrophysik:einfuehrung_in_dgl.pdf|Einführung in DGL}} ===05.12.2024=== * Erstellen eines ersten Programms, das die Gravitation und Beschleunigung zwischen zwei Punktmassen mittels DGL berechnet und als 2D-Animation (matplotlib.animation) ausgibt * dabei verwendete ich zunächst -aufgrund dessen Einfachheit - das Euler-Verfahren * rumexperimentieren mit verschiedenen Massen und Anfangsgeschwindigkeiten * Info matplotlib.animation (FuncAnimation): https://matplotlib.org/stable/api/animation_api.html {{ws2425:astrophysik:figure_2.png|Simulation}} ===12.12.2024=== * Erstellen einer 2D Simulation von beliebig vielen Partikeln, die eine zufällige Geschwindigkeit, Masse und Position in der Ebene haben; auf jeden Partikel wirkt die Gravitationskraft aller anderen Partikel ===19.12.2024=== * Modifizierung des Codes, sodass die Simulation in 3D simuliert * Einfügen eines massereichen, unbewegten Punktes in der Mitte * graphische Verschönerung (schwarzer Hintergrund, Entfernen der Achsen) * Experimentieren mit verschiedenen Zahlen an Partikeln (30,100,200), Veränderung der Geschwindigkeit und Gravitationskonstante etc. * erstes Recherchieren zu Runge-Kutta-Verfahren für bessere numerische Lösung der Differentialgleichung als Euler-Verfahren ===09.01.2025=== * Verbessern des Codes: Runge-Kutta-Verfahren, statt Euler-Verfahren * Einarbeiten der Spiralbewegung * Visualisierung und Hervorhebung des Gravitationszentrums * Infos zu symplektischen Integratoren erhalten ===16.01.2025=== * Gesamtenergie berechnen im Verlauf (potenzielle Energie und kinetische Energie) * Gesamtenergieverlauf als Graph visualisieren * Kurzvorstellung des bisherigen Projekts ===23.01.2025=== * Implementierung einer Funktion, die den Startzustand einer logarithmischen Spirale ausgibt und je nach angegebener Zahl unterschiedlich viele Arme erzeugen kann, sodass eine Spiralgalaxie entsteht ===30.01.2025=== * Nutzereingaben mit easygui: Anzahl der Massen und Arme der spirale können beliebig gewählt werden * Testen der Rechenzeit der einzelnen Funktionen mit line_profiler * Verbesserung der Spiralbewegung, sodass stabile Bahnen entstehen und die Partikel nicht ins Zentrum gezogen werden - $v_{tangential} = \sqrt{\frac{G*M_{zentral}}{r}}$ * So sieht die aktuelle Simulation mit 70 Partikeln und 2 Spiralarmen aus: * {{ws2425:astrophysik:figure3.png|Simulation}} * Ziele der nächsten Sitzungen: - optische Aufarbeitung - Optimierung der Funktion Gravitationskraftberechnung, damit die Rechenzeit verringert und mehr Partikel dargestellt werden können ===06.02.2025=== * deutliche Verringerung der Rechenzeit durch numba.njit bei der doppelten Schleife bei der Kraftberechnungsfunktion * farbige, transparente Partikel eingefügt, die die Simulation deutlich optisch verbessern und dem Aussehen einer Galaxie ähnlicher machen * So sieht die Simulation jetzt aus: * {{ws2425:astrophysik:figur4.png|Simulation}} ===13.02.2025=== * Hinzufügen einer zufälligen Streuung für Spiralarme, sodass eine realistischere Spiralstruktur entsteht * farbliche Anpassung der Nebelpartikel * Durch die zufällige Streuung entsteht eine realistischere Galaxiestruktur: * {{ws2425:astrophysik:bild1.png|Simulation}} * Halten der Vorträge ===Blocktermine=== ==1.Tag== * Informationen zu Leapfrog-verfahren besorgt: https://hwolff.hier-im-netz.de/.cm4all/uproc.php/0/docs/Leapfrog-Schrittweitensteuerung.pdf * Beginn einer dritten Code-Variante mit Leapfrog-Verfahren * Beginn mit der strukturierten Dokumentation mit LaTeX ==2.Tag== * Fertigstellung der Leapfrog-Codevariante * weiter Arbeit an der Dokumentation ==3.Tag== * Vergleich der drei implementierten numerischen Verfahren hinsichtlich Energieerhaltung: Ich habe festgestellt, dass in der Runge-Kutta-Variante ein Fehler ist, der die Genauigkeit extrem verschlechtert --> Versuch der Fehlerfindung und Korrektur