(:requiretuid:)

Einführung in Computational Engineering – Vorlesung 11

Autoren: Jan Stengler und Chinara Mammadova


Folien zur Vorlesung 11: Link
Folien mit Annotationen zur Vorlesung 11: Link
Aufzeichnung der Vorlesung 11 ohne Dozent: Link
Übung 10: Link


Interpretation und Validierung

Validierung

Die Validierung ist ein wichtiger Teilschritt in einer Simulationsstudie. In diesem Schritt wird getestet, ob die Simulationsergebnisse auf die Realität übertragbar sind. Weiterhin werden systematische Plausibilitätsüberprüfungen, Fehlersuchen, Konsistenzprüfungen sowie Daten- und Parameterabgleiche durchgeführt. Das zu validierende Simulationsmodell entspricht der Implementierung von Modell und Berechnungsverfahren.
Die Validierung ist die Begründung der These, dass ein Simulationsmodell innerhalb seines Anwendungsbereiches einen ausreichenden Genauigkeitsbereich hat, welcher konsistent ist mit den anvisierten Anwendungen des Simulationsmodells (Sargent 2003).
Weiterhin ist sie der Prozess der Bestimmung zu welchem Grad ein Simulationsmodell eine genaue Repräsentation der realen Welt ist, betrachtet aus der Perspektive der beabsichtigten Anwendungen des Simulationsmodells (Office of the Director of the U.S. Defense Research and Engineering, 2002).
Hierbei wird eine Reihe von Tests sukzessive durchgeführt. Wenn diese erfolgreich waren, wird parallel dazu die Vertrauenswürdigkeit des Simulationsmodells stetig erhöht. Dies liegt daran, dass keine einzelnen Tests existieren, mit denen die Validität eines Simulationsmodells nachgewiesen werden kann.

Verifikation

Die Verifikation ist ein formaler Nachweis der Korrektheit, dass ein Programm einer vorgegebenen Spezifikation entspricht. In den meisten Fällen ist es nicht möglich die vollständige Korrektheit eines kontinuierlich dynamischen Simulationsmodells zu beweisen. Dies liegt an der unendlich großen Anzahl von Zustandsverläufen und Störungseinflüssen nichtlinearer dynamischer Systeme. Mit Hilfe einiger systematisch und erfolgreich untersuchen Beispielen und Tests kann die Wahrscheinlichkeit der Korrektheit erhöht werden. Diesem Ziel dient die Validierung.

Plausibilitätsüberprüfung

Die Plausibilitätsüberprüfung ist eine Überprüfung, dass ein Programm einer vorgegebenen Spezifikation entspricht. Der Nachweis der ausrechenden Glaubwürdigkeit des Simulationsmodells im Hinblick auf dessen Einsatzbereich ist ein weiteres Ziel der Validierung.

Warum ist die Validierung wichtig?

Durch die Validierung wird die Gefahr von fehlerhaften Aussagen der Simulationsstudien stark reduziert. Diese fehlerhaften Aussagen können Fehlentscheidungen mit möglicherweise verheerenden Folgen verursachen. Im folgenden wird ein Beispiel für solch einen Fehler mit schwerwiegenden Folgen gezeigt.

Beispiel: Ölbohrplatform "Sleipner A" (1991)

Die Struktur der Ölbohrplatform "Sleipner A" wurde innerhalb von drei Jahren (1988-1991) entwickelt. Hierbei wurde ein "State of the Art" Simulationsprogramm verwendet, das bereits bei Vorgänger-Plattformen eingesetzt wurde.
Am 23.8.1991 wurde die 110 Meter hohe Beton-Tiefseestruktur durch Einpumpen von Wasser abgesenkt. Während dieses Vorgangs ertönte ein rumpelndes Geräusch, woraufhin die Plattform unkontrolliert ins 220 Meter tiefe Wasser absank und dabei komplett zerstört wurde. Der Wert der zerstörten Beton-Tiefseestruktur hat 180 Millionen US$ betragen. Der entstandene Gesamtschaden belief sich auf ca. 700 Millionen US$.
Die Betonstruktur bestand aus 24 Zellen, von denen 4 zu Säulen verlängert wurden. Die inneren Wände wurden durch 32 dreieckförmige Trizellen verbunden. Die Trizellen sind mit einem gängigen Finite-Elemente Simulationsprogramm simuliert und konstruiert worden. Dabei war die Berechnung der Schwerkraft ungenau (um 47% zu gering), was bei früheren Plattformen unkritisch war. Jedoch wurden dadurch die Trizellen zu dünn ausgelegt, weshalb die Plattform eingestürzt ist. Verbesserte Simulationen konnten in der Analyse des Unglücks ein Leck in 62 Metern Tiefe vorhersagen. Die reale Tiefe, in der das Leck aufgetreten ist, hat 65 Meter betragen.
Weitere "klassische" Beispiele für Fehler in der Simulationsstudie sind der "Eichtest" der Mercedes-Benz A-Klasse (1997) und die Londoner Millenium Brücke (2000).

Fehlerquellen bei Modellierung & Simulation

Während der Modellierung und der Simulation können folgende Fehler entstehen:

  • Modellierungsfehler: Fehler durch vereinfachende Modellannahmen (z.B. starrer statt elastischer Körper) und Ungenauigkeiten in Modellparametern
  • Approximationsfehler des iterativen Berechnungsverfahren (z.B beim Euler-Verfahren proportional zur Schrittweite)
  • Rundungsfehler: Fehler durch Ausführung des Berechnungsverfahrens auf Computer mit endlicher Zahldarstellung
  • Programmier-, Implemmentierungsfehler

In den Teilschritten einer Simulation wird in der Problemspezifikation ein Problem P spezifiziert. In der Modellierung entsteht der Modellierungsfehler |P - M|. Während der Implementierung treten der Diskretisierungsfehler |M-D|, der Abbruch-&Rundgsfehler |D-L| und der Visualisierungsfehler |L-V| auf. Dadurch kann der Gesamtfehler |P-V| = |P-M| + |M-D| + |D-L| + |L-V| berechnet werden. Eine Lösung L wird dann akzeptiert, wenn in allen 4 Schritten vergleichbar kleine Fehler gemacht wurden.
Da "Simulationsmodell = Implementierung von Modell + Berechnungsverfahren" gilt, müssen in der Validierung die Implementierung, das Modell und das Berechnungsverfahren untersucht werden, um festzustellen, dass das Simulationsmodell das reale System im Rahmen der Zielsetzung ausreichend gut abbildet.

Validierung der Implementierung

Die syntaktische Fehlerfreiheit der Implementierung kann z.B. mit Hilfe eines Debuggers getestet werden. Weiterhin sollten Plausibilitätsüberprüfung der Simulationsergebnisse für Spezialfälle („naturgetreues“ Verhalten) durchgeführt werden. Ein Beispiel hierfür ist eine von der Ruhelage ausgelenkte, leere Schiffschaukel. Diese pendelt eine Weile hin und her (Gravitationseinfluss) bevor sie zur Ruhe (Reibungseinfluss) kommt. Die numerische Korrektheit der Implementierung kann z.B. durch den Vergleich der mit dem Simulationsmodell berechneten Lösung und einer analytischen Lösung für einen Spezialfall (z.B. bei der Schiffschaukel durch ein einfaches Pendel mit gegebenen Daten) überprüft werden.

Validierung des Modells

In der Validierung des Modells sollte die Zulässigkeit und logische Konsistenz der Modellannahmen (und deren Anwendbarkeit zur Problemlösung) überprüft werden. Zum Beispiel kann das in der Vorlesung untersuchte Starrkörpermodell der Schiffschaukel möglicherweise die Bewegungsdynamik sehr zuverlässig abbilden, aber ungeeignet sein, wenn andere Aspekte untersucht werden sollen, wie z.B. Strukturbelastungen und Materialermüdungen. Es sollte die ausreichende Detailliertheit des Modells (und korrekte Modellstruktur) getestet werden. Bei der Schiffschaukel z.B. das starrer, nicht veränderliches Drehzentrum / starre gegen etwas elastisches Gestänge / radiale Bewegungen einer einzelnen Person gegen radiale und tangentiale Bewegungen mehrerer Personen / …). Ebenso sollte die Korrektheit der Modellparameter geprüft werden. Bei der Schiffschaukel z.B. die Masse, die Gravitationskonstante, der Abstand der Schaukel vom Drehzentrum und die Reibungskonstante.

Validierung des Berechnungsverfahrens

Bei der Validierung des Berechnungsverfahrens sollte überprüft werden, ob die numerische Lösung für das Modell geeignet ist. Zum Beispiel sind bei Modellen mit steifen Differentialgleichungen nur implizite und nicht explizite Integrationsverfahren geeignet. Der Approximationsfehler des (iterativen) Berechnungsverfahrens sollte geprüft werden. Zum Beispiel sollten Integrationsverfahren höherer Ordnung (z.B. Runge-Kutta 7./8. Ordnung) bei hohen Genauigkeitsanforderungen verwendet werden und Verfahren niedriger Ordnung (z.B. Euler-Verfahren) bei niedrigen Anforderungen. Weiterhin muss getestet werden, ob eine adaptive Schrittweitensteuerung oder konstante Schrittweite verwendet werden sollte. Ebenso muss der Einfluss von Rundungsfehlern untersucht werden, z.B. sollte kritische Programmteile auf Auslöschung untersucht werden (Subtraktion oder Division etwa gleich großer Zahlen).

Tests auf Plausibilität und Konsistenz

Im folgenden werden einige Tests auf Plausibilität und Konsistenz gezeigt.

  • Reproduktion von beobachtetem bzw. „natürlichem“ Systemverhalten: Wie gut stimmt das mit Hilfe des Simulationsmodell berechnete Verhalten mit (in der Vergangenheit) beobachtetem bzw. bekannten Erkenntnissen über das Systemverhalten überein?
  • Vorhersage von Verhalten: Wie plausibel ist das simulierte Systemverhalten für ein fiktives / noch nicht beobachtetes Szenario und können mit dem Simulationsmodell die Ergebnisse eines geplanten realen Experiments in ausreichender Genauigkeit vorhergesagt werden?
  • Verhaltensanomalien: Ein stark unterschiedliches bzw. widersprüchliches Verhalten des Simulationsmodells gegenüber dem realen System weist auf signifikante Fehler in Modell oder Berechnungsverfahren oder Implementierung hin.
  • Systemverhalten in Extremsituationen: Entspricht das Verhalten des Simulationsmodells auch bei Simulation extremer Szenarien, die beim realen System selten oder gar nicht auftreten, den Erwartungen/Erfahrungen?
  • Parametervariationen und Parametersensitivität: Ist das Verhalten des Simulationsmodells sensitiv zu plausiblen Variationen in den Werten der Modellparameter?

Zusammenfassend gilt, dass die Validierung fachliche Einsicht und Kreativität benötigt. Es gibt keine Pauschallösungen für die Validierung.

Selbsttest

  1. Welche der folgenden Schritte ist nicht ein Hauptschritt einer Simulationsstudie?
  2. Die Problemspezifikation besteht aus Aufgabenformulierung und Kriterienfestlegung,
  3. Die Modellierung verlangt, dass wir die benötigten Zustandsgrößen bestimmen. Wie heisst dieser Schritt?
  4. Alle Modelle müssen perfekt sein, ansonsten kann was schiefgehen, z.B. mein Flugzeug abstürzen!
  5. Wie viele Komponenten hat ein Simulationsmodell?
  6. Implementierung ist nur Programmierung des Modells...
  7. Zur Simulation muss ich immer viel selber Coden und alles von der Pike auf machen!
  8. Verifikation bedeutet...
  9. Beweis der Korrektheit der Simulation!
  10. Validierung bedeutet systematische Plausibilitäts- und Konsistenz-Prüfung.
  11. Was ist kein Implementierungsfehler?
  12. Die Validierung durch Visualisierung kann mehr Fehler zeigen als Modellierungsfehler, Diskretisierungsfehler, Abbruch- und Rundungsfehler, sowie Visualisierungsfehler...
  13. Validierung ist ein "Golden Bullet" und bedarf keiner Fachkenntnis!
  14. Wozu kann man Simulationen nicht anwenden?

(:antwortchecker:)

Feedback

Bei Fehlern oder Anregungen zu dieser Seite schicken Sie bitte eine Email an
jan.stengler@stud.tu-darmstadt.de oder

  

zum Seitenanfang