AG Numerik UniLogo

 Gitter-Boltzmann Verfahren

 - Eine Einführung -

Herkunft: Gitter-Boltzmann Verfahren (engl. Lattice-Boltzmann methods) sind Ende der achtziger bzw. Anfang der neunziger Jahre entwickelt worden. Genaugenommen handelt es sich dabei um eine Klasse von Verfahren. Ähnlich wie z.B. Autos über gleichartige Komponenten  verfügen (Räder, Motor, Bremse usw.),  sind  auch verschiedene  Lattice-Boltzmann Schemata aus gemeinsamen Ingredienzien aufgebaut, die sich je nach Anwendung unterscheiden  (Geschwindigkeitsmodell, Gleichgewicht, Skalierung).
Der Ursprung der Gitter-Boltzmann Verfahren geht auf die sogenannten Gitter-Gas Automaten (eine spezielle Klasse der zellulären Automaten) zurück.  Darunter versteht man Algorithmen, welche allein  mittels  Boolscher* Variablen  versuchen, komplizierte Vorgänge wie Strömungsphänomene zu simulieren. Die Idee besteht darin, auf Gittern eine künstliche Teilchendynamik einzuführen, so daß geeignet gemittelte Größen ein "makroskopisches" Verhalten aufweisen, das umso realistischer wird je feiner man das Gitter wählt. Um zu sinnvollen Ergebnissen zu gelangen, müssen die Gitter allerdings besonderen Symmetrie-Anforderungen genügen. Konkret stelle man sich ein kubisches oder hexagonales Gitter in der Ebene vor. Den gerichteten Verbindungslinien (Kanten) der Gitterpunkte werden Variablen zugeordnet, welche entweder den Wert Eins für ein vorhandenes oder Null für ein nicht-vorhandenes Teilchen annehmen können. Die Teilchen fliegen mit konstanter Geschwindigkeit ungestört entlang der Kanten. Aufgrund der Initialisierung begegnen sich die Teilchen  nur zu bestimmten, diskreten  Zeitpunkten (Zeitschritte) in den  Knoten, wo sie miteinander wechselwirken  (stoßen).  Eine besonders wichtige Rolle kommt dabei den  Stoßregeln zu, welche jeder ankommenden  Teilchenkonfiguration eine ausfallende Konfiguration zuordnen. Durch Mittelung lassen sich Größen wie die lokale Dichte oder Geschwindigkeit eines makroskopischen Strömungsfeldes definieren. 
Der entscheidende Schritt von den Gitter-Gas Automaten zum Gitter-Boltzmann Verfahren beruht darauf, die Boolschen Variablen durch reellwertige zu ersetzen. Es stellte sich schnell heraus, daß dadurch eine wesentliche Verbesserung erreicht wird, was vor allem auf bessere Mittelungseigenschaften zurückzuführen ist. Aufgrund der Reellifizierung der Variablen indentifiziert man diese nicht mehr mit einzelnen  Teilchen sondern mit Teilchendichten.

Analogie:
Dies legt die Analogie zur Boltzmann Gleichung nahe und begründet den Namen des Verfahrens. Da es aus praktischen Erwägungen heraus ebenso unsinnig wie unmöglich ist, große Teilchensysteme durch die Angabe der Koordinaten sämtlicher Teilchen zu beschreiben,  führt man in der statistischen Physik (Kinetik) die Phasenraumdichte ein. Dabei handelt es sich um eine Funktion, welche jedem Geschwindigkeitsvektor eine Teilchendichte im Anschaungsrum zuordnet. Die Evolution dieser Phasenraumdichte ist durch die Boltzmann Gleichung gegeben. Diese Form der Beschreibung  wird als mesoskopisch bezeichnet, da sie weder die einzelnen Teilchen individuell im Blick hat (mikroskopisch)  noch das System auf seine wesentlichen makroskopischen  Kenngrößen reduziert.  In der Kinetik ist die Chapman-Enskog Entwicklung  etabliert, um aus der mesoskopischen Boltzmann-Gleichung die makroskopische Euler- und Navier-Stokes Gleichung herzuleiten. Die Boltzmann  Gleichung ist jedoch keineswegs äquivalent zu den genannten Gleichungen der Strömungsmechanik, vielmehr ergeben sich diese im Grenzwert einer besonderen Skalierung. 
Das Gitter-Boltzmann Verfahren ist durch die Anlehnung an  die kinetische  Gastheorie  der statistischen Physik  stark inspiriert worden. Daher betonen die gängigen Begründungen und Herleitungen besonders die Parallele zur Boltzmann Gleichung und lassen andere mögliche Anknüpfungspunkte mathematischer Natur meist außer acht.

Prinzip:  Tatsächlich kann man die Gitter-Boltzmann Gleichung aus einem formalen Blickwinkel als eine Möglichkeit ansehen, die Boltzmann Gleichung vollständig zu diskretisieren.  Die Besonderheit besteht darin, daß der Ortsraum und der Geschwindigkeitsraum, die zusammen den Phasenraum ausmachen, in dem die Boltzmann Gleichung "lebt", nicht gleichberechtigt behandelt werden.  Während der  Ortsraum inklusive der Zeit je nach  Wahl der Schrittweite beliebig fein diskretisiert werden kann, bleibt die Anzahl der diskreten Geschwindigkeitsrichtungen stets konstant. Die Geschwindigkeitsrichtungen entsprechen den Kanten des räumlichen Gitters, somit besitzt jeder Gittertyp einen spezifischen Geschwindigkeitsraum, den man auch als (Geschwindigkeits-)Modell bezeichnet.
Die Gitter-Boltzmann Gleichung beschreibt den Grundalgorithmus des Gitter-Boltzmann Verfahrens. Es handelt sich dabei nicht um eine Differentialgleichung sondern um eine diskrete Gleichung, welche äußerlich viel Ähnlichkeit zu Finiten-Differenzen Gleichungen aufweist.  Wie bereits oben angeklungen ist, dient das Gitter-Boltzmann Verfahren trotz der erwähnten Verwandtschaft nicht zum numerischen Lösen der Boltzmann Gleichung. Vielmehr stellt es eine originelle Alternative dar, strömungsmechanische Prozesse zu simulieren, welche vornehmlich durch die (inkompressible) Navier-Stokes Gleichung beschrieben werden.  Daher ist es gerechtfertigt, das Gitter-Boltzmann Verfahren als einen numerischen Navier-Stokes Löser anzusehen, der -- wie jede andere Diskretisierung auch -- mit Fehlern behaftet ist, die mit zunehmender Feinheit des Gitters abnehmen (Konvergenz).
Beachte, daß manche Adepten die Gitter-Boltzmann Gleichung als eine eigenständige Gleichung ohne kontinuierliches Analogon betrachten; weitergehend kann man das Gitter-Boltzmann Verfahren sogar als ein unabhängiges Modell zur Beschreibung kontinuumsmechanischer Prozesse und Phänomene deuten.

Funktionsweise: Die Gitter-Boltzmann Gleichung kann leicht in einen Grundalgorithmus umgesetzt werden, der dank der  erwähnten Beziehungen sehr anschaulich wirkt.  Jedem Geschwindigkeitsvektor ordnet man eine  Teilchenspezies zu, deren  Dichte man  als Population  oder Verteilungsfunktion  bezeichnet.  Diese  artifiziellen Größen stellen die Basisgrößen des Verfahrens dar, die pro Knoten und Zeitschritt berechnet werden müssen.
Der Algorithmus zerfällt in zwei Teiloperationen.  Im ersten Teilschritt  werden in jedem Knoten aus den vorhandenen Populationen sogenannte Kollisionsprodukte berechnet, die im zweiten Teilschritt entsprechend ihrer jeweilig zugeordneten Geschwindigkeitsrichtung als neue Populationen an die Nachbarknoten verschickt (propagiert) werden. Damit ist der Gesamtschritt abgeschlossen und der Schrittzähler wird um eins erhöht (inkrementiert). Die Zeitschritte können beliebig oft wiederholt werden.  Es ist zu bemerken, daß der erste Teilschritt (Kollision, Relaxation) eine rein nodale Operation darstellt (d.h. eine Operation, die jeden Knoten einzeln betrifft), während im zweiten Teilschritt (Propagation, Advektion, Update) die Knoten miteinander in Verbindung treten (globale Operation). In jedem Gitterpunkt lassen sich die makroskopischen bzw. physikalischen Größen nach Abschluß einer Iteration (Zeitschritt) durch spezielle Mittelungen (Funktionale) aus den Populationen berechenen.  Man bezeichnet diese (mittelbaren)  abgeleiteten Größen als Momente. Diese sind im Gegensatz zu den Basisgrößen für den Anwender des Gitter-Boltzmann Verfahrens von eigentlichem Interesse.
Da die Gitter-Boltzmann Gleichung eine explizite Gleichung darstellt, ist das Lösen großer linearer Gleichungssysteme nicht erforderlich. Dies vereinfacht wesentlich die Implementierung des Gitter-Boltzmann Verfahrens und hat sicherlich zu seiner Popularität bei ingenieurwissenschaftlichen Anwendungen beigetragen.  Nicht zuletzt werden dem Verfahren auch gute Parallelisierungseigenschaften nachgesagt, da die wesentlichen Rechenoperationen auf nodaler Ebene durchgeführt werden können.
Es ist bereits darauf hingewiesen worden, daß die  Wahl des Gitters eine entscheidende Rolle für das Funktionieren eines Gitter-Boltzmann Schemas spielt. Daneben gibt es einen zweiten wichtigen Bestandteil, nämlich die Berechnungsvorschrift für  die Kollisionsprodukte. Eine zentrale Größe in diesem Zusammenhang, die wir hier nicht näher erläutern, ist das Gleichgewicht. Dieses muß auf das verwendete Geschwindigkeitsmodell abgestimmt sein. Anhand der Wahl des Gleichgewichts kann man die zu approximierende Grenzgleichung festlegen (z.B. die Stokes oder Navier-Stokes Gleichung oder auch die allgemeine Diffusions-Advektions-Reaktions Gleichung).

Mathematische Einordnung: Vom mathematischen Standpunkt sind die vorangehenden Bemerkungen kaum geeignet, daß Gitter-Boltzmann Verfahren zu klassifizieren (beschreiben, beurteilen). Betrachtet man die homogene Gitter-Boltzmann Gleichung genau, so bemerkt man, daß diese eigentlich nur Differenzen aber keine Differenzenquotienten enthält.  Zeitschritt und Ortsschritt tauchen nicht außerhalb der Funktionsargumente auf. Diese Beobachtung hängt mit der Tatsache zusammen,  daß  die Gitter-Boltzmann Gleichung im Grenzwert nicht zur  Boltzmann Gleichung bzw. zu einer Boltzmann-ähnlichen Gleichung (welche ebenfalls auf einem diskreten Geschwindigkeitsmodell basiert) führt, sondern geeignete Momente stattdessen völlig anders geartete Gleichungen wie etwa die Navier-Stokes Gleichung approximieren.    

Wir erwähnten bereits,  die Verwandtschaft zu den Finiten-Differenzen.