Erste Schritte¶
Die steady 2d tutorial hypothesisiert, dass die Entladung eines Flusses im Laufe der Zeit konstant ist. Allerdings ist die Entladung eines Flusses nie wirklich konstant (d.h. nie stabil) und variiert leicht von Sekunde zu Sekunde, auch in kontrollierten Flüssen. Um die inhärent unruhigen Flüsse zu modellieren, können wir die zeitabhängige Entladung (z.B. ein Flut-Hydrograph) in einem numerischen Modell als eine Reihe von stetigen Entladungen diskretisieren. Figure 1 illustriert die Diskretierung einer natürlichen Flut-Hydrographie in Stufen von stetigen Strömungen, die in diesem Kapitel verwendet werden. Beachten Sie, dass der Hydrograph ** mit Time = 15000** beginnt, was das Ergebnis der trocken-initialisierten stationären2d-Simulation ist.

Figure 1:Die Diskretierung eines kontinuierlichen Hydrographen in Stufen von stetigen Strömen (qualitative Hydrograph für dieses Tutorial).
This chapter features the implementation of a quasi-steady discharge hydrograph into a hydrodynamic Telemac2d simulation through the definition of an inflow sequence (red circles in Fig. 1). The tutorial builds on the steady simulation of a discharge of 35 m/s and requires the following data from the pre-processing and steady2d tutorials, which can be downloaded by clicking on the filenames:
Das Rechennetz qgismesh.slf(verwendet *EPSG:32633 - ETRS 89 / UTM-Zone 33N).
Die Randdefinitionen boundaries.clifile.
The results file r2dsteady.slf of the dry initialized steady 2d simulation ending at
t=15000for 35 m/s.
Betrachten Sie das Speichern der Dateien in einem neuen Ordner, wie /unsteady2d-tutorial/.
Modellanpassungen¶
Die Implementierung von unruhigen Strömen erfordert die Anpassung von Schlüsselwörtern und zusätzlichen Schlüsselwörtern (z.B. für die Verknüpfung von flüssigen Grenzdateien) in der Steuerungsdatei (.cas) aus dem stationären Tutorial (download stationär2d.cas).
Hotstart anfängliche Bedingungen¶
Die folgenden Beschreibungen beziehen sich auf Abschnitt 4.1.3 in der Telemac2d manual.
Um die Berechnungen zu beschleunigen und eine gut konvergierende Basislinie für die quasi-steady Berechnungen bereitzustellen, nutzt dieses Tutorial die Ausgabe der stationären 2d-Simulation mit trockenen Anfangsbedingungen wieder (siehe Abschnitt Ursprüngliche Bedingungen). Diese Art der Modell-Initialisierung wird auch hotstart genannt. Um die Simulation zu starten, muss die stetige Ergebnisdatei r2dsteady.slf als *PREVIOUS COMPUTATION FILE definiert werden:
COMPUTATION CONTINUED : YES
PREVIOUS COMPUTATION FILE : r2dsteady.slf / results of 35 CMS steady simulation
/ INITIAL TIME SET TO ZERO : 0 / avoid restarting at 15000Ein INITIAL TIME SET TO ZERO Keyword kann definiert werden, um die Zeit aus der vorherigen Berechnungsdatei von 15000 an 0 zurückzusetzen. Dieses Tutorial nutzt diese Option jedoch nicht und setzt sich zum Zeitpunkt 15000 fort.
Um mehrdeutige Definitionen von Anfangsbedingungen zu vermeiden, deaktivieren* (d.h. Zeilen mit / löschen oder herauskommen) das INITIAL CONDITIONS Keyword:
/ INITIAL CONDITIONS : 'ZERO DEPTH'Allgemeine Parameter¶
Um das in Fig. 1 dargestellte Hydrograph zu simulieren, muss die Simulation für mindestens weitere 15000 Zeitschritte laufen (d.h. von t=15000 bis t=30000). Da das Ausdrucken (Zwischen-)Ergebnisse eine signifikante Auswirkung auf die Rechenzeit hat, erhöhen Sie den grafischen Ausdruckzeitschritt auf 500 (d.h. verringern Sie die Ausdruckfrequenz im Vergleich zu 200, die für die stetige Simulation verwendet wird):
TIME STEP : 1.
NUMBER OF TIME STEPS : 15000
GRAPHIC PRINTOUT PERIOD : 500
LISTING PRINTOUT PERIOD : 500Open Bounding¶
Dieser Abschnitt enthält die Implementierung von quasi-steady (unsteady) Strömungsbedingungen an den offenen Flüssigkeitsgrenzen mit einem zeitabhängigen Zufluss-Hydrograph und einem nachgeschalteten stage-discharge relation (erfasst die Rationalitäten hinter der Wahl von Randtypen von der pre-processing tutorial).
--
*Ein Quasi-Stand Hydrograph definieren
Mit dem trocken-initialisierten Modell, das unter =15000 endet, muss der Hydrograph unter 15000 beginnen, obwohl der Modellstart die Zeit Null der unruhigen Simulation darstellen wird. Um den dreieckigen Hydrograph in Fig. 1 zu implementieren, erstellen Sie im Simulationsordner eine neue Datei namens inflows.liq**. Öffnen Sie die neue inflows.liq-Datei in einem Texteditor und fügen Sie die rot umkreisten Punkte in Fig. 1 als zeitabhängige Flussinformationen an den *upstream (1) und *downstream (2) offenen (liquid) Grenzen hinzu. In dieser Datei:
Fügen Sie einen Datei-Header mit
#-Zeichen hinzu (Kommentierte Zeilen TELEMAC ignoriert).Ergänzen Sie 2 Spalten für die Zeit *T () und stromaufwärts Q(1).
Trennen Sie die Spalten mit spaces.
Die erste Spalte muss Zeit
Tmit streng monoton steigenden Werten sein und der letzte Zeitwert muss größer oder gleich dem letzten Simulations-Zeitschritt sein.
So sollte die inflows.liq-Datei ähnlich aussehen:
# Inflow hydrograph
#
T Q(1)
s m3/s
15000 35
16000 35
17000 50
19000 1130
22000 101
25000 35
99000 35Die ursprüngliche boundaries.cli-Datei beschreibt die nachgeschaltete Grenze mit prescribed Q und H (Typ 5 5 5). In der unruhigen Berechnung muss Q jedoch frei sein (anders muss Q(2) in inflows.liq mit einer zusätzlichen Spalte definiert werden) und deshalb erfordert die boundaries.cli-Datei einige Anpassungen:
Open die bereitgestellte boundaries.cli-Datei mit einem Texteditor (z.B. NotepadPlus (Text-Editor) unter Windows).
Verwenden Sie Find-and-Replace (z.B.
CTRL+Hkeys in Notepad++ oderCTRL+Fin anderen Texteditoren):Find*
5 5 5** Ersetzen*** mit
4 5 5Klicken Sie auf ** Ersetzen** alle stromaufwärts liegenden Knoten.
Save* die Datei als boundaries-unsteady.cli und schließen sie.
Um die richtigen Einstellungen zu überprüfen Randgrenzen
In der steering-Datei passen Sie den -Dateinamen für die Randbedingungen an und fügen Sie den Link zu *inflows.liq hinzu:
BOUNDARY CONDITIONS FILE : boundaries-unsteady.cli
/ ...
LIQUID BOUNDARIES FILE : inflows.liq--
Rating Curve (Stage-Discharge Relation) Um die Nutzung einer stage-discharge relation für eine offene (flüssige) Grenze zu aktivieren, muss das Schlüsselwort STAGE-DISCHARGE CURVES der Lenkdatei hinzugefügt werden. Dieses Stichwort erfordert eine Liste bestehend aus den folgenden Zahlen:
0ist der default, der die Nutzung einer Phasenentladungskurve deaktiviert.1gilt als Funktion des berechneten Durchflusses (Entladung).2gilt als Funktion der berechneten Höhe für vorgegebene Durchflussraten (Entladung).
Das STAGE-DISCHARGE CURVES Schlüsselwort ist eine Liste, die einer der drei Ganzzahlen (d.h. entweder 0, 1, oder 2) den offenen (liquid) Grenzen zuordnet. In diesem Tutorial aktiviert die Einstellung STAGE-DISCHARGE CURVES : 0;1 die Nutzung einer Stage-discharge relation für die nachgeschaltete Grenze nur dann, wenn die *upstream open border number 1 an 0 und die downstream open limit number 1 an 0 gesetzt ist.
Das Formular (Kurve) der Stage-discharge relation muss in einer Phase-Decharge-Datei definiert werden (ASCII Textformat). Solche Dateien gelten typischerweise für die stromabwärtige Begrenzung eines Modells an Kontrollabschnitten (z.B. einem freien Überlaufwehr). Dieses Tutorial verwendet die folgende Beziehung, die in einer Datei namens ratingcurve.txt (download) gespeichert ist:
# Downstream ratingcurve.txt
#
Z(2) Q(2)
m m3/s
371.33 35
371.45 50
371.86 101
375.73 1130
379.08 2560How to assign different stage-discharge curves at multiple boundaries?
Um stage-discharge relations an mehreren offenen Grenzen (z.B. an Flussdiversionen oder Nebenflüssen) zu definieren, fügen Sie die Kurven zur gleichen Datei hinzu. TELEMAC erkennt automatisch, wo die Kurven durch die in Klammern angegebene Anzahl nach dem Parameternamen im Spaltenkopf gelten. Zum Beispiel, im obigen Beispiel für dieses Tutorial, sagen die Spaltenüberschriften Z(2) und Q(2) TELEMAC, diese Werte für die zweite (d.h. hier die nachgeschaltete) offene Grenze zu verwenden. Der Spaltenauftrag ist nicht wichtig, da TELEMAC den Kurventyp (d.h. entweder oder ) aus dem STAGE-DISCHARGE CURVES Schlüsselwort liest.
The following file block would prescribe Stage-discharge relations to the upstream and downstream boundary conditions in this tutorial. However, the file cannot be used here unless the upstream boundary type is changed to 5 5 5 (prescribed H and Q) in the boundaries.cli file (read more in the pre-processing tutorial).
#
# Downstream Rating Curve
#
Z(2) Q(2)
m m3/s
371.33 35
371.45 50
371.86 101
375.73 1130
379.08 2560
#
# Upstream Rating Curve
#
Q(1) Z(1)
m3/s m
35 371.33
50 371.45
101 371.86
1130 375.73
2560 379.08Um die Stage-Decharge-Datei zu verwenden, *definieren Sie die STAGE-DISCHARGE ... Keywords in der Lenkdatei:
/ steering.cas
STAGE-DISCHARGE CURVES : 0;1
STAGE-DISCHARGE CURVES FILE : ratingcurve.txt--
Remove Ambiguous Open Bounding Definition Keywords
Um mehrdeutige Definitionen der offenen Grenzen zu vermeiden, deaktivieren* (d.h. Zeilen mit / löschen oder herauskommen) die PRESCRIBED ... Schlüsselwörter in der Lenkdatei:
/ PRESCRIBED FLOWRATES : 35.;0.
/ PRESCRIBED ELEVATIONS : 374.80565;371.33Numerische Parameter¶
Die mit 3, 4, 5 oder 15 definierten Prädiktor-Korrektor-Systeme (SCHEME FOR ...** Schlüsselwörter setzen auf einen Parameter, der die Anzahl der Iterationen an jedem Zeitschritt für Konvergenz festlegt (siehe steady2d tutorial). Für quasi-steady-Simulationen empfehlen Telemac-Entwickler, diesen Parameter an 2 oder etwas größer zu setzen (Abschnitt 7.2.1 in der Telemac2d manual). *Damit die folgende Zeile in die Lenkdatei:
NUMBER OF CORRECTIONS OF DISTRIBUTIVE SCHEMES : 2Kontrollabschnitte¶
Eine konsequente Möglichkeit, Flussläufe an offenen Grenzen oder anderen bestimmten Linien (z.B. Nebeneinflüsse oder Diversionen) zu überprüfen, besteht darin, das CONTROL SECTIONS Keyword zu verwenden. Ein Steuerabschnitt wird durch eine Folge benachbarter Knotenzahlen definiert. Zum Beispiel, um die Flußmittel über die offenen Grenzen in diesem Tutorial zu überprüfen, überprüfen Sie die Knotenzahlen in der boundaries.cli Datei (z.B. 144 bis 32 für die Upstream- und 34 bis 5 für die Downstream-Grenze). Dann erstellen Sie ** eine neue Textdatei** (z.B. *control-sections.txt) und:
Eine Kommentarzeile mit einigen kurzen Informationen (z.B.
# control sections input file) hinzufügen. Beachten Sie, dass diese Zeile ** obligatorisch* ist.In der zweiten Zeile fügen Sie eine *space-separierte Liste von 2 Integer hinzu, wo
die erste ganze Zahl die Anzahl der Querschnitte definiert, und
die zweite ganze Zahl definiert, ob Knotennummern (d.h. IDs von boundaries.cli oder qgismesh.slf) oder Koordinaten definiert werden. Eine negative Zahl ermöglicht den Knoten-ID-Modus und eine positive Zahl ermöglicht den Koordinaten-Modus.
Definieren Sie so viele Querschnitte wie mit der ersten Ganzzahl definiert. Jede Querschnittsdefinition besteht aus zwei Linien:
Die erste Zeile ist ein string (Text) ohne Leerstellen, die den Querschnitt benennen (z.B.
inflow_cs).Die zweite Linie besteht aus zwei Zahlen, die die Anfangs- und Endpunkte der Querschnitte definieren. Wenn die zweite ganze Zahl in der Dateizeile negativ ist, stellen Sie zwei platzgetrennte ganze Zahlen zur Verfügung. Wenn die zweite ganze Zahl positiv ist, geben Sie zwei platzgetrennte Koordinatenpaare (Stellen Sie einen Raum zwischen Koordinaten ein).
Beispielsweise kann die folgende control-sections.txt-Datei mit der stetigen Simulation in diesem Tutorial verwendet werden (download control-sections.txt).
# control sections steady2d
2 -1
Inflow_boundary
144 32
Outflow_boundary
34 5Expand to view an example for coordinate-based control sections
Die folgende Steuerabschnittsdatei verwendet Punktkoordinaten anstatt Knoten-ID-Nummern, um drei Abschnitte zu definieren. Lesen Sie mehr unter Gifford-Miears & Leon (2013) (d.h. Abschnitt 4.1.2 in der Baxter tutorial).
# control section file using coordinates
3 0
affluent_creek
19572355.895577 626823.06664 1952347.2733 626923.9554
main_river_upstream
1946449.824 635349.6070 194.919 635209.807
main_river_downstream
1967737.56993 620784.415608 1967998.16429 620638.17849Die zweite Zeile in dieser Datei sagt TELEMAC, 2Steuerungsabschnitte zu verwenden, die durch Knoten-IDs (-1) definiert sind. Um die Steuerungsabschnitte für die Simulation zu verwenden, fügen Sie folgendes zur Lenkdatei hinzu:
/ steady2d.cas
/ ...
SECTIONS INPUT FILE : control-sections.txt
SECTIONS OUTPUT FILE : r-control-flows.txtSo wird das Nachlaufen der Simulation die Flussmittel über die beiden definierten Steuerabschnitte in eine Datei namens r-control-flows.txt schreiben. Die Telemac2d manual gibt Erläuterungen in Abschnitt 5.2.2.
Führen Sie Telemac2d Unsteady¶
Gehen Sie in den Konfigurationsordner der lokalen TELEMAC-Installation (z.B. ~/telemac/v9.0.0/configs/) und laden Sie die Umgebung (z.B. pysource.openmpi.sh - verwenden Sie die gleiche wie für die Erstellung von TELEMAC).
cd ~/telemac/v9.0.0/configs
source pysource.gfortranHPC.shIf you are using the Hydro-Informatics (Hyfo) Mint VM
Wenn Sie mit der Mint Hyfo VM zusammenarbeiten, laden Sie die TELEMAC-Umgebung wie folgt ein:
cd ~/telemac/v8p2/configs
source pysource.hyfo-dyn.shMit der geladenen TELEMAC-Umgebung wechseln Sie in das Verzeichnis, in dem die unruhige Simulation lebt (z.B. /home/telemac/v9.0.0/mysimulations/unsteady2d-tutorial/) und die *.cas-Datei mit dem telemac2d.py-Skript ausführen.
cd ~/telemac/v9.0.0/mysimulations/unsteady2d-tutorial/
telemac2d.py unsteady2d.casEine erfolgreiche Berechnung sollte mit folgenden Zeilen (oder ähnlichen) in Terminal enden:
[...]
*************************************
* END OF MEMORY ORGANIZATION: *
*************************************
CORRECT END OF RUN
ELAPSE TIME :
10 MINUTES
32 SECONDS
... merging separated result files
... handling result files
moving: r2dunsteady.slf
moving: r-control-sections.txt
... deleting working dir
My work is doneTelemac2d wird die Dateien r2dunsteady.slf und r-control-sections.txt schreiben. Beide Ergebnisse sind auch im TELEMAC-Repository dieses eBook verfügbar, um das Nachbearbeitungs-Tutorial zu erreichen:
Nachbearbeitung¶
Open Boundary Flows¶
Die unruhige Simulation beabsichtigt, zeitvariable Ströme (Grippen) über die vor- und nachgeschalteten Flüssigkeitsgrenzen zu modellieren. Die oben definierten control sections ermöglichen Einblicke in die korrekte Anpassung des Flusses an die stromaufwärtige Zuflussgrenze (vorgeschrieben Q durch inflows.liq) und die stromabwärtige Abflussgrenze (vorgeschrieben H durch ratingcurve.txt). Figure 2 zeigt die modellierten Durchflussraten, bei denen der Inflow boundary eine perfekte Übereinstimmung mit inflows.liq zeigt und der Outflow boundary die Abflachung der Abflusskurve im modellierten mäanderförmigen Schotterbettfluss widerspiegelt.

Figure 2:Die simulierten Ströme fließen über die vorgeschalteten Inflow boundary und die nachgeschalteten Outflow boundary Steuerabschnitte.
Der Spitzenzufluss entspricht den angegebenen 1130 m/s, während der Abflussspitzenabfluss nur 889 m/s beträgt und der Peak ca. 1070 Sekunden dauert (Zufluss bei =19000 und Abfluss bei 20070), um durch den Abschnitt zu reisen.
Resolve volume balance issues in unsteady simulations
Die gesamten Zu- und Abflussmengen in der hier vorgestellten Simulation betragen 3479930.958 m und 3430100.437 m. So gibt es einen Gesamtvolumenfehler von 1.4. Um solche Probleme zu überwinden, empfiehlt die Telemac2d manual, einen Mindestwert für die Wassertiefe zu verwenden, um zu definieren, wann eine Zelle nass oder trocken ist. Gleichzeitig empfehlen die Entwickler keine Mindestwassertiefe für die meisten Simulationen und betonen, diese Option nur für unruhige (quasi-steady) Simulationen zu verwenden. Die Festlegung einer Mindestwassertiefe erfordert die Einstellung des Schlüsselworts TREATMENT OF THE TIDAL FLATS an 2 (weiterlesen in der steady2d tutorial), das weder mit Parallelisierungsroutinen kompatibel ist, noch mit den hier verwendeten SCHEME FOR ADVECTION ... : 14-Einstellungen. So könnten bessere Ergebnisse, aber lange nicht-parallelisierte quasi-steady Berechnungen mit den folgenden Keywords in der Lenkdatei erhalten werden:
OPTION FOR THE TREATMENT OF TIDAL FLATS : 2 / use segment-wise flux control
MINIMUM VALUE OF DEPTH : 0.1 / in metersVisualisierung mit QGIS¶
Die Ergebnisse der unruhigen Simulation können visualisiert und Snapshots exportiert werden, z.B. GeoTIFF oder Shapefile-Formate in QGIS, ähnlich wie in der steady2d post-processing. Insbesondere die neuesten QGIS-Release ermöglichen es, die Selafin-Ergebnisse mesh-Datei (hier: r2dunsteady.slf) als QGIS-Netzschicht zu laden. Daher launch QGIS, gehen Sie zum Layer-Menü und klicken Sie auf Add Layer**** ** Hinzufügen von Mesh Layer...* Im Popup-Fenster (Data Source Manager / Mesh), select r2dunsteady.slf, click Add, and Close. Figure 3 zeigt die importierte r2dunsteady mesh-Schicht in QGIS mit einer Softlight-Mischung (in der Symbology) auf Google-Satellitenbild.

Figure 3:Die unsteady (quasi-steady) Simulationsergebnisse Datei r2dunsteady.slf importiert als Netzschicht in QGIS und überlagert auf google Satellitenbild Google, n.d..
r2dunsteady.slf (results file) not correctly showing in QGIS
Ist die Ergebnisdatei r2dunsteady.slf nicht in QGIS angezeigt? Stellen Sie sicher, dass es mit seiner richtigen Georeferenz importiert wird: EPSG:32633 (ETRS 89 / UTM-Zone 33N).
Die Simulationsausgangsparameter (z.B. U, V, oder Q) an einem ausgewählten Zeitschritt können in den Schichteigenschaften der r2dunsteady-Schicht gesteuert werden (Doppelklicken Sie darauf im Layers-Panel).
Um ein Video der Simulationsergebnisse** zu erstellen, verwenden Sie den Time Controller (siehe Aktivierung unter Fig. 4). Die Frequenz der Bilder kann durch Klicken auf das Zahnrad des Zeitreglers eingestellt werden, und Bildsequenzen, die durch Klicken in der Play Taste gespielt werden. Zusätzlich verwendet Fig. 5 eine Überlagerung von Wassertiefe Pixelfarben (Kontourendiagramm) und Strömungsgeschwindigkeitsvektoren, die im Layer Styling Panel definiert sind. Die Nord- und Entladepfeile und der Titel sind Dekoratoren, die in View***Decorators gefunden werden können.
Die exportierte Bildreihe kann in ein Video mit Video-Editing-Software umgewandelt werden, wie z.B. die einfachen und kostenlosen OpenShot(gut für Windows) oder kdenlive(gut für Linux)-Tools. Das unten angezeigte Feld verfügt über ein exemplarisches Video, das mit kdenlive2@ erstellt wurde.
Expand to view the results as video
Sebastian Schwindt @ Hydro-Morphodynamics channel on YouTube.
- Gifford-Miears, C., & Leon, A. (2013). Tutorial on the use of TELEMAC-2D Hydrodynamics model and Pre-/Post-processing with BlueKenue for flood-inundation mapping in Unsteady Flow Conditions. Oregon State University. https://web.eng.fiu.edu/arleon/courses/Transient_flows/Tutorials/TELEMAC_2D/TELEMAC_2D_Tutorial_Baxter.pdf
- Google. (nd). Google Satellite Imagery. https://mt1.google.com/vt/lyrs=s&x=%7Bx%7D&y=%7By%7D&z=%7Bz%7D