(:requiretuid:)
Folien zur Vorlesung 11: Link
Folien mit Annotationen zur Vorlesung 11: Link
Aufzeichnung der Vorlesung 11 ohne Dozent: Link
Übung 10: Link
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.
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.
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.
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.
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).
Während der Modellierung und der Simulation können folgende Fehler entstehen:
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.
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.
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.
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).
Im folgenden werden einige Tests auf Plausibilität und Konsistenz gezeigt.
Zusammenfassend gilt, dass die Validierung fachliche Einsicht und Kreativität benötigt. Es gibt keine Pauschallösungen für die Validierung.
Bei Fehlern oder Anregungen zu dieser Seite schicken Sie bitte eine Email an
jan.stengler@stud.tu-darmstadt.de
oder