Der Wertebereich der Variation von ω,
ωmin ≤ ω < ωmax
ist vom ω0 für den unteren Wert des Bereichs abhängig und
wird nach folgender Formel ermittelt:
ωmin = ω0 - k • (ω0 - 1) • (ω0
-2),
wobei k hier ein vordefiniertes Parameter aus dem Bereich -1 bis 0
ist.
Da k negativ ist (ωmin < ω0),
führt die Angabe eines betragsmäßig größeren Wertes von k zur
größeren Differenz zwischen ωmin und ω0, und
somit auch zum größeren Werteintervall. Dieser Parameter ist das OMEGA_MIN.
Die obere Grenze des Variationsbereichs von ω, das ωmax,
ist eine Zahl zwischen ω0 und 2. Dieser Parameter ist OMEGA_MAX.
Die erste Iteration der Lösungsphase wird mit dem Wert ω
= ωmin ausgeführt. Danach wird bei den weiteren
Iterationsschritten der Relaxationsfaktor geringfügig erhöht bis entweder
der Wert von ωmax erreicht ist oder der Ablauf zu
divergieren beginnt, wonach ω auf das ωmin
zurückgesetzt wird und der iterative Lösungsablauf setzt sich so fort..
Die Anstiegswerte der Variation von ω sind selbst ebenfalls
veränderlich: geringen Werte von ω werden schnell durchlaufen, aber die
Anstiegswerte verringern sich asymptotisch gegen 0
als das ω sich dem Wert von 2 nähert. Die Anstiegswerte werden so
bestimmt, dass der Optimalwert ω0 nach einer bestimmten Zahl der
Iterationsschritte erreicht wird, beginnend bei ωmin.
Die voreingestellte Zahl der Schritte ist verhältnismäßig gering und als OMEGA_WEIGHT=-3
gesetzt.
Wie bereits gesagt, ω wird auf ωmin zurückgesetzt
sobald die iterativen Ergebnisse (deutlich) zu divergieren drohen. Als
Indikator der Konvergenz oder Divergenz des Prozesses wird der Absolutbetrag, Δmax,
benutzt, d.h. die Abweichung der Ergebnisse von einer zur nächsten Iteration.
Ein Mittelwert von Δmax wird für die letzten n
Iterationsschritte berechnet und kontinuierlich mit dem aktuellen Δmax
verglichen. Die Zahl der Iterationsschritte welche in dem vergleich des
Mittelwerts einbezogen werden ist auch als Solver-Parameter OMEGA_TESTNUM
vorgegeben. Die Berechnung wird als divergierend betrachtet wenn Δmax
gleich oder größer als der als Vergleichsgröße benutzte Mittelwert ist. Es
wäre allerdings unpraktisch den Relaxationsfaktor sofort bei Erfüllung
dieser Bedingung in einem Iterationsschritt zurückzusetzen. Stattdessen muss
die Bedingung der Divergenz über eine bestimmte Zahl der Schritte
kontinuierlich zutreffen. Diese Zahl ist ein weiteres Kriterium welches
erfüllt sein muss bevor das ω zurückgesetzt wird. Diese
Standardzahl der Mindestiterationen vor dem Zurücksetzen ist mit 23
vordefiniert (als OMEGA_VETO). Das Gleichungssystem wird als endgültig
gelöst betrachtet, wenn die Abweichung, Δmax,
kontinuierlich, über eine bestimmte Zahl von Iterationen, kleiner als der
vorgegebene Grenzwert ist. Diese Zahl der Iteration ist als TERM_NUM
definiert. Zuletzt, um die Berechnungsergebnisse zu "glätten" wird eine
Zahl von "Nachlauf-Iterationen" mit dem konstanten Relaxationsfaktor, ω = 1 (OMEGA_POSTRUN=1.0)
ausgeführt. Diese Größe des Faktors sollte nicht erhöht werden um den
Glättungseffekt des "Nachlaufs" nicht zu vermindern. Die Zahl der
Nachlauf-Iterationen ist mit POSTRUN=15 definiert.
|