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.

Geschiebe an der Arbogne: Korn, Rauheit und Shields-Diagramm

Dieses Notebook im Webbrowser ausführen: Open in marimo

Der Link öffnet bedload-exercise.py als interaktives marimo-Notebook, das vollständig im Webbrowser läuft, ohne dass etwas installiert werden muss. Wie das Jupyter-Notebook ist das marimo-Notebook die französische Originalfassung dieser Seite.

  1. Warten Sie einen Moment, bis Python im Browser geladen ist (das dauert nur beim ersten Start länger).

  2. Klicken Sie auf den gelben Ausführen-Button (▶︎, unten rechts), um alle Zellen auszuführen.

  3. Bearbeiten Sie beliebige Code-Zellen und führen Sie sie erneut aus: marimo aktualisiert automatisch alle davon abhängigen Zellen.

  4. Ihre Änderungen bleiben nur im Browser-Tab erhalten. Um sie zu behalten, speichern Sie das Notebook über das Menü (☰, oben rechts) > Export… > Python.

Aufbau der Übung

Teilwer arbeitet
IVorbereitung: Skript und Daten ladengegeben: Zellen ausführen
IIDaten: Kornverteilung, Rauheiten kstk_{st}, Schwelle τ∗,cr\tau_{*,cr}Sie: zwei Listen ergänzen
IIIGleichungen: Rauheitsverhältnis k′k' und kritische Rauheit kst,crk_{st,cr}Sie: zwei Codezeilen ergänzen
IVErgebnisse: MPM-Berechnung des Geschiebetransports, Shields-Diagramm, aktive Querprofilegegeben: ausführen und interpretieren

Programmierkenntnisse sind nicht erforderlich. Eine Zelle wird mit Umschalt + Eingabe (Shift + Enter) ausgeführt. Die zu ergänzenden Stellen sind mit dem Kommentar # >>> À COMPLÉTER (zu ergänzen) markiert: Ersetzen Sie jeden Text ">>> COMPLETER" (inklusive Anführungszeichen) durch Ihren Wert oder Ihre Gleichung. Im Code werden Dezimalzahlen mit einem Punkt geschrieben (0.047 und nicht 0,047).


Teil I: Vorbereitung

Die folgende Zelle lädt das Skript fun/charriage.py unter dem Kurznamen ch und zeigt die Daten aus data/hecras-arbogne.csv an. Auf Google Colab lädt sie zuerst diese beiden Dateien herunter. Diese Zelle enthält keinen Lernstoff.

import os, sys, urllib.request
if "google.colab" in sys.modules:  # uniquement sur Google Colab : télécharge le script et les données
    for f in ("fun/charriage.py", "data/hecras-arbogne.csv"):
        os.makedirs(os.path.dirname(f), exist_ok=True)
        urllib.request.urlretrieve(
            f"https://raw.githubusercontent.com/hydro-informatics/jupyter-python-course/main/{f}", f)

from fun import charriage as ch   # fun/charriage.py, lit data/hecras-arbogne.csv
ch.lire_hecras()

Die Tabelle zeigt für jedes Querprofil (in Fließrichtung) die Station, den Abfluss, die Sohl- und Wasserspiegelkoten, das Energieliniengefälle JeJ_e, den hydraulischen Radius RhR_h und die Abflusstiefe hh. Das Gefälle JeJ_e nimmt von 0,0042 oberstrom auf 0,0007 unterstrom ab: Dort droht sich der Kies abzulagern.


Teil II: Daten

Aufgabe 1: Kornverteilung und Rauheit

Zwei Kornverteilungskurven beschreiben die Arbogne (Linienzahlanalyse nach Fehr, März 2014):

  • „Sable (fin)“ (Sand, fein), um den Eintrag von oberstrom abzuschätzen;

  • „Gravier (complet)“ (Kies, vollständig), um die anstehende Sohle zu charakterisieren.

Vier charakteristische Korndurchmesser genügen für die Übung:

Kornverteilungskurvedmd_m [mm]d84d_{84} [mm]d90d_{90} [mm]
„Sable (fin)“0,23nicht benötigtnicht benötigt
„Gravier (complet)“8,8813,5623,06
  • dmd_m des Sandes steht für den durchlaufenden Feinanteil;

  • dmd_m des Kieses steht für den transportierten Kies;

  • d84d_{84} des Kieses steht für die anstehende Sohle (Deckschicht);

  • d90d_{90} des Kieses bestimmt die Kornrauheit krk_r (Meyer-Peter & Müller 1948).

Tragen Sie diese Werte in Millimetern in die Liste melanges ein. Achtung: In Python wird das Dezimalkomma zum Punkt (0,23 wird 0.23 geschrieben). Die Reihenfolge zählt: zuerst der Sand, dann der Kies (das letzte Gemisch der Liste steht für die Sohle).

Tragen Sie anschließend in die Liste k_st die beiden zu vergleichenden Strickler-Beiwerte kstk_{st} [m1/3^{1/3}/s] ein, vom glattesten zum rauesten:

  1. ohne Vegetation: Die Strömung bleibt im Kiesbett (Referenzzustand);

  2. mit Vegetation: Das Hochwasser ufert in das dicht bewachsene Vorland aus.

Die Liste darf weitere Werte enthalten: Jeder zusätzliche kstk_{st} wird zu einem weiteren Rauheitsfall.

# >>> À COMPLÉTER : diamètres caractéristiques en mm
#             nom                   d_m               d_84              d_90
melanges = [["Sable (fin)",         ">>> COMPLETER"],
            ["Gravier (complet)",   ">>> COMPLETER",  ">>> COMPLETER",  ">>> COMPLETER"]]

# >>> À COMPLÉTER : coefficients de Strickler k_st [m^(1/3)/s], sans végétation en premier
k_st = [">>> COMPLETER", ">>> COMPLETER"]

Schwelle des Bewegungsbeginns τ∗,cr\tau_{*,cr}

MPM wurde mit einem kritischen Shields-Parameter von τ∗,cr\tau_{*,cr} = 0,047 kalibriert; dieser Wert gilt für die ganze Übung. Die Liste tau_cr akzeptiert trotzdem mehrere Werte, zum Beispiel um die Empfindlichkeit des Ergebnisses gegenüber der Schwelle zu testen (siehe Hausaufgabe). Entfernen Sie dazu das # vor der zweiten Zeile: Jede Abbildung zeigt dann alle Werte der Liste.

tau_cr = [0.047]
# tau_cr = [0.030, 0.040, 0.047, 0.056, 0.070]   # variante, pas utilisée dans l'exercice

Teil III: Gleichungen

Aufgabe 2: Rauheitsverhältnis k′k'

MPM vergleicht nicht die gesamte dimensionslose Sohlschubspannung τ∗\tau_* mit der Schwelle, sondern nur den Anteil, der auf die Körner wirkt. Ein Teil der Energie wird durch Sohlformen, Vegetation und Ufer dissipiert. Das Rauheitsverhältnis k′k' korrigiert τ∗\tau_* entsprechend:

Φ=8 (k′ τ∗−τ∗,cr)3/2mitτ∗=Rh Je(s−1) d\Phi = 8\,\left(k'\,\tau_* - \tau_{*,cr}\right)^{3/2} \qquad \text{mit} \qquad \tau_* = \frac{R_h\,J_e}{(s-1)\,d}
  k′=(kstkr)3/2≤1  wobeikr=26d901/6\boxed{\;k' = \left(\frac{k_{st}}{k_r}\right)^{3/2} \le 1\;} \qquad \text{wobei} \qquad k_r = \frac{26}{d_{90}^{1/6}}
  • kstk_{st}: gesamter Strickler-Beiwert des Abschnitts (die Liste k_st aus Aufgabe 1);

  • krk_r: Strickler-Beiwert des Korns einer ebenen Sohle, berechnet von charriage.py mit d90d_{90} des Kieses in Metern.

Ergänzen Sie die markierte Zeile. In Python wird eine Potenz mit ** geschrieben: Zum Beispiel wird a3/2a^{3/2} als a ** (3 / 2) geschrieben.

def rapport_rugosite(k_st, k_r):
    # >>> À COMPLÉTER : k' = (k_st / k_r)^(3/2)
    return ">>> COMPLETER"

Aufgabe 3: kritische Rauheit kst,crk_{st,cr}

Je stärker die Vegetation die Strömung bremst, desto kleiner wird kstk_{st} und mit ihm die wirksame Schubspannung k′ τ∗k'\,\tau_*. Ein Querprofil hört auf zu transportieren, wenn k′ τ∗=τ∗,crk'\,\tau_* = \tau_{*,cr}. Ersetzt man k′k' durch seine Definition und löst nach kstk_{st} auf, erhält man die kritische Rauheit jedes Querprofils:

  kst,cr=kr(τ∗,crτ∗)2/3  \boxed{\;k_{st,cr} = k_r \left(\frac{\tau_{*,cr}}{\tau_*}\right)^{2/3}\;}

Ein Querprofil transportiert, solange kst>kst,crk_{st} > k_{st,cr}. Mit dieser Gleichung lässt sich die Anzahl aktiver Querprofile bei zunehmender Rauheit darstellen (letzte Abbildung). Ergänzen Sie die markierte Zeile.

def k_st_critique(tau, k_r, tau_cr):
    # >>> À COMPLÉTER : k_st,cr = k_r * (tau_cr / tau)^(2/3)
    return ">>> COMPLETER"

Kontrolle

Führen Sie diese Zelle nach jeder Aufgabe aus. [OK] bedeutet, dass der Wert mit der Vorlesung übereinstimmt, [XX], dass er falsch ist, und [ ], dass er noch nicht ergänzt ist. Korrigieren Sie den Wert und führen Sie dann die Zelle der Aufgabe und diese Zelle erneut aus.

ch.verifier(melanges, k_st, rapport_rugosite, k_st_critique)

Teil IV: Ergebnisse

MPM-Berechnung für die 16 Querprofile

charriage.py kombiniert Ihre Daten und wendet MPM auf jedes Querprofil an: Jeder Rauheitsfall der Liste k_st wird für beide Kornklassen berechnet.

Kornwas es darstelltRauheitsfälle
Kies, dmd_mder transportierte Kiesohne und mit Vegetation
Sand, dmd_mder Feineintrag von oberstromohne und mit Vegetation
Kies, d84d_{84}die anstehende, abgepflasterte Sohlenur ohne Vegetation

Die Tabelle fasst für jede Kombination das Rauheitsverhältnis k′k', die Anzahl der Querprofile, die noch transportieren (Φ>0\Phi > 0), sowie das größte Φ\Phi und die größte Geschiebetransportrate qbq_b [kg/(s⋅\cdotm)] des Abschnitts zusammen.

resultats = ch.calculer(melanges, k_st, tau_cr, rapport_rugosite)
ch.resume(resultats)

Shields-Diagramm

Das Diagramm vergleicht die beiden Rauheitsfälle ohne Vegetation (Abfluss im Gerinne) und mit Vegetation (Hochwasser ufert in das Vorland aus) für beide Kornklassen, Kies und Sand. Jeder Punkt ist ein Querprofil. Die vertikale Achse ist die wirksame Schubspannung auf die Körner k′ τ∗k'\,\tau_*, also diejenige, die MPM mit τ∗,cr\tau_{*,cr} vergleicht. Unterhalb der kritischen Shields-Kurve findet kein Geschiebetransport statt.

  • Farbe: Rauheitsfall (blau ohne Vegetation, rot mit Vegetation);

  • Symbol: Kornklasse (Kreis: Kies; Dreieck: Sand);

  • Größe: Φ\Phi, eine Dekade pro Klasse (das größte Φ\Phi ergibt die größte Markierung).

ch.diagramme_shields(resultats)

Aktive Querprofile bei zunehmender Rauheit

Die folgende Abbildung verringert kstk_{st} schrittweise (von links nach rechts nimmt die Vegetation zu) und zählt für den Kies die Querprofile, in denen kst>kst,crk_{st} > k_{st,cr}. Die vertikalen Linien sind Ihre Werte aus der Liste k_st. Der vollständige Stillstand ist der kstk_{st}-Wert, unterhalb dessen kein Querprofil mehr transportiert.

ch.profils_actifs(melanges, k_st, tau_cr, k_st_critique)