Neben der SMS 2dm-Datei aus dem Vorverarbeitung mit QGIS tutorial benötigt der numerische Motor von BASEMENT eine Modellkonfigurationsdatei (model.json) und eine Simulationsdatei (simulation.json), die beide automatisch von BASEMENT erstellt werden.
In den folgenden Abschnitten wird beschrieben, wie BASEMENT die gewünschten JSON-Dateien in einem Projektverzeichnis wie C:\Basement\steady2d-tutorial\ (Windows) oder ~/Basement/steady2d-tutorial/ (Linux) erstellt. Daher ist der *erste Schritt, ein Projektverzeichnis (Ordner) zu erstellen.
Place die folgenden Eingabedateien im Projektordner:
Die SMS 2dm-Datei mit interpolierten unteren Erhebungen aus dem Vorverarbeitung mit QGIS tutorial (**prepro-tutorial quality-mesh-interp.2dm).
Eine stationäre Entladungs-Inflow-Datei (Flach-Hydrograph) für die vorgeschaltete Randbedingung kann heruntergeladen werden here (falls erforderlich, kopieren Sie die Dateiinhalte lokal in einen Texteditor und speichern Sie die Datei als *steady-inflow.txt im Projektverzeichnis).
Initiieren Sie das Modell¶
Dieser Abschnitt führt durch das Modell-Setup, das in einer Datei namens model.json gespeichert wird (hier: im Ordner /steady2d-tutorial/). Start BASEMENT und ** Wählen Sie den oben erstellten Ordner ** als Scenario Directory aus (siehe Fig. 1).

Figure 1:BASEMENT Willkommensbildschirm nach der Auswahl eines Scenario Verzeichnis mit der Save Project Schaltfläche in der oberen rechten Ecke. Die Verzeichnisreferenzen können auf anderen Plattformen unterschiedlich aussehen (z.B. mit "C:/... unter Windows).
Weiter, linksklick auf SETUP, dann Rechtsklick und wählen Add item BASEHPC*. Eine neue Registerkarte namens Define Scenario Parameter öffnet. Im Moment ignorieren Sie die Warn- und Fehlermeldungen (rote Tags) und definieren Sie einen simulation name:
Rechtsklick auf SETUP* und wählen Add item ‘simulation name’*. Ein neuer Eintrag namens simulation name wird am unteren Rand der Registerkarte Define Scenario Parameter angezeigt.
Scroll to the bottom, double-click “RUNFILE” (Standardwert hinter simulation name) und ** ersetzen***
RUNFILEmitsteady2d.
Scrollen Sie zurück zur *top und save the project, um mit den nächsten Abschnitten fortzufahren.
Geometrie und Regionen¶
Die GEOMETRY-Gruppe im Define Scenario Parameter-Tab sagt das Modell, welches SMS 2dmNetzdatei verwendet und die Definition von Regions- und Flüssigkeitsgrenzeneigenschaften ermöglicht. Dazu die folgenden Einstellungen:
Double-click on the Value field of the mesh_file row and click on the folder symbol

Wählen Sie im Popup-Fenster die previously created prepro-tutorial_quality-mesh-interp.2dm und klicken Sie auf Enter.
Das im letzten Kapitel erstellte Netz enthält mehrere Regionen, die auch im Modellaufbau definiert werden müssen:
Rechtsklick auf GEOMETRY* > Add item REGIONDEF
Add 5 Region Items von Rechtsklick auf den neuen REGIONDEF Eintrag > Add item Die Anzahl der Regionen sollte den in der pre-processing tutorial genannten Regionen entsprechen, die auch unter Tab. 1 aufgeführt sind.
Definieren Sie die fünf Regionen durch einen right-click index*****
Jeder **-Index [0]*-Artikel erhält eine ganze Zahl, die dem MATID-Feld in der Region Punkte formfile zugeordnet ist (siehe Abschnitt Landmarken im Vorverarbeitung mit QGIS tutorial).
Der name jeder Region entspricht dem type Feld der MATID.
Table 1 fasst die erforderlichen Definitionen der Region zusammen. Mit den definierten Regionen und der Maschendatei sollte die GEOMETRY-Gruppe Fig. 2 ähneln.
Table 1:REGIONDEF items and their definitions to be defined in BASEMENT’s model setup.
REGIONDEF | [0] | [1] | [2] | [3] | [4] |
|---|---|---|---|---|---|
*Index [0] | 1 | 3 | ANHANG | ||
** Name** | Flussbett | Block-Rampe | Kroatisch | Flutpla | sand deposit |

Figure 2:Die GEOMETRY-Gruppe mit REGIONDEFs und die Referenz der höheninterpolierten Mesh-Datei (prepro-tutorial quality-mesh-interp.2dm).
Die liquid (hydraulic) boundaries aus dem vorverarbeitenden Tutorial definieren geographisch inflow und ausfluss-Zeilen mit *stringdef-Attributen, die in die Mesh-Datei integriert sind (prepro-tutorial quality-mesh-interp.2dm) mit Höheninformationen (Elevation). Um die Arten und die Eigenschaften der Flüssigkeitsgrenzen zu kommunizieren, füllen Sie den Abschnitt GEOMETRY:
Rechtsklick auf GEOMETRY* > Add item STRINGDEF.
Klicken Sie auf den neuen STRINGDEF Artikel und wählen Sie ** Artikel hinzufügen zweimal. So sollten zwei Gegenstände zur Definition der vor- und nachgeschalteten Flüssigkeitsgrenzen zur Verfügung stehen.
Artikel definieren [0] mit:
name =
inflowupstream direction =
right
Artikel definieren [1] mit:
name =
outflowupstream direction =
right
Wenn Sie die bereitgestellte Liquid-Grenzen formfile zur Erstellung der Mesh-Datei verwendet haben, muss die upstream directionright sein. Figure 3 zeigt die Definition der STRINGDEF-Elemente mit der bereitgestellten Flüssigkeitsgrenzen formfile.

Figure 3:Die GEOMETRY-Gruppe mit STRINGDEFs unter Verwendung der bereitgestellten Flüssigkeitsgrenzen formfile im Rechennetz.
Hydraulik¶
Hydraulische Modellmerkmale, die für den oben definierten Geometrieaufbau gelten, sind in der HYDRAULICS Gruppe des Modellaufbaus von BASEMENT definiert. Dieses Tutorial verwendet das default für INITIAL Bedingungen, das “dry” ist. Auch Behalten Sie den Standard PARAMETERS für *CFL = 0.9, fluid density = 1000.0, max time step = 100.0, minimum water tiefe = 0.01.
Hydraulische Mengen, wie Wassertiefe und Entladung, müssen den oben definierten Flüssigkeitsgrenzen zugeordnet werden, so dass das numerische Modell weiß, wie viel Wasser es durch das Modell laufen muss. Fügen Sie daher die folgenden Randdefinitionen in der HYDRAULICS-Gruppe hinzu:
Rechtsklick* auf HYDRAULICS* und wählen ** Objekt hinzufügen BOUNDARY***.
Rechtsklick* auf dem neuen BOUNDARY Artikel und wählen Sie ** Artikel hinzufügen STANDARD***.
Klicken Sie zwei Mal auf den neuen STANDARD Artikel und wählen Sie ** Artikel hinzufügen** jedes Mal. Es sollten also zwei Elemente *[0] und [1] vorliegen, um die Zu- und Abflussbedingungen zu definieren.
Definieren Sie Artikel [0] mit folgenden inflow Bedingungen:
Für name geben Sie
inflowein.Für string name wählen Sie inflow (definiert oben).
Typ* Wählen Sie
uniform_inKlicken Sie auf [0] und wählen Sie ** Artikel ‘Slope’ einfügen.
Für den neuen Posten slope definieren Sie einen Wert von
0.0044. Nach Eingabe des Steigungswerts überprüfen Sie, ob BASEMENT den Dezimalabscheider richtig verstanden hat: Achten Sie darauf, den Dezimalabscheider Ihres Systemlokales zu verwenden (z.B. auf einer europäischen Tastatur, kann es notwendig sein,,anstelle von.zu verwenden.Rechtsklick auf [0] und wählen Add item ‘discharge file’*.
In der neuen discharge file Zeile klicken Sie auf das Ordnersymbol, um die oben beschriebene steady-inflow.txt Datei auszuwählen.
Definitionsposition [1] mit folgenden outflow Bedingungen:
Für name tippen Sie auf
outflow.Für string name wählen Sie den oben definierten
outflowSTRINGDEF.Typ* Wählen Sie
uniform_outRechtsklick auf [1] und wählen ** Artikel ‘Slope’** einfügen.
Für den neuen Posten slope definieren Sie einen Wert von
0.0044.
Figure 4 zeigt die Definitionen von STANDARD BOUNDARY-Elementen in der HYDRAULIC Modell-Setup-Gruppe von BASEMENT.

Figure 4:Der HYDRAULIC-Eintrag mit BOUNDARY > STANDARD-Definitionen für die stromaufwärts (inflow) und stromabwärts (outflow) Flüssigkeitsmodellgrenzen.
Jede Oberfläche hat Unvollkommenheiten, die Turbulenzen verursachen, wenn Flüssigkeiten wie Wasser über sie fließen. Die durch Oberflächenstörungen verursachten Turbulenzen führen zu verlangsamten Strömungen nahe der Oberfläche. Da das Wasser in Flüssen fast immer sehr nahe an der Erdoberfläche in Form des Flussbettes relativ zu den Unvollkommenheiten eines Flussbettes ist, ist der Einfluss von reibungsinduzierten Turbulenzen beträchtlich. Bei hydrodynamischen Modellen wird die reibungsinduzierte Turbulenz der rauen Oberfläche von Flussbetten durch einen Friction Koeffizient, wie z.B. den Strickler Koeffizient ** oder* sein inverse-Wert mit Mannings * berechnet. Die Übung auf 1d Hydraulik (Manning-Strickler-Formel) im Python Kapitel erklärt beide Rauheitskoeffizienten im Detail. Dieses Tutorial verwendet einen globalen Strickler-Koeffizienten von =30 (fictive Einheiten von m/s), der die Eigenschaften eines mäandernden Kies-Kiesel-Kiesel-Flussbetts Strickler, 1923 berücksichtigt. Zu diesem Zweck ** Rechtsklick** auf der HYDRAULICS-Gruppe und wählen ** Artikel FRICTION** einfügen. Definieren Sie den neuen FRICTION Artikel mit:
default friction = 30.0
Typ* =
strickler
Als nächstes ordnen Sie regionsspezifische Strickler-Werte für die fünf unter Tab. 1:
Rechtsklick auf FRICTION > ** Artikelregionen hinzufügen*.
Rechtsklick auf den neuen Regionen Artikel und wählen Sie ** Artikel hinzufügen** (*fünf Mal für die fünf Regionen).
Die Werte friction und region name**, die unterTab. 2 an die Posten fünf Regionen aufgeführt sind.
Table 2:Strickler values for HYDRAULIC FRICTION regions.
Region | Flussbett | Blockrampen | Gravel Banken | Floodplas | Sand |
|---|---|---|---|---|---|
friction | ANHANG | 183 | KAPITEL | 14 | |
region name | Flussbett | Block-Rampe | Kroatisch | Flutpla | sand deposit |
Figure 5 zeigt die Definition der hydraulischen FRICTION-Elemente im Modellaufbau von BASEMENT.

Figure 5:Die HYDRAULICS-Gruppe mit FRICTION-Definitionen für das Modell und seine Regionen.
Physikalische Eigenschaften¶
Die Definition der Gruppe PHYSICAL PROPERTIES ist für BASEPLANE 2D obligatorisch. Dieses Tutorial verwendet die default physikalischen Eigenschaften (d.h. gravity ist 9.81).
Schreibe Setup Datei¶
Stellen Sie sicher, dass jede mögliche Warnung oder Fehlermeldung behoben wird und dass das Modell-Setup Fig. 6 ähnelt. Bevor Sie das Projekt exportieren, speichern Sie das Simulations-Setup (klicken Sie auf das Laufwerkssymbol in der oberen rechten Ecke in Fig. 6). Doppel-Check, dass BASEMENT die Dateien korrekt geschrieben hat *model.json, *simulation.json, und results.json im Projektverzeichnis (z.B. /Basement/steady2d-tutorial/). Exportieren Sie das Modell-Setup, indem Sie auf die Schaltfläche **** (unten rechts in Fig. 6) klicken.

Figure 6:The final model setup to export (write) to a setup (*.h5 HDF) file.
Die Registerkarte Console aktiviert automatisch und informiert über den Exportfortschritt. Wenn die *Error-Ausgang-Kanäle nicht leer ist, überprüfen Sie die Fehlermeldungen und beheben Sie die Ursachen.
Setup Simulationsdatei¶
Nach dem erfolgreichen Export des Modellaufbaus wird das Simulation Band (links unter Fig. 6) zur Einrichtung der *simulation.json Datei im Projektordner zur Verfügung gestellt. Klicken Sie auf das *Simulation Band, um die simulation.json Datei einzurichten:
Rechtsklick* auf die SIMULATION-Gruppe in der aktivierten Define Simulation Run-Register und wählen Sie Add item ‘OUTPUT’****.
Rechtsklick* auf dem neuen OUTPUT*-Element, um fünf Ausgabetypen zu definieren:
[0] =
water_depth[1] =
water_surface[2] =
bottom_elevation[3] =
flow_velocity[4] =
ns_hyd_discharge
Klicken Sie auf die SIMULATION Gruppe und wählen Sie ** Produkt hinzufügen ‘TIME’*.
Define* ********* Artikel mit:
end* =
15000.0out =
1000.0start* =
0.0
Die im Abschnitt TIME definierten Werte beziehen sich auf die gleichen Zeiteinheiten wie in der oben genannten und verknüpften steady-inflow.txt-Datei definiert. Figure 7 zeigt BASEMENT mit den Definitionen im Simulationsband.

Figure 7:Die Einrichtung des Simulationsbands mit der Definition von fünf Ausgabeparametern und der Simulationszeit.
Laufsimulation (Steady 2d)¶
Die Simulation kann mit verschiedenen Optionen ausgeführt werden, die vor allem die Rechenzeit beeinflussen (unter Fig. 7).
Der Standard Hardware Rahmen ermöglicht den Wechsel zwischen einer und mehreren geschliffenen CPU-Nutzung. Die Standardoption ist multi-Threaded, die mit modernen Computern dringend empfohlen wird.
Der High-Performance Hardware Rahmen ermöglicht die Verwendung einer grafischen Verarbeitungseinheit (GPU), die deutlich schneller als CPU sein kann, aber nur dann, wenn ein leistungsstarker Grafikprozessor verfügbar ist. Eine standardmäßige GPU hat keinen Vorteil und kann die Berechnung sogar verlangsamen. Wenn Sie nicht sicher sind über die GPU Ihres Computers, halten Sie die Standardoptionen (alle Leerzeichen).
Der Optionen Rahmen ermöglicht die Auswahl:
Die Anzahl der CPU-Kerne, die die Verwendung mehrerer CPUs eines Computers ermöglicht. Zeitgenössische Computer haben meistens mindestens 8 Kerne, die alle verwendet werden können, wenn Sie auf einem Server oder Computer arbeiten, der keinen anderen Zweck als numerische Modelle hat. Andernfalls halten Sie das System funktionsfähig, während die Simulation mit der Hälfte der verfügbaren Kerne läuft.
Numerische Präzision; für schnellere Simulationen wählen Sie Eine Präzision. Für dieses Tutorial funktioniert die Doppel-Präzision auch ausreichend schnell, aber in der Praxis ist Eine-Präzision meist ausreichend und deutlich schneller.
Zum Starten der Simulation klicken Sie auf die Schaltfläche Run auf der unteren rechten Seite des BASEMENT-Fensters. Je nach Hardware- und Leistungseinstellung (z.B. Anzahl der CPUs) dauert die Simulation des Tutorialmodells etwa 1-10 Minuten. BASEMENT informiert über den Simulationsfortschritt im Rahmen Console Output, bei dem der Error Output-Rahmen leer bleiben soll (siehe Fig. 8). Wenn ein Fehler auftritt, gehen Sie zurück zu den obigen Abschnitten (oder sogar an die mesh generation tutorial), um Fehler zu beheben.

Figure 8:BASEMENT nach erfolgreicher Simulation.
Export Simulationsergebnisse¶
Sobald die Simulation erfolgreich abgeschlossen ist, gehen Sie zum BASEMENT *Ergebnisse Band. Finden Sie die RESULTS Gruppe in der Export Simulation Results Tab und:
Rechtsklick auf der RESULTS-Gruppe und wählen Add item ‘EXPORT’*.
Klicken Sie auf den neuen EXPORT Artikel und wählen Sie ** Artikel hinzufügen*.
Wählen Sie xdmf im Feld format des neuen Artikels [0].
Save the project (Disk-Symbol in der oberen rechten Ecke) und finden Sie den Export* in Fig. 9. Der Export der Simulationsausgänge an results.xdmf wird im Rahmen Console Output bestätigt.

Figure 9:Aufbau des Ergebnisbandes nach einer erfolgreichen Simulation.
Nachbearbeitung mit QGIS¶
Starten Sie QGIS und erstellen Sie ein neues Projekt oder nutzen Sie das Projekt aus dem Vorverarbeitung mit QGIS tutorial. Speichern Sie das neue Projekt mit (einem anderen) aussagekräftigen Dateinamen im BASEMENT Modellierungsordner (z.B. /Basement/steady2d/postpro-tutorial.qgz*). Aufbau des Projekts ähnlich wie bei der Vorverarbeitung:
Verwenden Sie das Koordinatenreferenzsystem Deutschland Zone 4 (QGIS Setup Sektion).
Fügen Sie eine satellite imagery basemap (XYZ-Fliese) hinzu, um die Interpretation der Simulationsergebnisse zu erleichtern.
Importieren Sie das höheninterpolierte Qualitätsmaschen prepro-tutorial_quality-mesh-interp.2dm (Layer*Add Layer*******Add Mesh Layer...).
Import results.xdmf¶
Die Simulationsergebnissedatei results.xdmf kann in QGIS als zusätzliche Datenquelle des hochinterpolierten Qualitätsnetzes (prepro-tutorial_quality-mesh-interp.2dm) aus dem Vorverarbeitungs-Tutorial geladen werden:
Im Layers-Panel, double-click auf prepro-tutorial quality-mesh-interp.2dm um das *Layer Properties-Fenster zu öffnen.
Im Fenster Layer Properties gehen Sie zum Source Band.
Im *Available Datasets Frame (siehe Fig. 10) klicken Sie auf den Assign Extra Data Set an Mesh Button
und wählen Sie results.xdmf.
Im Rahmen Static Dataset wählen Sie eine Scalar Dataset Group und verwenden Sie den maximalen Zeitschritt (d.h.
625 d 00:00:00bei Simulationszeit =15000 mit einem Ausgabeintervall von 1000).Klicken Sie auf *Bewerben und OK.
Figure 10 zeigt einen beispielhaften Aufbau der Ausgangsdateninterpolation auf dem Rechennetz. Um andere Ausgabeparameter und/oder andere Simulations-Zeitschritte zu visualisieren, ändern Sie die Definitionen im Static Dataset Rahmen.

Figure 10:Zuordnung von Netzdaten zum Rechennetz.
Um die Visualisierung der Ergebnisse zu verbessern, öffnen Sie die Layer Properties der Netzschicht wieder und gehen Sie zum Symbology Band. Visualisieren Sie einen Simulationsausgangsparameter wie flow velocity, wie folgt:
In der Registerkarte Einstellungen (Hammersymbol in der oberen linken Ecke unter Fig. 11) finden Sie die Liste Gruppen.
In der Groups Listbox finden Sie den Parameter zur Visualisierung (z.B. *flow velocity) und aktivieren das Kontursymbol.
Wechseln Sie auf die Registerkarte Contours neben der Registerkarte Einstellungen (aufgeleuchtete Box im oberen linken Bereich von Fig. 11) und wählen Sie einen Color Ramp.
Nach der Definition einer Visualisierung klicken Sie auf *Apply und OK.

Figure 11:Visualisieren Sie den Flow velocity-Parameter mit den Symbology-Steuerungen. Die roten Boxen markieren relevante Registerkarten und Einträge.
Figure 12 zeigt eine Visualisierung der Strömungsgeschwindigkeit am Ende der Simulation. Die Fließgeschwindigkeitsergebnisse sind auch als Videosequenz verfügbar (download).

Figure 12:Nach Anwendung der obigen Symbology-Einstellungen: Die Strömungsgeschwindigkeit ist in roten Tönen dargestellt.
Raster-Ausgänge¶
Das Gridded Cell (Raster) Daten-Format ist für viele Post-Processing-Aufgaben wie Landkarte Algebra (z.B. für die Lebensraumanalyse oder die Bewertung von Eindringbereich und Tiefe) nützlich. Zu diesem Zweck bietet QGIS das Rasterize mesh dataset Tool zur Umwandlung von Netzdaten zu jedem Simulationszeitpunkt an eine Raster (z.B. als GeoTIFF). Um das Rasterize mesh dataset Tool zu öffnen, gehen Sie entweder auf Processing** Toolbox oder stellen Sie sicher, dass die View*** Panels**** Processing Toolbox* geprüft wird. In der Processing Toolbox klicken Sie auf die Mesh-Gruppe und klicken Sie auf Rasterize mesh dataset* (siehe auch Fig. 13).

Figure 13:Öffnen Sie das Rasterize-Mesh-Tool in QGIS’ Processing Toolbox.
Geben Sie folgende Einstellungen im Fenster Rasterize ein (siehe auch Fig. 14):
Stellen Sie die *Input Mesh Layer an
prepro-tutorial_quality-mesh-interp.Klicken Sie im Datensatzgruppen-Rahmen auf die ... Schaltfläche > ** Wählen Sie in Verfügbaren Datensatzgruppen* und wählen Sie ** einen Parameter** (z.B. flow velocity). Dann klicken Sie auf ** Zurück*
Taste. Stellen Sie sicher, dass die Datensatzgruppen Leinwand nur 1 ausgewählt option enthält. Ansonsten wird das Tool ein messy Multiband Raster erstellen.Im Datensatz-Zeit-Frame können Sie den Dataset Gruppen-Zeitschritt Funk-Button überprüfen und den letzten Simulations-Zeitschritt (d.h.
625 d 00:00:00) auswählen.Im Feld Extent [optional] klicken Sie auf den ... Knopf > Calculate from Layer > prepro-tutorial quality-mesh-interp.
Für Pixel-Größe tippen Sie auf
2.0m (je größer diese Zahl ist, desto gröber wird der Output-Raster sein).** Koordinatensystem ausgeben** Wählen Sie
Project CRS: ESRI:31494 - Germany_Zone_4.Definieren Sie eine Output-Rasterschicht, indem Sie auf den *... Button > Save to File klicken. Gehen Sie in das Zielverzeichnis (z.B.
C:/Basement/steady2-tutorial/) und geben Sie einen Rasternamen ein, wie z.B.u-end.tif(ufür Strömungsgeschwindigkeit,endfür den letzten Zeitschritt und.tiffür GeoTIFF). Klicken Sie auf Save.Klicken Sie auf die Schaltfläche Run, um das Rasterdatenset zu rasterisieren.
Nach der erfolgreichen Rasterung schließen Sie das Rasterize Mesh Dataset Fenster mit einem Klick auf die *Close Taste.

Figure 14:Einstellungen zum Export von Simulationsergebnissen mit dem Raster-Tool von QGIS.
Um die Visualisierung des neuen (Flow Speed)-Rasters zu verbessern, doppelklicken Sie auf den neuen Raster im Layers-Panel und wechseln Sie auf den Symbology-Tab. Wählen Sie Singleband pseudocolor für Render Typ (im oberen Bereich des Fensters) und eine Color ramp. Um Nullwert-Pixel zu unterdrücken, doppelklicken Sie auf das Color des 0-Value-Feld, und im Select color-Fenster reduzieren Sie das Opacity auf 0*. Figure 15 zeigt ein Beispiel für die Visualisierung des exportierten Strömungsgeschwindigkeitsrasters.

Figure 15:Ein Singleband Pseudocolor (Layer Properties > Symbology) stellt den exportierten GeoTIFF-Durchflussgeschwindigkeitsraster mit einer Reds Farbrampe und Nullwert-Pixel auf Null-Optik dar, überlagert auf Google-Satellitenbild Google, n.d..
Mesh Visualisierung mit Krebs¶
Das Open-Source-Plugin Crayfish ermöglicht die Visualisierung von Mesh-Werten (z.B. Änderung von Node-Werten im Laufe der Zeit) mit vielen Features, wie zum Beispiel der Export von Video-Animationen von Modellergebnissen. Um ein Video von z.B. die Strömungsgeschwindigkeitsausgänge an den 1+15 Simulationszeitpunkten zu erstellen, verwenden Sie das Crayfish Plugin wie folgt:
In QGIS stellen Sie sicher, dass das Crayfish-Plugin installiert ist (Recall the QGIS instructions).
Im Layer-Panel wählen Sie prepro-tutorial quality-mesh-interp*.
Mit preprotutorial quality-mesh-interp ausgewählt, gehen Sie zu Mesh* (Dropdownmenü oben) > Crayfish* > Export Animation ... (wenn die Schicht nicht hervorgehoben wird, erscheint eine Fehlermeldung: Bitte wählen Sie eine Mesh Layer für den Export).
Im Fenster Export Animation gehen Sie auf die Registerkarte General und definieren einen Ausgabedateinamen, indem Sie auf die Schaltfläche ... klicken (z.B.
velocity-video.avi).Klicken Sie auf OK.
Das erste Mal, dass ein Video exportiert wird, erfordert Crayfish die Definition eines *FFmpeg Video-Encoder und führt durch die Installation (falls erforderlich). Folgen Sie den Anweisungen und starten Sie erneut das Video exportieren.
Nachbearbeitung mit ParaView¶
ParaView ist frei verfügbare Visualisierungssoftware, die die results.xdmf-Datei für wissenschaftliche Zwecke ermöglicht. Downloaden und installieren (erfordert Admin/sudo***-Rechte) die neueste Version von ParaView von der website(falls noch nicht getan).
Import results.xdmf¶
Öffnen Sie ParaView und klicken Sie auf das Ordnersymbol (links auf dem Fenster unter Fig. 16) um die Simulationsergebnissedatei zu laden (results.xdmf). ParaView kann ein entsprechendes XDMF-Lese-Plugin auswählen: Select XDMF Reader und klicken Sie auf OK. Nun sollte die results.xdmf im Pipeline-Browser sichtbar sein und die Apply-Taste hat sich grün (klicken Sie darauf).

Figure 16:ParaView nach erfolgreichem Import der Modellergebnisse (results.xdmf).
Parameter visualisieren¶
ParaView zeigt standardmäßig eine der Ergebnisparameter zum Zeitpunkt 0 (d.h. nackt, trockenes Gelände). Um weitere Parameter zu erkunden, wählen Sie sie im Dropdown-Menü der Menüleiste Aktive Variable Controls (rote Highlight-Box in Fig. 17) aus. Die Menüleiste Active Variable Controls enthält auch Optionen zur Manipulation des Farbbereichs und der Legende. Durch die Zeitschritte schalten Sie die Videosteuerungstasten in der Werkzeugleiste VCR Controls (helle blaue Highlight-Box in Fig. 17).

Figure 17:Die Active Variable Controls (rote Box) und VCR Controls (leichte blaue Box) in ParaView, um Ausgabeparameter zu verschiedenen Zeitschritten zu visualisieren.
Um ** eine Animation eines Ausgabeparameters* im Laufe der Zeit als Film (z.B. avi) oder Bild (z.B. jpg, png, tiff) zu exportieren, gehen Sie bitte an File** *Save Animation...
Projekt Pipeline speichern¶
Mit seinem Ansatz von Sequenzen der programmierbaren Filteranwendung speichert ParaView einen Current State im PVSM-Format anstelle eines Projekts wie im QGIS. Der aktuelle Zustand eines Datensatzes in ParaView kann als pvsm-Datei über File** Save State File gespeichert werden. Save der aktuelle Zustand des Tutorial ParaView-Projekts zum Beispiel im Simulationsordner als pv-project.pvsm. Um einen vorhandenen ParaView-Zustand (d.h. Projekt) zu laden, gehen Sie auf File*******Load-Zustand.
Ausfuhrdaten¶
Ähnlich wie bei QGIS können Ausgabeparameterdatensätze in ParaView extrahiert, manipuliert oder transformiert werden. Zu diesem Zweck können programmierbare Filter an den ursprünglichen Datensatz in ParaView zur Berechnung (d.h. den *Calculator
filter) angewendet werden, beispielsweise die Froude-Nummer aus den Wassertiefe- und Fließgeschwindigkeitsdatensätzen (weiterlesen in den ParaView Wiki). Dieses Tutorial enthält nur den Export von Netzpunktdaten an eine CSV-Datei mit programmierbaren Filtern:
Stellen Sie sicher, dass die Time in der Current Time Controls Symbolleiste (leichte blaue Box in Fig. 18) auf 15000 (maximale Zeitstufe) eingestellt ist.
Im Pipeline-Browser*, Rechtsklick* unter
results.xdmf> Add Filter****Alphabetical (d.h. eine Liste aller verfügbaren Filter) > Cell Centers*.In der CellCenters1 Properties, überprüfen Sie das Vertex Cells Feld und klicken Sie auf die nun wieder grüne Apply Taste (siehe Fig. 18).
Um die aktuell aktiven Vertex-Daten zu speichern ** drücken Sie
CTRL+Sauf der Tastatur**, die ein Dialogfenster Save File öffnet. Im Fenster ** Datei speichern**:Navigieren Sie in einen Zielordner (z.B. den Simulationsordner
/Basement/steady2d-tutorial/)Geben Sie einen Dateinamen ein (z.B.
flow_velocity.csv)Wählen Sie im Dropdown-Feld Files vom Typ* Comma oder Tab Begrenzte Dateien(
*.csv *.tsv *.txt).Klicken Sie auf OK.
Das Configure Writer (CSV Writer) Fenster öffnet:
Überprüfen Sie die Choose Array To Write Box.
Wählen Sie flow velocity Points nur (oder mehr/andere Parameter).
Halten Sie alle anderen Standardeinstellungen.
Klicken Sie auf OK.

Figure 18:Anwendung des programmierbaren CellCenters-Filters in ParaView, mit dem maximalen Zeitschritt in der aktuellen Zeitsteuerungs-Toolbar (leichte blaue Box).
Nun wurde eine flow velocity.CSVDatei geschrieben, die Punktkoordinaten (x, y und z-Koordinaten) und flow velocity in x (flow velocity:0) und y (flow velocity:1) enthält. Die flow velocity:2 (z-Richtung) ist bei dieser 2d-Simulation immer Null. Die flow velocity.CSV-Datei kann auch mit QGIS verwendet werden (z.B. in QGIS gehen an Layer > Einfügen der Ebene ** > ** Hinzufügen der begrenzten Textebene...* Wählen Sie flow velocity.csv aus, geben Sie die richtigen Spalten und Separatoren > klicken Add).
Python Simulation Verifikation¶
Die Entwickler von BASEMENT an der ETH Zürich bieten eine Suite von Python scripts zur Nachbearbeitung der Simulationsergebnisse. Für den hier verwendeten BASEMENT v3 laden Sie das Python-Skript BMv3NodestringResults
Um das Python-Skript auszuführen,install Python für Ihre Plattform zusammen mit den Paketen numpy und h5py.
Für die Ausführung des Python Skripts auf jeder Plattform:
Aktivieren Sie optional die entsprechende Python (conda oder venv) Umgebung.
cd(Wechselverzeichnis) in den Simulationsordner.Führen Sie
python BMv3NodestringResults.py.
Im Einzelnen sieht dies wie folgt aus:
Starten Sie Windows oder Anaconda Prompt und tippen Sie auf (erfordert, dass die conda-Umgebung flussenv installiert ist):
conda activate flussenv
cd C:\Basement\steady2d-tutorial\
python BMv3NodestringResults.pyStarten Sie Linux Terminal und tippen Sie auf (erfordert, dass die pip-Umgebung vflussenv im HOME-Verzeichnis installiert ist):
cd ~
source vflussenv/bin/activate
cd /Basement/steady2d-tutorial/
python BMv3NodestringResults.pyWenn vflussenv in einem anderen Verzeichnis als HOME installiert ist, ersetzen Sie cd ~ in der ersten Zeile des obigen Codeblocks mit dem Stamminstallationsverzeichnis von vflussenv.
Figure 19 illustriert die Ausführung BMv3NodestringResults.py auf Windows in Anaconda Prompt.

Figure 19:Ein Python Anaconda Prompt Fenster läuft BMv3NodestringResults.py
Durch das Python-Skript werden drei CSVDateien generiert, die Werte an der benutzerdefinierten STRINGDEFs enthalten:
Discharge.csv enthält Zu- und Abflussentladungen.
results.csv enthält alle OUTPUT-Parameter, die in der simulation setup file definiert sind.
timestep.csv listet die Anzahl der OUTPUT Parameter-Zeitschritte auf.
Die vor allem wichtige Datei ist Discharge.csv, aus der ausgelesen werden kann, wenn Zu- und Abfluss in einer stationären Simulation konvergieren (d.h. ** die Simulation stabilisiert*). Eine stetige Simulation, bei der die Summe aller Zuflüsse nicht allen Abflüssen entspricht, muss als fehlerhaft angesehen werden. Ist beispielsweise die Summe der Abflüsse im letzten Zeitschritt kleiner als die Summe der Zuflüsse, so ist die Simulationszeit zu kurz. Das Diagramm in Fig. 20 erstellt Zu- und Abfluss für die Simulationsanordnung dieses Tutorials. Das Diagramm legt nahe, dass das Modell nach dem Zeitschritt 11 Stabilität erreicht (Simulationszeit ). So könnte die Simulationszeit auf begrenzt werden, aber eine Simulationszeit von wäre zu kurz.

Figure 20:Konvergenz von Zu- und Abfluss an den Modellgrenzen.
- ** Was als nächstes?**
- Die Überprüfung der Modellstabilität stellt nur einen Schritt auf dem Weg zu einem gebrauchsfähigen Modell in der Praxis dar. Bevor ein numerisches Modell zur Simulation von Entscheidungssszenarien verwendet werden kann, muss es mit Messdaten kalibriert und validiert werden (ähnlich TELEMAC hydrodynamics).
- 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.
- Google. (nd). Google Satellite Imagery. https://mt1.google.com/vt/lyrs=s&x=%7Bx%7D&y=%7By%7D&z=%7Bz%7D