Übungsblatt Nr. 9

Aufgabe 1 (10 Punkte)

Im Unterpunkt Differentialgleichungen: Numerische Lösung von Anfangswertproblemen hatten wir mittels des C++ Programmes DGL_1.cpp die numerische Lösung einer Differentialgleichung berechnet. Lagern Sie den Kern-Algorithmus der Berechnung der numerischen Lösung, eines Verfahrens Ihrer Wahl (z.B. Euler Verfahren oder Runge-Kutta Ordnung vier), als eine C++ Klasse (oder als eine C++ Funktion) aus.
Berechnen Sie dann die numerische Lösung der folgenden Differentialgleichung erster Ordnung $$ \begin{equation} \dot{y}(t) = \frac{d y(t)}{dt} = y - t^2 + 1 \quad, \, \hbox{mit:} \,\, a=0 \leq t \leq b=4 \, , \,\, y(a)=y(0)=\alpha=0.3 \end{equation} $$ mittels eines Verfahrens Ihrer Wahl (z.B. Euler Verfahren oder Runge-Kutta Ordnung vier). Führen Sie drei numerische Simulationen durch, wobei Sie für die Anzahl $N$ der Zeit-Gitterpunkte $t_i, i=0,1,2, ..., N-1$ die folgenden Werte benutzen: $N=50$, $N=500$ und $N=5000$. Geben Sie die berechneten Werte ($t_i, y_i, y_{analytisch}(t_i)$ und den Fehler ${\cal F} = y_i - y_{analytisch}(t_i)$) mit 15 Nachkommastellen für $t=1$, $t=2$ und $t=4$ an.

Aufgabe 2 (10 Punkte)

Im Unterpunkt C++ Container und die vector Klasse der Standardbibliothek wurde mit dem C++ Programm Vector_Dinge.cpp eine Kiste (ein C++ Container) mit 10 Objekten der Klasse 'Ding' erzeugt. Die zeitliche Entwicklung der Ortskoordinaten der nicht miteinander wechselwirkenden Dinge wurde mittels der inline Funktion 'Gehe_Zeitschritt(...) modelliert. In dieser Funktion wurden ebenfalls die Randbedingungen der Kiste implementiert (Reflexion an den Wänden der Kiste).

Ändern Sie das Programm so ab, dass anstatt der Reflexion an den Rändern der Kiste, periodische Randbedingungen existieren. Bauen Sie zusätzlich ein weiteres Teilchenverhalten, bzw. eine weitere Umgebungseigenschaft, in das Programm ein . Starten Sie dann eine Simulation mit 70 Teilchen (unterschiedliche Anfangsorte und Geschwindigkeiten) und stellen Sie die Bewegung der Teilchen mittels eines Python-Skriptes (Jupyter Notebooks) als animierten Film dar.

Die Musterlösung der Aufgaben des Übungsblattes Nr. 9 finden Sie unter dem folgenden Link:
Musterlösung Übungsblatt Nr. 9