Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Ausführen und Überprüfen einer stationären 2D-Simulation

Zusätzlich zur SMS 2dm-Datei aus dem Vorverarbeitung mit QGIS-Tutorial benötigt die numerische Engine von BASEMENT eine Modell-Setup-Datei (model.json) und eine Simulationsdatei (simulation.json), die beide automatisch von BASEMENT erstellt werden.

In den folgenden Abschnitten wird beschrieben, wie BASEMENT die erforderlichen JSON-Dateien in einem Projektverzeichnis wie C:\Basement\steady2d-tutorial\ (Windows) oder ~/Basement/steady2d-tutorial/ (Linux) erstellen kann. Daher ist der erste Schritt das Erstellen eines Projektverzeichnisses (Ordners).

** Platzieren Sie die folgenden Eingabedateien im Projektordner:

Initiieren Sie das Modell

Dieser Abschnitt führt durch das Modell-Setup, das in einer Datei namens model.json gespeichert ist (hier: im Ordner /steady2d-tutorial/). Starte BASEMENT und wähle den oben erstellten Ordner als Szenarioverzeichnis aus (siehe Fig. 1).

basement new project setup launch start

Figure 1:Der Willkommensbildschirm von BASEMENT nach dem Auswählen eines Szenario-Verzeichnisses mit der Schaltfläche Projekt speichern in der oberen rechten Ecke. Die Verzeichnisreferenzen können auf anderen Plattformen unterschiedlich aussehen (z. B. mit "C:/... unter Windows beginnen).

Als nächstes links-klicken auf SETUP, dann rechts-klicken und wählen Element BASEHPC hinzufügen. Ein neuer Tab namens Define Scenario Parameters wird geöffnet. Ignorieren Sie im Moment die Warn- und Fehlermeldungen (rote Tags) und definieren Sie einen simulation name:

Scrollen Sie zurück nach oben** und Speichern Sie das Projekt, um mit den nächsten Abschnitten fortzufahren.

Geometrie und Regionen

The GEOMETRY group in the Define Scenario Parameters tab tells the model, which SMS 2dm mesh file to use and enables the definition of region and liquid boundary properties. To this end, make the following settings:

Das im letzten Kapitel erstellte Mesh enthält mehrere Regionen, die ebenfalls im Modellaufbau definiert werden müssen:

Table 1 fasst die erforderlichen Regionendefinitionen zusammen. Wenn die Regionen und die Mesh-Datei definiert sind, 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

2

3

4

5

**Name **

Flussbett

block ramp

gravel bank

Überschwemmungsgebiet

Sand Einlage

region mesh file definitions basement

Figure 2:Die GEOMETRY-Gruppe mit REGIONDEFs und dem Verweis auf die höheninterpolierte Mesh-Datei (prepro-tutorial quality-mesh-interp.2dm).

Die liquid (hydraulic) boundaries aus dem Vorverarbeitungs-Tutorial definieren geografisch Inflow- und Outflow-Zeilen mit stringdef-Attributen, die in die Mesh-Datei (prepro-tutorial quality-mesh-interp.2dm) mit Höheninformationen integriert sind. Um die Arten und Eigenschaften der Flüssigkeitsgrenzen mitzuteilen, füllen Sie den Abschnitt GEOMETRIE aus:

Wenn Sie die bereitgestellte liquid borders shapefile] zum Erstellen der Mesh-Datei verwendet haben, muss die upstream direction right sein. Figure 3 zeigt die Definition der STRINGDEF-Elemente unter Verwendung der bereitgestellten liquid borders shapefile.

region mesh file definitions basement

Figure 3:Die GEOMETRY-Gruppe mit STRINGDEFs, die die bereitgestellten flüssigen Grenzen Shapefile im Rechennetz verwenden.

Hydraulik

Hydraulische Modellmerkmale, die für den oben definierten Geometrieaufbau gelten, werden in der Gruppe HYDRAULICS des BASEMENT-Modellaufbaus definiert. Dieses Tutorial verwendet den standard für initial Bedingungen, der “trocken” ist. Halten Sie auch ** den Standard PARAMETERS** für CFL-Zahl = 0.9, fluid density = 1000.0, max time step = 100.0 und minimum Wassertiefe = 0.01.

Hydraulische Mengen, wie Wassertiefe und Abfluss, müssen den oben definierten Flüssigkeitsgrenzen zugeordnet werden, damit 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:

Figure 4 zeigt die Definitionen von STANDARD BOUNDARY-Elementen in der HYDRAULIC-Modell-Setup-Gruppe von BASEMENT.

basement standard hydraulic boundary conditions

Figure 4:Der HYDRAULIC-Eintrag mit BOUNDARY > STANDARD-Definitionen für die vorgelagerten (Zufluss) und nachgelagerten (Abfluss) Flüssigkeitsmodellgrenzen.

Every surface has imperfections that cause turbulence when fluids such as water flow over it. The turbulences caused by surface imperfections result in decelerated flows near the surface. Since the water in rivers is almost always very close to the Earth’s surface in the form of the riverbed relative to the imperfections of a riverbed, the influence of friction-induced turbulence is considerable. In hydrodynamic models, the friction-induced turbulence of the rough surface of riverbeds is accounted for by a friction coefficient, such as the Strickler kstk_{st} coefficient or its inverse value called Manning’s nn. The exercise on 1d Hydraulik (Manning-Strickler Formel) in the Python chapter explains both roughness coefficients in more detail. This tutorial uses a global Strickler coefficient of kstk_{st}=30 (fictive units of m1/3^{1/3}/s), which accounts for the characteristics of a meandering gravel-cobble riverbed Strickler, 1923. To this end, right-click on the HYDRAULICS group and select Add item FRICTION. Define the new FRICTION item with:

Next, assign region-specific Strickler values for the five regions defined in Tab. 1:

Table 2:Strickler values for HYDRAULIC FRICTION regions.

Region

Flussbett

Blockrampen

Grasbanken

Überschwemmungsgebiete

Sand

Reibung

34

18

24

14

39

region name

Flussbett

block ramp

gravel bank

Überschwemmungsgebiet

Sand Einlage

Figure 5 zeigt die Definition der hydraulischen FRICTION-Elemente im BASEMENT-Modellaufbau.

basement friction hydraulic boundary conditions strickler

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).

Write Setup File

Make sure that any potential warning or error message is resolved and that the model setup resembles Fig. 6. Before exporting the project, save the simulation setup (click on the disk symbol in the top-right corner in Fig. 6). Double-check that BASEMENT correctly wrote the files model.json, simulation.json, and results.json in the project directory (e.g., /Basement/steady2d-tutorial/). Export the model setup by clicking on the Write button (bottom-right corner in Fig. 6).

basement export model setup h5

Figure 6:The final model setup to export (write) to a setup (*.h5 HDF) file.

Die Registerkarte Konsole wird automatisch aktiviert und informiert über den Exportfortschritt. Wenn die Fehlerausgabe Canvas nicht leer ist, überprüfen Sie die Fehlermeldungen und beheben Sie die Ursachen.

Einrichtungssimulationsdatei

Nach dem erfolgreichen Export des Modell-Setups steht das Simulation-Band (links unter Fig. 6) zum Einrichten der simulation.json-Datei im Projektordner zur Verfügung. Klicken Sie auf das Menüband Simulation, um die Datei simulation.json einzurichten:

Die im TIME-Abschnitt definierten Werte beziehen sich auf die gleichen Zeiteinheiten wie in der oben heruntergeladenen und verknüpften Datei steady-inflow.txt definiert. Figure 7 zeigt BASEMENT mit den Definitionen im Simulationsband.

basement simulation setup

Figure 7:Die Einrichtung des Simulationsbandes mit der Definition von fünf Ausgabeparametern und der Simulationszeit.

Laufsimulation (Steady 2d)

The simulation can be run with different options that mainly affect the computing time (bottom of Fig. 7).

To start the simulation click on the Run button on the bottom-right of the BASEMENT window. Depending on the hardware and performance settings (e.g., number of CPUs), the simulation of the tutorial model takes approximately 1-10 minutes. BASEMENT informs about the simulation progress in the Console Output frame, where the Error Output frame should remain empty (see Fig. 8). If any error occurs, go back to the above sections (or even to the mesh generation tutorial) to fix errors.

basement simulation end

Figure 8:BASEMENT nach erfolgreicher Simulation.

Exportsimulationsergebnisse

Sobald die Simulation erfolgreich abgeschlossen ist, gehen Sie zu BASEMENT’s Results Band. Finden Sie die Gruppe **Ergebnisse ** in der Registerkarte **Export Simulation Ergebnisse ** und:

** Speichern Sie das Projekt** (Disk-Symbol in der oberen rechten Ecke) und finden Sie den Export, der unter Fig. 9 angegeben ist. Der Export der Simulationsausgaben nach results.xdmf wird im Console Output-Frame bestätigt.

basement results export

Figure 9:Einrichtung des Ergebnisbandes nach erfolgreicher Simulation.

Nachbearbeitung mit QGIS

Start QGIS and create a new project or re-use the project from the Vorverarbeitung mit QGIS tutorial. Save the new project with (a different) meaningful filename in the BASEMENT modeling folder (e.g., /Basement/steady2d/postpro-tutorial.qgz). Setup the project similarly as in the pre-processing:

Import results.xdmf

Die Simulationsergebnisdatei results.xdmf kann in QGIS als zusätzliche Datenquelle des höheninterpolierten Qualitätsgitters (prepro-tutorial_quality-mesh-interp.2dm) aus dem Vorverarbeitungs-Tutorial geladen werden:

Figure 10 zeigt einen beispielhaften Aufbau der Ausgangsdateninterpolation auf dem Rechennetz. Um andere Ausgabeparameter und/oder andere Simulationszeitschritte zu visualisieren, variieren Sie die Definitionen im Static Dataset-Rahmen.

basement assign qgis metadata mesh

Figure 10:Weisen Sie Mesh-Daten dem Computer-Mesh zu.

Um die Visualisierung der Ergebnisse zu verbessern, öffnen Sie erneut die Layer Properties der Mesh-Schicht und gehen Sie zum Symbology-Band. Visualisieren Sie einen Simulationsausgabeparameter wie Fließgeschwindigkeit wie folgt:

basement qgis results velocity meshdata

Figure 11:Visualisieren Sie den Parameter Fließgeschwindigkeit mit den Symbology-Steuerelementen. Die roten Kästchen markieren relevante Tabs und Einträge.

Figure 12 veranschaulicht eine Visualisierung der Strömungsgeschwindigkeit am Ende der Simulation. Die Strömungsgeschwindigkeitsergebnisse sind auch als Videosequenz (download]) verfügbar.

plotted qgis basement results flow velocity

Figure 12:Nach Anwendung der oben genannten Symbologie-Einstellungen: Die Strömungsgeschwindigkeit ist in roten Tönen dargestellt.

Rasterisieren Outputs

The Gitterzellendaten (Raster) format is useful for many post-processing tasks such as map algebra (e.g., for habitat analysis or the assessment of inundation area and depth). To this end, QGIS provides the Rasterize mesh dataset tool for converting mesh data at any simulation timestep to a Raster (e.g., as GeoTIFF). To open the Rasterize mesh dataset tool, go to either Processing > Toolbox or make sure that the View > Panels > Processing Toolbox is checked. In the Processing Toolbox click on the Mesh group and double click on Rasterize mesh dataset (see also Fig. 13).

rasterize basement velocity water depth qgis

Figure 13:Öffnen Sie das Rasterize Mesh Tool in der QGIS Processing Toolbox.

Führen Sie die folgenden Einstellungen im Fenster Rasterize aus (siehe auch Fig. 14):

Schließen Sie nach der erfolgreichen Rasterung das Fenster Rasterize Mesh Dataset mit einem Klick auf die Schaltfläche Close.

setup rasterize mesh geotiff

Figure 14:Einstellungen zum Export von Simulationsergebnissen mit dem Rasterize-Tool von QGIS.

Um die Visualisierung des neuen (Fließgeschwindigkeits-)Rasters zu verbessern, doppelklicken Sie auf das neue Raster im Layers-Panel und wechseln Sie zur Registerkarte Symbology. Wählen Sie Singleband pseudocolor für Rendertyp (im oberen Bereich des Fensters) und eine Farbrampe. Um Nullwertpixel zu unterdrücken, doppelklicken Sie auf die **Farbe ** des Feldes 0-**Wert ** und reduzieren Sie im ** Farbfenster **Opacity ** auf 0%\%. Figure 15 zeigt eine Beispielvisualisierung des exportierten Strömungsgeschwindigkeitsrasters.

basement output rasterize mesh geotiff visualization singleband pseudocolor

Figure 15:Eine Singleband-Pseudofarbe (Layer Properties > Symbology) stellt das exportierte GeoTIFF-Flussgeschwindigkeitsraster mit einer Reds-Farbrampe und Nullwertpixeln dar, die auf Null-Opazität eingestellt sind und auf Google-Satellitenbildern Google, n.d. überlagert werden.

Mesh Visualisierung mit Crayfish

Das Open-Source-Plugin Crayfish] ermöglicht die Visualisierung von Mesh-Werten (z. B. Änderung von Knotenwerten im Laufe der Zeit) mit vielen Funktionen, z. B. dem Export von Videoanimationen von Modellergebnissen. Um zum Beispiel ein Video der Ausgänge der Strömungsgeschwindigkeit in den 1 + 15 Simulationszeitschritten zu erstellen, verwenden Sie das Crayfish-Plugin wie folgt:

Beim ersten Export eines Videos benötigt Crayfish die Definition eines FFmpeg-Video-Encoders und führt durch die Installation (falls erforderlich). Befolgen Sie die Anweisungen und starten Sie den Export des Videos erneut.

Nachbearbeitung mit ParaView

ParaView ist eine frei verfügbare Visualisierungssoftware, die es ermöglicht, die Datei results.xdmf von BASEMENT für wissenschaftliche Zwecke zu zeichnen und zu verarbeiten. Download und Installation (erfordert Admin/sudo Rechte) der neuesten Version von ParaView von deren Website (falls noch nicht fertig).

Import results.xdmf

Öffnen Sie ParaView und klicken Sie auf das Ordnersymbol (oben links im Fenster, das unter Fig. 16 angezeigt wird), um die Simulationsergebnisse zu laden (results.xdmf). ParaView kann darum bitten, ein geeignetes XDMF-Lese-Plugin auszuwählen: Wählen Sie XDMF Reader und klicken Sie auf OK. Jetzt sollte der results.xdmf im Pipeline Browser sichtbar sein und der Apply Button ist grün geworden (klicken Sie darauf).

basement results paraview

Figure 16:ParaView nach erfolgreichem Import der Modellergebnisse (results.xdmf).

Visualisieren von Parametern

ParaView shows by default one of the result parameters at timestep 0 (i.e., bare, dry terrain). To explore other parameters, select them in the dropdown menu of the Active Variable Controls menu bar (red highlight box in Fig. 17). The Active Variable Controls menu bar also contains options for manipulating the color range and legend. Toggle through the timesteps by using the video control buttons in the VCR Controls toolbar (light blue highlight box in Fig. 17).

basement results paraview

Figure 17:Die Active Variable Controls (rotes Feld) und VCR Controls (hellblaues Feld) in ParaView, um Ausgabeparameter in verschiedenen Zeitschritten zu visualisieren.

Um eine Animation eines Ausgabeparameters** über die Zeit als Film (z.B. avi) oder Bild (z.B. jpg, png, tiff) zu exportieren, gehen Sie zu File > Save Animation....

Projektpipeline retten

Mit seinem Ansatz von Sequenzen programmierbarer Filteranwendungen speichert ParaView einen Current State im PVSM-Format und nicht ein Projekt wie in QGIS. Der aktuelle Zustand eines Datensatzes in ParaView kann als pvsm Datei über File > Save State File gespeichert werden. Save den aktuellen Zustand des Tutorials ParaView Projekt, zum Beispiel im Simulationsordner als pv-project.pvsm. Um einen vorhandenen ParaView-Status (d.h. Projekt) zu laden, gehen Sie zu File > Load state.

Ausfuhrdaten

Similar to QGIS, output parameter datasets can be extracted, manipulated, or transformed in ParaView. For this purpose, programmable filters can be applied to the original dataset in ParaView to calculate (i.e., apply the Calculator filter), for example, the Froude number from the water depth and flow velocity datasets (read more in the ParaView Wiki). This tutorial only features the export of mesh point data to a CSV file with programmable filters:

paraview basement export data

Figure 18:Anwendung des programmierbaren CellCenter-Filters in ParaView mit dem maximalen Zeitschritt, der in der Symbolleiste Aktuelle Zeitsteuerungen (hellblaues Feld) definiert ist.

Jetzt wurde eine Fließgeschwindigkeit.CSV Datei geschrieben, die Punktkoordinaten (x, y und z Koordinaten) und Fließgeschwindigkeit in x (Fließgeschwindigkeit:0) und y (Fließgeschwindigkeit:1) Richtungen enthält. Die Fließgeschwindigkeit:2 (z-Richtung) ist in dieser 2d-Simulation immer Null. Die Datei Fließgeschwindigkeit.CSV kann auch mit QGIS verwendet werden (z. B. in QGIS gehen Sie zu Layer >) Layer hinzufügen> Hinzufügen Delimited Text Layer... > wählen Sie Fließgeschwindigkeit.csv, weisen Sie die richtigen Spalten und Trennzeichen zu > klicken Sie auf Hinzufügen.

Python Simulation Verifizierung

Die Entwickler von BASEMENT an der ETH Zürich stellen eine Suite von Python scripts] zur Nachbearbeitung der Simulationsergebnisse zur Verfügung. Für das hier verwendete BASEMENT v3 laden Sie das Python-Skript BMv3NodestringResults.py] herunter, das definierte Ausgabeparameter unter dem benutzerdefinierten STRINGDEFs exportiert.

Um das Python-Skript auszuführen, install Python für Ihre Plattform zusammen mit den Paketen numpy und h5py.

Zum Ausführen des * Python * Skripts auf jeder Plattform:

Im einzelnen sieht dies wie folgt aus:

Windows / conda
Linux / pip

Starten Sie Windows oder Anaconda Prompt und tippen Sie (erfordert, dass die conda-Umgebung flussenv installiert ist):

conda activate flussenv
cd C:\Basement\steady2d-tutorial\
python BMv3NodestringResults.py

Figure 19 illustriert das Ausführen von BMv3NodestringResults.py auf Windows in Anaconda Prompt.

export nodestring python script basement BMv3NodestringResults

Figure 19:Ein Python Anaconda Prompt Fenster mit BMv3NodestringResults.py

Durch Ausführen des Python-Skripts werden drei CSV-Dateien generiert, die Werte unter dem benutzerdefinierten STRINGDEFs enthalten:

The primarily important file is Discharge.csv, from which can be read when inflow and outflow converge in a steady-state simulation (i.e., the simulation stabilizes). A steady simulation in which the sum of all inflows does not equal all outflows must be considered erroneous. For instance, if the sum of outflows in the last timestep is smaller than the sum of inflows, then the simulation time is too short. The diagram in Fig. 20 plots inflow and outflow for the simulation setup of this tutorial. The diagram suggests that the model reaches stability after timestep 11 (simulation time t11000t \leq 11000). Thus, the simulation time could be limited to t=12000t = 12000, but a simulation time of t=10000t = 10000 would be too short.

basement convergence model simulation discharge verification validation

Figure 20:Konvergenz von Zu- und Abfluss an den Modellgrenzen.

What next?
The verification of the model stability represents only one step on the pathway to a useable model in practice. Before a numerical model can be used for simulating decision-making scenarios, it must be calibrated and validated with measurement data (similar to TELEMAC hydrodynamics).
References
  1. 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.
  2. Google. (nd). Google Satellite Imagery. https://mt1.google.com/vt/lyrs=s&x=%7Bx%7D&y=%7By%7D&z=%7Bz%7D