Berechnung der Auftriebsbewegung eines Körpers in Wasser mit FLUENT

Jeder (fester) Körper erfährt in einem Gravitationsfeld durch die Verdrängung des umgebenden Fluids einen Auftrieb. Ist das spezifische Gewicht des Körpers geringer als das des umgebenden Fluids, dann ist der Auftrieb größer als das Gewicht des Körpers und der Körper steigt auf (sofern er nicht "angebunden" ist).
Durch die Bewegung im Fluid greifen fluidmechanische Kräfte und Momente an den Körper (zusätzlich zum Gewicht und Auftrieb), die den speziellen Auftriebsweg beeinflussen. Diese Kräfte und Momente sind:

Größe und Richtung dieser Kräfte und Momente hängt wiederum von der Geschwindigkeit des Auftriebskörpers ab. Will man den speziellen Weg eines solchen Körpers in z.B. Wasser verfolgen, dann muss der Einfluss dieser Kräfte und Momente auf die Bewegung des Körpers genau berücksichtigt werden. Hierzu müssen die entsprechenden Erhaltungsgleichungen der Mechanik gelöst werden.

Der Impulserhaltungssatz berücksichtigt den Einfluss der Kräfte auf die Bewegung eines Körpers. In Worten lautet er: Die zeitliche Änderung des Impulses ist gleich der Summe aller angreifenden Kräften:


Impulsbilanz

Darin ist m die Masse des Körpers,  u der Vektor der Geschwindigkeit und Fi  der Vektor der einzelnen am Körper angreifenden Kräfte. Als Kräfte treten auf:

Integriert man diese Größen über die Außenflächen des Auftriebskörpers, erhält man die angreifenden Kräfte in x-, y- und z-Richtung. Im nächsten Schritt muss die Impulsbilanz über die Zeit integriert werden, um ausgehend von einem Startwert bei der Zeit t = 0, die drei Komponenten der Geschwindigkeit ux, uy und uz als Funktion der Zeit berechnen zu können.

Die Kräfte verursachen aber nicht nur eine örtliche Verschiebung des Körpers. Da die Kräfte nicht im Schwerpunkt des Körpers angreifen, sondern in einem Abstand r davon, verursachen sie auch Momente im Bezug zum Körperschwerpunkt. Diese Momente verdrehen den Körper. Diese Winkelverdrehung  kann aus dem Drehmomenterhaltungssatz berechnet werden. In Worten lautet dieser: Die zeitliche Änderung des Drehimpulses eines Körpers ist gleich der Summe aller angreifenden Momente.


Drehimpulssatz 1

mit L als Vektor des Drehimpulses, r als Vektor des Abstandes zum Drehpunkt des Körpers und F wieder als Vektor der angreifenden Kraft.  Das Kreuzprodukt Kreuzprodukt ergibt den Vektor des Momentes der Kraft.
Bei der Drehung eines starren Körpers um seinen Drehpunkt bewegen sich alle Körpeerpunkte auf Kreisbahnen.  Der Drehimpuls eines Körpers kann dann durch den Vektor der Winkelgeschwindigkeit 
ω ersetzt werden:

Drehimpuls

Ersetzt man die Masse m des Körpers durch das Produkt  ρ mal V, erhält man den Drehimpulserhaltugnssatz in der Form:

Drehimpulssatz 2

Durch Integration dieser Gleichung über die Zeit kann (von einem bekanntem Anfangsdrehung ω0) die Dehnung des Körpers als Funktion der Zeit bestimmt werden.

Für die Behandlung solcher Probleme hat FLUENT eine Programmierschnittstelle - die so genannte  User-Defined-Functions. Diesen UDF's werden in der Programmiersprache C geschrieben. FLUENT stellt hierzu eine Vielzahl von Makros zur Verfügung, mit denen nahezu sämtliche Zwischenergebnisse von FLUENT (wie Druck, Temperatur, Geschwindigkeit, Scherkräfte, Druck etc) für jede Zelle des Rechengitters gelesen werden können. In den UDF's können dann aus den Zwischenergebnissen beliebige neue Größen berechnet werden und diese neuen Größen können über weitere Makros wieder an FLUENT zurückgeschrieben werden. Auf diese Art kann FLUENT beliebig um neue Funktionalitäten erweitert werden.

In einer solchen UDF wurden auf Basis der am Körper angreifenden Druck- und Scherkräfte die Geschwindigkeit u(t) des Körpers und die Winkelgeschwindigkeit ω(t) durch Integration der beiden Erhaltungsgleichungen bestimmt. So kann die Bewegung und Drehung des Auftriebskörpers berechnet werden.

Allerdings verändern sich Druck- und Scherkräfte im Laufe des Auftriebs (je nach Geschwindigkeit und Winkelstellung des Körpers). Diese Kräfte müssen deshalb für jeden Zeitschritt neu berechnet werden. Dies wiederum geht nur, wenn auch die Strömung für alle neuen Positionen des Auftriebskörpers neu berechnet wird.
Mit dem Tool "Dynmaic Mesh" stellt FLUENT ein Werkzeug zur Verfügung, mit denen solche Rückkoppelungen berücksichtigt werden können. Dabei wird für jede geänderte Zwischenposition die Lage des Auftriebskörpers neu bestimmt und das Lösungsgitter in der Umgebung des Körpers neu aufgebaut. Mit diesem neuen Gitter werden das Strömungsfeld (und damit auch die Strömungskräfte) neu berechnet und Position und Winkelstellung des Körpers können neu bestimmt werden.

Gitter-1 In einer dreidimensionalen Umgebung sind die hierzu benötigten Berechnungen sehr zeitaufwendig. In 2d-Geometrien dagegen geht das bedeutend schneller. Deshalb wurde zur Demonstration der Auftriebsbewegung ein 2d-Modell erstellt und vergittert. Um die Strömungskräfte am Körper möglichst genau bestimmen zu können, wurde eine so genannte "Boundary-Layer-Vergitterung" gewählt mit Zellen, die in der direkten Umgebung des Körpers sehr fein sind. Das nebenstehende Bild zeigt das Gitter um den Körper herum.

Gitter-2
Steigt der Körper auf, werden vor allem im Ablauf immer wieder neue Zellen gebildet. Das nebenstehende Bild zeigt einen Zwischenschritt der Berechnungen, in denen man diese Zellneubildungen gut erkennen kann.

Auf diese Art und Weise kann die Zellzahl des Modells im Laufe des Berechungsablaufs drastisch zunehmen. Vor allem bei 3d-Modellen führt das zu wesentlich längeren Berechnungszeiten. Durch Maßnahmen wie "smoothing"  oder durch  "size functions" kann das Gitter im Ablauf des Körpers wieder vergröbert werden.  Diese Möglichkeiten wurden hier ganz bewusst ausgeschaltet, um die Strömungen im Ablauf des Körpers möglichst detailliert wieder geben zu können.

 
Die Animation Bewegung eines Auftriebskörpers in Wasser zeigt den Ablauf der Berechungen für diesen Modellfall. Der verwendeten Codec zum Abspielen der Videos kann kostenlos unter DivX, Inc. (mit Download) erhalten werden.