Visualisierung


Stromlinien

Die Stromlinien sind im zweidimensionalen Strömungsfeld Isolinien der Stromfunktion ψ und werden durch Interpolation dieser Funktion berechnet, was zu jedem Zeitpunkt möglich ist. Am Beispiel "balken" soll die Visualisierung von Stromlinien gezeigt werden. Das Problem wird für den Fall laminarer Strömung von Luft mit Re = 200 von links nach rechts und der Randbedingung "rutschen" (oben und unten) bis t_end = 100 berechnet; das Ausschreiben von PSI ist aktiviert. Im   Zeitfile   sind die oszillierend ablösenden Wirbel der Kármánschen Wirbelstrasse mit der dimensionslosen Schwingungsdauer T* = 12.7 / 2 = 6.35 zu sehen. Bei einem Balken mit der Länge L = 1 m, die zugleich die charakteristische Länge ist, ergibt sich die Geschwindigkeit der Anströmung c = Re · η / (ρ · L) = 3.07 mm/s, die Schwingungsdauer T = T* · L / c = 34.5 min und die Strouhalzahl St = 1 / T* = 0.1575 . In der Literatur wird als Messwert für die Strouhalzahl querangeströmter Zylinder in Luft mit dem Wert 0.19 für diese Reynoldszahl die gleiche Größenordnung angegeben.

Mit dem Programm   datgen.c   bzw.   datgen.f   können aus den berechneten PSI-Daten Isolinien interpoliert werden. Die Steuerparameter des Programmes sind mit ip = 2 auf mehrfache Interpolation und mit io = 1 auf das Ordnen von schleifenförmigen Isolinien eingestellt. Die Eingabe-Datei enthält die PSI-Daten sowie in der ersten Zeile "2 PSI x 300 100 50. 10. 0. 0." und in der letzten Zeile "-20. 20. 0.2"; im Programm sind diese Parameter erläutert.   ==>   mod = 2 erzeugt eine Eingabe-Datei für GNUPLOT, epar = PSI stellt die richtige Dimensionierung ein, ipr = x interpoliert das PSI-Feld in x-Richtung. Die Anzahl der interpolierten Daten ist mit dem Gitter vorgegeben. Die weiteren Parameter sind wichtig für die Koordinatenberechnung, wobei die Dicken der viskosen Unterschicht z.B. im Fall der Randbedingung "Universelles Logarithmisches Wandgesetz" > 0 wären und korrespondierend mit den der Berechnung zugrundeliegenden Randbedingungen einzugeben sind, d.h. ggf. mit verschiedenen Werten für delxw und delyw. Der zweite Parametersatz ist so zu wählen, dass das gesamte PSI-Feld erfasst wird und die Isolinien den gewünschten Abstand voneinander haben.   <==  

Mit GNUPLOT dargestellt, ergibt sich folgender Ausschnitt von der   Stromlinien - Verteilung   . Die GNUPLOT - Eingabe - Dateien enthalten zum einen die Balkenkontur, wie sie der Berechnung zugrunde liegt und zum anderen die Stromliniendaten in der Form "x, y, PSI-Niveau". Wie man sieht, ist es notwendig, den Verlauf der Stromlinien 19 bis 24 manuell nachzubessern. Die betroffenen Daten lassen sich im GNUPLOT - Eingabefile leicht finden, indem man Leerzeilen einfügt; es ergibt sich die   neue Verteilung   mit den Lücken im Stromlinienverlauf. Die Stromlinie 19 hat einen geschlossenen Ableger. Die Stromlinien 20 bis 24 haben je einen Bereich, dessen Datenfolge in umgekehrter Ordnung einzufügen ist, was mit dem Programm   revers.c   bzw.   revers.f   schnell getan ist. Es gibt senkrechte Bereiche im Stromlinienverlauf mit jeweils einem relativ großen Abstand zwischen den Datenpunkten, weil die Punkte durch Interpolation in x-Richtung gefunden wurden. Diese Bereiche können besser dargestellt werden, wenn die PSI-Daten zusätzlich in y-Richtung interpoliert werden, d.h. mit ipr = y im Programm   datgen.c   bzw.   datgen.f , wobei hier im Beispiel "balken" mit io = 0 in   datgen.c   bzw.   datgen.f   das Ordnen der Daten ausgeschaltet wurde. Je nach Datenkonstellation ist das Ordnen der Isolinien auch mit dem Programm   split.c   bzw.   split.f   möglich und recht einfach durchzuführen.
Das   Ergebnis   der manuellen Korrektur ist nachstehend mit GNUPLOT dargestellt und lässt sich durch Anklicken vergrößern. Stromlinien Anhand des PSI-Niveaus in der dritten Spalte des GNUPLOT - Datenfiles findet man die Daten sehr gut heraus. Mehr Möglichkeiten in der grafischen Darstellung bietet das Programm DISLIN, verlangt aber eine andere Form der Dateneingabe. Im Programm   datgen.c   bzw.   datgen.f   gibt es die Option mod = 5, mit der aus den PSI-Daten Stromlinien für DISLIN interpoliert werden können. Allerdings ist deren Struktur nicht so übersichtlich, so dass manuelle Korrekturen kaum möglich sind. Mit der Option mod = 6 lassen sich jedoch die GNUPLOT - Eingabedaten in DISLIN - Eingabedaten konvertieren. Das Verzeichnis "Grafik" enthält beispielhaft einige C- bzw. FORTRAN77 - Programme für das Programmpaket DISLIN, wie z.B. das Programm   IsoFarb.c   bzw.   IsoFarb.for   mit den erforderlichen Einfügungen   autoBdatIng.c   bzw.   autoBdatIng.for   und   autoBplotIng.c   bzw.   autoBplotIng.for   zur Darstellung des Problems "autoB".

Der Begriff Stromlinien steht hier allgemein für Isolinien, denn auf die gleiche Art lassen sich Isotachen, Isobaren, Isothermen, Kurven gleicher Wirbelviskosität, gleicher Wirbelstärke usw. interpolieren.



Bahnlinien, Streichlinien

Eine Bahnlinie wird sichtbar, indem der Weg eines Fluidteilchens durch eine Langzeitaufnahme verfolgt wird. Wenn dagegen in einer Kurzzeitaufnahme die Strömungsrichtung insgesamt zu sehen ist, z.B. anhand von Geschwindigkeitsvektoren, dann sind Stromlinien vorstellbar, entlang denen die Fluidteilchen strömen werden. Eine Streichlinie entsteht schließlich, indem an bestimmten Stellen der Strömung laufend Fluidteilchen injiziert werden, die nach einem gewünschten Zeitschritt durch eine Kurzzeitaufnahme allesamt sichtbar gemacht werden. Bei stationären Strömungsverhältnissen haben alle drei Linienarten den gleichen Verlauf.

Bahnlinien und Streichlinien werden sichtbar durch Partikelverfolgung. Die im Programmpaket NaSt2D-2.0 dazu enthaltenen Grafikprogramme für GNUPLOT und DISLIN basieren auf der Darstellung von Strömungspunkten, d.h. die Punktfolge muss entsprechend dicht sein, wenn eine Linie zu sehen sein soll. Möchte man die Punktfolgen linear verbinden, so wären erst geeignete Ordnungsprogramme zu entwickeln und zu implementieren.

Das Beispiel "balken" ist wegen der Ausbildung der Kármánschen Wirbelstrasse nach einem Hindernis keine stationäre Strömung. Zum Vergleich der Visualisierungsmethoden sind hier die Strömungsbilder für die Zeit t_end = 100 gegenübergestellt, und das entsprechende Stromlinienbild ist im vorherigen Abschnitt zu sehen.

Bahnlinien Streichlinien

Die Bahnlinien (linkes Bild) wurden mit del_trace = 0.03 und die Streichlinien (rechtes Bild) mit del_inj = 0.03 berechnet. Durch Anklicken lassen sich die Bilder vergrößern. Die linke Seite aller drei Bilder stimmt überein; sie zeigt den stationären Teil der Strömung. Rechts veranschaulichen die Bilder den instationären Teil der Strömung und weichen mehr oder weniger von einander ab. Im Verwirbelungsgebiet werden die Bahnlinien sogar fehlerhaft berechnet. Mit dem Programm NaSt2D-2.0 kann man je Programmlauf entweder Bahn- oder Streichlinien berechnen, weil Funktionen gemeinsam verwendet werden und dabei Daten überschrieben würden. Das Programm gibt deshalb im Fall der Nichtbeachtung eine Fehlermeldung aus.

Ein Bahnlinienbild enthält an der Zuströmseite Punkte, die zu Beginn der Rechnung gespeichert wurden, und zur Abströmseite hin immer mehr später berechnete Punkte. Insgesamt entsteht aber nur ein Bild. Die Streichlinienbilder sind del_streak zugeordnet, d.h. es wird eine zeitlich versetzte Serie von Bildern berechnet, die in einer Diaschau, einem   Animated GIF   oder auch als Videoclip betrachtet werden kann. Die Bahn- und Streichlinienbilder sind mit DISLIN erstellt worden, wobei die sehr große Datenmenge an Punktkoordinaten relativ schnell verarbeitet wurde. Das Verzeichnis "Grafik" enthält beispielhaft die für   das Problem "balken" verwendeten Programme   Trace.c   bzw.   Trace.for   und   Streak.c   bzw.   Streak.for .



Profile

Profile Von allen berechenbaren Feldverteilungen U = u*, V = v*, P = p*, TEMP = T*, NUT = νturb*, KA = k*, EP = ε*, ZETA = ζ*, PSI = ψ* und HEAT = H*, bzw. auch von den entsprechenden dimensionsbehafteten Feldern, lassen sich mit dem Programm   datgen.c   bzw.   datgen.f   und mod = 7 gemäß des gewählten Gitters ohne Interpolation Profildaten schreiben, entweder über y an einer Stelle ik oder über x an einer Stelle jk. Für das Problem "kreis" (turbulent, t_end = 30) ist nebenstehend eine solche Profilverteilung für die Komponente U der Geschwindigkeit dargestellt. Der zu dieser Berechnung gehörende   Zeitfile   zeigt, dass die Strömung nach t_end = 30 stationär geworden ist.

Zur weiteren Orientierung wurde auch das   Stromlinienbild   berechnet. Man sieht nach onClick: Die Strömung ist symmetrisch und hat ein großes Verwirbelungsgebiet hinter dem Kreis. Die drei mittleren Stromlinien sind zur Verdeutlichung der ansonsten äquidistanten Verteilung der Stromlinien hinzugefügt worden. Die Profilverteilung ist mit DISLIN erstellt worden. Das verwendete Programm   Profil.c   bzw.   Profil.for   befindet sich im Verzeichnis "Grafik". Im Verwirbelungsgebiet direkt hinter dem Kreis ist die Geschwindigkeit U bereichsweise negativ, aber mehr und mehr gleicht sich der Profilverlauf wieder der ungestörten Form an.



Geschwindigkeits - Vektoren

Vektoren Mit dem Programm   datgen.c   bzw.   datgen.f   und mod = 4 kann man gemäß des gewählten Gitters ohne Interpolation aus U und V das zweidimensionale Feld der Geschwindigkeits - Vektoren W(U,V) berechnen. Für das Problem "kreis" (turbulent, t_end = 13) ist nebenstehend die Vektorverteilung dargestellt. Das entsprechende Stromlinienbild unterscheidet sich nur geringfügig von dem obigen für t_end = 30. Im Programm   datgen.c   bzw.   datgen.f   kann man einstellen, wie viele der eingelesenen Datenpunkte berücksichtigt werden sollen. Neben den Feldern U und V wird von   datgen.c   bzw.   datgen.f   auch ein Skalierungsfaktor sclf für die Länge der Vektoren gegenüber c eingelesen.

Das Bild ist mit sclf = 0.25 berechnet worden. In x-Richtung wurde jeder achte Datenpunkt berücksichtigt, in y-Richtung jeder dritte. Durch onClick wird das Wirbelgebiet auch im   Detail   sichtbar; sclf ist dabei 1., und in y-Richtung wurde jeder Punkt erfasst. Das verwendete Programm   Vektor.c   bzw.   Vektor.for   für DISLIN befindet sich im Verzeichnis "Grafik".



Farbkodierte Verteilungen

Farbcode Mit dem Programm   datgen.c   bzw.   datgen.f   und mod = 3 kann man je nach der Feinheit des gewählten Gitters ohne Interpolation die Eingabedaten für das Grafikprogramm DISLIN zur Darstellung farbkodierter Verteilungen ausgeben. Sollte die Gitterteilung zu grob sein, dann gibt es in DISLIN die Option zur Interpolation einer feineren Verteilung.

Nebenstehend ist als Beispiel bei dem Problem "rayleigh" das dimensionslose Temperaturfeld als farbkodierte Verteilung dargestellt. Es handelt sich dabei um eine laminare, auftriebsbedingte, zweidimensionale Strömung von Luft in sog. Rayleigh - Bénard - Zellen bei t_end = 1000 in einem Behälter mit dem Querschnitt - Seitenverhältnis 1:4, der unten beheizt und oben gekühlt wird; links und rechts hat er adiabate Wände. Wie der   Zeitfile   zeigt, ist die Strömung zu diesem Zeitpunkt stationär. Durch onClick sind auch die   Stromlinien   zu sehen, zum einen als Isolinien und zum anderen als farbkodierte Verteilung der Stromfunktion PSI. Die roten Pfeile zeigen die Bewegungsrichtung der wechselweise rotierenden Zellen an.

Für die Bilderstellung farbkodierter Verteilungen mit DISLIN ist zu beachten, dass das Verteilungsgebiet des gewählten skalaren Parameters, hier die Temperatur, bei einer Ausschnitt - Darstellung des Berechnungsgebietes mit dem gewünschten Ausschnitt übereinstimmen muss, weil das Programm DISLIN im Fall der farbkodierten Verteilungen die ausserhalb des Ausschnittes liegenden Bildpunkte nicht abschneidet, sondern das Parameterfeld auf die Größe des Ausschnittes skaliert. Ein entsprechendes DISLIN - Programm befindet sich mit   IsoFarb.c   bzw.   IsoFarb.for   im Verzeichnis "Grafik". Ist das Grafikprogramm z.B. so eingestellt, dass von dem Berechnungsgebiet xlength mal ylength nur ein Teil dargestellt werden soll, dann ist zu prüfen, ob dieser Ausschnitt im Programm   datgen.c   bzw.   datgen.f   bei mod = 3 mit der DATA-Anweisung "xa,xe,ya,ye" übereinstimmend definiert ist. Im Fall von mod ≠ 3 ist das nicht erforderlich, weil die Parameter der DATA-Anweisung vom Programm berechnet werden. Das Feld des skalaren Parameters darf darüber hinaus für eine fehlerfreie Darstellung nur positive Werte enthalten. Deshalb kann im Programm   datgen.c   bzw.   datgen.f   eine positive Konstante "z0" addiert werden, die ebenfalls per DATA-Anweisung gesetzt wird. Mit Kontrollausdrucken erinnert das Programm   datgen.c   bzw.   datgen.f   an diese möglichen Fehlerquellen.



Räumliche Flächen

Nischen-Strömung Die Feldverteilungen U = u*, V = v*, P = p*, TEMP = T*, NUT = νturb*, KA = k*, EP = ε*, ZETA = ζ*, PSI = ψ* und HEAT = H*, bzw. die entsprechenden dimensionsbehafteten Felder, sind Funktionen der Stromflächen - Koordinaten x und y und können über der Strömungsebene räumlich dargestellt werden, wobei insbesondere die lokalen Extrema der Funktionen sowie die Gradienten verdeutlicht werden. Am Beispiel der Nischen - Strömung, Problem "dcavity", soll das veranschaulicht werden.

Über die rechteckförmige Nische mit der Länge = Tiefe von 10 cm strömt Wasser von 20 ° C und 1 bar mit der Geschwindigkeit c = 1 m/s. Infolge der Reibung baut sich in der Nische eine Strömung auf, die als laminar angenommen wurde. Die Reynoldszahl ist Re = 99622, die Prandtlzahl Pr = 7,001. Das Strömungsgebiet wurde mit 100 x 100 Punkten diskretisiert. Nach der dimensionslosen Zeit t_end = 6,13 stoppt das Programm mit dem Erreichen stationärer Strömungsverhältnisse.

Die Verteilung des statischen Druckes über der Nische wurde mit DISLIN erstellt, wobei die dargestellte Druckfläche aus 40 x 40 Punkten besteht, die bilinear aus der berechneten Druckverteilung interpoliert worden sind, so dass die Maschenweite für den Betrachter optimal ist. Das verwendete Programm   e3Ddruck.c   bzw.   e3Ddruck.for   befindet sich im Verzeichnis "Grafik". Zur weiteren Orientierung wurde auch das Stromlinienbild berechnet. Durch onClick sind die   Stromlinien   über der Nischenfläche zusammen mit der farbkodierten Verteilung des statischen Druckes zu sehen. Am oberen Nischenende ist der Druck maximal, liegt aber mit 1,0006 bar noch weit unter dem maximalen Totaldruck von 1,0050 bar. Nahe der angeströmten Wand liegt ein lokales Druckminimum im Bereich der rotierenden Sekundärströmung. Daneben befindet sich zum Ausgleich ein kleines lokales Druckmaximum. Das Druckminimum im Zentrum der Stromlinienringe und das absolute Druckmaximum in der oberen rechten Ecke sind im Stromlinienbild deutlich zu sehen.





Videos

ALT: drachen.swf

Ausbildung der Kármánschen Wirbelstraße hinter einem Drachen:
links im Zeitlupen-Video
 
Stromlinien
rechts in Einzelbildern mit Angabe der dimensionslosen Zeit

Für das Berechnungsbeispiel "drachen" lautet die Aufgabenstellung:   Ein Drachen mit der Spannweite   L = 1,27 m   (= charakteristische Länge) soll bei Windstärke 4 der Beaufortskala in 50 m Höhe fliegen. Gemäß dem Logarithmischen Windprofil ist in dieser Höhe mit einer Windgeschwindigkeit von   c = 100 km/h   zu rechnen. Die Reynoldszahl beträgt   Re = 2297881. Mit dem Standard - k,ε - Modell wurde die turbulente Umströmung des Drachens in zeitlicher Folge, wegen der schnellen Bewegung mit dimensionslosen Zeitschritten   ΔT* = 0,1 , berechnet und als farbkodierte Stromlinien - Verteilung in einem Video bzw. in Einzelbildern sichtbar gemacht. Die Strömung löst sich hinter dem Drachen periodisch ab; es entstehen abwechselnd oben und unten gegenläufige Wirbel. Die Wirbelablösefrequenz f der sogenannten Kármánschen Wirbelstraße ist durch die Strouhalzahl   St = f · L / c   charakterisiert. Zwischen den dimensionslosen Zeiten   t* = 31,9 und 36,0 sowie zwischen 36,0 und 40,1 liegt jeweils etwa eine Periode, denn die korrespondierenden Stromlinien - Verteilungen sind annähernd gleich, wie ein Vergleich zeigt. Somit sind die dimensionslose Schwingungsdauer   T* = 36,0-31,9 = 40,1-36,0 = 4,1 , die Strouhalzahl   St = 1 / T* = 0,2439 , die Schwingungsdauer   T = T* · L / c = 0,01115 s und die Wirbelablösefrequenz   f = 1 / T = 89,68 Hz.

Das Video wurde mit dem Programm VirtualDub aus den Einzelbildern erstellt.


ALT: druck.swf Die farbkodierte Totaldruck - Verteilung um den Drachen zeigt das nebenstehende Video (ebenfalls zeitverzögert). Für die Berechnung des Druckes ist generell eine frei wählbare additive Konstante vorzugeben. Diese wurde so bestimmt, dass der Druck im Staupunkt an der Drachenspitze gleich dem maximalem Totaldruck   ptot = pAtm + ρ/2 · c2   ist. Direkt hinter dem Drachen bilden sich korrespondierend zur Wirbelablösefrequenz abwechseln oben und unten Drucksenken, die nach hinten abgedrängt und abgebaut werden. Als Differenz zwischen Staudruck im Staupunkt und minimalem Druck in den Drucksenken wurde 0,02 bar berechnet. Das entsprechende Bild mit den Isobaren im Abstand von 0,001 bar ist hier zu sehen. Die Isobaren wurden mit dem Programm neighbor.c   bzw.   neighbor.f   aus den interpolierten Punkten zusammengestellt.

So fliegt der Drachen     Button          




Vorwort   |   Inhaltsverzeichnis