Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss2021:project2:doku

Dies ist eine alte Version des Dokuments!


Partikelsimulation

Im Rahmen des Projektlabor Mathesis, welches im MINTgrün Orientierungsstudium angesiedelt ist, wurde dieses Projekt umgesetzt. Wie bereits der Name andeutet, ist das Ziel des Projekts eine Simulation von Partikeln im dreidimensionalen Raum. Besonders auf die drei Kerneigenschaften Gravitation, Reibung und Kollision wird hierbei wertgelegt.

Struktur des Programms

Unser Programm basiert auf der Bibliothek vpython, welche die graphische Umsetzung ermöglicht. Im Anfang unseres Programms werden die Partikel zweimal erzeugt. Einmal als die Liste „partikel“, welche die einzelnen Partikel als Dictionaries enthält, und einmal als die Liste „kugeln“, welche vpython Objekte enthält, die graphisch dargestellt werden können.

Die Hauptschleife

Nach dem definieren einiger Funktionen, auf welche im Detail weiter unten eingegasngen wird, findet sich die Hauptschleife in Form eines while Loops. Die Grundidee hierbei ist, dass jede Iteration in dieser Hauptschleife einen Frame der Simulation bildet. Die Dictionaries aus „partikel“ enthalten sieben Einträge. Hierbei stellen drei die Position im dreidimensionalen Raum dar und- drei weitere Einträge den Geschwindigkeitsvektor. Der letzte Eintrag ist für die Masse, welcher zum Beispiel bei der Gravitationsfunktion benötigt wird. In jeder Iteration wird dann die Position eines jeden Partikels aktualisiert, indem auf die alte Position $p_{alt}$ der Geschwindigkeitsvektor $v$ hinzuaddiert wird. $p_{neu}=p{alt}+v

Kerneigenschaften

Wie oben erklärt besteht unser Algorithmus aus drei Hauptfunktionen, diese werden im folgendem genauer beschrieben.

Gravitation

Die Gravition war die erste und bleibt nach wie vor die wichtigste programmierte Eigenschaft in unserem Code.

Theorie

$F_g=\gamma\frac{m_1\cdot m_2}{r^2}$

Umsetzung

Reibung

Theorie

Umsetzung

Kollision

Fusion

Explosion

Hier noch was einfügen

ss2021/project2/doku.1633518394.txt.gz · Zuletzt geändert: 2021/10/06 13:06 von Moritz02