Umfassender Hochwasserschutz für Bergisch Gladbach
07.11.2018
HydroAS Logo
HYDRO_AS-2D 5.0 zum Anwendertreffen verfügbar
07.11.2018

Anwender können Modellerweiterungen selbst programmieren

Mit HYDRO_AS-2D 5.0 können Sie sehr komplexe Steuerungsvorgänge in wasserwirtschaftlichen Systemen abbilden. Die Version bietet skriptgesteuerte Simulationen: So können während der Berechnung Modelldaten verändert, abgefragt, ausgegeben bzw. eingelesen werden. Technische Grundlage ist die weit verbreitete Skriptsprache „Lua“. HYDRO_AS-2D stellt damit ein Fundament zur Verfügung, auf dem die Anwender kreativ neue Anwendungen entwickeln können. Wir stellen hier einige Beispiele vor.

Bauwerkssteuerungen modellieren für Schütze, Wehre etc.

Bauwerke werden häufig in Abhängigkeit von Messgrößen gesteuert. Mithilfe der Modellierung lassen sich jetzt optimale Steuerregeln finden. Mit HYDRO_AS-2D-Scripting können Sie Wasserstände oder Durchflüsse im Modell während der Simulation abfragen. In Abhängigkeit davon können Sie die Öffnung eines Schützes, bzw. bei 1D-Wehren die Kronenhöhe, variieren. Auch die Geschwindigkeit, mit der die Bauwerksteile sich bewegen, kann so modelliert und eingestellt werden.

Zufluss-Zeitreihen automatisiert einlesen

Zufluss-Zeitreihen zu einem HYDRO_AS-2D-Modell werden üblicherweise in SMS komfortabel mit den entsprechenden Editoren eingegeben. Dieser Weg über eine grafische Nutzeroberfläche ist aber dann hinderlich, wenn die Zufluss-Zeitreihen automatisiert aus anderen Datenquellen übernommen werden sollen wie z. B. in Umgebungen von Online-Vorhersagen.
Mit HYDRO_AS-2D-Scripting können Sie externe Zufluss-Zeitreihen-Dateien einlesen, bearbeiten und während der Simulation an das Modell weiterreichen.
Evtl. erfordert ein Anwendungsfall sogar, die Zuflüsse in Abhängigkeit von internen Modellzuständen (Pegel, Durchflüsse) zu variieren. Auch das ist umsetzbar.

Komplexe Steuerung des Nierssees

Der Niersverband beauftragte Hydrotec damit, die wasserstandsabhängigen Betriebsregeln des Hochwasserrückhaltebeckens Nierssee möglichst genau zu modellieren. Aufgrund der hydraulischen Abhängigkeit zwischen Fluss und See war es erforderlich, die Berechnungen in das bestehende 2D-Modell der Niers zu integrieren.
Im Hochwasserfall werden Zufluss und Abfluss mit fünf Verschlussorganen in Abhängigkeit von vier Wassersständen in der Niers und im Nierssee automatisch gesteuert.

Die Steuerung am Einlauf beinhaltet die Einleitung eines Hochwassers aus der Niers in das Hochwasserrückhaltebecken, das Vorbeileiten der Niers bei vollgefülltem Speicherraum sowie die Verhinderung eines Rückflusses aus dem Nierssee in die Niers.
Am Auslauf wird der Abfluss aus dem Nierssee zuerst im Drosselm odul in Abhängigkeit des Wasserstandes in der Niers begrenzt. Bei Erreichen des Vollstaus werden die Öffnungen des Auslaufschützes und der Auslaufklappe dann im Stauzielmodul in Abhängigkeit des Wasserstandes im Nierssee erhöht.
Ein weiteres Modul unterbindet den Rückstau aus der Niers in den Nierssee. Das hier beschriebene Scripting-Werkzeug wurde für die Abbildung dieser komplexen Steuerungsprozesse entwickelt und erstmals erfolgreich eingesetzt.

Bildquelle: Niersverband

Bidirektional mit anderen Modellen interagieren (Grundwasser-, Kanalnetzmodelle)

HYDRO_AS-2D-Scripting ermöglicht die bidirektionale Interaktion mit anderen Modellen. „Bidirektional“ bedeutet, dass sich die Eingaben und Ergebnisse der Modelle gegenseitig beeinflussen und die Modelle daher zeitlich verschränkt rechnen. Beispielsweise kann der von HYDRO_AS-2D berechnete Wasserstand in einem städtischen Gebiet als Grundlage für den Zufluss zu einem Kanalnetz genutzt werden und andersherum der Überstau aus einem Kanalnetz als Zufluss zu einem HYDRO_AS-2D-Modell.
Mit HYDRO_AS-2D-Scripting können Sie das Kanalnetzmodell z. B. in 5-Minuten-Schritten rechnen lassen, dabei die aktuellen Werte des 2D-Modells nutzen und die Ergebnisse des Kanalnetzmodells wieder in HYDRO_AS-2D weiterverwenden.

Deich- oder Dammbrüche simulieren

HYDRO_AS-2D-Skripting vereinfacht die Modellierung von Deich- oder Dammbrüchen deutlich. Dazu verwendet man ein Skript, das während der Simulation die Höhen des Deiches an der Bruchstelle herabsetzt.
Sie können diesen Zeitpunkt fest vorgeben oder ihn anhand des Modellzustandes im Skript selbst bestimmen. Der Deichbruch soll beispielsweise simuliert werden, wenn an einer bestimmten Stelle ein Wasserstand überschritten wird oder wenn er an dieser Stelle seit wenigstens einem Tag überschritten wurde.

Spezielle Auswertungen zu Modellergebnissen erzeugen

Mit HYDRO_AS-2D-Scripting können statistische Auswertungen zu Modellergebnissen effizient und genau während der Simulation berechnet werden. Beispielsweise können für einzelne Modellknoten während der Simulation Einstau-Dauerlinien berechnet werden, um zu ermitteln, wie lange der Modellknoten während der Simulation wie hoch überflutet war.
In bestimmten Fällen ist nicht nur die Überflutungshöhe relevant, sondern zur Berechnung der Gefährdung auch die Fließgeschwindigkeit an einer bestimmten Stelle zu berücksichtigen. Auch diese Information kann das Skript abgreifen.
Die Auswertung muss nicht auf den Ausgabezeitschritten von HYDRO_AS-2D basieren, sondern kann die internen Berechnungszeitschritte nutzen. Diese Informationen können Sie in einem Datenformat ausgeben, das in Ihrem konkreten Anwendungsfall am besten weiterverwendet werden kann.

Varianten berechnen

Üblicherweise nutzen Sie die in SMS angebotenen Funktionen für die Varianten-Rechnung. Wenn sehr viele Varianten zu berechnen sind, kann das jedoch aufwändig und fehleranfällig sein.
HYDRO_AS-2D-Scripting erleichtert die systematische Erstellung von Varianten: Die Änderung des Modells wird dazu nicht manuell vorgenommen, sondern durch das Skript. Sie legen vom Ausgangsmodell keine Kopie mehr an, sondern arbeiten immer nur mit dem Ausgangsmodell und dem Skript, das die Variante erzeugt. Dadurch können Sie in einem Rechenlauf mehrere Varianten zeitlich hintereinander rechnen und anschließend vergleichen. Diese Technik ist vor allem sinnvoll, wenn viele unterschiedliche Deichbruchstellen, viele verschiedene Zufluss-Zeitreihen, oder mehrere Wehrhöhen bzw.  Bauwerksöffnungen etc. zu untersuchen sind.
Für die Bemessung von Brücken können Sie die Konstruktionsunterkanten variabel einstellen. Man kann mehrere Varianten mit verschiedenen Brückenöffnungen automatisch anlegen und in einem Rechenlauf modellieren.

Programmieren mit Lua

Lua ist eine „kleine“, aber vollständige Programmiersprache. Sie ist leicht zu erlernen, besonders wenn man bereits Kenntnisse in Python, Java, oder C++ besitzt. HYDRO_AS-2D ruft die Skripte in jedem internen Zeitschritt auf und arbeitet sie ab.

Beispiel für ein Lua-Skript, das im 2D-Modell ein Drosselbauwerk in Abhängigkeit von einem Wasserstand an einem Pegelpunkt im Modell steuert.

Der Einsatz von Skripten wird in der Dokumentation detailliert erklärt und anhand von Beispielen erläutert, sodass Anwender direkt loslegen können. Hydrotec wird zusätzlich Aufbauschulungen zum Scripting für HYDRO_AS-2D anbieten.

Dipl.-Math. Benedikt Rothe, Dr. rer. nat. Eva Loch