Berechnung implementierter Probleme


Parameter des par-Files

Der   1. Parameter = problem   benennt das Problem. Im Verzeichnis "Par" sind die par-Files aller implementierten Problemfälle enthalten. Die angegebenen Parameter sind als Orientierungswerte zu sehen und im Einzelfall zu überprüfen. Es können nur Probleme gerechnet werden, die implementiert sind, vgl. die Zusammenstellung.

Als   2. Parameter   kann ein vorhandener FLAG-File benannt werden, in dem die Strömungs - Hindernisse mit dem Wert "0" und freie Zellen bzw. Fluidzellen mit dem Wert "16" im jeweiligen Gitterpunkt ausgewiesen sind. Jedoch nur für die Probleme "kreis", "auto*" und "ventil*", d.h. für komplizierte Geometrien ist das Schreiben und Lesen der FLAG-Files eingerichtet. Die FLAGs werden im Programm flag.c in Abhängigkeit von dem Problem und der Gittergrösse gesetzt. Auch wenn das fehlerfrei erfolgt, kann es zu unerlaubten Hinderniszellen kommen. Das sind z.B. einzeln hervorstehende Hinderniszellen. Mit dem FLAG-File hat man dann die Möglichkeit, im Texteditor diese Einzelzellen manuell zu korrigieren, d.h. Hinderniszellen durch Fluidzellen und umgekehrt zu ersetzen. Auch bei der Implementierung von neuen Problemen kann das Verfahren genutzt und die FLAG-Setzung auf Richtigkeit überprüft werden. Im Programm visual.c kann die Ausgabe des Feldes FLAG aktiviert werden, dann werden auch die Randzellen etc. die in datadef.h festgelegten Werte aufweisen.

Als   3. Parameter   kann ein input-File benannt werden, aus dem die Startwerte etc. binär gelesen werden. Dieser muss jedoch bei dem Lauf davor als output-File binär geschrieben worden sein. Das Verfahren findet Anwendung bei Fortsetzungsberechnungen.

Als   4. Parameter   kann ein output-File benannt werden, auf den im Programmlauf binär geschrieben wird. Er ist im Folgelauf der input-File.

Der   5. Parameter = pflag   muss den Wert "1" oder "0" haben, je nachdem ob das FLAG-Feld im Vektorfile ausgegeben oder nicht ausgegeben werden soll. Er findet nur bei den Problemen "kreis", "auto*" und "ventil*" Anwendung. Ist ein FLAG-File benannt und vorhanden, dann hat dieser Parameter keine Bedeutung.

Die Berechnung erfolgt in einem zweidimensionalen Rechteckgitter mit äquidistanten Teilungen in beiden Richtungen und ist demzufolge sehr effektiv. Die dimensionslose Länge des Gitters in x-Richtung ist der   6. Parameter = xlength; der analoge Wert in y-Richtung ist der   7. Parameter = ylength. Der   8. Parameter = imax   ist die Anzahl der Teilungen in x-Richtung; der   9. Parameter = jmax   ist der analoge Wert in y-Richtung.

Der   10. Parameter = t_end   ist die dimensionslose Endzeit, die der dimensionsbehafteten Endzeit t_end · L / c entspricht.   L ist eine charakteristische, problemabhängige Länge, z.B. der Durchmesser eines angeströmten Kreises, die Tiefe eines angeströmten Profiles, die Länge eines angeströmten Fahrzeuges oder die innere Höhe eines durchströmten Kanales. c ist die Geschwindigkeit der ungestörten Strömung. Wird t_end = 0 eingegeben, dann endet die Berechnung mit dem Erreichen von stationärer Strömung, d.h. wenn der Absolutwert des Geschwindigkeitsgradienten in einem vorbestimmten Feldpunkt den Wert 10-4 unterschreitet. Wird ein Wert > 0 eingegeben, dann endet die Berechnung mit dem Erreichen dieses Wertes, wobei 29.3 zu vermeiden ist, vgl. Struktur und Anpassungen in main.c.

Der   11. Parameter = delt   ist die dimensionslose Zeitschrittweite delt = δt*, um die in der Zeitschleife die Laufzeit fortwährend erhöht wird. Der Wert hat nur dann Bedeutung, wenn tau > 10-10 gesetzt ist, d.h. mit Zeitschrittweiten - Steuerung gerechnet wird. In dem Fall wird die Zeitschrittweite für den nächsten Zeitschritt vom Programm so bestimmt, dass Stabilitätskriterien erfüllt sind. Wenn delt im Laufe der Berechnung den Wert 10-8 unterschreitet, dann wird eine Warnung auf dem Desktop ausgegeben. Die Rechnung konvergiert im weiteren Verlauf nicht mehr, d.h. die Eingabedaten müssen geändert werden.

Der   12. Parameter = tau   ist der Sicherheitsfaktor tau = τ für die Zeitschrittweiten - Steuerung, mit dem die neue, die Stabilitätskriterien erfüllende Zeitschrittweite multipliziert wird. Er kann aus dem Intervall [0,1] gewählt werden. Bei tau ≤ 10-10 wird die Zeitschrittweite im Verlauf der Berechnung nicht verändert. Je kleiner τ gewählt wird, desto kleiner ist auch δt*, desto länger dauert die Berechnung bei gleicher Endzeit und desto schneller erfolgt das Einschwingen auf stabile Zahlenwerte. Zur Verkürzung der Gesamtberechnungsdauer ist die Berechnung in Fortsetzungsläufen zu empfehlen, wobei die Parameter 3 und 4 zu setzen sind und von Lauf zu Lauf für tau ein immer größerer Wert gesetzt werden kann.

Die nächsten Parameter sind dimensionslose Zeitschrittweiten:   Parameter 13 = del_trace   für das Ausschreiben der Partikelpositionen von Bahnlinien;   Parameter 14 = del_inj   für das Injizieren von Partikeln für Streichlinien;   Parameter 15 = del_streak   für das Ausschreiben der Partikelpositionen von Streichlinien und   Parameter 16 = del_vec   für das Ausschreiben der Ergebnisse in den Vektorfile. Die Darstellung der Bahnlinien ist um so detaillierter, je kleiner del_trace ist, und die der Streichlinien, je kleiner del_inj ist. In einem Programmlauf können entweder Bahnlinien oder Streichlinien berechnet werden, niemals beide gleichzeitig, denn die Funktion "WRITE_PARTICLES" im Programm "visual.c" wird sowohl beim Bahnlinien- als auch beim Streichlinien - Schreiben verwendet, und es käme zum wechselweisen Überschreiben der Ausgabedateien mit den falschen Daten. Je Programmlauf können somit entweder die Daten für ein Bahnlinienbild zur Zeit t_end oder die Daten für mehrere Streichlinienbilder in der Zeitfolge del_streak berechnet werden.

Als   17. Parameter   wird entweder "kein" oder der Name des Vektorfiles angegeben, in den im Zeitabstand del_vec sowie am Ende der Berechnung die in visual.c aktivierten Ausgabedaten geschrieben werden; alte Daten werden überschrieben.

Als   18. Parameter   wird entweder "kein" oder der Name des Zeitfiles angegeben, in den fortlaufend im Zeitabstand delt die dimensionslosen Werte für die Zeit sowie die Geschwindigkeit, den Druck und den Geschwindigkeitsgradienten eines vorbestimmten Feldpunktes geschrieben werden.

Als   19. Parameter   wird entweder "kein" oder der Name des Files angegeben, in den fortlaufend im Zeitabstand del_trace die dimensionslose Zeit und die dimensionslosen Partikelpositionen der Bahnlinien geschrieben werden.

Als   20. Parameter   wird entweder "kein" oder der Name des Files angegeben, in den fortlaufend im Zeitabstand del_streak die dimensionslose Zeit und die dimensionslosen Partikelpositionen der Streichlinien geschrieben werden.

Als   21. Parameter = N   wird die Anzahl der Bahn- und/oder Streichlinien benannt, die mit einem äquidistanten Abstand voneinander auf der im folgenden definierten Anfangsstrecke beginnen.

Die Anfangsstrecke der Bahn- und/oder Streichlinien kann beliebig innerhalb der mit xlength und ylength definierten Berechnungsfläche gewählt werden. Die   Parameter 22 = pos1x, 23 = pos1y, 24 = pos2x und 25 = pos2y   sind die dimensionslosen Koordinaten dieser Strecke.

Die Poissongleichung für den Druck wird iterativ mit dem SOR-Verfahren gelöst. Als   26. Parameter = itermax   kann die maximale Zahl der Iterationen angegeben werden und als   27. Parameter = eps   das Abbruchkriterium der Iteration. Itermax hat nur auf die Anfangsphase der Berechnung, den Einschwingvorgang, einen Einfluss. Je nach dem Problem reichen in der Regel 5 Iterationen aus, um das Abbruchkriterium zu erreichen. Je kleiner eps gewählt wird, desto länger läuft das Programm. Bei sehr kleinen Werten eps rechnet es immer bis itermax. Ob die Berechnung insgesamt konvergiert, kann sehr gut am Verlauf des Zeitfiles verfolgt werden.

Als   28. Parameter = omg   ist der Relaxationsfaktor omg = ω für das SOR-Verfahren anzugeben. Er kann im Intervall [0,2] gewählt werden. Für das Gauß - Seidel - Verfahren beträgt ω = 1. Die Unterrelaxation mit ω < 1 hat einen langen Einschwingvorgang bis zum Erreichen von stationären Bedingungen zur Folge. Mit ω gegen 2 ist die Berechnung nicht mehr stabil. Dazwischen liegt das Optimum; im Beispiel ''balken'' bei ω = 1.9 . Als Standardwert sollte ω = 1.7 gewählt werden.

Der   29. Parameter = gamma   ist der Upwind - Differencing - Faktor gamma = γ. Er kann im Intervall [0,1] gewählt werden und steuert, ob bei der Diskretisierung der Ableitungen eher die stabile, sog. upwind-Diskretisierung oder die genauere zentrale Differenz genommen wird. Er sollte um so größer sein, je größer der Konvektionsanteil im Problem ist. Er hat einen starken Einfluss auf die Amplitude der Ergebnisoszillation, d.h. die Schwankung des Geschwindigkeitsgradienten im gewählten Feldpunkt, die im Beispiel ''balken'' um so kleiner ist, je größer γ gewählt wurde.

Als   30. Parameter = p_bound   ist ein Steuerparameter für die Behandlung der Druckrandbedingung für die Poissongleichung einzugeben, entweder 1 oder 2. Damit besteht die Möglichkeit, im Einzelfall physikalisch falsche Ergebnisse für den Druck zu vermeiden; empfohlen wird p_bound = 2.

Der   31. Parameter = Re   ist die Reynoldszahl   Re = ρ· c· L / η   der An- bzw. Einströmung, der   32. Parameter = Pr   die Prandtlzahl   Pr = η· cp∞ / λ , und der   33. Parameter = beta   ist der dimensionslose Volumenexpansionskoeffizient   beta = β* = β· ΔT   mit der maximalen Temperaturdifferenz ΔT zwischen heißer und kalter Seite; vgl. Stoffwerte.

Die nächsten beiden   Parameter 34 = GX und 35 = GY   sind dimensionslose Volumenkräfte in x-Richtung und in y-Richtung, z.B. durch Gravitation GY = g* = - L / c2· g , wobei das Minuszeichen bedeutet, dass die Gravitationsbeschleunigung g hier entgegen der y-Richtung zeigt.

Für die   Parameter 36 = UI und 37 = VI   sind die dimensionslosen Einströmgeschwindigkeiten anzugeben, z.B. UI = 1 , wenn c in x-Richtung einströmt, oder VI = -1 , wenn c gegen die y-Richtung einströmt.

Als   38. Parameter = TI   ist die Anfangsbelegung der dimensionslosen Temperatur anzugeben, d.h. in der Regel   TI = T* = (T-T) / ΔT = 0   für die isotherme Strömung bei T.

Für den   39. Parameter = tmod   ist 0 einzusetzen, wenn das Gleichungssystem für laminare Strömung berechnet werden soll. Soll das Gleichungssystem für turbulente Strömung berechnet werden, dann ist   tmod = 1   zu setzen, wenn das Standard - k,ε - Modell angewendet werden soll oder   tmod = 2   im Fall der Verwendung des Niedrig - Reynoldszahl - Modelles. Bei turbulenter Strömung sind auch Werte > 0 für die Anfangsbelegungen der dimensionslosen turbulenten kinetischen Energie KAI = k* = k / c2,   40. Parameter = KAI, und für deren dimensionslose isotrope Dissipationsrate EPI = ε* = ε · L / c3,   41. Parameter = EPI, anzugeben. Das Standard - k,ε - Modell beinhaltet für die turbulente Viskosität den Ansatz   νturb = Cμ· k2 / ε   mit Cμ = 0,09, vgl. main.c. Das Finden der Zahlenwerte für KAI und EPI setzt die Kenntnis der Geschwindigkeit am Eintritt inklusive ihrer Fluktuationswerte und deren Entwicklung voraus, deshalb hier nur eine erste Abschätzung, mit der akzeptable Rechenergebnisse erzielt wurden: KAI = 0.003 und EPI = 0.005. Die gewählten Anfangswerte für KAI und EPI beeinflussen insbesondere im Nahbereich des umströmten Körpers das Rechenergebnis, wie am Beispiel ''balken'' zu sehen ist. Im Vergleich mit einer gemessenen, strömungsmechanisch ähnlichen Stromlinien - Verteilung könnte man auf die zutreffenden Anfangswerte schließen.

Für die   Parameter 42 = wW, 43 = wO, 44 = wN und 45 = wS   sind analog einer Windrose, die auf der Berechnungsfläche liegt, die codierten Randbedingungen anzugeben: 1 = Rutsch-, 2 = Haft-, 3 = Ein- oder Ausström-, 4 = periodische Bedingungen in x-Richtung, 5 = Universelles Logarithmisches Wandgesetz. Die Rutschbedingung definiert den Rand als Symmetrieachse der Strömung. Das Universelle Logarithmische Wandgesetz gilt nur für turbulente Strömungen und erfordert die Eingabe der Dicke des laminaren Wandbereiches in x-Richtung und/oder y-Richtung > 0.

Die letzten beiden   Parameter 46 = delxw und 47 = delyw   sind die dimensionslosen Dicken der viskosen Unterschicht delxw in x-Richtung und delyw in y-Richtung. Sie werden für die Berechnung gemäß dem Universellen Logarithmischen Wandgesetz benötigt und müssen zunächst geschätzt werden, weil die Geschwindigkeiten am Rand der viskosen Unterschicht zum turbulenten Strömungsgebiet hin noch unbekannt sind. Es gilt delxw = Δxwj* = 25 / (Re · V1,j*) und analog mit Vimax,j* sowie delyw = Δywi* = 25 / (Re · Ui,1*) und analog mit Ui,jmax*. Nach der Berechnung kann überprüft werden, ob die Schätzwerte brauchbar sind, indem ein Mittelwert für delxw in x-Richtung und ein Mittelwert für delyw in y-Richtung im Weiteren verwendet werden, vgl.   H. Oertel jr., M. Böhle: Strömungsmechanik. 3.Aufl., Vieweg, 2004   [2, S. 135]. Nach ein bis zwei Iterationen sollten die geschätzten mit den berechneten Werten ausreichen übereinstimmen. Beide Werte sind bei Verwendung des Universellen Logarithmischen Wandgesetzes grösser 0. und bei Verwendung der Haftbedingung gleich 0. anzugeben, denn sie werden nicht nur für die äusseren Ränder des Strömungsgebietes benötigt, sondern auch an den Hindernissen innerhalb.


Berechnungsbeispiel "autoB"

Die   Aufgabenstellung   lautet:   Stromlinien und Druckverteilung beim Fahren mit einem Porsche 911 (Problem "autoB") bei 20 oC und 1 bar sollen für die Fahrgeschwindigkeiten 5, 50 und 130 km/h berechnet und dargestellt werden. Die charakteristische Länge ist die Fahrzeuglänge L = 4.291 m. Das implementierte Beispiel hat ein Berechnungsgebiet von 10 x 5, d.h. die Länge von 42.91 m und die Höhe von 21.455 m, und wird mit 400 x 300 Zellen erfasst. Mit den Stoffwerten für Luft erhält man die dimensionslosen Kennzahlen   Pr = 0.7150   und   Re = 388166. || 3881661. || 10092319. Die Schallgeschwindigkeit von Luft bei 20 oC beträgt   a = 343.20 m/s = 1235.5 km/h. Somit ist die Machzahl bei der Fahrgeschwindigkeit 130 km/h   Ma = 130 / 1235.5 = 0.1 . Erst bei   Ma > 0.3   müsste man die Kompressibilität der Luft berücksichtigen und könnte nicht mehr mit dem Programm NaSt2D rechnen. Im Bereich Re = 105 bis 108 ändert sich die Strömung um Platten, Kraftfahrzeuge, Tragflügel etc. von laminar auf turbulent, vgl. [2, S. 136]; je stromlinienförmiger das Hindernis um so höher diese kritische Reynoldszahl. Es wird angenommen, dass bei 5 km/h das Auto noch laminar umströmt wird, bei 50 km/h bereits turbulent mit niedriger Reynoldszahl und bei 130 km/h turbulent mit hoher Reynoldszahl.

Bei der kleinen Reynoldszahl wird   tmod = 0   eingestellt mit den Randbedingungen: oben rutschen, unten haften, links und rechts ein/ausströmen. Bei der mittleren Reynoldszahl wird   tmod = 2   eingestellt mit den Randbedingungen: oben rutschen, unten Universelles Logarithmisches Wandgesetz mit delxw = delyw = 0.001 als Schätzwert für die Dicke der viskosen Unterschicht, links und rechts ein/ausströmen. Bei der großen Reynoldszahl schließlich wird mit  tmod = 1   das k,ε - Turbulenzmodell gewählt mit den Randbedingungen: oben rutschen, unten haften, links und rechts ein/ausströmen. Es wird jeweils bis zum Erreichen von stationärer Strömung gerechnet, vgl. par-File. Im Programm "main.c" wird die Minimalzeit für das Zeitschleifenende   tks = 3.   gesetzt. Im Programm "visual.c" wird das Ausschreiben von P und PSI aktiviert. Da der Druck infolge der Autoumströmung abfällt, sind negative dimensionslose Drücke zu erwarten und in den Hinderniszellen der Druck 0. Mit negativen Zahlen lässt sich keine farbkodierte Druckverteilung berechnen. Das Programm "visual.c" wird demzufolge so modifiziert, dass das dimensionsbehaftete Druckfeld bei p = 1 bar ausgeschrieben wird, d.h. p = 1.0 + P · ρ· c2. Mit dem Befehl "make -f Makefile_L" wird unter LINUX der Programmlauf vorbereitet; mit " run autoB.par" bzw. mit " ./run autoB.par" wird er gestartet. Unter WINDOWS lauten die entsprechenden Befehle "make -f Makefile_W" und " run.exe autoB.par". Benennt man den benötigten Makefile_...   einfach in Makefile um, dann reicht der Befehl " make" für das Compilieren und Linken.

autoB

Im Befehlsfenster wird fortlaufend die Zeit, die Restlaufzeit in Prozent bis zur eingestellten Maximalzeit von 29.3, die Zahl der SOR-Iterationen und der Geschwindigkeitsgradient im ausgewählten Feldpunkt, das ist der Schnittpunkt der Diagonalen des Berechnungsgebietes, angezeigt. Der Zeitverlauf von U, P und dU/dt wird fortlaufend in den File "zeit.dat" geschrieben und kann mit dem Programm GNUPLOT dargestellt werden. Nach der Zeit t = 8.060 = 24.9 s ist im Fall 1 die berechnete Strömung stationär. Im Fall 2 ist die Strömung nach der Zeit t = 5.149 = 1.59 s stationär. Als Dicke der viskosen Unterschicht wurde delyw = 0.00021 berechnet. Mit diesem Wert für beide Parameter delxw und delyw, weil nicht nur die äusseren Ränder zählen, wird die Berechnung wiederholt. Nach ein paar Iterationen ist für delyw = 0.00017 = 0.73 mm nach t = 5.117 = 1.58 s mit ausreichender Genauigkeit berechnet worden. Im Fall 3 ist nach der Zeit t = 5.346 = 0.64 s die berechnete Strömung stationär; die Programmläufe sind beendet. Der File "autoB.out" enthält jeweils die Datenfelder des dimensionsbehafteten Druckes p in [bar] und der dimensionslosen Stromfunktion PSI.

Die Visualisierung der   Berechnungsergebnisse   kann erfolgen. Es wird nicht das gesamte Strömungsgebiet dargestellt, sondern zur Verdeutlichung nur der fahrzeugnahe Bereich. Mit dem Programm   datgen.c   bzw. datgen.f   im Verzeichnis "Tools" und den PSI-Daten des Files "autoB.out" werden mit der Option mod = 2 , vgl. Kap. Visualisierung: Stromlinien, Isolinien für das Programm GNUPLOT äquidistant interpoliert. Im Fall 1 müssen 3 von 100 Stromlinien manuell korrigiert werden, im Fall 2 keine und im Fall 3 eine. Mit der Option mod = 6 werden dann aus den korrigierten GNUPLOT - Isolinien die Isoliniendaten für das Programm DISLIN erstellt und im File "autoBiso.gdf" abgelegt. Die DISLIN - Daten für die farbkodierte Druckverteilung werden ebenfalls mit dem Programm   datgen.c   bzw. datgen.f   und der Option mod = 3 aus den p-Daten des Files "autoB.out" berechnet und im File "autoBdruck.gdf" gespeichert. Mit dem Programm   IsoFarb.c   und den dazugehörenden Dateien   autoBdat.c   und   autoBplot.c   bzw. der entsprechenden FORTRAN77 - Variante   IsoFarb.for   und den DISLIN - Dateien ist das nebenstehende Bild berechnet worden, vgl. Kap. Visualisierung: Farbkodierte Verteilungen.

Kriterium für eine Strömungsablösung von der Fahrzeugkontur ist immer ein Wendepunkt im Stromlinienverlauf. Die Wandschubspannung hat dort den Wert Null, und die Strömung wechselt von Beschleunigung zu Verzögerung. Im laminaren Fall liegt dieser Wendepunkt wie erwartet an der höchsten Stelle des Autodaches. Im turbulenten Fall ist der Ablösepunkt nach hinten verschoben und zwar umso mehr, je turbulenter die Umströmung ist. Das ist im Bild deutlich zu sehen. Das Totwasser- bzw. Verwirbelungsgebiet ist demzufolge am kleinsten bei vollturbulenter Umströmung. Vor dem Fahrzeug staut sich die Strömung. Die Stromlinien teilen sich im Staupunkt, wo der Druck maximal ist. An der höchsten Stelle des Autodaches ist die Beschleunigung der Strömung zu Ende und der Druck minimal. Im laminaren Fall divergieren die Stromlinien dahinter noch weiter, demzufolge fällt auch der Druck noch weiter ab und hat sein Minimum im Wirbel hinter dem Fahrzeug. Zusammenfassend kann festgestellt werden, dass die implementierten Turbulenzmodelle die Strömung zumindest qualitativ richtig wiedergeben.



Berechnungsbeispiel "Absperrventile"

Zeigt die Durchströmung bekannter 
				Bauarten von Absperrventilen

Berechnungsbeispiel "Automobil - Umströmung"

Zeigt die Umströmung von fünf sehr unterschiedlichen Automobiltypen

Berechnungsbeispiel "Tragschrauber - Umströmung"

Zeigt die Umströmung der komplizierten Geometrie eines fliegenden Tragschraubers



Vorwort   |   Inhaltsverzeichnis