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 kompressibler Strömungsprobleme, 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]

Ein Erhaltungssatz ist durch eine Gleichung der Art

\frac{\partial}{\partial t} u(x,t) + \nabla \cdot f(u(x,t))=g(u(x,t))

auf einem Gebiet \Omega \subset \mathbb{R}^d \times [0,\infty ) gegeben, wobei \nabla den Nabla-Operator bezeichnet, was hier die Divergenz ergibt. Der gewöhnliche Fall, den wir hier betrachten, ist g(u)=0. Die Herleitung für Gleichungen mit weiteren Termen erfolgt analog. Zunächst wird das Gebiet in eine endliche (finite) Zahl an Gitterzellen (die Volumen) 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 Integration über eine Zelle \Omega_i und Umwandlung des Integrals der Divergenz in ein Oberflächenintegral:

\int_{\Omega_i}\frac{\partial}{\partial t} u\, \mathrm d\Omega + \int_{\partial \Omega_i} f(u) \cdot n\, \mathrm dS=0.

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 u_i = \frac{1}{|\Omega_i|}\int_{\Omega_i}u\, \mathrm d\Omega 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:

\frac{\partial}{\partial t} u_i  = - \frac{1}{{|\Omega_i|}}\int_{\partial \Omega_i} f(u) \cdot n\, \mathrm dS.

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]

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.

Verfahren Höherer Ordnung[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]

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]

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]

Das verbreitetste kommerziellen Programmpaket zur numerischen Strömungssimulation mittels FVM ist Fluent von Ansys Inc.. In der Raum- und Luftfahrt 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]

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]

  • 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).