Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss16:physiksimulation_doc_main

Dies ist eine alte Version des Dokuments!


Noch in Bearbeitung…

Hauptseite des Projekts

Dokumentation

Einführung

Dieses Projekt hat das Ziel, die Bewegungen von Körpern unter Berücksichtigung von Gravitationskräften zwischen ihnen möglichst realitätsnah zu simulieren.
Wir haben uns entschieden, das User Interface in Python zu schreiben, welches mehr Programmierkomfort bietet. Da die Berechnungen sehr rechenaufwändig sind, führen wir diese mithilfe des schnelleren C++ durch. Um den Austausch von Daten zwischen beiden Teilen zu ermöglichen, verwenden wir Cython.

Verwendete Software und Formeln

Struktur des Programms

Der Startpunkt für das gesamte Programm ist Main.py. Einen ersten Überblick über den weiteren Programmverlauf kann man dem folgenden UML-Diagramm entnehmen:


durchgezogene Pfeile: [Pfeilende] importiert bzw. inkludiert [Pfeilspitze]
gestrichelte Pfeile: [Pfeilende] greift auf [Pfeilspitze] zu


Zuerst wird das GUI erzeugt. In diesem kann der Benutzer Objekte erstellen und Parameter für die Berechnung eingeben. Die Ergebnisse der Berechnung werden aktuell in eine Textdatei geschrieben. Nachdem diese abgeschlossen ist, ruft die Main.py den Visualizer auf. Dieser initialisiert ein VPython-Fenster, in dem die Ergebnisse angezeigt werden.
Der C++-Teil enthält keine main-Funktion. Er wird vor dem Programmstart von Cython zu einer .so-Datei kompiliert und gelinkt, die wie jedes andere Modul in Python importiert werden kann. Welche Funktionen Python nutzen kann, wird im PyCInterface.pyx festgelegt.

Details zu den Programmkomponenten

Eine gegliederte Auflistung aller Komponenten zusammen mit einer Beschreibung ihrer Funktionen und Quellcodes befindet sich hier.

Ausblick/To-Do

In Zukunft soll Folgendes noch getan werden:

  • verbesserte Namensgebung (vor allem bei sämtlichen „Interface“-Dateien)
  • real time-Berechnung und -Anzeige (aktuell wird erst berechnet, in eine Datei geschrieben und dann angezeigt)
  • Verweise, die die Ordersturktur unterstützen (aktuell müssen sich alle Dateien im selben Ordner befinden)
ss16/physiksimulation_doc_main.1471092947.txt.gz · Zuletzt geändert: 2016/08/13 14:55 von markumnus