Kapitel 1 Sldkgjadlftjqeitj

Werbung
1
Fehlerhandhabung und Ergebnisfeedback
Fehlerhandhabung und Ergebnisrückgabe an Kalypso
 Trennung der Fehler-Handhabung:
o Plausibilitätsprüfung für das Modell zur Unterbindung von Netz- oder
Eingabefehlern auf Kalypso-Seite
o Informationsmeldung mit Einstufung der Meldung aus dem Rechenkern
 Verhalten des Plausibilitätschecks
o bei Widerspruch mit Plausibilitätscheck darf erst keine Rechnung ermöglicht
werden
o Plausibilitätscheck durchführen, bevor Berechnung durchgeführt wird; ein onthe-fly Prüfen könnte zu nervigem Verhalten der grafischen Oberfläche führen
o Differenzieren zwischen Fehlern und Warnungen
 Mögliche Plausibilitätschecks
o Isolierte Elemente
o Wertegrenzen/ Plausibilitätsgrenzen für Parameter
o Notwendigen Speicherbedarf ermitteln und mit System vergleichen
o Weiterhin: Aus Erfahrung durch die Übung müssen weitere Benutzerfehler
identifiziert werden
 Fehlerprozessierung während/ nach der Rechenkernlaufzeit
o Springen zum Ort des Geschehens und Verwendung eines Text-Labels beim
Fehler zur Fehlerdiagnose
o Protokollieren des Iterationsverlaufes und der Log-Datei, so dass jederzeit auf
den Berechnungsverlauf zurück gegriffen werden kann
 Erweiterung der Ausgabe während der Laufzeit um
o Grafische und tabellarische Darstellung des Verlaufes der Änderungen
während der Iteration
o Grafischer Verlauf des angewendeten Relaxationsparameters in Iteration zur
Prüfung, ob Genauigkeit der Konvergenz hoch genug
o Darstellung des Iterationsverlaufes in absoluter und relativer Weise
o Verbesserte Konvergenzkriterien; bedeutet: Suche nach einer verbesserten
Norm-Berechnung für Konvergenz
o Verlauf des maximalen relativen/ absoluten Residuums während der Iteration
o Anzeige des Bearbeitungsschrittes („Assemblierung der Matrix“, „Lösung des
Gleichungssystems“, „Verbesserung der Lösung„ etc.)
o Unterscheidung zwischen einfacher und detaillierte Fehlerausgabemaske
Warnungen und Fehler während der Laufzeit des Rechenkerns
 Erweiterte Ausgaben während der Berechnung:
1
o Ausgabe des Residuumsverlaufes
o Andere/ bessere Konvergenzkriterien; Norm-Konvergenz!
o Ausgabe des verwendeten Relaxationsparameters mit in Konvergenzverlauf
o Reale Konvergenz anzeigen, d. h. skaliert mit dem Relaxationsparameter
 Schreiben einer Logger-Datei mit allen Meldungen aus dem Rechenkern; Eigenschaften
aller Meldungen:
o Level: Klassifizieren der Meldungen in (Warnung, Fehler, Lob, Information,
Debug-Info); Meldungen werden in Abhängigkeit der Laufzeit-Einstellungen
geschrieben oder unterdrückt
o Titel: Kurzmeldung des Fehlers, d. h. textlicher Identifier
o Meldung: ausführliche Beschreibung des Fehlers; muss bei „Warnung“,
„Fehler“ und „Lob“ eindeutig vom Benutzer verstanden werden, so dass der
Benutzer reagieren kann
o Koordinaten (optional): Ort des Auftretens des Fehlers soweit vorhanden
o Debug-Info „Netzkomponente“: Angabe des „Objektes“, bei dem der Fehler
auftritt
o Debug-Info „ID“: ID der Netzkomponente
o Debug-Info „Routine“: Name der Routine, in welcher der Fehler auftritt
 Warnungen während der Rechenkernlaufzeit
o Überschreiten/ Unterschreiten der Gültigkeitsgrenze von 1D-Polynomen
o Erreichen der maximalen Iterationszahl in einem Rechenschritt ohne
Unterschreiten der Konvergenzschranke
o Konvergenzkriterium bei hoher Dämpfung (Relaxation) erreicht, so dass
eigentlich keine wirkliche Konvergenz vorhanden ist
o Schießen
 Fehler während Rechenkernlaufzeit
o Identifikation von Speicherproblemen
o Excess changes
o Singuläre Matrix
o …
 Wichtig: Fehlerrückgabewert aus Kalypso! Kalypso gibt einen Fehlerwert  0 zurück,
wenn ein wirklicher Fehler auftritt. Der Fehler muss = 0 sein, wenn das Programm
ordnungsgemäß beendet worden ist und „nur“ ein Rechenfehler aufgetreten ist!
2
2
Ergebnisauswertung
Verringerung des Auswertungsaufwandes
 Triangulation nicht mehr durchführen, sondern nur Ergebnisdaten in GML transformieren
 Darstellung der Wasserstandsergebnisse grundsätzlich nur als Punktdaten in Draufsicht
 Auf Wunsch auch flächige Darstellung der Werte, d. h. nachträgliche Auswertung
 Löschen der Triangulationen soll ermöglicht werden ,um Speicherbedarf zur reduzieren;
Ergebnisse werden ja weiter als GML vorgehalten und können daher später erneut
evaluiert werden
 Triangulation durch FE-Formulierung der Oberfläche ersetzen! Bi-Lineare und
Bi-quadratische Funktionen!
 Möglich wäre vielleicht eine on-the-fly Triangulation der Ergebnisse bei der Darstellung,
bei niedriger Zoomstufe
 Schreiben der GML-Datei vielleicht direkt aus RMA·Kalypso oder mit einem weiteren
kleinen Fortran Programm
Differenzieren von Ergebnissen
 Marsh-Ergebnisse sollten möglichst differenziert gehalten werden; Unterteilungen nach:
o Freie Strömung
o Oberirdische Übergangsströmung
o Unterirdische Übergangsströmung
o Unterirdische Marsh-Strömung
Weitere notwendige (mögliche) Darstellungsoptionen bei der Draufsicht
 Residuum Kontinuitätsgleichung und Impulsgleichung
 Energiehöhen
 Spezifischer Abfluss
 (Impuls)
 Marsh-Topologie
 Darstellung des angewendeten Korrekturfaktors für die Reibung
Weitere Schnittauswertungen: Querschnitte
 weiterer Workflow-Task notwendig: „Schnitt-Definition“
Prinzipiell bestehen zwei Möglichkeiten einen Schnitt zu legen. Beide sollten unterstützt
werden. Der Hintergrund in beiden Fällen ist primär die Berechnung des Abflusses!
 Übereinstimmend mit den Elementkanten „Kontinuitätslinien“: Diese Methode
ermöglicht eine exakte Berechnung von Abfluss und Impuls im Sinne der Simulation;
hierfür muss allerdings für 100-prozentige Genauigkeit auch der Marsh-Bereich
3
berücksichtigt werden. Ein solcher Schnitt kann vollkommen beliebig im Modell
angeordnet werden aber immer entlang von 2D-Elementkanten! Komponenten bei der
Benutzung
o Erstellung des Querschnittes anhand des Algorithmus für Randlinien/
Übergangslinien-Definitionen
 Profillage „Profile“: Intention ist die Definition von Gewässerprofilen zur Erstellung von
Abfluss-Längsschnitten oder Profil-Extraktionen mit entsprechender Anzeige der
Strömungsparameter (letzteres ist wirklich absolute Zukunftsmusik)
o Vergabe von Kilometrierung optional; Kilometrierung soll eigentlich bei der
Erstellung von Längsschnitten mit „Routen-Thema“ berechnet werden.
o Erstellung von Querschnitt anhand manuell gezeichneter Linie
o Erstellung von Querschnitt anhand importierter Linien-Shape Datei; Import
muss ermöglichen Kilometrierungen aus der Shape-Datei zu übernehmen
o Definition einer positiven Richtung der Profile; Hintergrund: Per Definition
festlegen, in welche Richtung positiver Abfluss auftritt; relevant für
tidebeeinflusste Gewässer!
 Eigentliche Berechnung des Abflusses macht erst im Zusammenhang mit Zeitreihen oder
Längsschnitten Sinn!
 Möglichkeit der Anzeige in Querschnitten wie bei Längsschnitt-Definition:
o Auswahl des Ergebnis-Zeitschrittes zur Anzeige
o Anzeigen von

Wasserspiegellage

Energiehöhen

Geschwindigkeitsgrößen (Umrechnung von x- und y- Koordinaten in
Längs- und Querströmung)

Anzeige des Abflusses

Anzeige der Bathymetrie

Anzeige der Marsh-Bathymetrie
Weitere Möglichkeit der Auswertung beim Längsschnitt
 Zusätzliche Ergebnisse im 2D-Längsschnitt:
o Abfluss
o Impuls
 Zusätzliche Ergebnisse im 1D-Längsschnitt
o Impuls
 Erstellung von 2D-Längsschnitt erweitern um Möglichkeit auch Profile in Berechnung zu
integrieren
 Berechnung der Kilometrierung eines
Kilometrierungsdefinition und der Profillage
Profils
anhand
Schnittpunkt
 Überschreiben der Kilometrierung durch eine manuell angegebene Kilometrierung
4
der
3
Netzerstellung mittels automatisierter Triangulation
Definition des Gebietes für die automatisierte Netzerstellung
 Wichtig: Delauney-Triangulation
 Definition der Features für das zu erstellende Netz:
o Definition eines Umrandungspolygons inklusive einer Snapping-Funktion!
o Vorgabe beliebiger Zwangslinien und Zwangspolygone durch

Manuelles Zeichnen

Auswahl eines oder mehrerer Objektes aus beliebigen Linien- oder
Polygonlayer
o Mögliche Berücksichtigung von Rauheitspolygonen (ist eigentlich im vorigen
Punkt mit eingeschlossen!
o Zwangspunkte
 Vereinfachung von Vertices von Zwangslinien/ -polygonen (siehe Abhishek-Toolbox)
 Anpassung des Umrandungspolygons an bestehende Netze
o Polygonkanten müssen differenziert werden zwischen

Fixe Kanten (keine Einfügung von zusätzlichen Knoten möglich)

Variable Kanten (Einfügung von zusätzlichen Knoten durch den
Triangulationsalgorithmus beliebig möglich)
o Vergabe des Status der Kante durch z. B. Leertasten-Betätigung
o Möglichkeiten zur Unterteilung von variablen Kanten

auf der Grundlage einer vorgegebenen Maximalgröße von Elementen

durch Angabe der Anzahl der Unterteilungen
 Nach Beendigung der Eingaben soll eine Netzvorschau angezeigt werden, auf deren
Grundlage weitere Anpassungen durch Benutzer vorgenommen werden können
o Hinzuziehen weiterer Zwangsfeatures
o Ändern des Umrandungspolygons
o Ändern des Status einer Kante (variabel/ fix)
o Editieren von variablen Kanten des Umrandungspolygons

Hinzufügen von Knoten

Entfernen von Knoten

Verschieben von Knoten
 Generierung des Netzes erst durch endgültige Bestätigung wie bei Bandgenerator!
5
Herunterladen