Friktion (Roughness) Zonen¶
Ähnlich wie bei der Zuordnung mehrerer Reibungskoeffizienten zu mehreren Modellregionen, die in der BASEMENT tutorial enthalten sind, bietet Telemac2d Routinen für Domänen (d.h. zonale) Reibflächendefinitionen in der Geometrie (.slf) mesh-Datei. Insbesondere, wenn der Studienbereich durch Bereiche unterschiedlicher Rauheit gekennzeichnet ist, reicht es nicht aus, die globale Reibung durch ein FRICTION COEFFICIENT Schlüsselwort in der Lenkungsdatei (.cas) zu definieren. Die Definition von Rauheitszonen in der Mesh-Datei (.slf) erfordert eine zusätzliche Schicht unter dem Namen BOTTOM FRICTION oder FRIC_ID oben auf derBOTTOM-Höhe. Zu diesem Zweck können Rauhigkeitswerte in einer mit QGIS (recommended) erstellten Rauhigkeitsdatei .xyz oder Closed Lines .i2s erstellt mit BlueKenue (see the meshing section) definiert werden. Während QGIS empfohlen wird, die Rauhigkeitszonen mit korrekten und möglicherweise präzisen Georeferenzen abzugrenzen, ist BlueKenue für die Interpolation der Rauhigkeit aus der Datei .xyz oder .i2s in der Datei .slf im letzten Schritt erforderlich.
Roughness.XYZ mit QGIS (empfohlen)¶
Der erste Schritt zur Delineierung von Rauheitszonen in QGIS ist die Einrichtung des Koordinatenreferenzsystems und die Speicherung des Projekts analog zu den QGIS pre-processing tutorial:
Öffnen Sie QGIS und im oberen Menü gehen Sie zu Projekt**Properties.
Aktivieren Sie die Registerkarte Koordinatenreferenzsystem.
Stellen Sie den Koordinatenreferenzsystem fest, dass Ihre basemap /DEM-Datennutzung; Geben Sie hierzu z.B.
UTM zone 33Nein und wählen Sie UTM-Zone 33N (WGS84) (EPSG 32633), die wegen seiner geringen Präzision keine große Wahl ist, aber er wird den Job für dieses Tutorial tun.Klicken Sie auf Apply und OK*.
Speichern Sie das Projekt in einen neuen Ordner, in dem alle Dateien für dieses Tutorial gespeichert werden.
Es wird wichtig sein, Überschneidungen zu vermeiden, die zu mehrdeutigen oder fehlenden Definitionen von Regionen führen würden. Aktivieren Sie daher Snapping:
Aktivieren Sie die Snapping Toolbar: View**** Toolbars*******
Snapping toolbarEnable Snapping

Ermöglichen Sie Schnappen für
Vertex, Segment und Middle of Segments
.*Snapping on Intersections
.Self Snapping
.
Dieses Tutorial nimmt das Beispiel von der Telemac QGIS pre-processing tutorial an, um Polygone entlang der breaklines und liquid-boundaries formfiles. Die Reibungszonen werden von einem Google Satellite basemap abgeleitet und Reibungsattribute werden qualitativ geschätzt, was für ein Tutorial gut ist. In der Praxis empfehlen wir dringend, Felderhebungen über Korngrößenverteilungen mit hochpräzisen Differential GPS (DGPS)-Systemen durchzuführen, um Rauheitszonen vor Ort, unterstützt durch Drohnenbilder, abzugrenzen.
Delineate Roughness Zone Polygone¶
Die Rauheitszonen können durch Attribute einer Polygonformdatei beschrieben werden. Um eine neue Polygon-Formdatei zu erstellen, gehen Sie zu LayerCreate Layer***Neue Shapefile Layer...** (siehe Fig. 1).

Figure 1:Erstellen Sie eine neue Polygon-Formdatei.
Geben Sie im Popup-Fenster die folgenden Definitionen ein:
Dateiname: drücken Sie auf **...*, navigieren Sie in den Projektordner und tippen Sie auf
friction-polygons.*File encoding: Standard halten (Beispieldateien verwenden
UTF-8).Geometrie Typ:
PolygonUnterhalb der Zusätzliche Dimensionen (nicht erforderlich), finden und klicken Sie auf die *Koordinatenreferenzsystem-Taste, um das oben definierte Projektkoordinatensystem auszuwählen (Beispieldateien:
EPSG:32633).Neues Feld hinzufügen:
Name*:
dMeanTyp:
Decimal (double)Length:
10Präzision*:
5Klicken Sie auf *Zu Feldliste hinzufügen
Neues Feld hinzufügen:
Name*:
fricIDTyp:
Integer (32 bit)Length:
5Klicken Sie auf *Zu Feldliste hinzufügen
Drücken Sie ****, um die neue Formdatei zu erstellen.
Um diesem Tutorial zu folgen, importieren Sie die Frühzeilen (download als zip-file) und Liquid-boundaries (download als zip-file) formfiles aus der Telemac-Vorverarbeitung. Polygone zu zeichnen, indem Fiktion-Polygone bearbeitet werden. schmeicheln Sie entlang der Brechlinien und Flüssigkeitsgrenzen, markieren Sie fiction-polygons im Layers-Panel und ermöglichen Sie die Bearbeitung, indem Sie auf den gelben Stift
klicken. Aktivieren Add Polygon Feature und zeichnen Polygone durch Schnappen auf Punkte der Frühlinien und Flüssiggrenzen Schichten, laut Fig. 2. Um ** jedes Polygon** mit einem ** Rechtsklick auf die Maus* und enter die fricID und dMean-Werte nach Tab. 1 (qualitative Korngrößen) zu definieren.
Zu richtige Zeichnungsfehler verwenden Sie das Vertex Tool
. Speichern Sie schließlich die neuen Polygone (Eigenschaften von friction-zones.shp), indem Sie auf das Save Layer Edits
symbol klicken. Stop (Toggle) Editing durch erneutes Klicken auf den gelben Stift
Symbol.
Alternativ fügen Sie die Bruchlinien und Flüssigkeitsgrenzen zusammen und verwenden Sie das Polygonize Werkzeug aus der Processing Toolbox, um die zusammengeführten Linien in eine Polygon-Formdatei umzuwandeln. Die Polygonisierung wird jedoch einige Bruchlinien vermissen, die eine Bearbeitung erfordern. Auch die Felder fricID und dMean müssen noch durch Bearbeitung hinzugefügt werden.

Figure 2:Beispiel zur Beschreibung von Rauhigkeitszonen mit Polygonen durch vier Reibungs-IDs (fricID), die (1) das Flussbett, (2) Blockrampen, (3), Kiesstangen und (4) Flutplains abgrenzen. Hintergrundkarte: Google (n.d.)satellitenbild.
Table 1:Four exemplary friction zones described by integer fricIDs and mean grain size diameters dMean.
Gebietsname | Flussbett | Blockrampen | Gravel Banken | Floodplas |
|---|---|---|---|---|
Fr. | 1 | 3 | ANHANG | |
dMean (m) | 0,080 | 0,300 | 0,032 | 1.000 |
Roughness Points generieren¶
Der nächste Schritt auf dem Weg zur Erstellung der erforderlichen XYZ-Datei zur Zuordnung von Reibungszonen zu einer selafinen Geometriedatei ist es, (random) Punkte innerhalb der oben erstellten Polygone zu erzeugen. Zu diesem Zweck enterrandom points inside polygons im search-Feld der Processing Toolbox. Geben Sie im Random Points Inside Polygons Popup-Fenster (Fig. 3) Folgendes ein:
Eingangsschicht:
friction-polygonsSampling-Strategie:
Points densityPunktzahl oder Dichte:
0.25- Verwenden Sie einen kleineren/größeren Wert für Fein-/Koarse-Netze, aber beachten Sie möglicherweise sehr große Dateigrößen*Minimum-Distanz zwischen Punkten:
5.0- Verwenden Sie einen kleineren/größeren Wert für Fein-/KoarnetzeRandom-Punkte: Klicken Sie auf *... und definieren Sie einen Zielpunkt-Formdateinamen wie
friction-pts.shp, um im Projektordner gespeichert zu werden.Klicken Sie auf Run, um die Punkte formfile zu erstellen. Dieser Vorgang kann je nach definierter Punktdichte eine Weile dauern.
Die resultierende Punktformdatei wird in Fig. 4 angezeigt.

Figure 3:Einstellungen im Random Points Inside Polygons-Tool in QGIS. Wählen Sie vorsichtig die Punktzahl oder -dichte aus, die sehr große Ausgangsdateien verursachen kann. Das Mindestabstandsfeld kann verwendet werden, um die Anzahl der Punkte zu reduzieren.

Figure 4:Die Punktformdatei, die sich aus der Verwendung des Random Points Inside Polygons-Tools in QGIS ergibt. Hintergrundkarte: Google (n.d.)satellitenbild.
Friction Attributes to Points zuweisen¶
Leider nimmt die Punktgenerierung nicht automatisch die Polygon-Attribute auf, die zu den Punkten interpoliert werden müssen. Je nach dem angestrebten Rauheitsgesetz für den Einsatz mit Telemac können entweder die Friktions-IDs oder direkt Rauheitskoeffizienten der Attributtabelle der Friktionspunktformdatei hinzugefügt werden. In diesem Tutorial wird ein Reibungskoeffizient in Form der Stricklerrauhigkeit interpoliert und mit einer empirischen Formel berechnet. Ein komplexerer Fall zur Berechnung von Rauheitswerten ist in der Fallstudie des BAW (Danube) zu finden (in HOMETEL/examples/telemac2d/donau/).
Die Übertragung der dMean und/oder fricID-Attribute der Polygone an die Punkte ist im Wesentlichen eine Interpolation Operation, in der QGIS jeden Punkt betrachtet und ihm die dMean und/oder fricID-Attribute des nächsten Polygons zuordnet. Zu diesem Zweck klicken Sie auf das Vector Top-Menü > Data Management Tools****Join Attributes by Location (siehe Fig. 5).

Figure 5:Öffnen Sie die Attribute Join by Location Tool in QGIS.

Figure 6:Öffnen Sie die Attributtabelle der Friktionspunkttabelle.
Im Join Attributes by Location Popup-Fenster (Fig. 6) stellen Sie folgende Einstellungen vor:
Zur Ausstattung:
friction-pts**Features they (geometrisches Prädikat)*: Überprüfen Sie die
are withinbox, wählen Sie alle anderenVergleich mit:
friction-polygons*Fields to add: Klicken Sie auf die *... Schaltfläche, um
fricIDund/oderdMeanzu wählenJoin-Typ:
Take attributes of the first matching feature only (one-to-one)Joined Layer: Klicken Sie auf den ... Button > Save to file > navigieren Sie in den Projektordner*** einen Dateinamen eingeben, z.B.
friction-pts-at**Klicken Sie auf Run.
Die Fehlermeldung Für die Eingabeschicht existiert kein räumlicher Index, die Leistung wird stark abgebaut kann für diese Anwendung ignoriert werden. Dennoch, um jede falsche Ausgabe zu überprüfen, könnte es klug sein, auch die Schicht zu definieren Unjoinable Features von der ersten Schicht.
Das friction-pts-at ist somit im *Layers Panel erhältlich (siehe Fig. 7).
Um die mittleren Korngrößen (dMean) in Reibwerte umzuwandeln, öffnen Sie die Attribute Tabelle von *right-clicking auf der friction-pts-at-Schicht im Layers-Panel > Open Attributtabelle.

Figure 7:Öffnen Sie die Attributtabelle der Friktionspunkt Shapefile mit Attributtabelle. Hintergrundkarte: Google (n.d.)satellitenbild.
*Beitragstabelle (Fig. 8):
Bearbeiten aktivieren,
entfernen Sie unnötige Spalten, wie das Feld
id, und möglicherweise auch das FeldfricID(dieses Schaufenster wird nur die SpaltedMeanverwenden),Öffnen Sie den Field-Rechner, den wir im nächsten Schritt verwenden, um Strickler-Rohigkeitswerte abzuleiten.

Figure 8:Die Attributtabelle der Friktions-pts-at-Schicht mit den hervorgehobenen (roten Rechtecken) Bearbeitung, Spalten entfernen und Feldrechnertasten (von links nach rechts).
Optional: derive x and y coordinates with the Field Calculator
Im Field Calculator fügen Sie die und -Koordinaten an die Attribute Tabelle:
Ein neues Feld erstellen
Feldname:
x_coordFeldtyp:
Decimal number (real)Ausgangsfeldlänge:
10und Präzision:10Geben Sie eine Formel ein, indem Sie entweder den x-Wert aus der Geometrie in der Scrollbox auswählen oder direkt in das *Expression Feld eingeben:
x( @geometry ) Analog fügen Sie die y_coord mit:
y( @geometry ) Save die Bearbeitungen in der Attribute Tabelle durch Klicken auf das Laufwerkssymbol.
According to Meyer-Peter & Müller (1948), the Strickler (1923) roughness (friction) coefficient can be approximated with 26/ based on the grain size , where 90% of the surface sediment grains are smaller. In addition, we will assume that Rickenmann & Recking, 2011. Thus, . To run this calculation, go to the Field Calculator and (see Fig. 7):
Ein neues Feld erstellen
Feldname:
k_stFeldtyp:
Decimal number (real)Ausgangsfeldlänge:
3und Präzision:2Enter a formula by either selecting
dMeanfromFields and Valuesin the scrollbox or directly entering the equation in the Expression field:
26 / ( ( 2.25 * "dMean" ) ^ ( 1 / 6 ) )
Figure 9:Schätzen Sie den Strickler-Koeffizienten basierend auf der mittleren Korngröße (dMean) mit dem Feldrechner in QGIS.

Figure 10:Die abschließende Attributtabelle der Friktions-pts-at-Schicht mit den optionalen x- und y-Koordinaten und den geschätzten Strickler-Rohigkeitskoeffizienten.
** Entfernen Sie alle übrigen unnötigen Felder** aus der Attribute Table und save die Editierungen durch Anklicken des Festplattensymbols und toggle (d.h. deaktivieren) Bearbeitung.
Export Points nach XYZ¶
Beginnen Sie mit dem Öffnen des Exportdialogs mit einem rechten Klick auf die Friktion-pts-at-Schicht > Export > Funktionen speichern als... (Fig. 11).

Figure 11:Öffnen Sie den Exportdialog mit einem rechten Klick auf die Friktions-Tipps-Beschichtung > Export > Funktionen speichern als...
In der *Vector Layer speichern als... Popup-Fenster, machen Sie die folgenden Einstellungen (Fig. 12):
Format:
Comma Separated Value [CSVDateiname: Klicken Sie auf **..., navigieren Sie in den Projektordner und geben Sie
friction-pts.xyzfür Dateinamen ein ( drücken Sie Save).Layername: Klar bleiben
Koordinatenreferenzsystem: Stellen Sie sicher, dass der Koordinatenreferenzsystem der Friktion-pts-at-Schicht definiert ist (in der Vitrine
EPSG:32633 - WGS 84 / UTM zone 33N)Encoding: Standard (in der Vitrine
UTF-8)Select alle relevanten Felder, d.h. im Schaufenster mindestens
k_st. Die optionalen Felderx_coordundy_coordsind nur erforderlich, wenn die Geometrie nicht exportiert wird (aus welchem Grund auch immer).Überprüfung Bestehende Schichtmetadaten
*Geometrietyp:
Automatic(meist standardmäßig)**Scrollen Sie auf die Layer-Optionen und:
GEOMETRY* an
AS_XYSEPARATOR an
TAB
Uncheck die Add gespeicherte Datei auf Karte Feld am unteren Fensterrand.
Keep alle anderen Standardeinstellungen und klicken Sie auf OK.

Figure 12:Einstellungen in der Speichern Vektorebene als... Popup-Fenster für den Export der Friktionspunkte in eine XYZ (tab-separierte CSV)-Datei.
QGIS will have exported the file with a .xyz.csv ending. Rename the file to remove .csv at the end. Verify the correct formatting of the .xyz file by opening it in a text editor (e.g., Notepad++). For instance, if you calculated and exported the x_coord and y_coord fields, and additionally the geometry, the .xyz file will hold two times the coordinates. In this case, import the .xyz file in a spreadsheet editor (i.e., office application), delete the x_coord and y_coord columns, and re-export the file as a tab-separated CSV file. Read more about .xyz file conversion in the QGIS tutorial.
Expand to see the correct header of the showcase friction-pts.xyz file
X Y k_st
315976.648906296 5345616.71281044 40.30
315992.808134594 5345521.13037269 40.30
315983.283370604 5345655.68430873 40.30
315915.433790676 5345754.82689794 40.30
[...]Alternative: Zeichnen Friction Zones in BlueKenue¶
Dieses Verfahren ist eine ungenaue Alternative zu der oben beschriebenen roughness.xyz Kreation aufgrund der schwachen geospatialen Referenzierungskapazitäten von BlueKenue, weshalb die untere instruction box nur für Vollständigkeit vorgesehen ist.
Unfold to read this non-recommended alternative
Beginnen Sie mit der Schaffung neuer geschlossener Linien (Fig. 13), ähnlich wie Polygone, die Rauheitszonen definieren.

Figure 13:Einstellungen in der Speichern Vektorebene als... Popup-Fenster für den Export der Friktionspunkte in eine XYZ (tab-separierte CSV)-Datei.

Figure 14:Dem abgegrenzten Bereich durch die geschlossene Leitung ist ein Reibwert (Roughness) (hier eine Stricklerrauhigkeit von 50) zuzuordnen.
Nach dem Ziehen einer Closed line wird die Taste Esc gedrückt und das Fenster unter Fig. 14 wird angezeigt, wo ein Rauheitswert zugewiesen werden kann. Im Feld Value erhält die Abbildung eine Stricklerrauhigkeit von 50 an eine Closed line namens A-D_substrate. Geben Sie weiterhin Namen an alle relevanten Rauheitsbereiche zu.
Schließlich save die Closed line Objekte als .i2s / .i3s Dateien.
Zonal Friction Mesh (BlueKenue)¶
Dieser Abschnitt geht durch die Interpolation von Reibungswerten auf einer vorhandenen Selefin (.slf) Geometriedatei. Das Schaufenster baut auf der .slf-Datei auf, die in der Telemac pre-processing tutorial erstellt wurde (download qgismesh.slf). Starten Sie mit opening BlueKenue* und öffnen Sie die selafin .slf Datei: klicken Sie auf File****** navigieren Sie in das Verzeichnis, in dem die .slf gespeichert ist, stellen Sie sicher, dass Sie Telemac Selafin File (*.slf), Highlight qgismesh.slf und drücken *********. Ziehen Sie die BOTTOM (BOTTOM)-Schicht aus den Workspace-Datenelementen an Views***2D View (1), um den korrekten Import des Netzes zu überprüfen und zu visualisieren (Fig. 15).

Figure 15:Die Vitrine qgismesh.slf selafin-Datei in BlueKenue geöffnet.
Import Friction Zones¶
Alternativ zur Erstellung von zonalen Reibwerten, die in einer mit QGIS generierten .xyz-Datei gespeichert sind, können Zonen auch direkt in BlueKenue durch eine Reihe von Closed Linien gezogen werden. Aufgrund der sehr begrenzten Kapazitäten von BlueKenue, um sich mit geospatialen Referenzen und Koordinatensystemen (Koordinatenreferenzsystem) zu befassen, ist ** die bevorzugte Option* für die Erstellung von Friktionszoneneingabe ** die obige Anwendung von QGIS*.
Um die oben erstellte .xyz-Datei in BlueKenue zu öffnen:
Datei***** öffnen...*
navigieren Sie in den Projektordner, in dem die
.xyzgespeichert istAlle Dateien (*.*) neben dem Dateinamen: Feld auswählen
Highlight
qgismesh.slf, und drücken Sie Open.

Figure 16:Dem abgegrenzten Bereich durch die geschlossene Leitung ist ein Reibwert (Roughness) (hier eine Stricklerrauhigkeit von 50) zuzuordnen.
Ignorieren die warning-Nachricht (klicken Sie OK). Um die importierten Reibungswerte zu überprüfen und zu visualisieren Rechtsklick auf der Friction-pts (X) Layer > Properties gehen Sie auf die Data Tab > select Z(double), drücken Sie Apply. Dann gehen Sie zum ColourScale Tab, drücken Sie Reset, Apply und OK**.
Überprüfen Sie die korrekte Darstellung der Reibwerte, indem Sie die friction-pts (Z)-Schicht aus den Arbeitsraumdaten auf Views*2D View (1) (Fig. 17) ziehen.

Figure 17:Die importierte Friktion-pts.xyz-Datei (erstellt mit QGIS) visualisiert in BlueKenue.
Falls noch nicht erledigt, importieren Sie die Closed Linien, die die Rauhigkeitszonen in Form von .i2s / .i3s-Dateien darstellen.
Interpolate Friction auf dem Mesh¶
In BlueKenue, go to File > New > 2D Interpolator, which will occur in the Work Space > Data Items. Drag & drop either the friction-pts .xyz points or the Closed line objects delineating roughness zones on the new 2D Interpolator (see Fig. 18).

Figure 18:Ziehen Sie auf einem neuen 2D Interpolator in BlueKenue die Friktionsschnitte (oder geschlossene Linien) durch.
Als nächstes fügen Sie eine neue Variable zum qgismesh.slfNetz hinzu, indem Sie das Selafin qgismesh Objekt (in Work Space****Data Items) und Rechtsklick darauf markieren. Klicken Sie auf ** Variable hinzufügen...** und geben Sie im Popup-Fenster (Fig. 19 oder Fig. 20) Folgendes ein, je nachdem, ob Sie mit Reibwerten arbeiten (wie hier mit Strickler Rauheit gezeigt) oder friction IDs (see below):

Figure 19:Fügen Sie eine neue Variable zum Selafin-Objekt für direkte Reibungswerte hinzu.
Mesh*:
BOTTOMName:
BOTTOM FRICTION(dieses Beispiel)*Units: klar halten (irrelevantes Feld)
*Default Node Value:
30(in diesem Beispiel) für einen Standardwert (Strickler) zu verwenden, wenn keine xyz Friktionspunkte in der Nähe eines Netzknotens gefunden werden können

Figure 20:Fügen Sie eine neue Variable zum Selafin-Objekt für Friktions-IDs hinzu.
Mesh*:
BOTTOMName:
FRIC_ID(muss eingegeben werden, kann nicht aus der Liste ausgewählt werden)*Units: klar halten (irrelevantes Feld)
Standard Node Value:
0(ID zu verwenden, wenn keine xyz Punkte in der Nähe eines Netzknotens gefunden werden können)
Um die Reibwerte auf dem Mesh zu interpolieren, markieren Sie die neue Variable BOTTOM FRICTION (oder FRIC_ID) des qgismesh Objekts in Work Space** Data Items*. Das Anonymat der neuen Variablen kann ignoriert werden. Um die neue Variable auf das Netz abzubilden:
Highlight der neuen Netzvariablen
BOTTOM FRICTION(oderFRIC_ID) (in *Data Items)Gehen Sie zu ToolsMap Object... (Top-Menü in Fig. 21)
Wählen Sie den neuen 2D Interpolator und klicken Sie auf OK, der das *Processing-Fenster öffnet... Popup-Fenster
Nach Abschluss der Verarbeitung klicken Sie auf OK.

Figure 21:Zeigen Sie den Reibwert auf dem neuen 2D Interpolator in BlueKenue.

Figure 22:Passen Sie die Farbskala für BOTTOM FRICTION an.
Überprüfen Sie die richtige Interpolation:
Definieren Sie eine relevante Farbskala:
In Work Space > Data Items*** qgismesh, right-click* auf der neuen BOTTOM FRICTION Variable > Properties***.
In den Eigenschaften gehen Sie auf die Registerkarte ColourScale und verwenden Sie beispielsweise eine Linear-Skala mit
10Levels, ein Min von22und ein Interval von1.8. Das vorbildliche Minima und Intervall sind gute Wahlen für das Schaufenster, aber andere Einstellungen können für andere Anwendungen bevorzugt sein (z.B. bevorzugen Min von0, wenn man Mannings verwendet).
Drag & Drop die Variable BOTTOM FRICTION* in Views > 2D View (1) zur Überprüfung der korrekten Interpolation von Reibwerten (z.B. siehe Fig. 23 für das Schaufenster).

Figure 23:Die korrekt interpolierte neue BOTTOM FRICTION Variable des qgismesh.slf mesh.
Um ***** das selafin mesh mit den interpolierten Reibungswerten zu speichern, right-click auf dem qgismesh selafin object* Properties* gehen Sie auf die Registerkarte Meta Data und geben Sie einen neuen Name ein, z.B. qgismesh-friction. Weiter, *highlight the selafin object (z.B. qgismesh-friction) und click on the disk
symbol. Wenn die Umbenennung keinen Einfluss auf den Dateinamen hatte, bestätigen Sie, dass die bestehende Datei ersetzt wurde.
Telemac Bindings¶
Implementierung in der CAS-Datei¶
Friction Schlüsselwörter¶
The updated qgismesh-friction.slf mesh can be used just like in the steady 2d tutorial, but some keywords need to be modified, even though the BOTTOM FRICTION values assigned in the .slf mesh automatically overwrite the global FRICTION COEFFICIENT keyword in the .cas steering file. However, we need to make Telemac recognize the newly defined BOTTOM FRICTION zones as Strickler roughness type. To this end, change the LAW OF BOTTOM FRICTION to 3 (instead of 4 pointing to Manning’s ), and set the default FRICTION COEFFICIENT to 33 (inverse of = 0.03). The definition of the FRICTION COEFFICIENT is for coherence and is not strictly needed as it will be overwritten by the BOTTOM FRICTION from the .slf mesh.
/ steady2d-zonal-ks.cas steering file
/ ...
/ Friction at the bed
LAW OF BOTTOM FRICTION : 3 / 3-Strickler
FRICTION COEFFICIENT : 33 / will be overwritten by zonal friction values/ steady2d.cas steering file
/ ...
/ Friction at the bed
LAW OF BOTTOM FRICTION : 4 / 4-Manning
FRICTION COEFFICIENT : 0.03 / Roughness coefficientFügen Sie den Buchstaben W zu den grafischen Ausdrucken hinzu, um den Reibungskoeffizienten in die Ergebnisdatei zu schreiben:
/ steady2d-zonal-ks.cas steering file
/ ...
VARIABLES FOR GRAPHIC PRINTOUTS : 'U,V,H,S,Q,W' / add W for friction coefficientDo you have more than 10 different friction zones?
Um die Anzahl der von Telemac erkannten Reibungszonen zu erhöhen, setzen Sie das MAXIMUM NUMBER OF FRICTION DOMAINS Schlüsselwort zum Beispiel an 20:
/ steady2d-zonal-ks.cas steering file
/ ...
MAXIMUM NUMBER OF FRICTION DOMAINS : 20 / default is 10Erste Hotstart-Bedingungen (optional)¶
Die folgenden Beschreibungen beziehen sich auf Abschnitt 4.1.3 in der Telemac2d manual.
Um die Simulation zu beschleunigen, nutzt dieses Tutorial die Ausgabe des steady 2d simulation (obwohl mit einer Druckzeit von 2500 Schritten neu erstellt wird). Diese Art der Modell initialization wird auch hotstart genannt, hier basierend auf der stetigen Ergebnisdatei r2dsteady-t15k.slf, die als *PREVIOUS COMPUTATION FILE definiert werden muss:
/ steady2d-zonal-ks.cas steering file
/ ...
COMPUTATION CONTINUED : YES
PREVIOUS COMPUTATION FILE : r2dsteady-t15k.slf / results of 35 CMS steady simulation after 15000 timestepsMit den Hotstart-Bedingungen können die Grenzen erleichtert werden:
/ steady2d-zonal-ks.cas steering file
/ ...
/ Liquid boundaries
PRESCRIBED FLOWRATES : 35.; 0.
PRESCRIBED ELEVATIONS : 0.; 371.33Damit diese Randbedingungen wirksam werden, müssen die Flüssigkeitsgrenzen aus der stationären 2d-Simulation geändert werden:
offen boundaries.cli in einem text editor
die
5 5 5(beschrieben Q und H) vorgelagerte Grenze finden und durch4 5 5(beschrieben nur Q) ersetzenspeichern und schließen boundaries.cli
Weitere Informationen finden Sie im Spotlight Kapitel unter boundary conditions
alternativ, download der angepassten Grenzen.cli here.
Schließlich kommentieren Sie alle anfänglichen Bedingungen Keywords in der .casLenkungsdatei, zum Beispiel:
/ steady2d-zonal-ks.cas steering file
/ ...
/ INITIAL CONDITIONS : 'ZERO DEPTH'
/ INITIAL DEPTH : 0.005Simulation der Friction Zone¶
Stellen Sie sicher, dass alle benötigten Dateien in einem Simulationsordner platziert werden (z.B. /HOME/modeling/friction-tutorial/), insbesondere:
die qgismesh
-friction .slfmechanisch mit BOTTOMundBOTTOM FRICTIONberichtigt boundaries.cli
die r2dsteady-t15k.slf-Ergebnis, um den Hotstart zu aktivieren
die steady2d
-zonal -ks .cas Lenkdatei mit aktualisierten Keywords.
Navigate (cd) to the Telemac installation directory (HOMETEL) to activate (source) the Telemac environment in Terminal (use the same environment as for compiling Telemac):
cd ~/telemac/v9.0.0/configs
source pysource.gfortranHPC.shAnschließend cd in den Simulationsordner und führen Sie die Simulation, möglicherweise mit der -s-Flagge, zurück flux convergence:
cd ~/modeling/friction-tutorial/
telemac2d.py steady2d-zonal-ks.cas -sDer erfolgreiche Simulationslauf wird mit so etwas abgeschlossen sein:
Unfold to see the expected Terminal output
================================================================================
ITERATION 10000 TIME: 6 H 56 MIN 40.0000 S ( 25000.0000 S)
--------------------------------------------------------------------------------
[...]
--------------------------------------------------------------------------------
BALANCE OF WATER VOLUME
VOLUME IN THE DOMAIN : 268926.5 M3
FLUX BOUNDARY 1: 35.00000 M3/S ( >0 : ENTERING <0 : EXITING )
FLUX BOUNDARY 2: -34.99963 M3/S ( >0 : ENTERING <0 : EXITING )
RELATIVE ERROR IN VOLUME AT T = 0.2500E+05 S : 0.2327571E-14
--------------------------------------------------------------------------------
FINAL BALANCE OF WATER VOLUME
RELATIVE ERROR CUMULATED ON VOLUME: 0.4112446E-14
INITIAL VOLUME : 268899.0 M3
FINAL VOLUME : 268926.5 M3
VOLUME THAT ENTERED THE DOMAIN: 27.48362 M3 ( IF <0 EXIT )
TOTAL VOLUME LOST : 0.1105946E-08 M3
END OF TIME LOOP
EXITING MPI
*************************************
* END OF MEMORY ORGANIZATION: *
*************************************
CORRECT END OF RUN
ELAPSE TIME :
3 MINUTES
3 SECONDS
Note: The following floating-point exceptions are signalling: IEEE_UNDERFLOW_FLAG IEEE_DENORMAL
STOP 0
... merging separated result files
... handling result files
moving: r2dsteady-ks-zonal.slf
copying: steady2d-zonal-ks.cas_2030-07-28-14h55min04s.sortie
... deleting working dir
My work is done
Die resultierenden flux convergence und convergence rates sollten ähnlich aussehen:

Figure 24:Flux-Konvergenz über die beiden Grenzen der Hotstart-Simulation Telemac2d, beginnend zu einer Simulationszeit von 15000 Zeitschritten.

Figure 25:Die Konvergenzrate als Funktion 15000 Simulations-Zeitschritte der hotstarted stationären 2d-Simulation mit Reibzonen.
Das benötigte steady2d-zonal-ks.cas 2023-07-28-14h55min04s ist hier zur Verwendung mit Anweisungen aus dem Scheinwerferkapitel unter convergence erhältlich.
Arbeiten mit Friction-IDs¶
Die Friktionszonen können auch über Friktions-IDs zugeordnet werden, die dann eine Zonendatei und eine Friktionsdatendatei einrichten müssen, wie sie beispielsweise im Donau-Beispiel (HOMETEL/examples/telemac2d/donau/) dargestellt ist.
Im Schaufenster dieses Tutorials müssen die in Tab. 1 definierten Friktions-IDs mit Friktionstabellen an die BOTTOM FRICTION Variable des .slfNetzes vergeben werden. Die entsprechenden Dateien können von unseren Repositories heruntergeladen werden:
Reib-mit-IDs.xyz für Interpolation in BlueKenue (see above oder direkt
get qgismesh-frictionIDs.slf mit
BOTTOMundFRIC_IDstattBOTTOM FRICTIONStrickler Rauheitskoeffizienten (verwendet Standardreibung ID0).
reibung.tbl & CAS¶
Friktion erstellen.tbl¶
Erstellen Sie eine Friktionstabellendatei namens friction.tbl (berücksichtigen Sie diese friction.tbl template) mit folgendem Inhalt, wobei die noEinträge (hier ab Zeile 36) dem Netz zugewiesenenFRIC_ID entsprechen müssen (Recall Fig. 20):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41* ----------------------------------------------------------------------------- * EXAMPLE ADAPTED FROM HOMETEL/examples/telemac2d/donau/ * * Implemented roughness laws: * NOFR : no friction (number of values) * HAAL : Haaland law (1 value : rB) * CHEZ : Chezy law (1 value : rB) * STRI : Strickler law (1 value : rB) * MANN : Manning law (1 value : rB) * NIKU : Nikuradse law (1 value : rB) * LOGW : Log Wall law (1 value : rB) * COWH : Colebrook-White law (2 values : rB, nDef) * * no : FRIC_ID assigned to the SLF mesh * * Riverbed * ------------- * typeB : roughness law for riverbed * rB : friction value for riverbed * nDefB : Mannings n for shallow flow zones * * Later walls (only with k-epsilon model) * ----------------------------------------- * typeS : roughness law for walls (option) * rS : friction value for walls (option) * nDefS : Mannings n for shallow waters (option) * * Non-submerged Vegetation (if needed) * ------------------------ * dp : mean diameter (option) * sp : averaged distance between roughness elements (option) * * ----------------------------------------------------------------------------- * no typeB rB NDefB typeS rS NDefS dp sp * 0 STRI 33.0 NULL 1 STRI 34.6 NULL 2 STRI 27.7 NULL 3 STRI 40.3 NULL 4 STRI 22.7 NULL END
Program 1:Example for a friction(.tbl) ID table.
Link Reibung.tbl in CAS-Datei¶
Um die Reibungsdaten zu aktivieren, fügen Sie die folgenden Schlüsselwörter in die Steuerungsdatei .cas ein und deaktivieren Sie alle nichtwandbezogenen FRICTION-Keywords:
/ steady2d-zonal-ks.cas steering file
/ ...
/ ACTIVATE these keywords
FRICTION DATA : YES / default is NO
FRICTION DATA FILE : 'friction.tbl'
MAXIMUM NUMBER OF FRICTION DOMAINS : 20 / consider to increase (default is 10)/ steady2d-zonal-ks.cas steering file
/ ...
/ DEACTIVATE these keywords
/ LAW OF BOTTOM FRICTION : 3 / 3-Strickler
/ FRICTION COEFFICIENT : 80 / not use with zonal frictionSpeichern Sie die .cas Lenkdatei.
Telemac mit Friction-IDs ausführen¶
Um Telemac mit Friktions-IDs zu betreiben, stellen Sie sicher, dass die oben angegebenen Keywords in der Steuerungsdatei .cas aktiviert werden. Die benötigten Dateien umfassen jetzt:
qgismesh
-frictionIDs .slf (mesh mit FRIC_ID)boundaries.cli oder Hotstart-Bedingungen
r2dsteady-t15k.slf-Ergebnis, um den Hotstart zu aktivieren
steady2d
-zonal -ID .caslenkdatei aktualisierte Schlüsselwörter friction.tbl mit Friktionsausweisen
Mit diesen Dateien aktivieren und ausführen Telemac wie üblich:
cd ~/telemac/v9.0.0/configs
source pysource.gfortranHPC.sh
cd ~/modeling/frictionID-tutorial/
telemac2d.py steady2d-zonal-ID.casErweiterte Friktionsroutinen¶
Änderung des FRICTION USER Fortran Unterprogramme ist nicht zwingend für die Arbeit mit Reibzonen, sondern kann nützlich sein, um das Verhalten von Rauheitsgesetzen umzusetzen oder anzupassen. Um z.B. ein FRICTION USER-Unterprogramm zu aktivieren, um die variable Leistungsgleichung von Ferguson (2007):
Kopieren Sie die FICTION USER-Unterprogrammvorlage von
HOMETEL/sources/telemac2d/friction_user.fin einen neuen Ordner Ihres Simulationsverzeichnisses, zum Beispiel:
/HOME/modeling/frictionID-tutorial/user_fortran/friction_user.fBearbeiten von
friction_user.fändern und speichern.Sagen Sie der Steuerung (
.cas)-Datei, um die modifizierte FRICTION USER Fortran-Datei zu verwenden, indem Sie das KeywordFORTRAN FILE : 'user_fortran'hinzufügt, wodurch Telemac2d Fortran-Dateien im Unterordner/user_fortran/aufruft.
- Díaz Gómez, R., Pasternack, G. B., Guillon, H., Byrne, C. F., Schwindt, S., Larrieu, K. G., & Solis, S. S. (2022). Mapping Subaerial Sand-Gravel-Cobble Fluvial Sediment Facies Using Airborne Lidar and Machine Learning. Geomorphology, 401, 108106. https://www.sciencedirect.com/science/article/pii/S0169555X21005146
- Google. (nd). Google Satellite Imagery. https://mt1.google.com/vt/lyrs=s&x=%7Bx%7D&y=%7By%7D&z=%7Bz%7D
- Meyer-Peter, E., & Müller, R. (1948). Formulas for Bed-Load transport. IAHSR, Appendix 2, 2nd meeting, 39–65. http://resolver.tudelft.nl/uuid:4fda9b61-be28-4703-ab06-43cdc2a21bd7
- Strickler, A. (1923). Beiträge zur Frage der Geschwindigkeitsformel und der Rauhigkeitszahlen für Ströme, Kanäle und geschlossene Leitungen [Contributions to the question of the velocity formula and the roughness figures for streams, channels and closed pipes]. Mitteilungen Des Eidgenössischen Amtes Für Wasserwirtschaft, Switzerland, 16, 357.
- Rickenmann, D., & Recking, A. (2011). Evaluation of flow resistance in gravel-bed rivers through a large field data set. Water Resources Research, 47, W07538. 10.1029/2010WR009793
- Ferguson, R. (2007). Flow resistance equations for gravel- and boulder-bed streams. Water Resources Research, 43, W05427. 10.1029/2006WR005422