Kurs 1 – Teil C: Eigene Anpassungen & Entwicklungen

Keine zwei Projekte sind gleich. Die hydraulischen Grundgesetze sind zwar immer identisch, aber projektbezogene Eigenheiten erfordern oft individuelle Anpassungen. Dies betrifft sowohl die Geometrien als auch die Einführung neuer empirischer Regeln oder z.B. einfach nur die Vorgabe dynamischer Randbedingungen zur Bewirtschaftung eines Stauraums. Die Entwicklungsmöglichkeiten werden nur durch die Programmierfähigkeiten des Entwicklers beschränkt, denn der Quellcode aller vorgestellter Programme ist frei verfügbar. Die größte Hürde ist auch hier der Einstieg. Verstehen Sie die interne Architektur der Programme und umschiffen Sie die gefährlichsten Klippen mit dieser Einführung in die Entwicklung.

Der 3. Tag zeigt ihnen einen pragmatischen & robusten Weg durch den Dschungel aus mehreren 100 000 Zeilen Quellcode, kryptischen Programmausgaben und Compilereinstellungen.

  1. Einführung in die Entwicklungsumgebung CODE::BLOCKS (45min)
    • Eine vorkonfigurierte Telemac Entwicklungsumgebung ermöglicht den sofortigen Einstieg
    • Fast alle aus Visual Studio bekannten Funktionen stehen ihnen hier für Fortran zur Verfügung
    • Alle eingesetzten Werkzeuge sind quelloffen und kostenlos erhältlich
    • Programmiervorkenntnisse sind nur auf Anfängerniveau notwendig

    KAFFEE

  2. Struktureller Aufbau der TELEMAC SUITE (40min)
    • Das Hauptprogramm & seine Bibliotheken
    • Die richtigen Variablen finden
    • Die Gitternetzstruktur (TIN)
    • Ein- & Ausgabe
  3. Übung C-I: Anpassung von Rand- & Anfangsbedingungen (50min)
    • Zusätzliche Berechnungsergebnisse ausgeben
    • Rauheiten und Topographie lokal anpassen
    • Volumen integrieren und ausgeben

    MITTAGESSEN

  4. Richtig kompilieren (45min)
    • Fehler finden (Debuggen)
    • Effizient rechnen (Optimieren)
    • Zeitverschwender finden (Profiling)
  5. Demonstration: Volumen integrieren und ausgeben bei Parallelrechnung. (20min)
  6. KAFFEE

  7. Tipps, Tricks & Fallstricke (45min)
    • Verwendung von Debuggern
    • Mangelnde Variablengenauigkeit (Truncation error)
    • Grundrechenarten auf Gitternetzbasis
  8. Übung C-II: Differenzen zwischen 2 Berechnungsergebnissen ermitteln (1h)
    • Anlegen neuer globaler Variablen für die Gitternetzstruktur
    • Anlegen einer eigenen Subroutine
    • Einbindung in die Hauptzeitschleife
    • Vorher / Nachher – Vergleiche auf Basis der Gitternetzstruktur