Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws2223:projekt_hoehenformel [2023/04/15 21:30] Jakob_Hoffmann [Historisches] |
ws2223:projekt_hoehenformel [2023/05/15 10:11] (aktuell) Jakob_Hoffmann [Historisches] |
||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
Lily Linder, Marcel Nöldner, Jakob Hoffmann | Lily Linder, Marcel Nöldner, Jakob Hoffmann | ||
====Zielsetzung und Motivation==== | ====Zielsetzung und Motivation==== | ||
- | Die Brownsche Bewegung ist keineswegs ein Phänomen nur zweier Dimensionen. Bereits in den frühen Untersuchungen Jean Perrins spielt die Konzentration der Brownschen Teilchen in verschiedenen Höhen, selbst innerhalb von Proben, die nur Bruchteile von Millimetern hoch sind, eine wichtige Rolle. Das "Verschwinden" von beobachteten Teilchen aus der begrenzten Sichttiefe des Mikroskop stellt in diesen Beobachtungen eine große Hürde dar- trotzdem gelingt es Perrin und seinem Schüler Chaudesaigues im Folgenden, einzelne Teilchen über Zeiträume von bis zu 25 Minuten zu verfolgen. | + | Die Brownsche Bewegung ist keineswegs ein Phänomen nur zweier Dimensionen. Bereits in den frühen Untersuchungen Jean Perrins spielt die Konzentration der Brownschen Teilchen in verschiedenen Höhen, selbst innerhalb von Proben, die nur Bruchteile von Millimetern hoch sind, eine wichtige Rolle. Das "Verschwinden" von beobachteten Teilchen aus der begrenzten Sichttiefe des Mikroskop stellt, wie zu zeigen sein wird, in diesen Beobachtungen eine große Hürde dar- trotzdem gelingt es Perrin und seinem Schüler Chaudesaigues im Folgenden, einzelne Teilchen über Zeiträume von bis zu 25 Minuten zu verfolgen. |
Diesen bemerkenswerten Umständen wollen wir uns in diesem Projekt annähern und sie vergleichen mit den Sichtweisen, die uns die Möglichkeiten zur Computersimulation bieten. Dafür ist unser Hauptziel zunächst, eine **dreidimensionale Simulation** der Brownschen Bewegung mindestens eines suspendierten Teilchens zu programmieren und entsprechend zu visualisieren. Auch die **Gravitationskraft** soll dabei berücksichtigt werden. Im Weiteren wollen wir in ähnlicher Vorgehensweise wie Perrin versuchen, brownsche Teilchen auf verschiedene Höhenstufen eingeschränkt zu beobachten und einschätzen, wie (oder ob überhaupt) es sich umsetzen lässt, ein einziges Teilchen so lange im Blickfeld zu behalten. Schließlich soll auch die Untersuchung der Konzentration (bzw. verwandter Größen) in Abhängigkeit von der Höhe und insbesondere der Bezug zur beziehungsweise Zusammenhang mit der atmosphärischen **Höhenformel** Gegenstand unserer Projektarbeit sein. | Diesen bemerkenswerten Umständen wollen wir uns in diesem Projekt annähern und sie vergleichen mit den Sichtweisen, die uns die Möglichkeiten zur Computersimulation bieten. Dafür ist unser Hauptziel zunächst, eine **dreidimensionale Simulation** der Brownschen Bewegung mindestens eines suspendierten Teilchens zu programmieren und entsprechend zu visualisieren. Auch die **Gravitationskraft** soll dabei berücksichtigt werden. Im Weiteren wollen wir in ähnlicher Vorgehensweise wie Perrin versuchen, brownsche Teilchen auf verschiedene Höhenstufen eingeschränkt zu beobachten und einschätzen, wie (oder ob überhaupt) es sich umsetzen lässt, ein einziges Teilchen so lange im Blickfeld zu behalten. Schließlich soll auch die Untersuchung der Konzentration (bzw. verwandter Größen) in Abhängigkeit von der Höhe und insbesondere der Bezug zur beziehungsweise Zusammenhang mit der atmosphärischen **Höhenformel** Gegenstand unserer Projektarbeit sein. | ||
=====Historisches===== | =====Historisches===== | ||
- | *"When Perrin seized upon Brownian movement as a phenomenon for detailed study, many mysteries had been illuminated, though irksome questions still remained. There was in the current colloid literature a renewed interest in the Brownian particles as a thing in themselves, with opinion still divided over the cause of their activity. [...] Perrin moved into a new direction for proofs of the kinetic theory as a cause of Brownian movement." (Nye 1972, S. 102) \\ | + | *"When Perrin seized upon Brownian movement as a phenomenon for detailed study, many mysteries had been illuminated, though irksome questions still remained. There was in the current colloid literature a renewed interest in the Brownian particles as a thing in themselves, with opinion still divided over the cause of their activity. [...] Perrin moved into a new direction for proofs of the kinetic theory as a cause of Brownian movement." (Nye 1972, S. 102) \\ |
- | Einer der frühesten Ansätze Perrins, der eine Brücke schlägt zwischen der Brownschen Bewegung und der kinetischen Gastheorie, beleuchtet die vertikale Verteilung der Dichte von Teilchen im Größenmaßstab beobachtbarer Brownschen Bewegung, über verschiedene Messreihen und Experimente variiert zwischen etwa 0,2 und 0,5 Mikrometer. Die Feststellung einer exponentiellen Verteilung solcher Teilchen in Analogie zur Konzentration von Gasteilchen in der Atmosphäre führt Perrin, unter Berufung auf Léon Gouy, zur Hypothese, dass es sich bei der Brownschen Bewegung tatsächlich um eine Konsequenz der Stöße von Molekularteilchen der Flüssigkeit handelt (vgl. Nye 1972, S. 103). Interessanterweise waren diese frühesten Experimente Perrins noch weitgehend unabhängig von den später untrennbar mit seiner Arbeit verbundenen Abhandlungen Einsteins. Die Verifizierungen von in der statistischen Physik begründeten Vorraussagen zur Brownschen Bewegung, die Einstein, beginnend in seinem Annus mirabilis 1905, veröffentlichte, zählen aber ohne Frage, wie auch von Perrin schnell verstanden, zu seinen bedeutsamsten Errungenschaften. Dass Perrins Werk heute wie bereits durch prominente Zeitgenossen (Ernest Rutherford, Walter Nernst, Gösta Mittag-Leffler) als wesentlicher Schritt im Sinne der Verifizierung der atomistischen Weltanschauung angesehen werden kann (vgl. Bigg 2008, S. 320) ist wohl nicht zuletzt in der Präzision und Gründlichkeit fundiert, mit der Perrin experimentierte. Gouy, der seinerzeit ähnliches versucht hatte, gestand Perrin in einem Brief 1909: | + | // [[ws2223:mathesis_meets_histlab_im_wintersemester_2022_23|Eine kurze Einführung zur Person Jean Perrin und zur Ausgangslage der Forschung zur Brownschen Bewegung findet sich hier]].// \\ |
+ | Einer der frühesten Ansätze Perrins, der eine Brücke schlägt zwischen der Brownschen Bewegung und der kinetischen Gastheorie, beleuchtet die vertikale Verteilung der Dichte von Teilchen im Größenmaßstab beobachtbarer Brownschen Bewegung, über verschiedene Messreihen und Experimente variiert zwischen etwa 0,2 und 0,5 Mikrometer. Die Feststellung einer exponentiellen Verteilung solcher Teilchen in Analogie zur Konzentration von Gasteilchen in der Atmosphäre führt Perrin, unter Berufung auf Léon Gouy, zur Hypothese, dass es sich bei der Brownschen Bewegung tatsächlich um eine Konsequenz der Stöße von Molekularteilchen der Flüssigkeit handelt (vgl. Nye 1972, S. 103). Interessanterweise waren diese frühesten Experimente Perrins noch weitgehend unabhängig von den später untrennbar mit seiner Arbeit verbundenen Abhandlungen Einsteins. Beginnend in seinem annus mirabulis 1905 veröffentlichte dieser in der statistischen Physik begründete Voraussagen zur Brownschen Bewegung. Deren Verifizierungen zählen aber ohne Frage, wie auch von Perrin schnell verstanden, zu seinen bedeutsamsten Errungenschaften. Dass Perrins Werk heute wie bereits durch prominente Zeitgenossen (Ernest Rutherford, Walter Nernst, Gösta Mittag-Leffler) als wesentlicher Schritt im Sinne der Verifizierung der atomistischen Weltanschauung angesehen werden kann (vgl. Bigg 2008, S. 320) ist wohl nicht zuletzt in der Präzision und Gründlichkeit fundiert, mit der Perrin experimentierte. Gouy, der seinerzeit ähnliches versucht hatte, gestand Perrin in einem Brief 1909: | ||
*„I can tell you myself that, if it had not been for the difficulty which I perceived in preparing such granules, I would have more actively pursued my experimentation on Brownian movement“ (Nye 1972, S. 105) | *„I can tell you myself that, if it had not been for the difficulty which I perceived in preparing such granules, I would have more actively pursued my experimentation on Brownian movement“ (Nye 1972, S. 105) | ||
- | Wie genau und minutiös die Beobachtungen tatsächlich waren, wird insbesondere klar, wenn man sich diese Schwierigkeiten vor Augen führt und solche, die bei der Beobachtung von Teilchen dieser Größe selbst mit technischen Errungenschaften wie dem Ultramikroskop auftreten.Ist die Herstellung von Präparaten dieser Art eine Herausforderung für sich, liegt in der Beobachtung der Teilchen doch weiterhin eine Hürde, die die Simulation im Rahmen dieses Projekts im Weiteren zu veranschaulichen versuchen wird. Perrin „kann gleichzeitig nur die Teilchen genau sehen, welche sich in einer sehr dünnen (Größenordnung des [Mikrometer]) Horizontalschicht befinden.“ (Perrin 1910, S.33), was der geringen Feldtiefe des Mikroskops bei starker Vergrößerung zuzurechnen ist (ebd.). Die Beobachtung solcher Höhenschichten und die Zählung der Teilchen in diesen Schichten ist allerdings essentiell für die Beschäftigung mit der eingangs erwähnten Dichteverteilung und so stellt sich unweigerlich die Frage, wie es Perrin gelang, diese Teilchen, die „fortwährend verschwinden, während doch neue Teilchen auftauchen“ (ebd.) zu beobachten. | + | Wie genau und minutiös die Beobachtungen tatsächlich waren, wird insbesondere klar, wenn man sich diese Schwierigkeiten vor Augen führt und solche, die bei der Beobachtung von Teilchen dieser Größe selbst mit technischen Errungenschaften wie dem Ultramikroskop auftreten. Ist die Herstellung von Präparaten dieser Art eine Herausforderung für sich, liegt in der Beobachtung der Teilchen doch weiterhin eine Hürde, die die Simulation im Rahmen dieses Projekts im Weiteren zu veranschaulichen versuchen wird. Die untersuchten Proben sind stets dreidimensional, und das bringt einige Herausforderungen mit sich. Perrin „kann gleichzeitig nur die Teilchen genau sehen, welche sich in einer sehr dünnen (Größenordnung des [Mikrometer]) Horizontalschicht befinden.“ (Perrin 1910, S.33), was der geringen Feldtiefe des Mikroskops bei starker Vergrößerung zuzurechnen ist (ebd.). Die Beobachtung solcher Höhenschichten und die Zählung der Teilchen in diesen Schichten ist allerdings essentiell für die Beschäftigung mit der eingangs erwähnten Dichteverteilung und so stellt sich unweigerlich die Frage, wie es Perrin gelang, diese Teilchen, die „fortwährend verschwinden, während doch neue Teilchen auftauchen“ (ebd.) zu beobachten. \\ |
Anhand der gemeinsam mit der anderen Gruppe erarbeiteten grundlegenden Stoßsimulation und unter Vorraussetzung zumindest eines geringen Maßes an Übertragbarkeit erschien es uns zunächst sehr schwierig, unter diesen Umständen überhaupt Messungen durchzuführen. Der Anspruch der Übertragbarkeit muss natürlich sehr differenziert betrachtet werden, besonders in Bezug auf den erwähnten Prototypen des eigentlichen Projekts. Dennoch wurde uns beim Betrachten von den in dieser Version schon ausgeprägten chaotischen Zitterbewegungen zumindest klar, auf welchem Maßstab der Genauigkeit und vielleicht sogar in welchem Umfang Messungen dieses Phänomens geschehen müssten. | Anhand der gemeinsam mit der anderen Gruppe erarbeiteten grundlegenden Stoßsimulation und unter Vorraussetzung zumindest eines geringen Maßes an Übertragbarkeit erschien es uns zunächst sehr schwierig, unter diesen Umständen überhaupt Messungen durchzuführen. Der Anspruch der Übertragbarkeit muss natürlich sehr differenziert betrachtet werden, besonders in Bezug auf den erwähnten Prototypen des eigentlichen Projekts. Dennoch wurde uns beim Betrachten von den in dieser Version schon ausgeprägten chaotischen Zitterbewegungen zumindest klar, auf welchem Maßstab der Genauigkeit und vielleicht sogar in welchem Umfang Messungen dieses Phänomens geschehen müssten. | ||
- | Um die Verbindung zwischen Perrins Vorgehen und der fertigen Simulation (siehe unten) herzustellen, muss allerdings noch ein wenig weiter ausgeholt werden. | + | Auch andere Pioniere der physikalischen Chemie hatten Anteil am Diskurs um das Phänomen und seine Interpretation. |
- | Im Jahre 1908 untersuchte Victor Henri die Brownsche Bewegung anhand von 1 Mikrometer großen Teilchen und beobachtete außergewöhnlich große Verschiebungen, was im Widerspruch zu Einsteins Theorie zu stehen schien. Während viele französische Physiker annahmen, Einsteins Erklärung sei unvollständig, versuchte sich Perrin (der sich zu diesem Zeitpunkt bereits eingehend mit Einsteins Arbeit beschäftigt hatte) eines experimentellen Nachweises von Einsteins Formel. Dies hielt er unter anderem für möglich, da Henri den Durchmesser seiner Teilchen abschätzte und Perrin in der Lage war, ihn genau zu bestimmen. | + | Im Jahre 1908 untersuchte Victor Henri die Brownsche Bewegung anhand von 1 Mikrometer großen Teilchen und beobachtete außergewöhnlich große Verschiebungen, was im Widerspruch zu Einsteins Theorie zu stehen schien (vgl. Perrin 1910, S.55f.). Während viele französische Physiker annahmen, Einsteins Erklärung sei unvollständig, versuchte sich Perrin (der sich zu diesem Zeitpunkt bereits eingehend mit Einsteins Arbeit beschäftigt hatte) einer experimentellen Bestätigung von Einsteins Formel. Dies hielt er unter anderem für möglich, da Henri den Durchmesser seiner Teilchen abschätzte und Perrin in der Lage war, ihn genau zu bestimmen. |
Mithilfe seines Studenten Chaudesaigues unternahm er so eine Reihe von Experimenten, bei denen er die Avogadro-Konstante N mit Einsteins Formel bestimmte und das Ergebnis mit dem mithilfe einer erprobten Methode berechneten Wert verglich. | Mithilfe seines Studenten Chaudesaigues unternahm er so eine Reihe von Experimenten, bei denen er die Avogadro-Konstante N mit Einsteins Formel bestimmte und das Ergebnis mit dem mithilfe einer erprobten Methode berechneten Wert verglich. | ||
Chaudesaigues beobachtete zunächst 40 Körner mit einem Radius von 0,45 Mikrometern und zeichnete die Position eines Teilchens in einem Zeitraum von 2 Minuten alle 30 Sekunden auf, bevor er sich dem nächsten Teilchen zuwandte. So erhielt er den Wert 94*10^22 für N. | Chaudesaigues beobachtete zunächst 40 Körner mit einem Radius von 0,45 Mikrometern und zeichnete die Position eines Teilchens in einem Zeitraum von 2 Minuten alle 30 Sekunden auf, bevor er sich dem nächsten Teilchen zuwandte. So erhielt er den Wert 94*10^22 für N. | ||
Zeile 32: | Zeile 33: | ||
* **Container**: Eine räumlich abgeschlossene Umgebung, in der sich die Teilchen bewegen können | * **Container**: Eine räumlich abgeschlossene Umgebung, in der sich die Teilchen bewegen können | ||
* **Interaktionsregeln**: Ein fester Satz an vorgeschriebenen Interaktionen zwischen den Teilchen und ihrer Umgebung | * **Interaktionsregeln**: Ein fester Satz an vorgeschriebenen Interaktionen zwischen den Teilchen und ihrer Umgebung | ||
- | //Abb.1: Frühe Version eines Teilchenbades mit vier Wänden (Container), zwei Arten von Teilchen und einer einfachen Kollisionsmechanik (Interaktionsregel)// | + | //Abb.2: Frühe Version eines Teilchenbades mit vier Wänden (Container), zwei Arten von Teilchen und einer einfachen Kollisionsmechanik (Interaktionsregel)// |
=====Projekt===== | =====Projekt===== | ||
Vorab eine Einführung zu verschiedenen von uns genutzten Werkzeugen und libraries: | Vorab eine Einführung zu verschiedenen von uns genutzten Werkzeugen und libraries: | ||
Zeile 47: | Zeile 48: | ||
===VPython=== | ===VPython=== | ||
[[https://vpython.org/|VPython]] ist eine libary, mit der man 3D-Grafiken erstellen kann. Viele Körper sind als Klassen bereits vordefiniert und diesen müssen nur eine vektorielle Position, Geschwindigkeit und im Falle unserer Teilchen(Bälle) ein Radius übergeben oder im Fall der Wände die Länge, Breite und Höhe übergeben werden. | [[https://vpython.org/|VPython]] ist eine libary, mit der man 3D-Grafiken erstellen kann. Viele Körper sind als Klassen bereits vordefiniert und diesen müssen nur eine vektorielle Position, Geschwindigkeit und im Falle unserer Teilchen(Bälle) ein Radius übergeben oder im Fall der Wände die Länge, Breite und Höhe übergeben werden. | ||
- | VPython öfnet ein Fenster im Browser, indem die Grafik zu sehen ist. Die dreidimensionale Darstellung in VPython ist rechentechnisch vergleichsweise effizient, so dass wir problemlos bis zu 800 stoßende kleine und mehrere brownsche Teilchen implementieren könnten. | + | VPython öffnet ein Fenster im Browser, indem die Grafik zu sehen ist. Die dreidimensionale Darstellung in VPython ist rechentechnisch vergleichsweise effizient, sodass wir problemlos bis zu 800 stoßende kleine und mehrere Brownsche Teilchen implementieren konnten. |
+ | Da VPython keine 2D Grafikkomponente besitzt, mussten wir einen kleinen Trick anwenden. Es wurde ein zweites Fenster erstellt, in dem eine weitere 3D-Grafik eine 2D-Grafik suggeriert. | ||
+ | Zu einem wurden hier nur die Brownschen Teilchen angezeigt, um die Grafik zu vereinfachen und zum anderen wurde die alte z-Koordinate (multipliziert mit -1) zur y-Koordinate und die neue z-Koordinate immer auf 0 gesetzt, um eine Art Draufsicht zu erstellen: | ||
+ | <code Python> | ||
+ | for i, ball in enumerate(brownsche_teilchen_3D): | ||
+ | brownsche_teilchen_2D[i].pos = vector(ball.pos.value[0], ball.pos.value[2]*-1, 0) | ||
+ | </code> | ||
+ | {{:ws2223:vpython_visualisierung.png|}} | ||
+ | //Abb.3: Visuelle Ausgabe von V-Python// | ||
+ | |||
+ | In der Grafik sind zudem mehrere Brownsche Teilchen zu erkennen (große Bälle). Da in Perrins Beobachtungen ebenfalls viele dieser Teilchen zu sehen waren, haben wir uns entschieden, die VPython Version in der Teilchenanzahl der Brownschen Teilchen ebenfalls variabler zu gestalten. So kann man in den ersten Zeilen der VPython Version nicht nur die Anzahl der kleine Teilchen einstellen, sondern auch die Anzahl der Brownschen Teilchen. Zusätlich dazu kann man den einzelnen Bronwchen Teilchen verschiedenen Farben geben, um diese besser zu unterscheiden. | ||
+ | <code Python> | ||
+ | BROWNSCHESTEILCHEN_AMOUNT = 5 | ||
+ | # Anzahl der Farben >= Amount: Farben werden gewählt; Anzahl der Farben < Amount: Nur erste Farbe | ||
+ | BROWNSCHESTEILCHEN_COLOR = [color.red, color.cyan, color.magenta, color.yellow, color.green] | ||
+ | BROWNSCHESTEILCHEN_MASSE = 4 | ||
+ | BROWNSCHESTEILCHEN_RADIUS = 1.6 | ||
+ | </code> | ||
+ | In ihrer elemantaren Struktur unterscheidet sich die VPython-Variante nicht sehr von den folgenden Versionen und den aufgeführten Methoden oder Ideen, die Visualisierung ist jedoch grundsätzlich anders und deswegen hier vorangestellt. Im Folgenden sind, wo nötig, beide Code-Varianten aufgeführt, die weiteren Visualisierungen stammen jedoch aus anderen Zweigen, mit denen wir uns eingehender auseinandergesetzt haben ((Dieses etwas chaotische Zusammenspiel aus verschiedenen Ansätzen ist auch bezeichnend für Phasen unseres Arbeitsprozesses.)) | ||
===matplotlib=== | ===matplotlib=== | ||
{{ :ws2223:scatterplot.png?300|}} | {{ :ws2223:scatterplot.png?300|}} | ||
[[https://matplotlib.org/|matplotlib]] ist eine library, die umfangreiche Methoden zur grafischen Darstellung von Daten bietet. Für uns von Interesse war dabei vor allem die Möglichkeit zur Erstellung von dreidimensionalen Scatterplots als naheliegende Möglichkeit, große Mengen von Punkten in bestimmte Positionen im Raum zu zeichnen. Ein proof of concept ist so leicht zu erstellen, aber diese Art der Darstellung bietet auch einige Tücken, die meist daher rühren, dass die Marker in einem Scatterplot nicht wie Kugeln behandelt werden, sondern wie Kreise, die auf die Projektion des Plots in die Bildebene gezeichnet werden. Für die Darstellung von zweidimensionalen Daten wiederum ist matplotlib sehr geeignet, weshalb wir letztendlich beide Wege verfolgt haben. \\ | [[https://matplotlib.org/|matplotlib]] ist eine library, die umfangreiche Methoden zur grafischen Darstellung von Daten bietet. Für uns von Interesse war dabei vor allem die Möglichkeit zur Erstellung von dreidimensionalen Scatterplots als naheliegende Möglichkeit, große Mengen von Punkten in bestimmte Positionen im Raum zu zeichnen. Ein proof of concept ist so leicht zu erstellen, aber diese Art der Darstellung bietet auch einige Tücken, die meist daher rühren, dass die Marker in einem Scatterplot nicht wie Kugeln behandelt werden, sondern wie Kreise, die auf die Projektion des Plots in die Bildebene gezeichnet werden. Für die Darstellung von zweidimensionalen Daten wiederum ist matplotlib sehr geeignet, weshalb wir letztendlich beide Wege verfolgt haben. \\ | ||
- | //Abb.2: Ein matplotlib-Scatterplot// | + | //Abb.4: Ein matplotlib-Scatterplot// |
====Klassen==== | ====Klassen==== | ||
{{ :ws2223:uml_klassendiagramm_ball_cubesector.png |}} | {{ :ws2223:uml_klassendiagramm_ball_cubesector.png |}} | ||
- | //Abb.3: UML-Klassendiagramm // | + | //Abb.5: UML-Klassendiagramm // |
===Ball=== | ===Ball=== | ||
In der Klasse Ball ist ein stoßendes Teilchen definiert. Jedem Teilchen werden dabei ein Radius, eine Masse, eine Farbe und Geschwindigkeits- sowie Ortsvektoren zugeordnet. Die wesentlichen Aktionen, die ein Teilchen durchführen kann, sind in Funktionen beschrieben \\ | In der Klasse Ball ist ein stoßendes Teilchen definiert. Jedem Teilchen werden dabei ein Radius, eine Masse, eine Farbe und Geschwindigkeits- sowie Ortsvektoren zugeordnet. Die wesentlichen Aktionen, die ein Teilchen durchführen kann, sind in Funktionen beschrieben \\ | ||
Zeile 73: | Zeile 92: | ||
* **get_subcube():** Vergleicht Positionen von Punkten mit dem Mitelpunkt + der Länge des Sektors und gibt einen Integer von 0-7 aus, der den zugehörigen subcube repräsentiert, in dem sich der Punkt befindet | * **get_subcube():** Vergleicht Positionen von Punkten mit dem Mitelpunkt + der Länge des Sektors und gibt einen Integer von 0-7 aus, der den zugehörigen subcube repräsentiert, in dem sich der Punkt befindet | ||
* **clear():** löscht die Liste der zugeordneten Bälle | * **clear():** löscht die Liste der zugeordneten Bälle | ||
- | //Abb.4: Oktanten (( [[https://de.wikipedia.org/wiki/Datei:Octant_numbers.svg|per Wikimedia Commons]], GNU Lizenz für freie Dokumentation))// \\ | + | //Abb.6: Oktanten (( [[https://de.wikipedia.org/wiki/Datei:Octant_numbers.svg|per Wikimedia Commons]], GNU Lizenz für freie Dokumentation))// \\ |
Die vielleicht wichtigste Funktion des ganzen Programms ist **move_ball()**. Durch sie werden die Bewegungs- und Kollisionsfunktionen aller jeweiligen Bälle aufgerufen und Gravitation "angewandt". | Die vielleicht wichtigste Funktion des ganzen Programms ist **move_ball()**. Durch sie werden die Bewegungs- und Kollisionsfunktionen aller jeweiligen Bälle aufgerufen und Gravitation "angewandt". | ||
<code Python> | <code Python> | ||
Zeile 89: | Zeile 108: | ||
**Code: [[ws2223: Klasse Cubesector (matplotlib)| matplotlib-Version]] <-> [[ws2223: Klasse Cubesector (VPython)| VPython-Version]]** | **Code: [[ws2223: Klasse Cubesector (matplotlib)| matplotlib-Version]] <-> [[ws2223: Klasse Cubesector (VPython)| VPython-Version]]** | ||
====main==== | ====main==== | ||
- | Hauptteil des Programms: | + | //Hauptteil des Programms// |
- | * precompute | + | |
- | * VPython | + | |
- | * Seitenansicht | + | |
- | * Draufsicht | + | |
In der Main-Klasse werden die Teilchen animiert und die Bewegung des Brownschen Teilchen verfolgt, insbesondere ob es sich in der für Perrin sichtbaren Schicht befindet. Für die Animation haben wir zunächst matplotlib und dann später auch VPython verwendet. | In der Main-Klasse werden die Teilchen animiert und die Bewegung des Brownschen Teilchen verfolgt, insbesondere ob es sich in der für Perrin sichtbaren Schicht befindet. Für die Animation haben wir zunächst matplotlib und dann später auch VPython verwendet. | ||
- | Von der matplotlib-Variante gibt es zudem eine precompute und eine nicht-precompute-Variante. In der precompute-Variante, die wir bevorzugt verwendet haben, werden alle Schritte der Teilchen vorab berechnet und erst dann animiert, wodurch die Animation flüssiger läuft. Die Anzahl der Schritte kann mit der Variable num_steps bestimmt werden, wobei das Programm für die Berechnung von 500 Schritten von 200 Bällen etwa 16 Sekunden benötigt. | + | Von der matplotlib-Variante gibt es zudem eine precompute und eine nicht-precompute-Variante. In der precompute-Variante, die wir bevorzugt verwendet haben, werden alle Schritte der Teilchen vorab berechnet und erst dann animiert, wodurch die Animation flüssiger läuft. Die Anzahl der Schritte kann mit der Variable num_steps bestimmt werden, wobei das Programm (in unserer Ausführung auf einem Mittelklasse-Laptop) für die Berechnung von 500 Schritten von 200 Bällen etwa 16 Sekunden benötigt. |
- | Wie bereits erwähnt, konnte Perrin aufgrund der geringen Tiefenschärfe seines Mikroskops stets nur eine bestimmte Schicht der Flüssigkeit beobachten und dementsprechend auch nur die Teilchen sehen, die sich in dieser Schicht befanden. Dies wollten wir auch in unserer Simulation veranschaulichen und auch festhalten, wie lange sich unser Brownsches Teilchen in der Schicht aufhielt, um nachvollziehen zu können, welche Herausforderung die längere Beobachtung eines Teilchens für Perrin darstellte. In der aktuellen Version des Programms werden Teilchen, die sich nicht in der Schicht befinden, auch nicht mehr gezeichnet, sie sind also für den Betrachter unsichtbar, wie es auch in Perrins Experimenten war. | + | Wie bereits erwähnt, konnte Perrin aufgrund der geringen Tiefenschärfe seines Mikroskops stets nur eine bestimmte Schicht der Flüssigkeit beobachten und dementsprechend auch nur die Teilchen sehen, die sich in dieser Schicht befanden. Dies wollten wir in unserer Simulation veranschaulichen und auch festhalten, wie lange sich unser Brownsches Teilchen in der Schicht aufhielt, um nachvollziehen zu können, welche Herausforderung die längere Beobachtung eines Teilchens für Perrin darstellte. In der aktuellen Version des Programms werden Teilchen, die sich nicht in der Schicht befinden, auch nicht mehr gezeichnet, sie sind also für den Betrachter unsichtbar, wie es auch in Perrins Experimenten war. |
{{:ws2223:screenshot_2023-04-05_124009.jpg?|}} \\ | {{:ws2223:screenshot_2023-04-05_124009.jpg?|}} \\ | ||
- | //Abb. 5: erste Version ohne 3D-Ansicht, bei der nur überprüft wird ob das Brownsche Teilchen die Schicht verlassen hat// | + | //Abb. 7: erste Version ohne 3D-Ansicht, bei der nur überprüft wird ob das Brownsche Teilchen die Schicht verlassen hat// |
{{:ws2223:screenshot_2023-04-05_143525.jpg?|}} | {{:ws2223:screenshot_2023-04-05_143525.jpg?|}} | ||
- | //Abb. 6: Version ohne 3D-Ansicht, bei der zudem aufgezeichnet wurde, wie lang sich das Brownsche Teilchen in der Schicht befand// | + | //Abb. 8: Version ohne 3D-Ansicht, bei der zudem aufgezeichnet wurde, wie lang sich das Brownsche Teilchen in der Schicht befand// |
{{:ws2223:screenshot_2023-04-11_182852.jpg?|}} | {{:ws2223:screenshot_2023-04-11_182852.jpg?|}} | ||
- | //Abb. 7: erste Version mit 3D- und 2D-Projektion, bei der die Teilchen außerhalb der Schicht noch gezeichnet werden// | + | //Abb. 9: erste Version mit 3D- und 2D-Projektion, bei der die Teilchen außerhalb der Schicht noch gezeichnet werden// |
{{:ws2223:screenshot_2023-03-16_132731.jpg?|}} | {{:ws2223:screenshot_2023-03-16_132731.jpg?|}} | ||
- | //Abb. 8: aktuelle Version mit 3D-Ansicht, bei der die Teilchen außerhalb der Schicht in der 2D-Ansicht nicht gezeichnet werden// | + | //Abb. 10: aktuelle Version mit 3D-Ansicht, bei der die Teilchen außerhalb der Schicht in der 2D-Ansicht nicht gezeichnet werden// |
In der 3D-Animation werden dabei die Bällchen gezeichnet, wie sie sich in der Realität verhalten würden, in der 2D-Projektion wird dargestellt, was Perrin sah. | In der 3D-Animation werden dabei die Bällchen gezeichnet, wie sie sich in der Realität verhalten würden, in der 2D-Projektion wird dargestellt, was Perrin sah. | ||
Zeile 117: | Zeile 132: | ||
* **generate_balls()**: erstellt die gewünschte Anzahl von Bällen (Teilchen) und gibt sie als Liste zurück | * **generate_balls()**: erstellt die gewünschte Anzahl von Bällen (Teilchen) und gibt sie als Liste zurück | ||
* **do_everything()**: ordnet alle Bälle den richtigen Sektoren zu und bewegt sie anschließend, gibt die Liste der Bälle zurück | * **do_everything()**: ordnet alle Bälle den richtigen Sektoren zu und bewegt sie anschließend, gibt die Liste der Bälle zurück | ||
- | * **update_graph1()**: greift auf die aktuellen (neu berechneten?) Positionen der Bälle zu und versetzt sie dahin, zeichnet die Spur des Brownschen Teilchens | + | * **update_graph1()**: greift auf die aktuellen (neu berechneten((in der precompute-Variante sind diese streng genommen nicht neu berechnet, allerdings wird der abgefragte Index der Positionsmatrix verschoben))) Positionen der Bälle zu und versetzt sie dahin, zeichnet die Spur des Brownschen Teilchens |
* **update_graph2()**: zeichnet die Bälle in der 2D-Projektion, wobei die Bälle sowie das Brownsche Teilchen nicht gezeichnet werden, wenn sie die Schicht verlassen haben. Hervorgehoben wird an dieser Stelle insbesondere der Mittelteil der Funktion (zweiter Codeblock), mit dem überprüft wird, ob sich die Teilchen in der Schicht befinden: | * **update_graph2()**: zeichnet die Bälle in der 2D-Projektion, wobei die Bälle sowie das Brownsche Teilchen nicht gezeichnet werden, wenn sie die Schicht verlassen haben. Hervorgehoben wird an dieser Stelle insbesondere der Mittelteil der Funktion (zweiter Codeblock), mit dem überprüft wird, ob sich die Teilchen in der Schicht befinden: | ||
<code Python> | <code Python> | ||
Zeile 164: | Zeile 179: | ||
</code> | </code> | ||
- | **TODO: viele Ergebnisse zeigen, Render, Bilder (vor allem auch VPython, das fehlt bis jetzt noch komplett), getrackte Schichtzeiten (!)** | + | In der VPython-Version können ohne Problem auch mehrere Brownsche Teilchen und 800 Bälle simuliert werden. Die VPython-Version der Main-Klasse funktioniert ähnlich zur matplotlib-Version, hier gibt es jedoch nur die generate_balls-Funktion und eine main-Funktion, die die Aufgaben der Funktionen do_everything, update_graph und update_graph2 erfüllt (natürlich mit leichten Abänderungen). Die Funktion write_text gibt die Schichtaustritte der Brownschen Teilchen und die in der Schicht verbrachte Zeit an. |
+ | Die VPython-Version verwendet dabei kein precompute. | ||
=====Auswertung und Fazit===== | =====Auswertung und Fazit===== | ||
{{:ws2223:brownsche_bewegung_render_3d.mp4|}} \\ | {{:ws2223:brownsche_bewegung_render_3d.mp4|}} \\ | ||
- | //Abb. 9: Dreidimensionaler Render mit main_precompute.py; beschleunigt// | + | //Abb. 11: Dreidimensionaler Render mit main_precompute.py; beschleunigt// |
Um festzustellen, wie sich die von uns erstellte Visualisierung einordnen lässt, muss zunächst einmal der Mechanismus der Simulation reflektiert werden. Dass keine gute quantitative Näherung besteht, drängt sich nahezu auf. Mittels //precompute//, etwas Rechenzeit und einigermaßen leistungsfähigen Rechnern lassen sich mindestens tausend Teilchen in einem akzeptablen Zeitrahmen simulieren, aber der Avogadro-Konstante oder der durch sie und andere molare Größen vorgegebenen tatsächlichen Teilchenzahl im gewünschten Behälter wird sich das Programm auch bei weiterer Optimierung nicht wesentlich annähern können. Tatsächlich soll, und muss im Kontext der Beschäftigung mit Perrins Beobachtungen, diese Realität aber auch nicht emuliert werden können. Wir glauben, dass wir mit Gravitation, elastischen Stößen und verschiedenen Teilchenarten bereits wesentliche Faktoren berücksichtigen. Ein Modell wie auch eine Simulation wird stets Annahmen treffen und Vereinfachungen vornehmen, eine qualitative Betrachtung wird häufig auch dadurch erst ermöglicht- Perrin schreibt in Bezug auf seine berühmten Zeichnungen der Bahnen von brownschen Teilchen, jene vermittelten schlecht die " //außerordentliche Kompliziertheit der Bahn. Wenn man die Punkte von Sekunde zu Sekunde machen würde, dann käme an die Stelle eines jeden dieser Segmente eine 30seitige polygonale Kontur von der gleichen Mannigfaltigkeit, wie sie die Zeichnung hier wiedergibt//" (Perrin 1910, S. 60).\\ | Um festzustellen, wie sich die von uns erstellte Visualisierung einordnen lässt, muss zunächst einmal der Mechanismus der Simulation reflektiert werden. Dass keine gute quantitative Näherung besteht, drängt sich nahezu auf. Mittels //precompute//, etwas Rechenzeit und einigermaßen leistungsfähigen Rechnern lassen sich mindestens tausend Teilchen in einem akzeptablen Zeitrahmen simulieren, aber der Avogadro-Konstante oder der durch sie und andere molare Größen vorgegebenen tatsächlichen Teilchenzahl im gewünschten Behälter wird sich das Programm auch bei weiterer Optimierung nicht wesentlich annähern können. Tatsächlich soll, und muss im Kontext der Beschäftigung mit Perrins Beobachtungen, diese Realität aber auch nicht emuliert werden können. Wir glauben, dass wir mit Gravitation, elastischen Stößen und verschiedenen Teilchenarten bereits wesentliche Faktoren berücksichtigen. Ein Modell wie auch eine Simulation wird stets Annahmen treffen und Vereinfachungen vornehmen, eine qualitative Betrachtung wird häufig auch dadurch erst ermöglicht- Perrin schreibt in Bezug auf seine berühmten Zeichnungen der Bahnen von brownschen Teilchen, jene vermittelten schlecht die " //außerordentliche Kompliziertheit der Bahn. Wenn man die Punkte von Sekunde zu Sekunde machen würde, dann käme an die Stelle eines jeden dieser Segmente eine 30seitige polygonale Kontur von der gleichen Mannigfaltigkeit, wie sie die Zeichnung hier wiedergibt//" (Perrin 1910, S. 60).\\ | ||
Zeile 174: | Zeile 191: | ||
Eine gründliche Verifizierung der Aussagekraft, das heißt eine mathematische, könnte sich äußerst schwierig gestalten, da wir wie bereits erörtert im Wesentlichen mit Verhältnissen statt mit Größen und Einheiten arbeiten. Was sich überprüfen lässt, ist ein Zwischenresultat in Form der erhaltenen Spuren brownscher Teilchen, die in ihrer Unvorhersehbarkeit nahe an die durch Perrin aufgezeichneten Spuren herankommen und auch optisch sehr ähnlich sind. Sicherlich hätte man ähnliche Resultate mit anderen Simulationen oder sogar ausschließlich über die Betrachtung von Zufallsprozessen erreichen können, was aber nicht unbedingt negativ zu bewerten ist, da der wesentliche Beobachtungsgegenstand das Verlassen der Horizontalschicht ist. \\ | Eine gründliche Verifizierung der Aussagekraft, das heißt eine mathematische, könnte sich äußerst schwierig gestalten, da wir wie bereits erörtert im Wesentlichen mit Verhältnissen statt mit Größen und Einheiten arbeiten. Was sich überprüfen lässt, ist ein Zwischenresultat in Form der erhaltenen Spuren brownscher Teilchen, die in ihrer Unvorhersehbarkeit nahe an die durch Perrin aufgezeichneten Spuren herankommen und auch optisch sehr ähnlich sind. Sicherlich hätte man ähnliche Resultate mit anderen Simulationen oder sogar ausschließlich über die Betrachtung von Zufallsprozessen erreichen können, was aber nicht unbedingt negativ zu bewerten ist, da der wesentliche Beobachtungsgegenstand das Verlassen der Horizontalschicht ist. \\ | ||
Dabei ist es insbesondere wichtig, sich klarzumachen, was es ist, dass man gerade beobachtet. Unsere dreidimensionale Simulation wird in ihrer Ausgabe auf verschiedene Arten in die Ebene projiziert. Auch Perrin merkt an //"die Körner, die ich bereitet hatte, [wurden] in der Hellkammer bei senkrechtem Mikroskop angezeichnet, wodurch man die Horizontalprojektionen der Verschiebungen erhielt."// (Perrin 1910, S.57). | Dabei ist es insbesondere wichtig, sich klarzumachen, was es ist, dass man gerade beobachtet. Unsere dreidimensionale Simulation wird in ihrer Ausgabe auf verschiedene Arten in die Ebene projiziert. Auch Perrin merkt an //"die Körner, die ich bereitet hatte, [wurden] in der Hellkammer bei senkrechtem Mikroskop angezeichnet, wodurch man die Horizontalprojektionen der Verschiebungen erhielt."// (Perrin 1910, S.57). | ||
- | Zwar könnte sich eine solche Aussage auch ausschließlich auf die offensichtliche, wenngleich komplexe Tatsache beziehen, dass eine Zeichnung immer eine Projektion ist, allerdings ließe sie sich auch dahingehend interpretieren, dass bereits sein Versuchsaufbau eine gewisse Art von Projektion gewährleistet, auch wenn er in den folgenden Ausführungen nicht genauer darauf eingeht. In jedem Fall würde dies die Beobachtung der brownschen Bewegung sehr vereinfachen: {{ :ws2223:side_view1.png?300|}} Das Problem des schnellen Verlassens der beobachtbaren Schicht sich tatsächlich auch in der Simulation so gravierend nieder wie erwartet. In der Abbildung ist zu erkennen, dass das brownsche Teilchen in diesem Simulationszyklus nur einen Bruchteil der Zeit innerhalb der Schicht verbracht hat. Die Spur ist trotzdem chaotisch, und in Kombination mit der Bewegung in die Bildebene ergibt sich trotzdem eine 'perrinsche Spur', nur wäre diese schwer zu beobachten gewesen. Einige weitere Punkte sind in diesem Zusammenhang relevant: Ist das beobachtete Teilchen nicht zu klein (oder groß) im Vergleich zum Behälter (was bei Perrin vermutlich der Fall sein dürfte mit einer Probenhöhe von 100 Mikron und Teilchengrößen in der Größenordnung von 0,5 Mikron (vgl. Perrin 1910, S.32ff.)), dann spielt die Position der Schicht eine Rolle, wie auch Perrin, der sich bereits im Voraus mit der Konzentrationsverteilung in verschiedenen Höhen beschäftigt hatte, klar gewesen sein dürfte. Eine nach unten verschobene Schicht dürfte längere Beobachtungszeiten ermöglichen. Das wäre auch ein guter Ansatzpunkt für ausführlichere weiterführende Betrachtungen. Weiterhin wird allerdings an der Abbildung auch klar, dass eine zu geringe Teilchenzahl die Aussagekraft auch massiv beeinträchtigen kann: Bis zu einem gewissen Punkt (~400 Teilchen im Kontext unserer Versuche) wird die Wirkung der Gravitation durch das Fehlen von Teilchen, mit denen beim Fallen kollidiert und der Fall verlangsamt werden kann, effektiv viel zu stark gewichtet. Bei höheren Teilchenzahlen wirken weitere Erhöhungen diesem Effekt allerdings weniger stark entgegen. \\ | + | Zwar könnte sich eine solche Aussage auch ausschließlich auf die offensichtliche, wenngleich komplexe Tatsache beziehen, dass eine Zeichnung immer eine Projektion ist, allerdings ließe sie sich auch dahingehend interpretieren, dass bereits sein Versuchsaufbau eine gewisse Art von Projektion gewährleistet, auch wenn er in den folgenden Ausführungen nicht genauer darauf eingeht. In jedem Fall würde dies die Beobachtung der brownschen Bewegung sehr vereinfachen: {{ :ws2223:side_view1.png?300|}} Das Problem des schnellen Verlassens der beobachtbaren Schicht schlägt sich tatsächlich auch in der Simulation so gravierend nieder wie erwartet. In der Abbildung ist zu erkennen, dass das brownsche Teilchen in diesem Simulationszyklus nur einen Bruchteil der Zeit innerhalb der Schicht verbracht hat. Die Spur ist trotzdem chaotisch, und in Kombination mit der Bewegung in die Bildebene ergibt sich auch eine 'perrinsche Spur', nur wäre diese schwer zu beobachten gewesen. Einige weitere Punkte sind in diesem Zusammenhang relevant: Ist das beobachtete Teilchen nicht zu klein (oder groß) im Vergleich zum Behälter (was bei Perrin vermutlich der Fall sein dürfte mit einer Probenhöhe von 100 Mikron und Teilchengrößen in der Größenordnung von 0,5 Mikron (vgl. Perrin 1910, S.32ff.)), dann spielt die Position der Schicht eine Rolle, wie auch Perrin, der sich bereits im Voraus mit der Konzentrationsverteilung in verschiedenen Höhen beschäftigt hatte, klar gewesen sein dürfte. Eine nach unten verschobene Schicht dürfte längere Beobachtungszeiten ermöglichen. Das wäre auch ein guter Ansatzpunkt für ausführlichere weiterführende Betrachtungen. Weiterhin wird allerdings an der Abbildung auch klar, dass eine zu geringe Teilchenzahl die Aussagekraft auch massiv beeinträchtigen kann: Bis zu einem gewissen Punkt (~400 Teilchen im Kontext unserer Versuche) wird die Wirkung der Gravitation durch das Fehlen von Teilchen, mit denen beim Fallen kollidiert und der Fall verlangsamt werden kann, effektiv viel zu stark gewichtet. Bei höheren Teilchenzahlen wirken weitere Erhöhungen diesem Effekt allerdings weniger stark entgegen. \\ |
- | Die eingangs erwähnte Bedeutung von Visualisierung kommt allerdings auch zum Tragen, wenn auf diese Art die perrinschen Messungen nachvollzogen werden sollen. Der Blick auf die Seite eines Behälters kommt seiner Sichtweise noch nicht sehr nahe, da die Teilchen ja weder verschwinden noch auftauchen. {{ :ws2223:spur1.png?300|}}Das finale Programm beinhaltet also vor der Projektion die Einschränkung des sichtbaren auf eine schmale Schicht, entsprechend der Tiefenschärfe eines fiktiven Mikroskops, und wie erwartet ist es mühsam, ein Teilchen über längere Zeit zu beobachten. Andererseits ist es dennoch möglich, insbesondere unter Berücksichtigung der Frage der Korrelation unserer Simulations-Zeitschritte mit Sekunden oder anderen Zeiteinheiten, aber zweifelsohne erfordert es zeitgleich viele frühzeitig abgebrochene Messreihen. Jede Möglichkeit der Projektion solcher Teilchen über die ursprüngliche Schicht hinaus dürfte eine große Hilfe dargestellt haben, auch wenn sich keine weiteren Hinweise auf das Vorhandensein einer solchen finden lassen. Was nachvollzogen werden kann ist die Wichtigkeit von Genauigkeit und Geduld bei der Betrachtung von Phänomenen, die Mikroskopie und Statistik vereinen. Eine Simulation wie die unsere kann das illustrieren und auch Diskussionen um die Nachvollziehbarkeit von solchen (2-auf-25-Minuten-)Sprüngen in der Experimentierweise anregen, aber ein differenzierte Betrachtung muss sich zeitgleich noch viel mehr an den historischen Quellen orientieren. Da aber die Aussagekraft in Bezug auf dieses konkrete Problem definitiv in Zusammenhang mit der allgemeinen Aussagekraft der Simulation in Bezug auf die Brownsche Bewegung steht, bleibt es spannend, sich mit der Optimierung dieses Problems auseinanderzusetzen, oder um es in einem oft dem britischen Statistiker George Box zugeordneten Aphorismus auszudrücken:\\ | + | Die eingangs erwähnte Bedeutung von Visualisierung kommt allerdings auch zum Tragen, wenn auf diese Art die perrinschen Messungen nachvollzogen werden sollen. Der Blick auf die Seite eines Behälters kommt seiner Sichtweise noch nicht sehr nahe, da die Teilchen ja weder verschwinden noch auftauchen. {{ :ws2223:spur1.png?300|}}Das finale Programm beinhaltet also vor der Projektion die Einschränkung des sichtbaren auf eine schmale Schicht, entsprechend der Tiefenschärfe eines fiktiven Mikroskops, und wie erwartet ist es mühsam, ein Teilchen über längere Zeit zu beobachten. Andererseits ist es dennoch möglich, insbesondere unter Berücksichtigung der Frage der Korrelation unserer Simulations-Zeitschritte mit Sekunden oder anderen Zeiteinheiten, aber zweifelsohne erfordert es zeitgleich viele frühzeitig abgebrochene Messreihen. Jede Möglichkeit der Projektion solcher Teilchen über die ursprüngliche Schicht hinaus dürfte eine große Hilfe dargestellt haben, auch wenn sich keine weiteren Hinweise auf das Vorhandensein einer solchen finden lassen. Was nachvollzogen werden kann ist die Wichtigkeit von Genauigkeit und Geduld bei der Betrachtung von Phänomenen, die Mikroskopie und Statistik vereinen. Eine Simulation wie die unsere kann das illustrieren und auch Diskussionen um die Nachvollziehbarkeit von solchen (2-auf-25-Minuten-)Sprüngen in der Experimentierweise anregen, aber eine differenzierte Betrachtung muss sich zeitgleich noch viel mehr an den historischen Quellen orientieren. Da aber die Aussagekraft in Bezug auf dieses konkrete Problem definitiv in Zusammenhang mit der allgemeinen Aussagekraft der Simulation in Bezug auf die Brownsche Bewegung steht, bleibt es spannend, sich mit der Optimierung dieses Problems auseinanderzusetzen, oder um es in einem oft dem britischen Statistiker George Box zugeordneten Aphorismus auszudrücken:\\ |
**'All models are wrong, but some are useful.'** (vgl. Box 1976). | **'All models are wrong, but some are useful.'** (vgl. Box 1976). | ||
{{:ws2223:render_xy.mp4|}} \\ | {{:ws2223:render_xy.mp4|}} \\ | ||
- | //Abb. 12: Render: Beobachtung in einer Horizontalschicht// | + | //Abb. 14: Render: Beobachtung in einer Horizontalschicht// |
=====Ausbaumöglichkeiten===== | =====Ausbaumöglichkeiten===== | ||
+ | * detaillierte Auswertung der Schichtzeit-Daten (siehe z.B. Abb.3) | ||
* Die Höhenverteilung mehrerer Brownscher Teilchen messen, um besser erkennen zu können, wie nah an Perrins Experimenten die Simulation ist. Auch der eingangs erwähnte Vergleich mit der atmosphärischen Höhenformel steht noch aus und könnte sich aus dieser Untersuchung ergeben | * Die Höhenverteilung mehrerer Brownscher Teilchen messen, um besser erkennen zu können, wie nah an Perrins Experimenten die Simulation ist. Auch der eingangs erwähnte Vergleich mit der atmosphärischen Höhenformel steht noch aus und könnte sich aus dieser Untersuchung ergeben | ||
* Problem der Anfangspositionen beheben (aufgrund der zufälligen Koordinatenzuweisung können die Bälle ineinander erstellt werden) | * Problem der Anfangspositionen beheben (aufgrund der zufälligen Koordinatenzuweisung können die Bälle ineinander erstellt werden) | ||
Zeile 210: | Zeile 228: | ||
=====Links und weiterführende Infos===== | =====Links und weiterführende Infos===== | ||
* [[https://matplotlib.org/stable/api/animation_api.html|ausführliche Dokumentation der Animationsklassen in matplotlib]] | * [[https://matplotlib.org/stable/api/animation_api.html|ausführliche Dokumentation der Animationsklassen in matplotlib]] | ||
+ | * [[https://de.wikipedia.org/wiki/Sto%C3%9F_(Physik)|Wikipedia-Artikel zum elastischen Stoß mit Herleitung der 2D-Stoßgleichung aus Impuls- und Energieerhaltung]] | ||
* [[https://youtu.be/a3V0BJLIo_c|Video zur Diffusionsgleichung und random walks; MIT 18.S191, Herbst 2020; mit Grant Sanderson]] | * [[https://youtu.be/a3V0BJLIo_c|Video zur Diffusionsgleichung und random walks; MIT 18.S191, Herbst 2020; mit Grant Sanderson]] | ||