6. Simulation

6.1 Beschreibung der Steuerungsdatei


Mit der Version 3.09.00 liegen die Eingabedateien

in einem neuen völlig freien Format vor. Das alte Dateiformat kann zwar weiterhin eingelesen werden, aktuelle und künftige Neuerungen stehen dann allerdings nicht zur Verfügung. Rismo2D unterscheidet die neuen von den alten Eingabedateien durch ein Schlüsselwort in der 1. Zeile:

$RISMO2D 30900

Jede weitere Zeile mit relevanten Programmparametern beginnt ebenfalls mit einem Schlüsselwort. Alle anderen Zeilen werden überlesen und können daher beliebige Kommentare enthalten. Auch Zeilen, die mit einem Kommentarzeichen # oder * in der ersten Spalte beginnen, bleiben unberücksichtigt. Dies bietet die Möglichkeit, Zeilen mit Schlüsselworten vorübergehend zu deaktivieren.

Die Schlüsselworte können in einer beliebigen Reihenfolge eingegeben werden. Außerdem können die Schlüsselworte fehlen, die für einen Programmlauf nicht benötigt werden, oder bei denen Sie Standardwerte verwenden möchten.



6.1 Beschreibung der Steuerdatei

Die Steuerdatei ist das Herzstück der Eingabedateien. Sie wird i.A. beim Programmstart als einziger Parameter an Rismo2D übergeben:

Rismo2D sample.ris

Fehlt die Steuerdatei als Übergabeparameter, fragt Rismo2D nach dem Namen dieser Datei:

[RISMO_2D - Release 3.10.01 - Copyright (C) 1992-2006, P.M. Schroeder]

Give name of INPUT file:

Alle weiteren Dateien und Parameter, die für einen Programmlauf benötigt werden, werden aus der Steuerdatei eingelesen.

Im Folgenden finden Sie nun die Beschreibung der Schlüsselworte:


alphabetische Liste

$ALL_UCDFILE $ASC_INIFILE $ASC_RESTARTFILE $BIN_INIFILE
$BIN_RESTARTFILE $CONTROLFILE $CONVERGENCE $CTR_UCDFILE
$DENSITY $DELTAZLIMIT $DRYREW $EARTH_ROTATION
$GEO_UCDFILE $GPDEGREE $GRAVITY $INPUTFILE
$KDBOUNDARY $KDCONST $LATITUDE $MACRO
$MATERIALFILE $MINMAX $OPTIONALFILE $OUTPUTVARS
$REGIONFILE $RELAX $REPPORTFILE $REPPORTLEVEL
$SCALE $SECTIONFILE $SMOOTH $SOLVER
$STA_INIFILE $STA_OUTFILE $STA_UCDFILE $SUBDOMFILE
$SUBDOMPATH $TEMPERATURE $TIMESTEPFILE $VISCOSITY
$VON_KARMAN $WALL_DISTANCE $WET_UCDFILE



Macros

$MACRO <key> <value>

Mit dem Schlüsselwort $MACRO werden Makronamen definiert, die die Benennung der Ein- und Ausgabedateien erleichtern sollen. Die Ersetzung des als <key> definierten Begriffs durch <value> erfolgt in sämtlichen Ein- und Ausgabedateien. In dem Programm Tiegris sind folgende 4 Makros definiert:

<key> Bedeutung
Beispiel: <value>
:name: Rumpfname der Dateien
sample
:no: Laufsnummerierung
_04
:tm: Zeitschrittnummerierung der Ausgabedateien
-%04d
:date: Datum
_2006-03-01


Beispiele für Dateinamen:

:name::no:.ris sample_04.ris $INPUTFILE
:name::date:-rg.inp sample_2006-03-01-rg.inp $REGIONFILE
:name::no::tm:.end sample_04-%04d.end $ASC_RESTARTFILE




Eingabedateien


Steuerungsdatei

$INPUTFILE <sample.ris>

Dieses Schlüsselwort wird von Tiegris benötigt und in die Datei geschrieben. Rismo2D ignoriert das Schlüsselwort einfach.



Zeitschritt- und Randbedingungsdatei

$TIMESTEPFILE <sample.tm>

In der Zeitschritt- und Randbedingungsdatei werden die Einstellungen zur Definition von Randbedingungen sowie zur Steuerung der Zeitschrite vorgenommen. Eine umfassende Beschreibung der Datei finden Sie in Abschnitt 6.2.

Wenn das Schlüsselwort $TIMESTEPFILE fehlt, versucht Rismo die Parameter der Zeitschritt- und Randbedingungsdatei aus der Steuerdatei einzulesen.



Materialdatei

$MATERIALFILE <sample.tbl>

In der Materialdatei erfolgt die Zuordnung zwischen Materialzonen und der verschiedenen bereichsweise definierten Parametern für Sohlrauheit, Bewuchs, Turbulenz und Sediment. Es ist zwingend, dass für jede Materialzone die im Finite-Elemente-Gitter verwendet wird, auch ein Eintrag in der Materialdatei steht. Eine umfassende Beschreibung der Materialdatei finden Sie in Abschnitt 6.3.

Wenn das Schlüsselwort
$MATERIALFILE fehlt, versucht Rismo die Parameter der Materialdatei aus der Steuerdatei einzulesen.



Querschnittsdatei

$SECTIONFILE <sample.sec>

Die Querschnittsdatei wird dazu verwendet, zu Beginn einer Berechnung den Wasserspiegel zu initialisieren sowie die Optimierung der Elementreihenfolge zu unterstützen. An die Querschnitte sind abhängig von diesem Verwendungszweck unterschiedliche Anforderungen zu stellen. Nähere Auskunft gibt Abschnitt 6.4.

Wenn das Schlüsselwort
$SECTIONFILE fehlt, versucht Rismo die Parameter der Querschnittsdatei aus der Steuerdatei einzulesen.



Finite Elemente Berechnungsgitter

$REGIONFILE <sample-rg.inp>

Das Finite Elemente Gitter des zu berechnenden Strömungsbereichs wird im AVS-UCD-Format eingelesen. Es beinhaltet die Koordinatentriple (x,y,z) der diskreten Knoten- und Kantenpunkte sowie die Topologie des Finite Elemente Gitters. Finite Elemente dürfen Dreiecks- und/oder Viereckselemente sein. Wenn diese Datei fehlt, ist kein Programmlauf möglich.



Kontrolschnittdatei

$CONTROLFILE <sample-ct.inp>

Die Kontrollschnittdatei wird im AVS-UCD-Format eingelesen. Sie enthält nur Linienelemente. Die in der Kontrollschnittdatei definierten Kontrollinien, sind Kanten des Finite Elemente Gitters. Kontrollschnittdatei und Finite Elemente Gitter verwenden die selben Knotennummern.

Die Kontrollinien sind nummeriert. Die Nummer einer Kontrolllinie ist die Materialzone des Linienelements. Für jede Kontrolllinie wird am Ende einer Strömungsberechnung der Durchfluss in die Reportdatei geschrieben. Eine weitere wesentliche Funktion der Kontrolllinien liegt in der Vorgabe von Randbedingungen (insbesondere für den Einlauf- und Auslaufquerschnitt).

Die Kontrollschnittdatei kann mit Tiegris erzeugt werden. Eine Beschreibung hierzu finden Sie in Abschnitt 3.



Initialisierungsdatei (Warmstart)

$ASC_INIFILE <sample.end>     // Datei im ASCII-Format

$BIN_INIFILE <sample.end>     // Datei im BINAER-Format

Eine Initialisierungsdatei steht üblicherweise dann zur Verfügung, wenn Sie mit dem Finite Elemente Gitter bereits zu einem früheren Zeitpunkt eine Berechnung durchgeführt haben. Im einfachsten Fall ist die Initialisierungsdatei mit der Ergebnisdatei dieses früheren Rechenlaufs identisch. Sie können alte Ergebnisdateien direkt verwenden, wenn die Finite Elemente Gitter sich nicht verändert haben. Andernfalls besteht die Möglichkeit mit RisPP die alten Ergebnisse auf das neue Gitter zu interpolieren.



Statistik-Initialisierungsdatei

$STA_INIFILE <sample.sta>

Mit diesem Schlüsselwort kann die Statistikdatei eines früheren Rechenlaufs eingelesen werden, um damit die Statistik des instationären Rechnelaufs fortzusetzen.



Subdomain-Datei

$SUBDOMFILE <sample.dom>

Die Subdomdatei beschreibt die Gebietszerlegung für die parallele Berechnung.

Die Datei kann mit dem Programm Partis generiert werden. Eine Beschreibung zur Erstellung dieser Datei finden Sie auch im Abschnitt 5.




Ausgabedateien


Protokolldatei

$REPORTFILE <sample.out>

In der Protokolldatei werden die einglesenen Parameter sowie der Berechnungslauf protokolliert. Den Umfang der Protokolldatei können Sie über das Schlüsselwort $REPORTLEVEL steuern. Eine umfangreichere Beschreibung der Protokolldatei finden Sie in Abschitt 6.6.



Ergebnisdatei

$ASC_RESTARTFILE <sample-%03d.end>     // Datei im ASCII-Format

$BIN_RESTARTFILE <sample-%03d.end>     // Datei im BINAER-Format

In der Ergebnisdatei werden am Ende eines Zeitschritts, sofern dieser zur Ausgabe vorgesehen ist (vgl. das Schlüsselwort $TM_OUTPUT in der Zeitschritt- und Randbedingungsdatei), die berechneten Strömungsparameter ausgegeben.

Spalte
Variable

Beschreibung

1
U

Komponente der Fließgeschwindigkeit in X-Richtung

2
V

Komponente der Fließgeschwindigkeit in y-Richtung

3
S

Wasserpiegellage

4
K

Turbulente Kinetische Energie (TKE)

5
D

Dissipation der Turbulenten Kinetische Energie

6
C
Stoffkonzentration
7
dUdt
Zeitgradient der Fließgeschwindigkeit U
8
dVdt
Zeitgradient der Fließgeschwindigkeit V
9
dSdt
Zeitgradient der Wasserspiegellage
10
dZ
Summation der Sohländerungen infolge Stofftransport. Sobald diese Änderungen den Schwellwert $DELTAZLIMIT übersteigen werden Sie als geometrieänderung des Gitters aufgebracht und dZ wird am berteffenden Knoten zu Null gesetzt.


Die Ergebnisdatei kann als Initialisierungsdatei bei einem Neustart bzw. bei einer Forstetzung des Rechenlaufs verwendet werden.


Anmerkung: Der Dateiname enthält (optional) eine Formatbeschreibung für einen Integer-Wert. An die entsprechende Stelle wird die aktuelle Nummer des Zeitschritts eingetragen. Beispiel:

Zeitschritt
vorgegebener Name
generierter Dateiname
5
sample-%02d.end
sample-05.end
150
sample-%02d.end
sample-150.end
5
sample-%04d.end
sample-0005.end
150
sample-%04d.end
sample-0150.end



Statistikdatei

$STA_OUTFILE <sample.sta>

In der Statistikdatei wird ein instationärer Rechenlauf statistisch protokolliert. D.h. es werden die Summen der Strömungsparameter Fließgeschwindigkeit und Fließtiefe aus den Zeitschritten für jeden Berechnungsknoten des Gitters gebildet. Mit diesen Summen kann dann eine statistische Analyse durchgeführt werden: Mittelwerte, Varianzen und Kovarianzen der Strömungsparameter.



AVS-UCD-Ergebnisdateien

Mit den folgenden Schlüsselworten können Sie Dateinamen angeben, in denen die Berechnungsergebnisse im AVS-UCD-Dateiformat ausgegeben werden. Diese Dateien können dann direkt visualisiert werden, sofern das Visualisierungsprogramm den Import dieses Formats unterstützt (z.B. Tiegris oder auch AVS).

Für die optionale Formatspezifikation im Dateinamen gilt die gleiche Anmerkung wie zu den Ergebnisdateien.

Der Umfang der ausgegebenen Berechnungsergebnisse wird mit dem Schlüsselwort $OUTPUTVARS festgelegt.


$GEO_UCDFILE <sample_%03d-rg.inp>

Finite Elemente Berechnungsgitter (Knoten- und Kantenpunkte), aber ohne Berechnungsergebnisse

Diese Ausgabedatei beinhaltet, einerseits die optimierte Elementreihenfolge nach einem Reordering, und andererseits die Änderungen der Sohle infolge Sedimentation oder Erosion.


$ALL_UCDFILE <sample_%03d.inp>

Finite Elemente Berechnungsgitter mit Berechnungsergebnissen an allen Knotenpunkten (aber keine Kantenpunkte)


$WET_UCDFILE <sample_%03d-dr.inp>

Finite Elemente Berechnungsgitter mit Berechnungsergebnissen an allen Knotenpunkten (aber keine Kantenpunkte), die in der Berechnung aktiv, also nicht trocken waren (vgl. Nass-Trocken-Algorithmus)


$CTR_UCDFILE <sample_%03d-ct.inp>

Kontrollschnittdatei mit Berechnungsergebnissen an allen Knoten- und Kantenpunkten


$STA_UCDFILE <sample_%03d-st.inp>

Finite Elemente Berechnungsgitter mit statistischen Werten (Mittelwerte, Standardabweichungen und Kovarianzen) der Strömungsparameter (U, V, S) an allen Knoten- und Kantenpunkten




Speicherort für Gebietszerlegungsdateien

$SUBDOMPATH <path>

Definiert den Speicherort für Gebietszerlegungsdateien, die während eines parallelen Programmlaufs (MPI) geschrieben werden und mit einer 3-stelligen Prozessnummer beginnen. (z.B. 032_sample.out). Achten Sie darauf, dass der Pfad existiert und der von Ihnen definierte Name <path> mit einem Verzeichnistrennzeichen ("/" unter Unix) endet.





Gleichungslöser

Zur Zeit sind 5 unterschiedliche Gleichungslöser implementiert (<slv> = 1,2,5,6,7). Mit dem $SOLVER-Schlüsselwort können Sie diese Gleichungslöser einer beliebigen Solvernummer <n> zuordnen. Wenn Sie keinen Solver spezifizieren, werden Standardwerte verwendet:

           <n> <slv> <prec> <proc> <mceq> <miter> <mdiff>
$SOLVER  1    6      1     -1     90     1000    0.01

Abhängig vom Parameter <slv> werden verschiedene weitere Parameter zur Steuerung des Gleichungslösers eingelesen. Hierbei werden 4 Grundtypen unterschieden:



Typ
1: Direkte Lösung mit Frontal Solver

$SOLVER <n> <slv> <mfw> <size> <path>

slv = 1 Front-Gleichungslöser (frontal solver, z.Zt. nur seriell)
Eine Beschreibung des Verfahrens findet man bei KING (1970).
mfw maximale Frontweite
Die maximale Anzahl der offenen Gleichungen, die beim elementweisen Aufbau des Gleichungssystems auftreten. (s. auch Abschnitt 4)
size Buffergröße
Die
Anzahl der Gleichungen, die nach dem Eliminationsprozess im Speicher gehlaten werden, bevor sie auf die temporäre Datei geschrieben werden. Ein Wert size = 0 führt dazu, dass das gesamte Gleichungssystem im Speicher gehalten wird.
path Pfad zum Schreiben der temporären Datei



Typ 2: Direkte Lösung mit Frontal Solver für Indexmatrizen

$SOLVER <n> <slv> <mceq> <mfw> <size> <path>

slv = 2 Front-Gleichungslöser für Indexmatrizen (z.Zt. nur seriell)
Im Unterschied zum Gleichungslöser slv = 1 wird das Gleichungssystem, wie bei Konjugierte-Gradienten-Lösern, vor der Elimination zunächst in einer Indexmatrix aufgebaut. Der Solver ist daher geeignet im Falle eines Divergierens der Konjugierte-Gradienten-Löser eine Lösung ohne neues Assemblieren des Gleichungssystems zu ermitteln.

mceq maximale Anzahl der verknüpften Gleichungen
Dieser Parameter bestimmt die Breite der Indexmatrix. Er ermittelt sich aus der Anzahl der mit einem Knotenpunkt verknüpften Elemente. Er hat üblicherweise eine maximale Größe von 80 - 90.
Strömungsgleichungen

Knotenpunkte: 3 Gleichungen
1 x Kontinuität + 2 x Impuls

Kantenpunkte: 2 Gleichungen
2 x Impuls

mfw maximale Frontweite
Die maximale Anzahl der offenen Gleichungen, die beim elementweisen Aufbau des Gleichungssystems auftreten. (s. auch Abschnitt 4)
size Buffergröße
Die
Anzahl der Gleichungen, die nach dem Eliminationsprozess im Speicher gehlaten werden, bevor sie auf die temporäre Datei geschrieben werden. Ein Wert size = 0 führt dazu, dass das gesamte Gleichungssystem im Speicher gehalten wird.
path Pfad zum Schreiben der temporären Datei



Typ 3: Iterative Lösung mit Konjugierte Gradienten Solver

$SOLVER <n> <slv> <prec> <proc> <mceq> <miter> <mdiff>

slv = 5 Konjugierte Gradienten Gleichungslöser BiCGStab (auch parallel)
Eine umfassende Beschreibung dieses Gleichungslösers ist der Veröffentlichung von VAN DER VORST (1992)
slv = 6 Konjugierte Gradienten Gleichungslöser P-BCGStab (auch parallel)
Diese Adaption des BiCGStab wurde der frei verfügbaren pARMS-Bibliothek entnommen und für den Einsatz in Rismo2D angepasst.

pARMS - Version 0.1; Copyright (C) 2002, the University of Minnesota
http://www-users.cs.umn.edu/~saad/software/pARMS


prec preconditioner 1: ILU(0) | unvollstaendige Dreieckszerlegung
proc Vorgehen bei Versagen des iterativen Solvers:
-1:
Programmabbruch: letztes Ergebnis schreiben
0:
Fehler ignorieren, Berechnung fortsetzen
>0:
Lösung mit anderem Gleichungslöser (Nummer <n>)
mceq maximale Anzahl der verknüpften Gleichungen
Dieser Parameter bestimmt die Breite der Indexmatrix. Er ermittelt sich aus der Anzahl der mit einem Knotenpunkt verknüpften Elemente. Er hat üblicherweise eine maximale Größe von 80 - 90.
Strömungsgleichungen

Knotenpunkte: 3 Gleichungen
1 x Kontinuität + 2 x Impuls

Kantenpunkte: 2 Gleichungen
2 x Impuls

miter maximale Anzahl der Iterationen
Die iterative Lösung wird nach <miter> Iterationen abgebrochen, unabhängig vom Erreichen des Abbruchkriteriums. Der weitere Programmlauf wird nun durch den Parameter <proc> definiert (s.o.).
mdiff Abbruchkriterium - absoluter Fehler
Das Abbruchkriterium definiert die Genauigkeitsanforderung an die Lösung des Gleichungssytems. Eine geringe Genauigkeit von 0.01 - 0.2 ist meist ausreichend im Rahmen der Lösung der Strömungsgleichugen, die aufgrund ihrer Nichtlinearität iterativ mit dem Newton-Raphson-Verfahren gelöst werden. Entscheidend ist dann die Genauigkeit der äußeren Iterationen. Bei linearen Gleichungen wie dem Stofftransport gilt dies nicht. Hier sollten Sie in jedem Fall eine höhere Genauigkeit des Gelichungslösers wählen.



Typ 4: Iterative Lösung mit Gmres Solver

$SOLVER <n> <slv> <prec> <proc> <mceq> <mkyrl> <miter> <mdiff>

slv = 7 Iterativer Gleichungslöser P-FGMRES (auch parallel)
Dieser Flexible GMRES Gleichungslöser wurde der frei verfügbaren pARMS-Bibliothek entnommen und für den Einsatz in Rismo2D angepasst.

pARMS - Version 0.1; Copyright (C) 2002, the University of Minnesota
http://www-users.cs.umn.edu/~saad/software/pARMS


prec preconditioner 1: ILU(0) | unvollstaendige Dreieckszerlegung
proc Vorgehen bei Versagen des iterativen Solvers:
-1:
Programmabbruch: letztes Ergebnis schreiben
0:
Fehler ignorieren, Berechnung fortsetzen
>0:
Lösung mit anderem Gleichungslöser (Nummer <n>)
mceq maximale Anzahl der verknüpften Gleichungen
Dieser Parameter bestimmt die Breite der Indexmatrix. Er ermittelt sich aus der Anzahl der mit einem Knotenpunkt verknüpften Elemente. Er hat üblicherweise eine maximale Größe von 80 - 90.
Strömungsgleichungen

Knotenpunkte: 3 Gleichungen
1 x Kontinuität + 2 x Impuls

Kantenpunkte: 2 Gleichungen
2 x Impuls

mkyrl Dimension des Kyrlov Unterraums
Mit diesem Parameter wird die Anzahl der inneren Iterationen des des Gleichungslöers FGMRES definiert. Der Speicherbedarf sowie die Rechenzeit pro Iteration steigt mit diesem Wert.
miter maximale Anzahl der Iterationen
Die iterative Lösung wird nach <miter> Iterationen abgebrochen, unabhängig vom Erreichen des Abbruchkriteriums. Der weitere Programmlauf wird nun durch den Parameter <proc> definiert (s.o.).
mdiff Abbruchkriterium - absoluter Fehler
Das Abbruchkriterium definiert die Genauigkeitsanforderung an die Lösung des Gleichungssytems. Eine geringe Genauigkeit von 0.01 - 0.2 ist meist ausreichend im Rahmen der Lösung der Strömungsgleichugen, die aufgrund ihrer Nichtlinearität iterativ mit dem Newton-Raphson-Verfahren gelöst werden. Entscheidend ist dann die Genauigkeit der äußeren Iterationen. Bei linearen Gleichungen wie dem Stofftransport gilt dies nicht. Hier sollten Sie in jedem Fall eine höhere Genauigkeit des Gelichungslösers wählen.





Relaxation

$RELAX <method> <rlxMin> <rlxMax> <maxUV> <maxS> <maxKD>

Mit diesem Parameter wählen Sie die Relaxationsmethode, um die iterative Lösung der nichtlinearen Gleichungen für Strömung oder Turbulenz zu stabiliseren. Abhängig von der gewählten Methode werden verschiedene weitere Parameter verwendet.

method = 0
keine Relaxation (Standardwert)

method = 1
Relaxation mit <rlxMin> und <rlxMax>
Diese Relaxationsmethode entspricht dem gedämpften Newton-Raphson Verfahren und geht davon aus, dass jeder Iterationsschritt zu kleineren Änderungen des Lösungsvektors führen sollte. Sofern nun in einem Iterationsschritt die Norm der Änderungen nicht abnimmt, wird die vorherige Lösung stärker relaxiert. Der erste Schritt wird mit einer Relaxation <rlxMax> begonnen. Dieser Wert wird bis zum Erreichen des unteren Grenzwerts <rlxMin> halbiert, falls die Norm der neu berechneten Lösung nicht kleiner wird.
rlxMin kleinster Relaxationswert (Standardwert: 0.01)
rlxMax Startwert für die Relaxation (Standardwert: 1.0)

method = 2
Relaxation mit <maxUV> <maxS> <maxKD>
Abhängig von den in einem Iterationsschritt berechneten maximalen Änderungen des Lösungsvektors wird mit den hier definierten zulässigen Änderungen die Relaxation der Lösung bestimmt:

Relaxation = max { maximal zulässige/maximale Änderung, 1.0 }


method = 3
Relaxation mit <maxUV> <maxS> <maxKD>
Zusätzlich zu dem Vorgehen nach Methode 2 wird die Länge des nächsten Zeitschritts festgelegt (vgl. auch den Parameter $TM_INTERVAL in der Zeitschritt- und Randbedingungsdatei). Sofern eine Relaxation von 1.0 ermittelt wurde, wird die Länge des Zeitschritts vergrößert. Andernfalls wird Sie reduziert.

Dies ist die stabilste Methode zur Relaxation.


maxUV maximal zulässige Änderung des Fließgeschwindigkeitsvektors
maxS maximal zulässige Änderung der Fließtiefe
maxKD maximal zulässige Änderung der Turbulenzgrößen k und ε





Nass-Trocken-Algorithmus

$DRYREW <method> <freq> <dryLimit> <rewLimit> <rewPasses> <cntDown> <fill>

Mit diesen Parametern treffen Sie die Einstellungen zur Behandlung trockener Bereiche des Finite Elemente Gitters; Bereiche, in denen die Fließtiefe unter dem Grenzwert <dryLimit> liegt. Man spricht bei Nass-Trocken-Algorithmen zumindest bei Modellen für Küstengewässer gelegentlich auch von einer Wattstrategie.

Eine Überprüfung auf trockene Knoten kann entweder explizit durch die Wahl des Programmzyklus $TM_CYCLE = 95 in der Zeitschritt- und Randbedingungsdatei ausgeführt werden oder durch die Wahl der Nass-Trocken-Häufigkeit <freq>.

Abhängig vom gewählten Algorithmus werden verschiedene Parameter verwendet.

method = 0
keine Überprüfung auf trockene Elemente (Standardwert)

method = 1
Alle Elemente, in denen mindestens ein Knoten trocken ist, werden aus der Berechnung entfernt. Knoten sind genau dann trocken, wenn die Fließtiefe am Knoten unter das <dryLimit> sinkt. Das Wiederbenetzen der Elemente erfolgt, wenn die Fließtiefe das <rewLimit> im gesamten Element überschreitet. Dieses Benetzen wird in einer Schleife über alle Randelemente ausgeführt; die Anzahl der Schleifendurchläufe wird über <rewPasses> festgelegt.

Der <cntDown> Parameter verhindert, dass Elemente, die gerade trocken gefallen sind, im nächsten Nass-Trocken-Schriitt wieder benetzt werden. Eine Wiederbenetzung ist erst nach <cntDown> Nass-Trocken-Durchläufen möglich.

Diese Methode hat den gravierenden Nachteil, dass die Füllung eines Elements instantan erfolgt, so dass bei einer instationären Berechnung Volumenfehler auftreten können.


method = 2
Elemente werden nur dann als trockene Elemente ausblockiert, wenn an allen Knoten des Elements die Fließtiefe unter dem <dryLimit> liegt. Mit dem <cntDown> Parameter wird festgelegt, nach wieviel Nass-Trocken-Läufen ein trockengefallener Knoten wieder benetzt wird.

Dies ist derzeit der stabilste Nass-Trocken-Algorithmus mit den zuverlässigsten Ergebnissen. Der einzige Nachteil dieses Ansatzes besteht darin, dass in einem Nass-Trocken-Durchlauf nur die Elemente am Strömungsrand benetzt werden können und somit die Überflutungsgeschwindigkeit eines Bereiches von der Häufigkeit der Nass-Trocken-Durchläufe abhängig ist. Im Zweifelsfall hilft nur die Simulation mit eine kurzen Zeitschrittweite, um die Überflutungsgeschwindigkeit korrekt nachzubilden.


method = 3
Elemente werden nur dann als trockene Elemente ausblockiert, wenn an allen Knoten des Elements die Fließtiefe unter dem <dryLimit> liegt. Mit dem <cntDown> Parameter wird festgelegt, nach wieviel Nass-Trocken-Läufen ein frisch benetzter Knoten wieder trocken fallen darf.

freq Häufigkeit des Nass-/Trockenchecks innerhalb der iterativen Strömuingsberechnung. Dieser Parameter führt nur dann zu einer Überprüfung auf trockene Knoten, wenn er kleiner ist als die maximale Anzahl der Iterationen in einem Programmzyklus (vgl. $TM_MAXITER in der Zeitschritt- und Randbedingungsdatei).
method = 1, 2, 3
dryLimit Grenzfliesstiefe zum Eliminieren von Knoten
method = 1, 2, 3
rewLimit Grenzfliesstiefe zum Reaktivieren trockener Elemente
method = 1
rewPasses Anzahl der Schleifendurchgänge für das Reaktivieren von Lementen
method = 1
cntDown Zähler für das Aktivieren von Elementen/Knoten
method = 1, 2, 3
fill
Methode zur Benetzung trockener Elemente
fill = 0: Trockene Elemente mit der Grenztiefe benetzen;
zur Simulation instationärer Überflutungen / Dammbrüche
fill = 1: Trockene Elemente mit angrenzendem Wasserspiegel benetzen;
zur schnelleren Berechnung eines stationären Strömungszustands




Weitere Parameter


REPPORTLEVEL

$REPPORTLEVEL <n>          // Standardwert: <n> = 3

Mit dem Parameter <n> wird der Umfang der Reportdatei festgelegt. <n> kann dabei Werte zwischen 0 und 5 annehmen. Ein Reportlevel von 0 entspricht einer minimalen Ausgabe in die Reportdatei, die etwa dem entspricht was auf dem Bildschirm dargestellt wird. Ein Reportlevel von 5 entspricht der maximal möglichen Ausgabe.


Ausgabevariablen

$OUTPUTVARS <liste>

Mit diesem Parameter definieren Sie die Liste der Variablen, für die eine Ausgabe in die AVS-UCD-Dateien erfolgen soll.

Standardliste: UV,S,K,D,C,H,Us,tau,vt

Variable
Dimension
Beschreibung
UV
[m/s]
Fließgeschwindigkeit
S
[mNN]
Wasserspiegel
K
[m2/s2]
turbulente kinetische Energie
D
[m2/s3]
Dissipation von K
C
[-]
Stoffkonzentration
dUVdt
[m/s2]
Zeitgradient von UV
dSdt
[m/s]
Zeitgradient von S (oder H)
Zb
[mNN]
Sohlhoehe
H
[m]
Fließtiefe
Us
[m/s]
skalare Fließgeschwindigkeit
cf
[-]
Rauheitsbeiwert
ks
[m]
Rauheitshoehe
dp
[m]
mittlerer Bewuchsdurchmesser
sp
[m]
mittlerer Bewuchsabstand
tau
[N/m2]
Sohlschubspannung
vt
[m2/s]
Wirbelviskositaet
Exx
[m2/s]
Diffusivitaet in Fliessrichtung
Eyy
[m2/s]
Diffusivitaet quer zur Fliessrichtung
dz
[m]
Sohlaenderung (Erosion/Sedimentation)
Re
[-]
Reynolds-Zahl
Fr
[-]
Froude-Zahl
Pe
[-]
Peclet-Zahl
Cu
[-]
Courant-Zahl
rot
[1/s]
Rotation



Konvergenzkriterien

$CONVERGENCE <UV> <S> <KD>

Festlegung der Konvergenzkriterien für die Variablen. Die iterative Lösung im Newton-Raphson wird abgebrochen, wenn die maximalen Änderungen das Konvergenzkriterien unterschreiten.

    Standardwerte
UV Fließgeschwindigkeit
10-3
S Wasserspiegel
10-4
KD Turbulenzparameter k und e
10-4



Grenzwerte für Variablen

$MINMAX <minVT> <minK> <minD> <maxUr> <minC>

    Standardwerte
minVt Wirbelviskosität
0.0
minK turbulente kinetische Energie k
0.0
minD Dissipation der turbulenten kintetischen Energie e
0.0
maxUR Fließgeschwindigkeit
100.0
minC Stoffkonzentration
0.0



Filterung von Turbulenzparametern

$SMOOTH <BC> <KD> <VT>

Dieser Parameter ist zur Zeit deaktiviert.



Randbedingungen für k-ε

$KDBOUNDARY <inlet> <outlet> <side>

Dieser Parameter dient zur Definition der Randbedingungen im k-e-Modell. Er hat die folgende Standardbelegung:

            <inlet> <outlet> <side>
$KDBOUNDARY    2        1       1

Typ Beschreibung Rand
1 Neumann-Randbedingung
Symmetrieebene: Gradienten in Normalenrichtung verschwinden diffusiver Fluss = Null
outlet
2 Dirichlet-Randbedingung
Berechnung mit algebraischen Modell in Abhängigkeit von Sohlschubspannung und Fließtiefe
side,
inlet
3 Neumann-Randbedingung
für k Dirichlet-Randbedingung für
e
side
4 Dirichlet-Randbedingung
logarithmisches Wandgesetz für k-
e; Gleichgewichtsbedingung für Produktion und Dissipation von Turbulenzenergie
side
5 Dirichlet-Randbedingung
k-
e-Werte bleiben unverändert
inlet



GPDEGREE

$GPDEGREE <degree>

Mit dem Parameter legen Sie die Ordnung für die Gausspunktintegration fest. Mögliche Wertesind: 3, 5 und 7. Die Standardeinstellung

$GPDEGREE 5

reicht für die Berechnung mit linearen und quadratischen Ansatzfunktionen aus. Eine höhere Interpolationsordnung (7) bedeutet einen höheren Rechenaufwand und ist evtl. sinnvoll bei der Verwendung krummliniger Elemente. Eine niedrigere Ordnung (3) sollte ausreichen, wenn maximal lineare Ansatzsfunktionen verwendet werden.



DELTAZLIMIT

$DELTAZLIMIT <dzlimit>

Dieser Parameter wird für die Änderung der Sohlhöhe durch Erosion und Sedimentation verwendet. Sobald an einem Knoten des Berechnungsgebietes die akkumulierten Sohländerungen diesen Wert überschreiten werden die Sohländerungen auf das Berechnungsgitter übertragen und es wird in Abhängigkeit von den gewählten Programmzyklen (siehe $TM_CYCLE in der Zeitschritt- und Randbedingungsdatei) eine Neuberechnung des Strömungsfeldes veranlasst. Der Parameter hat folgende Standardwerte:

$DELTAZLIMIT 0,01    // in [m]



Konstanten

 Schlüsselwort
Standardwert
 Beschreibung
$TEMPERATURE
15.0
Temperatur des Wassers T [°C]
$VISCOSITY
1.31e-6
Viskosität von Wasser bei T = 10°C
$DENSITY
1000.0
Dichte von Wasser r [kg/m³]
$GRAVITY
9.81
Schwerebeschleunigung g
$VON_KARMAN
0.41
von-Kármán-Konstante k
$WALL_DISTANCE
0.01
dimensionsloser Wandabstand dw
$EARTH_ROTATION
0.0
Rotationsgeschwindigkeit der Erde w
$LATITUDE
0.0
Breitengrad

Sie können die Viskosität von Wasser alternativ als festen Wert oder über die Temperatur nach folgender Formel bestimmen:

nk
=
1,78∙10-6

1,0  +  0,0337∙T  +  0,00022∙T2

Der dimensionslose Wandabstand $WALL_DISTANCE ist ein Parameter im logarithmischen Wandgesetz.

Zur Zeit wird noch keine Coriolis-Beschleunigung in den Gleichungen berücksichtigt. Daher bleiben die Parameter $EARTH_ROTATION und $LATITUDE ohne Verwendung.



Konstanten im k-e-Modell

$KDCONST <cm> <cd> <sK> <sD> <c1D> <c2D>

$VON_KARMAN
cm
cd
sK
sD
c1D
c2D
k
cm
cD
sk
se
c1e
c2e
0,41
0,09
1,00
1,20
1,20
1,43
1,92
0,43
0,09
1,00
1,00
1,30
1,43
1,92

Die Standardwerte für die Konstanten des k-e-Modells sind:

         <cm> <cd> <sK> <sD> <c1D> <c2D>
$KDCONST 0.09 1.00 1.20 1.20  1.43  1.92

Es gilt hier zu beachten, dass die Standardwerte nur dann gültig sind, wenn die von-Kármán-Konstante auf einem Wert von k = 0,41 belassen wird. Bei der ebenfalls gebräuchlichen Verwendung k = 0,43 sollten die Konstanten sk und se des k-e-Modells gemäß der letzten Zeile in der Tabelle angepasst werden.



Skalierungsfaktoren

$SCALE 0

$SCALE 1 <lScale> <vScale>

$SCALE 2 <lScale> <hScale> <ksScale>

lScale : Längenmaßtab
vScale : Geschwindigkeitsmaßtab
hScale : Höhenmasstab
kScale : Rauheitshöhe

scaling = 0 : keine Skalierung (Standarwert)

scaling = 1 : skaliere Länge und Geschwindigkeit
z.B.:  lScale = 100.0
       vScale = 10.0

scaling = 2 : skaliere Länge, Höhe und Rauheitshöhe ks (Froude)
z.B.: lScale  = 100.0
      hScale  =  50.0
      ksScale =   8.0

Dieser Parameter hat die Funktion, nach dem Einlesen einer Geometrie und zugehöriger Daten, eine Skalierung der Daten in den Ausgabedateien vorzunehmen. Hierfür stehen die beiden Optionen 1 und 2 zur Verfügung, mit denen z.B. eine Skalierung nach dem Froude-Modell möglich ist.



letzte Änderung: Donnerstag, 11. Mai 2006