4.3 Verf¨ ugbare numerische Methoden
4.3.2 Diskretisierung und L¨ osungsalgorithmen
Obwohl die Diskretisierung der zu l¨osenden Gleichungen sowie der gesamte L¨osungs-prozess bei kommerziellen CFD-Programmen letztendlich komplett programmintern ablaufen, bleibt die Auswahl der zu verwendenden Verfahren dem Anwender ¨uber-lassen. Dadurch k¨onnen sowohl die Genauigkeit als auch die Stabilit¨at und Effizienz maßgeblich gesteuert werden.
Diskretisierungen
W¨ahrend die diffusiven Terme aus der allgemeinen Transportgleichung (3.1) sowohl in StarCD als auch in Fluent mit einem fest gew¨ahlten Schema zweiter Ordnung diskretisiert werden, kann der Anwender f¨ur die Diskretisierung der konvektiven
Layering Sliding Interface
t
2Bewegungsrichtung
t
1Abbildung 4.6: Das Fahrstuhlprinzip
Terme jeweils aus einer Reihe von Verfahren erster, zweiter und zum Teil auch dritter Ordnung ausw¨ahlen. Dabei k¨onnen die verschiedenen physikalischen Gr¨oßen unterschiedlich behandelt werden.
Das in Abschnitt 3.1.1 pr¨asentierte Upwind-Verfahren erster Ordnung steht in beiden Solvern gleichermaßen als Default-Einstellung zur Verf¨ugung. Ist eine h¨ohere Genauigkeit erforderlich, so empfiehlt Fluent (vgl. [10]) die Diskretisierung mit dem Upwind-Verfahren zweiter Ordnung, wohingegen in StarCD (vgl. [6, 7]) zur Ver-wendung des hausintern entwickelten MARS-Verfahrens geraten wird, obwohl auch hier alternativ ein Upwind-Verfahren zweiter Ordnung angeboten wird. Alle ande-ren Schemata sind zur Diskretisierung der RANS-Gleichungen (2.11) eher ungeeignet und werden hier deshalb nicht weiter untersucht.
In Fluent stehen zus¨atzlich verschiedene Optionen f¨ur die Druckdiskretisierung bereit. W¨ahrend das sogenannte Standard-Schema in vielen F¨allen gute Ergebnisse liefert, wird f¨ur Konfigurationen mit freier Konvektion oder Drallstr¨omungen das PRESTO!-Schema empfohlen (vgl. [10]). Eine erh¨ohte Genauigkeit kann aber je nach Anwendung auch mit dem Second-Order-Schema erreicht werden. Die StarCD-Handb¨ucher [6, 7] liefern hingegen keinerlei Details, wie die Druckdiskretisierung programmintern realisiert wird.
Einen weiteren interessanten Punkt stellt die Gradientenberechnung an Zellmittel-punkten dar. Sie wird einerseits f¨ur die Auswertung von Skalaren und Quelltermen und andererseits f¨ur viele Diskretisierungsverfahren h¨oherer Ordnung ben¨otigt. Auch hier bietet Fluent dem Anwender mehrere alternative M¨oglichkeiten. Im Diskreten ergibt sich n¨amlich nach dem Satz von Gauß f¨ur eine beliebige skalare Gr¨oßeφ
(gradφ)Z = 1 volV
X
f
φfnfSf.
Die Frage ist nun, wie die Gr¨oßenφf bestimmt werden. Ein einfacher Ansatz ist,φf als Mittelwert der angrenzenden Zellmittelpunktswerte von φ zu berechnen. Dieses Vorgehen wird in Fluent als ”zellbasierte Gradientenberechnung“ bezeichnet. F¨ur verzerrte Gitter liefert dies jedoch nur eine bedingt gute Approximation. Die ”kno-tenbasierte Gradientenberechnung“ erreicht hingegen eine h¨ohere Genauigkeit, in-dem sie die Zellmittelpunktswerte zun¨achst auf die Ecken der Zellen interpoliert und dann hieraus die φf-Werte durch Mittelwertbildung gewinnt. Sie kann aller-dings nicht f¨ur allgemeine Polyedernetze verwendet werden. Deshalb steht seit der Fluent-Version 6.3 noch ein drittes Verfahren bereit, das das Problem der Gra-dientenberechnung auf ein lineares Minimierungsproblem zur¨uckf¨uhrt und das sich besonders f¨ur Polyedernetze eignet.
F¨ur die Zeitdiskretisierung bieten beide Programme sowohl das in Abschnitt 3.1.1 diskutierte implizite Euler-Verfahren als auch ein implizites Verfahren zweiter Ord-nung an. Bei Verwendung des dichtebasierten L¨osers kann in Fluent alternativ ein explizites Verfahren gew¨ahlt werden, das sich beispielsweise besonders gut f¨ur die
Berechnung von Schockwellen eignet. Hier spielt es aber aufgrund seiner rigiden An-forderungen an die Zeitschrittweite und der unten diskutierten Einschr¨ankungen des dichtebasierten L¨osers keine Rolle.
L¨osungsverfahren
Auch bei der Betrachtung der zur Verf¨ugung stehenden L¨osungsmethoden stellt man fest, dass Fluent eine gr¨oßere Auswahl anbietet als StarCD. Neben verschiedenen Druck-Korrektur-Methoden finden sich in Fluent auch dichtebasierte und gekoppelte Verfahren, die sich zwar durch gute Konvergenzeigenschaften, aber auch durch einen erh¨ohten Speicherbedarf auszeichnen. Hauptnachteil der dichtebasierten L¨oser in Bezug auf die Trocknersimulation ist jedoch, dass sie nicht mit dem in Abschnitt 4.2.2 beschriebenen Shell-Conduction-Modell kompatibel sind, so dass sie hier nicht weiter untersucht werden.
Beide Programme bieten mit SIMPLE, SIMPLEC/SIMPISO und PISO mehrere alternative Druck-Korrektur-Verfahren an. F¨ur station¨are Probleme empfiehlt sich die Verwendung des schon in Abschnitt 3.1.2 eingef¨uhrten SIMPLE-Algorithmus mit einer geeigneten Unterrelaxationsvorschrift, da er eine schnelle Auswertung jeder ein-zelnen Iteration erm¨oglicht und da sowieso eine Vielzahl von Iterationen n¨otig sein werden. F¨ur instation¨are Fragestellungen ¨uberwiegen h¨aufig die Vorteile des PISO-Algorithmus, der mit Hilfe von einer oder mehreren inneren Iterationen in der Lage ist, eine relativ genaue Druck-Korrektur zu berechnen und deshalb mit geringer Un-terrelaxation und wenigen ¨außeren Iterationen auskommt. Allerdings verh¨alt er sich bei Netzen von minderer Qualit¨at nicht ganz so stabil wie der instation¨are SIMPLE-Algorithmus, der in StarCD aber erst seit der Version 4.0 zur Verf¨ugung steht. Eine Art Kompromiss zwischen SIMPLE und PISO stellen SIMPLEC in Fluent bzw.
SIMPISO in StarCD 3.2 dar.
Beim instation¨aren PISO-Verfahren muss man zwischen dem iterativen und dem nichtiterativen Zeitfortschritt unterscheiden. Die Ablaufschemata beider Methoden sind in Abbildung 4.7 dargestellt. Beim iterativen Zeitfortschritt wird innerhalb je-des Zeitschrittes die gesamte Druck-Korrekturschleife mehrfach durchlaufen, bis das Konvergenzkriterium f¨ur alle Variablen erf¨ullt ist. Dadurch werden die Nichtlinea-rit¨aten und Kopplungen im System voll ber¨ucksichtigt. Das nichtiterative PISO-Verfahren verzichtet hingegen auf die exakte Erfassung der Nichtlinearit¨aten und l¨ost in jedem Zeitschritt die einzelnen Gleichungen der Reihe nach unter Verwen-dung der bereits berechneten Funktionswerte. Dabei wird das Konvergenzkriterium so gew¨ahlt, dass der durch die Vereinfachungen eingeschleppte Fehler von zweiter Ordnung ist und somit die resultierende Gesamtfehlerordnung nicht verschlechtert.
Insgesamt f¨uhrt dieses Vorgehen zu einer deutlichen Reduzierung der Rechenzeit.
In StarCD ist f¨ur den instation¨aren PISO-Algorithmus nur ein nichtiterativer Zeit-fortschritt implementiert, w¨ahrend in Fluent zwar grunds¨atzlich beide Methoden zur Verf¨ugung stehen, aber nur der iterative Zeitfortschritt mit den Strahlungsmodellen
Iterativer Zeitfortschritt
t=t+ ∆t
L¨ose Impulsgleichungen
L¨ose Druckkorrektur
Korrigiere Massenfl¨usse
L¨ose Skalare (Turbulenz, Energie)
Konvergenz?
nein
N¨achster Zeitschritt ja
Nichtiterativer Zeitfortschritt
t=t+ ∆t
L¨ose Impulsgleichungen
L¨ose Druckkorrektur
Korrigiere Massenfl¨usse
L¨ose Turbulenz Konvergenz?
nein Konvergenz?
nein
ja ja
L¨ose andere Skalare Konvergenz?
ja
nein
Konvergenz?
ja nein
N¨achster Zeitschritt
Abbildung 4.7: Ablaufschemata des iterativen und des nichtiterativen PISO-Verfahrens (vgl. [10])
kompatibel ist. Allerdings kann in StarCD die L¨osung der einzelnen Gleichungen mit Ausnahme der Druck-Korrektur nicht unterrelaxiert werden, was insbesondere bei großen Zeitschrittweiten zu Stabilit¨atsproblemen f¨uhren kann (vgl. Abschnitt 5.3.2).
Der mathematische L¨osungsprozess wird in beiden Programmen mit Hilfe eines algebraischen Mehrgitterverfahrens umgesetzt. Als linearen Gleichungsl¨oser verwen-det StarCD dabei ein spezielles Konjugierte-Gradienten-Verfahren und Fluent ein ILU-Verfahren. Obwohl in beiden Programmen prinzipiell die M¨oglichkeit besteht, die voreingestellten Solverparameter zu ver¨andern, ist dies normalerweise nicht emp-fehlenswert.