Finite-Volumen-Verfahren

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Das Finite-Volumen-Verfahren ist ein numerisches Verfahren zur Lösung von Erhaltungsgleichungen, also von speziellen, häufig hyperbolischen, partiellen Differentialgleichungen, denen ein Erhaltungssatz zugrunde liegt.

Am prominentesten ist der Einsatz der Finite-Volumen-Methode in der numerischen Strömungsmechanik, wo sie als Standardverfahren zur Lösung von Strömungsproblemen, also der Euler- und Navier-Stokes-Gleichungen eingesetzt wird.

Das Verfahren benutzt in seiner Herleitung eine integrale Form der Erhaltungsgleichungen und erlaubt damit auch unstetige Lösungen, die für solche Gleichungen typisch sind. Ferner werden nur geringe Anforderungen an die Gitterzellen gestellt, was unstrukturierte und flexible Geometrien erlaubt. Darüber hinaus werden die konservativen Größen der Gleichung tatsächlich erhalten.

Herleitung[Bearbeiten | Quelltext bearbeiten]

Ein Erhaltungssatz ist durch eine Gleichung der Art

auf einem Gebiet gegeben, wobei den Nabla-Operator bezeichnet, welcher hier für die Divergenz steht. Der gewöhnliche Fall, der hier betrachtet wird, ist . Die Herleitung für Gleichungen mit weiteren Termen erfolgt analog. Zunächst wird das Gebiet in eine endliche (finite) Zahl an Volumenelementen (vgl. Gitterzellen) zerlegt. In jeder dieser Zellen gilt der Erhaltungssatz. Erfüllt jede der Zellen die Bedingungen des gaußschen Integralsatzes, etwa Lipschitz-Stetigkeit des Randes, so ergibt die Integration über eine Zelle und Umwandlung des Integrals der Divergenz in ein Oberflächenintegral:

.

Die Veränderung einer erhaltenen Größe (z. B. der Energie) in einer Zelle kann also nur durch Ab- oder Hinzufließen (in diesem Fall von Energie) über den Rand der Zelle passieren. In jeder Zelle berechnet man nun den Mittelwert der Erhaltungsgröße in dieser Zelle erhält man im Falle, dass sich die Zelle mit der Zeit nicht verändert, eine Gleichung, welche die Veränderung der Mittelwerte in den Zellen mit der Zeit beschreibt:

.

In numerischen Verfahren wählt man üblicherweise polygonal berandete Zellen, so dass sich das Integral über den Rand als Summe von Oberflächenintegralen über einfache Gebilde (im zweidimensionalen Fall gerade Kanten), darstellen lässt.

Lösung der Gleichung[Bearbeiten | Quelltext bearbeiten]

Zur Berechnung der Oberflächenintegrale wird im Regelfall eine Gauß-Quadratur zweiter Ordnung genommen. Nach Mittelung der Werte in den einzelnen Zellen ergibt sich das Problem, dass die numerische Lösung entlang der Gitterkanten unstetig ist. Allerdings lässt sich die Situation an der Kante als Riemann-Problem auffassen. Die Verwendung eines approximativen Riemann-Lösers erlaubt dann die Berechnung der Flüsse. Hierbei wird Konsistenz des Riemann-Lösers verlangt, was in diesem Fall zum einen die Stetigkeit oder sogar Lipschitz-Stetigkeit bedeutet, sowie die Bedingung, dass er bei identischen Daten aus beiden Zellen den physikalischen Fluss liefert.

Diese liefert das dann zu erstellende System von gewöhnlichen Differentialgleichungen nur, wenn noch eine Entropie-Bedingung hinzugenommen wird. Denn die rein mathematische Betrachtung der Unstetigkeit am Zellenrand erlaubt neben der für das Riemann-Problem korrekten Lösung vermöge eines Verdichtungsstosses auch den unphysikalischen Verdünnungsstoss. Die Entropiebedingung aber schließt den Verdünnungsstoss aus. Das Riemann-Problem wird dann mittels numerischer Methoden für gewöhnliche Differentialgleichungen (unter Beachtung der Entropiebedingung) näherungsweise (z. B. Osher) oder iterativ-exakt (Godunov) gelöst.

1D Beispiel[Bearbeiten | Quelltext bearbeiten]

Es wird die folgende Konvektionsgleichung betrachtet:

Dabei beschreibt v die Konvektionsgeschwindigkeit. Diese partielle Differentialgleichung soll mit Hilfe des Finite-Volumen-Verfahrens entlang der Ortskoordinate diskretisiert werden. Dazu wird zunächst die Ortskoordinate in n diskrete Abschnitte zerlegt

Die Kontrollvolumina, deren Mittelpunkte und die Größen der Kontrollvolumina sind definiert durch

Hier beziehen sich ganzzahlige Indizes auf den Mittelpunkt eines Kontrollvolumens und nicht-ganzzahlige Indizes beziehen sich auf den Rand eines Kontrollvolumens.

Nun wird jeder Term der zu diskretisierenden Differentialgleichung über ein beliebiges inneres Kontrollvolumen integriert. Für den Akkumulationsterm folgt

Dabei darf nach der Leibnizregel für Parameterintegrale die Integration und Differentialtion vertauscht werden, sofern das Kontrollvolumen zeitlich unveränderlich ist. Anschließend wird der diskretisierte Funktionswert mit Hilfe des Mittelwertsatzes der Integralrechnung als integraler Mittelwert des tatsächlichen Funktionsverlaufes im Kontrollvolumen approximiert.

Anschließend folgt für den konvektiven Term mit Hilfes des Gaußschen Integralsatzes

Hier müssen die Funktionswerte auf den Rändern der Kontrollvolumina als Funktion der bekannten Funktionswerte approximiert werden. Eine einfache Methode dazu ist das sog. UPWIND-Verfahren 1. Ordnung, das besagt, dass der Funktionswert auf dem Rand durch den nächsten bekannten stromaufwärtsliegenden Funktionswert approximiert wird, d.h.

Werden die beiden Terme wieder zusammengesetzt, erhält man den Satz gewöhnlicher Differentialgleichungen

der mithilfe eine beliebigen Verfahrens für gewöhnliche Differentialgleichungen gelöst werden kann.

Verfahren Höherer Ordnung[Bearbeiten | Quelltext bearbeiten]

Das bisher beschriebene Verfahren ist durch die Mittelung der Werte in jeder Zelle nur erster Ordnung. Höhere Ordnung wird dadurch erreicht, dass Polynome höherer Ordnung in den Zellen angesetzt werden. D. h. es wird eine Verteilung (konstant, linear, parabolisch usw.) angenommen, die den Integralwert erhält.

Die zentrale Schwierigkeit hierbei ist, dass Verdichtungsstösse bzw. Schocks in der Lösung zu Oszillationen führen können. Zur Vermeidung dessen werden Total-Variation-Diminishing-Verfahren (TVD-Verfahren) eingesetzt, die die totale Variation nicht erhöhen und so keine neuen Extrema zulassen (Da Polynome Unstetigkeiten i.a. mit Überschwingern interpolieren). Die wichtigsten Klassen von Verfahren sind hier die Flux-Limiter-Verfahren und die ENO-Verfahren (bzw. WENO).

Konvergenztheorie[Bearbeiten | Quelltext bearbeiten]

Finite-Volumen-Verfahren lassen sich für elliptische Gleichungen als spezielle Finite-Elemente-Verfahren auffassen, bei denen man stückweise konstante bzw. stückweise lineare Ansatzfunktionen wählt, die auf den Zellen und nicht auf den Gitterpunkten leben. Dies erlaubt mit Hilfe der dortigen umfassenden Theorie eine Konvergenzanalyse.

Für parabolische oder hyperbolische Gleichungen wie die Euler- oder Navier-Stokes-Gleichungen ist die mathematische Konvergenztheorie allerdings weniger weit fortgeschritten.

Hyperbolische Erhaltungsgleichungen[Bearbeiten | Quelltext bearbeiten]

Bei hyperbolischen Problemen treten insbesondere Stöße auf, die die Analyse erheblich erschweren. Eine weitere Schwierigkeit hier besteht darin, dass die Lösung der Gleichungen im Regelfall nicht eindeutig ist. Der Satz von Lax-Wendroff liefert, dass ein Finite-Volumen-Verfahren bei Konvergenz tatsächlich gegen eine schwache Lösung der Gleichung konvergiert. Entropiebedingungen bzw. numerische Viskosität werden dann genutzt, um zu zeigen, dass dies tatsächlich die physikalisch sinnvolle ist.

Eine andere Aussage, die für alle Finite-Volumen-Verfahren gilt, ist die notwendige CFL-Bedingung, dass der numerische Abhängigkeitsbereich den tatsächlichen Abhängigkeitsbereich enthalten muss. Andernfalls ist das Verfahren instabil.

Insbesondere für mehrdimensionale Gleichungen ist die Konvergenztheorie schwierig. Im Eindimensionalen gibt es auch für Verfahren höherer Ordnung Resultate, die darauf beruhen, dass der Raum der Funktionen mit beschränkter Variation zu kompakten Mengen in L1 liefert.

Software[Bearbeiten | Quelltext bearbeiten]

Das verbreitetste kommerziellen Programmpaket zur numerischen Strömungssimulation mittels FVM ist Fluent von Ansys Inc. In der Luft- und Raumfahrt sind unterschiedliche Codes im Einsatz, darunter von der NASA entwickelte Codes, die flo-Codes von Antony Jameson, sowie bei EADS die Codes ELSA und der TAU-Code des DLR. OpenFOAM ist ein unter der GPL veröffentlichtes Softwarepaket.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Die grundlegenden theoretischen und praktischen Ideen wurden ab den 1950er Jahren für die Raumfahrt entwickelt, insbesondere von dem Russen Godunow und dem Ungarn Lax. Die ersten Finite-Volumen-Verfahren stammen von Richard S. Varga (1962) und Preissmann (1961). Der Terminus Finite-Volumen-Verfahren wurden dann unabhängig voneinander 1971 von McDonald und 1972 von MacCormack und Paullay für die Lösung der zeitabhängigen zweidimensionalen Euler-Gleichungen eingeführt.

Die Idee der approximativen Riemann-Löser tauchte erstmals in den 1980ern auf, als Roe, Osher, van Leer und andere ebenfalls unabhängig voneinander solche Verfahren vorstellten.

Literatur[Bearbeiten | Quelltext bearbeiten]

  • Charles Hirsch: Numerical computation of internal and external flows. 2 Bände. Wiley & Sons, Chichester u. a. 1988–1990 (Wiley series in numerical methods in engineering).
  • Randall J. LeVeque: Finite Volume Methods for Hyperbolic Problems. Cambridge University Press, Cambridge 2002, ISBN 0-521-00924-3 (Cambridge Texts in Applied Mathematics).