{"id":886,"date":"2026-07-30T12:23:22","date_gmt":"2026-07-30T12:23:22","guid":{"rendered":"https:\/\/matforge.org\/?p=886","raw":"https:\/\/matforge.org\/?p=886"},"modified":"2026-07-30T12:23:22","modified_gmt":"2026-07-30T12:23:22","slug":"verification-vs-validation-in-scientific-simulations-a-practical-guide","status":"publish","type":"post","link":"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/","title":{"rendered":"Verifikation vs. Validierung in wissenschaftlichen Simulationen: Ein praktischer Leitfaden","raw":"Verifikation vs. Validierung in wissenschaftlichen Simulationen: Ein praktischer Leitfaden"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 8<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>Sie m\u00fcssen zwei verschiedene Dinge \u00fcber eine Simulation wissen: ob der Code die Gleichungen richtig l\u00f6st und ob das Modell f\u00fcr das reale Problem genau genug ist. Die erste Frage ist die \u00dcberpr\u00fcfung. Die zweite Frage ist die Validierung.<\/p>\n<p>Aber das reicht nicht. Sie m\u00fcssen auch verstehen, wie sehr Sie den Zahlen vertrauen k\u00f6nnen, die Ihre Simulation produziert. Hier tritt die Unsicherheitsquantifizierung in den Workflow ein.<\/p>\n<p>Dieser Leitfaden erkl\u00e4rt das vollst\u00e4ndige VVUQ-Framework: Verifizierung, Validierung und Unsicherheitsquantifizierung. Es enth\u00e4lt auch praktische Python- und FIPY-Beispiele, die Ihnen helfen k\u00f6nnen, diese Ideen in Ihrer eigenen Simulationsarbeit anzuwenden.<\/p>\n<h2 id=\"key-takeaways\">Schl\u00fcssel zum Mitnehmen<\/h2>\n<ul>\n<li>Verifizierung beantwortet die Frage: Haben wir die Gleichungen richtig gel\u00f6st? Es \u00fcberpr\u00fcft die Korrektheit des Codes, die numerische Genauigkeit und die Implementierungsfehler.<\/li>\n<li>Validierung beantwortet die Frage: Haben wir die richtigen Gleichungen gel\u00f6st? Es vergleicht die Simulationsausgabe mit experimentellen Daten, Benchmark-Daten oder vertrauensw\u00fcrdigen Referenzergebnissen.<\/li>\n<li>Die Quantifizierung der Unsicherheit beantwortet die Frage: Wie sehr k\u00f6nnen wir diesen Ergebnissen vertrauen? Es propagiert Eingabeunsicherheiten durch das Modell und meldet Vertrauensgrenzen f\u00fcr Vorhersagen.<\/li>\n<li>UQ wird oft in V &amp; V-Diskussionen erw\u00e4hnt, aber selten mit praktischen Python-Beispielen implementiert. Dieser Leitfaden gibt konkrete Ausgangspunkte.<\/li>\n<li>Das ASME VVUQ-Standardportfolio bietet eine weit verbreitete Struktur f\u00fcr VVUQ-Workflows \u00fcber Computerdisziplinen hinweg.<\/li>\n<\/ul>\n<h2>Verifizierung, Validierung und Unsicherheit Quantifizierung: Warum sie zusammen geh\u00f6ren<\/h2>\n<p>Wenn Sie jemals eine Simulation ausgef\u00fchrt haben und gefragt haben, ob Sie den Ergebnissen vertrauen k\u00f6nnen, sind Sie bereits auf das Problem gesto\u00dfen, das VVUQ anspricht.<\/p>\n<p>\u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung sind keine separaten Aufgaben, die Sie unabh\u00e4ngig ausf\u00fchren. Sie bilden eine Glaubw\u00fcrdigkeitspipeline:<\/p>\n<ol>\n<li>Die \u00dcberpr\u00fcfung beweist, dass der Code mathematisch und rechnerisch korrekt ist.<\/li>\n<li>Die Validierung pr\u00fcft, ob das Modell das reale System gut genug f\u00fcr den beabsichtigten Einsatz darstellt.<\/li>\n<li>Die Unsicherheitsquantifizierung zeigt Ihnen, wie sicher Sie in den Vorhersagen sein k\u00f6nnen.<\/li>\n<\/ol>\n<p>Das ASME VVUQ-Framework formalisiert diese Pipeline in einem strukturierten Workflow, der f\u00fcr rechnerische Feststoffmechanik, Fluiddynamik, medizinische Ger\u00e4te und andere simulationslastige Felder verwendet wird. <a href=\"https:\/\/www.asme.org\/codes-standards\/publications-information\/verification-validation-uncertainty\"> ASME VVUQ <\/a><\/p>\n<p>Die Unterscheidung zwischen Verifizierung und Validierung wird h\u00e4ufig durch zwei Fragen zusammengefasst.<\/p>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Frage<\/th>\n<th>Was es bedeutet<\/th>\n<th>Was Sie \u00fcberpr\u00fcfen<\/th>\n<\/tr>\n<tr>\n<td>L\u00f6sen wir die Gleichungen richtig?<\/td>\n<td>\u00dcberpr\u00fcfung<\/td>\n<td>Codierung von Fehlern, numerischen Fehlern und Diskretisierungsfehlern<\/td>\n<\/tr>\n<tr>\n<td>L\u00f6sen wir die richtigen Gleichungen?<\/td>\n<td>Best\u00e4tigung<\/td>\n<td>Genauigkeit des physikalischen Modells, Randbedingungen und Annahmen<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Die dritte Frage ist: Wie sicher k\u00f6nnen wir sein? Hier geht die Unsicherheitsquantifizierung in den Prozess ein.<\/p>\n<p>Eine Simulation kann \u00fcberpr\u00fcft und validiert werden, erzeugt aber dennoch Vorhersagen mit gro\u00dfen Unsicherheitsintervallen. Wenn diese Intervalle zu breit sind, ist das Ergebnis m\u00f6glicherweise nicht f\u00fcr Design, Regulierung oder Entscheidungsfindung n\u00fctzlich.<\/p>\n<h2>1. Verifizierung: Der Nachweis Ihres Codes ist korrekt<\/h2>\n<p>Die Verifizierung ist mathematisch und rechnerisch. Es testet die reale Welt nicht direkt. Stattdessen wird davon ausgegangen, dass die ma\u00dfgeblichen Gleichungen korrekt sind und fragt, ob das Computerprogramm sie ohne numerische oder Implementierungsfehler l\u00f6st.<\/p>\n<p>Die Verifizierung hat zwei Hauptaspekte: die Code\u00fcberpr\u00fcfung und die Reihenfolge der Genauigkeitspr\u00fcfung.<\/p>\n<h3>Code-\u00dcberpr\u00fcfung: Entsprach die Implementierung der Mathematik?<\/h3>\n<p>Die Code\u00fcberpr\u00fcfung zeigt, dass der Solver das mathematische Modell korrekt implementiert. Zwei weit verbreitete Methoden sind die Methode der Herstellung von L\u00f6sungen und die Reihenfolge der Genauigkeitspr\u00fcfung.<\/p>\n<h4>Methode der hergestellten L\u00f6sungen<\/h4>\n<p>Die Methode der hergestellten L\u00f6sungen ist eines der st\u00e4rksten Werkzeuge f\u00fcr die Codeverifizierung in der Computerwissenschaft. Es wird eine bekannte analytische L\u00f6sung erstellt, der erforderliche Quellbegriff berechnet und dann \u00fcberpr\u00fcft, ob der Code diese L\u00f6sung reproduziert.<\/p>\n<p>Das Verfahren ist:<\/p>\n<ol>\n<li>W\u00e4hlen Sie eine glatte analytische L\u00f6sung wie <code>u_m = sin(x) * cos(y) * exp(-t)<\/code>.<\/li>\n<li>Ersetzen Sie die hergestellte L\u00f6sung in den PDE-Operator, um den erforderlichen Quellbegriff zu berechnen.<\/li>\n<li>F\u00fchren Sie die Simulation mit dem hergestellten Quellterm und \u00fcbereinstimmenden Grenz- oder Anfangsbedingungen aus.<\/li>\n<li>Vergleichen Sie die numerische L\u00f6sung mit der genau hergestellten L\u00f6sung.<\/li>\n<li>F\u00fchren Sie Studien zur Netzverfeinerung durch, um zu \u00fcberpr\u00fcfen, ob die beobachtete Konvergenzreihenfolge mit der theoretischen Reihenfolge \u00fcbereinstimmt.<\/li>\n<\/ol>\n<p>Hier ist ein vereinfachtes Beispiel im FIPY-Stil f\u00fcr ein vor\u00fcbergehendes Diffusionsproblem:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nfrom fipy import Grid2D, CellVariable, TransientTerm, DiffusionTerm\n\n# Manufactured solution:\n# u(x, y, t) = sin(pi*x) * sin(pi*y) * exp(-2*pi^2*t)\n\nnx, ny = 32, 32\nLx, Ly = 1.0, 1.0\n\ndx = Lx \/ nx\ndy = Ly \/ ny\n\nmesh = Grid2D(nx=nx, ny=ny, dx=dx, dy=dy)\n\nx, y = mesh.cellCenters\n\nu = CellVariable(name=\"u\", mesh=mesh, hasOld=True)\n\ndef exact_solution(t):\n    return np.sin(np.pi * x) * np.sin(np.pi * y) * np.exp(-2 * np.pi**2 * t)\n\n# Initial condition\nu.setValue(exact_solution(0.0))\n\n# For this manufactured solution and diffusion coefficient 1:\n# du\/dt = Laplacian(u), so the source term is zero.\nsource = CellVariable(name=\"source\", mesh=mesh, value=0.0)\n\neq = TransientTerm(var=u) == DiffusionTerm(coeff=1.0, var=u) + source\n\ndt = 0.001\nnt = 100\n\nfor step in range(nt):\n    u.updateOld()\n    eq.solve(var=u, dt=dt)\n\nt_final = dt * nt\nexact = exact_solution(t_final)\n\nl2_error = np.sqrt(np.mean((u.value - exact) ** 2))\n\nprint(f\"L2 error at t={t_final:.3f}: {l2_error:.6e}\")\n<\/code><\/pre>\n<p>Wenn Sie die Maschengr\u00f6\u00dfe halbieren und der Fehler um etwa den Faktor vier sinkt, verh\u00e4lt sich ein Schema zweiter Ordnung wie erwartet. Wenn dies nicht der Fall ist, kann die Implementierung einen Fehler enthalten oder die Grenzbehandlung kann die beobachtete Reihenfolge verringern.<\/p>\n<h4>Reihenfolge der Genauigkeitspr\u00fcfung<\/h4>\n<p>Die Reihenfolge der Genauigkeitstests verifiziert, dass der Code die erwartete Konvergenzrate unter Netzverfeinerung erreicht.<\/p>\n<p>Bei einem Finite-Volumen-Schema zweiter Ordnung sollte die Halbierung des Netzabstands den Fehler um etwa den Faktor vier reduzieren.<\/p>\n<p>Das Verfahren ist:<\/p>\n<ol>\n<li>W\u00e4hlen Sie ein Problem mit einer bekannten exakten L\u00f6sung, entweder aus MMS oder einem Lehrbuch-Benchmark.<\/li>\n<li>L\u00f6sen Sie das Problem auf einer Folge von verfeinerten Netzen wie 32 \u00d7 32, 64 \u00d7 64 und 128 \u00d7 128.<\/li>\n<li>Berechnen Sie eine Fehlernorm auf jeder Verfeinerungsebene wie L1, L2 oder L\u221e.<\/li>\n<li>Plotfehler versus Maschengr\u00f6\u00dfe in einem Log-Log-Diagramm.<\/li>\n<li>Berechnen Sie die beobachtete Reihenfolge mit <code>order = log(e_coarse \/ e_fine) \/ log(h_coarse \/ h_fine)<\/code>.<\/li>\n<li>Stellen Sie sicher, dass die beobachtete Reihenfolge innerhalb einer angemessenen Toleranz mit der theoretischen Diskretisierungsreihenfolge \u00fcbereinstimmt.<\/li>\n<\/ol>\n<p>Dies ist eine Mindestanforderung f\u00fcr jeden PDE-Code, der numerische Korrektheit beansprucht. Ohne sie sind Fehlersch\u00e4tzungen und Schlussfolgerungen der Netzkonvergenz schwach.<\/p>\n<h4>Wichtige Warnung vor Cross-Code-Vergleich<\/h4>\n<p>Das Vergleichen von zwei verschiedenen Codes kann als Sanity-Check n\u00fctzlich sein, ersetzt jedoch nicht die \u00dcberpr\u00fcfung gegen analytische oder hergestellte L\u00f6sungen.<\/p>\n<p>Zwei Codes k\u00f6nnen zustimmen und sind immer noch falsch, wenn beide denselben systematischen Fehler teilen. Der Cross-Code-Vergleich sollte als erg\u00e4nzende \u00dcberpr\u00fcfung nach ordnungsgem\u00e4\u00dfer MMS- oder Auftragspr\u00fcfung verwendet werden.<\/p>\n<h2>2. Validierung: Simulationen mit der Realit\u00e4t vergleichen<\/h2>\n<p>Die Validierung beurteilt, ob das Simulationsmodell f\u00fcr die beabsichtigte Verwendung ausreichend genau ist. Dies geschieht, indem Vorhersagen mit unabh\u00e4ngigen experimentellen Daten, Benchmark-Daten oder vertrauensw\u00fcrdigen Referenzergebnissen verglichen werden.<\/p>\n<p>Eine Schl\u00fcsselregel ist, dass Kalibrierung und Validierung getrennt sein m\u00fcssen. Kalibrierung Passt die Modellparameter an die Daten an. Validierungstests Vorhersagekraft auf unabh\u00e4ngigen Daten. Die Verwendung desselben Datensatzes f\u00fcr beide schafft k\u00fcnstliches Vertrauen.<\/p>\n<h3>Benchmark-Probleme als Validierungsziele<\/h3>\n<p>Benchmark-Probleme sind standardisierte Testf\u00e4lle mit gut charakterisierten experimentellen oder High-Fidelity-Referenzdaten. Sie bieten objektive Validierungsziele.<\/p>\n<p>Gemeinsame Benchmark-Kategorien umfassen:<\/p>\n<ul>\n<li>Fluiddynamik, wie z.<\/li>\n<li>Transportgleichungen wie 1D-Advektionsdiffusion mit bekanntem analytischen Verhalten.<\/li>\n<li>Phasenfeldmodelle wie Allen-Cahn- oder Cahn-Hilliard-Muster im Vergleich zum Referenzverhalten.<\/li>\n<li>Diffusionsreaktionssysteme wie die Validierung der Wellengeschwindigkeit von Fisher-KPP.<\/li>\n<\/ul>\n<p>F\u00fcr die Modellierung von Computermaterialien und das PDE-basierte maschinelle Lernen k\u00f6nnen Benchmark-Datens\u00e4tze wie <a href=\"https:\/\/github.com\/pdebench\/PDEBench\"> pdebench <\/a> standardisierte Referenzprobleme bereitstellen.<\/p>\n<h3>Wenn experimentelle Daten nicht verf\u00fcgbar sind<\/h3>\n<p>Nicht immer sind hochwertige experimentelle Daten verf\u00fcgbar. In diesem Fall k\u00f6nnen Sie immer noch Validierungsnachweise erstellen, indem Sie die besten verf\u00fcgbaren Alternativen verwenden.<\/p>\n<ol>\n<li>Verwenden Sie High-Fidelity-Referenzl\u00f6sungen wie DNS f\u00fcr turbulente Str\u00f6mungen, sofern verf\u00fcgbar.<\/li>\n<li>Vergleichen Sie mit analytischen L\u00f6sungen f\u00fcr vereinfachte F\u00e4lle.<\/li>\n<li>F\u00fchren Sie Cross-Code-Vergleiche mit unabh\u00e4ngigen, gut verifizierten Codes durch.<\/li>\n<li>Seien Sie transparent in Bezug auf die Einschr\u00e4nkung und charakterisieren Sie die pr\u00e4diktive Unsicherheit durch Sensitivit\u00e4tsanalyse.<\/li>\n<\/ol>\n<h3>Hierarchische Validierungsstrategie<\/h3>\n<p>Eine praktische Validierungsstrategie sollte hierarchisch sein.<\/p>\n<ol>\n<li>Start with simple benchmark problems that isolate specific physics.<\/li>\n<li>Bauen Sie die Komplexit\u00e4t durch Tests auf Systemebene auf, die mehrere Ph\u00e4nomene kombinieren.<\/li>\n<li>Dokumentieren Sie die Validierungsprobleme, Ergebnisse, Fehlermetriken und Schlussfolgerungen \u00fcber die Angemessenheit f\u00fcr den beabsichtigten Gebrauch.<\/li>\n<\/ol>\n<p>Ein Modell wird selten perfekt validiert. Es wird f\u00fcr einen bestimmten Verwendungszweck auf ein bestimmtes Ma\u00df an Genauigkeit validiert.<\/p>\n<h2>3. Unsicherheitsquantifizierung: Messen des Vertrauens in Vorhersagen<\/h2>\n<p>Unsicherheitsquantifizierung ist der Prozess der Charakterisierung, Quantifizierung und Verbreitung von Unsicherheiten in Modelleingaben, Parametern und Approximationen. Es hilft zu bewerten, wie sich die Unsicherheit auf die Modellausgaben und das Vorhersagevertrauen auswirkt.<\/p>\n<p>Kein Modell ist perfekt und jedes reale System umfasst Variabilit\u00e4t und unvollst\u00e4ndiges Wissen. UQ hilft Ihnen nicht nur zu verstehen, was das Modell vorhersagt, sondern auch, wie sicher diese Vorhersage ist.<\/p>\n<h3>Arten von Unsicherheit<\/h3>\n<p>UQ unterscheidet zwei Hauptkategorien der Unsicherheit.<\/p>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Typ<\/th>\n<th>Was es bedeutet<\/th>\n<th>Kann es reduziert werden?<\/th>\n<th>Beispiele<\/th>\n<\/tr>\n<tr>\n<td>Zufallsm\u00e4\u00dfig<\/td>\n<td>inh\u00e4rente Zuf\u00e4lligkeit in einem System<\/td>\n<td>Nein, es ist nicht reduzierbar<\/td>\n<td>Fertigungstoleranzen und Umweltschwankungen<\/td>\n<\/tr>\n<tr>\n<td>epistemisch<\/td>\n<td>Mangel an Wissen \u00fcber das System<\/td>\n<td>Ja, durch mehr Daten oder bessere Modelle<\/td>\n<td>Unbekannte Materialeigenschaften und nicht gemessene Ausgangsbedingungen<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Diese Unterscheidung ist wichtig, da sie die Wahl der UQ-Methode beeinflusst. Die aleatorische Unsicherheit wird normalerweise mit Wahrscheinlichkeitsverteilungen beschrieben. Die epistemische Unsicherheit kann oft durch mehr Messungen, bessere Modelle oder verbesserte Kalibrierung verringert werden.<\/p>\n<h3>UQ-Methoden: Von einfach bis fortgeschritten<\/h3>\n<h4>Monte-Carlo-Simulation<\/h4>\n<p>Die Monte-Carlo-Simulation ist die einfachste UQ-Methode. Sie f\u00fchren das Modell wiederholt mit zuf\u00e4llig abgetasteten Eingabewerten aus definierten Verteilungen aus. Das Ergebnis ist eine Verteilung der Ausgabewerte.<\/p>\n<pre><code class=\"language-python\">import numpy as np\n\n# Example: propagate uncertainty in thermal conductivity.\n# Assume k = 200 W\/mK +\/- 10%, represented as a uniform distribution.\nk_samples = np.random.uniform(180, 220, size=10000)\n\n# Simplified steady-state heat transfer:\n# T = q * L \/ (k * A)\nq = 1000\nL = 0.01\nA = 1.0\n\nT = (q * L) \/ (k_samples * A)\n\nprint(f\"Mean temperature: {np.mean(T):.2f} K\")\nprint(\n    \"95% confidence interval: \"\n    f\"[{np.percentile(T, 2.5):.2f}, {np.percentile(T, 97.5):.2f}] K\"\n)\n<\/code><\/pre>\n<p>Monte Carlo ist leicht zu verstehen und umzusetzen. Sein Hauptnachteil sind die Kosten. Wenn jeder Modelllauf teuer ist, k\u00f6nnen Tausende von Proben unpraktisch sein.<\/p>\n<h4>Erweiterung des Polynom-Chaos<\/h4>\n<p>Die Polynom-Chaos-Erweiterung erstellt ein Ersatzmodell, das die Ausgabe als Polynomfunktion unsicherer Eingaben darstellt. Es kann viel effizienter sein als Brute-Force Monte Carlo, wenn jeder Simulationslauf teuer ist.<\/p>\n<p>Python-Tools wie EasyVVuq und EasySurrogate k\u00f6nnen Polynom-Chaos und Surrogat-basierte UQ-Workflows unterst\u00fctzen.<\/p>\n<h4>Sensitivit\u00e4tsanalyse<\/h4>\n<p>Die Sensitivit\u00e4tsanalyse untersucht, wie Variationen in der Modellausgabe auf Variationen der Modelleingaben zur\u00fcckzuf\u00fchren sind. Es hilft zu identifizieren, welche Parameter die Vorhersagen am meisten beeinflussen.<\/p>\n<p>Zwei Hauptkategorien sind:<\/p>\n<ul>\n<li>lokale Sensitivit\u00e4tsanalyse. Dies \u00e4ndert jeweils eine Eingabe, w\u00e4hrend andere festgehalten werden. Es ist einfach, erfasst aber keine Parameterinteraktionen.<\/li>\n<li>Globale Sensibilit\u00e4tsanalyse. Dies variiert alle Eingaben zusammen und kann Interaktionen ber\u00fccksichtigen. Zu den Methoden geh\u00f6ren Sobol-Indizes, Regressionsbasierte Methoden und Derivatmethoden.<\/li>\n<\/ul>\n<p>Sensitivit\u00e4tsanalyse ist n\u00fctzlich f\u00fcr:<\/p>\n<ol>\n<li>Priorisierung der Datenerfassung durch Identifizierung der Parameter, die am wichtigsten sind.<\/li>\n<li>Vereinfachung von Modellen durch Festlegung von Parametern, die vernachl\u00e4ssigbare Auswirkungen haben.<\/li>\n<li>Verstehen, welche Mechanismen Vorhersagen antreiben.<\/li>\n<\/ol>\n<h2>Die integrierte VVUQ-Pipeline: Alles zusammensetzen<\/h2>\n<p>Eine integrierte VVUQ-Pipeline folgt einem systematischen Workflow.<\/p>\n<ol>\n<li>Identifizieren und charakterisieren Sie Unsicherheiten in Eingaben, physikalischen Parametern und numerischen Approximationen.<\/li>\n<li>F\u00fchren Sie die Code- und L\u00f6sungspr\u00fcfung durch, um numerische Fehler, Codierungsfehler und Unsicherheiten zu reduzieren.<\/li>\n<li>\u00dcbertragen Sie Eingabeunsicherheiten durch das Berechnungsmodell, um Ausgabeverteilungen zu generieren.<\/li>\n<li>Validieren Sie Modellvorhersagen gegen kontrollierte experimentelle Daten oder vertrauensw\u00fcrdige Benchmark-Ergebnisse.<\/li>\n<li>Unterst\u00fctzen Sie die Entscheidungsfindung mit probabilistischen, risikoinformierten Ergebnissen und nicht mit einzelnen deterministischen Vorhersagen.<\/li>\n<\/ol>\n<p>In der Praxis kann dieser Workflow durch Tools wie EasyVVuq, Fabsim3, Ersatzmodellierungsbibliotheken und HPC-orientierte Workflow-Systeme unterst\u00fctzt werden.<\/p>\n<h2>H\u00e4ufige V &amp; V-Fehler und wie man sie vermeidet<\/h2>\n<h3>\u00dcberpr\u00fcfungsfehler<\/h3>\n<ul>\n<li>Angenommen, der Code ist fehlerfrei. Selbst weit verbreitete Codes k\u00f6nnen unentdeckte Fehler enthalten. Regressionstests mit MMS-F\u00e4llen k\u00f6nnen neue Fehler abfangen.<\/li>\n<li>Vernachl\u00e4ssigung der Auftragsgenauigkeit. Ohne die theoretischen Konvergenzraten zu best\u00e4tigen, sind Fehlersch\u00e4tzungen schwach.<\/li>\n<li>Verwenden des Cross-Code-Vergleichs als einzige Verifizierungsmethode. Zwei falsche Codes k\u00f6nnen zustimmen.<\/li>\n<li>Verifizierung als einmalige Aktivit\u00e4t behandeln. Jede aussagekr\u00e4ftige Code\u00e4nderung sollte eine relevante Neuverifizierung ausl\u00f6sen.<\/li>\n<\/ul>\n<h3>Validierungsfehler<\/h3>\n<ul>\n<li>Verwirrende Kalibrierung mit Validierung. Das Abstimmen von Parametern auf Daten und dann die Validierung gegen dieselben Daten erh\u00f6ht das Vertrauen.<\/li>\n<li>experimentelle Unsicherheit ignorieren. Eine Diskrepanz kann akzeptabel sein, wenn die experimentelle Unsicherheit gr\u00f6\u00dfer als der Unterschied ist.<\/li>\n<li>Extrapolieren \u00fcber das validierte Regime hinaus. Ein Modell, das in einem Regime validiert wird, sollte ohne zus\u00e4tzliche Beweise nicht in einem sehr anderen Regime vertraut werden.<\/li>\n<li>Schlechte Dokumentation. Ohne detaillierte Validierungsaufzeichnungen ist die Glaubw\u00fcrdigkeit der Simulation schwer zu beurteilen.<\/li>\n<\/ul>\n<h3>UQ-spezifische Fehler<\/h3>\n<ul>\n<li>Angenommen, UQ ist optional. Ohne Unsicherheitsgrenzen fehlt es bei einer validierten Simulation immer noch an einem nutzbaren Konfidenzintervall.<\/li>\n<li>Parameterinteraktionen ignorieren. Eine Einzelsensitivit\u00e4tsanalyse kann Interaktionseffekte \u00fcbersehen, die globale Methoden erfassen.<\/li>\n<li>Alle Unsicherheit als Aleatory behandeln. Einige Unsicherheiten sind epistemisch und k\u00f6nnen durch bessere Daten oder bessere Modelle verringert werden.<\/li>\n<\/ul>\n<h2>Entscheidungsleitfaden: Wie viel VVUQ-Rigor ben\u00f6tigen Sie?<\/h2>\n<p>Der Grad der VVUQ-Rigorit\u00e4t sollte mit den Konsequenzen eines Modellfehlers \u00fcbereinstimmen.<\/p>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Lage<\/th>\n<th>Empfohlene Genauigkeit<\/th>\n<th>Warum<\/th>\n<\/tr>\n<tr>\n<td>Akademischer Forschungscode<\/td>\n<td>Grundpr\u00fcfung mit MMS und Netzkonvergenz<\/td>\n<td>Minimales akzeptables Niveau f\u00fcr Glaubw\u00fcrdigkeit<\/td>\n<\/tr>\n<tr>\n<td>Ver\u00f6ffentlichte Simulationsergebnisse<\/td>\n<td>Verifizierung plus Validierung gegen\u00fcber Benchmarks<\/td>\n<td>Unterst\u00fctzt Reproduzierbarkeit und Peer Review<\/td>\n<\/tr>\n<tr>\n<td>Entscheidungen zum industriellen Design<\/td>\n<td>Voller VVUQ mit UQ-Grenzen<\/td>\n<td>Designauswahl und -konformit\u00e4t kann vom Modell abh\u00e4ngen<\/td>\n<\/tr>\n<tr>\n<td>sicherheitskritische Anwendungen<\/td>\n<td>ASME-Framework mit unabh\u00e4ngiger \u00dcberpr\u00fcfung<\/td>\n<td>Regulierungs- und Haftungsrisiken sind hoch<\/td>\n<\/tr>\n<tr>\n<td>Maschinelles Lernen<\/td>\n<td>Surrogate-Genauigkeitspr\u00fcfung plus UQ der Vorhersagegrenzen<\/td>\n<td>Ersatzfehler muss quantifiziert werden<\/td>\n<\/tr>\n<tr>\n<td>Code-Wartung oder Fehlerbehebungen<\/td>\n<td>Gezielte MMS-Tests f\u00fcr betroffene Module<\/td>\n<td>Kosteng\u00fcnstige \u00dcberpr\u00fcfung f\u00fcr ge\u00e4nderte Codepfade<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Das Fazit ist einfach: VVUQ-Rigor sollte den Folgen des Scheiterns entsprechen. Akademischer Code braucht grundlegende \u00dcberpr\u00fcfung. Ver\u00f6ffentlichte Ergebnisse brauchen eine st\u00e4rkere Validierung. Industrie- und sicherheitskritische Anwendungen erfordern umfassende, dokumentierte VVUQ.<\/p>\n<h2>Zusammenfassung und n\u00e4chste Schritte<\/h2>\n<p>\u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung sind keine optionalen Extras. Sie sind Kernbestandteile glaubw\u00fcrdiger wissenschaftlicher Simulation.<\/p>\n<p>Eine praktische VVUQ-Pipeline sollte dieser Reihenfolge folgen:<\/p>\n<ol>\n<li>Beginnen Sie mit der Code\u00fcberpr\u00fcfung mit MMS- und Auftragsgenauigkeitstests.<\/li>\n<li>Quantifizieren Sie numerische Fehler durch L\u00f6sungs\u00fcberpr\u00fcfung f\u00fcr Produktionsl\u00e4ufe.<\/li>\n<li>Erstellen Sie Validierungsnachweise mit Benchmark-Problemen und unabh\u00e4ngigen Daten.<\/li>\n<li>F\u00fcgen Sie die Unsicherheitsquantifizierung hinzu, um die Konfidenzgrenzen f\u00fcr Vorhersagen zu melden.<\/li>\n<li>Befolgen Sie die Standards wie ASME VVUQ, um den Prozess zu strukturieren und die Genauigkeit zu kommunizieren.<\/li>\n<\/ol>\n<p>Selbst ein grundlegendes VVUQ-Programm wie MMS-Tests, Netzkonvergenz und eine UQ-Methode k\u00f6nnen das Vertrauen in die Simulationsergebnisse und das fr\u00fchzeitige Abfangen von Fehlern dramatisch erh\u00f6hen.<\/p>\n<h2>Verwandte Anleitungen<\/h2>\n<p>F\u00fcr verwandte Themen in wissenschaftlichen Simulations-Workflows auf Matforge:<\/p>\n<ul>\n<li><a href=\"\/python-debugging-scientific-code-print-statements-profiling\/\">Python-Debugging f\u00fcr wissenschaftlichen Code: Vom Druckausweis bis zum Profiling<\/a><\/li>\n<li><a href=\"\/when-to-use-fem-fvm-fdm\/\">Wann FEM, FVM oder FDM zu verwenden: Ein praktischer Vergleich f\u00fcr Anf\u00e4nger<\/a><\/li>\n<li><a href=\"\/monte-carlo-methods-for-scientific-simulations\/\">Monte-Carlo-Methoden f\u00fcr wissenschaftliche Simulationen: Ein Python-Guide<\/a><\/li>\n<\/ul>\n<h2>Referenzen und Weiterlesen<\/h2>\n<ul>\n<li>Roy, C. J. (2005). \u00dcberpr\u00fcfung der Code- und L\u00f6sungs\u00fcberpr\u00fcfungsverfahren f\u00fcr die Computersimulation. Journal of Computational Physics.<\/li>\n<li>Oberkampf, W. L. &amp; Roy, C. J. (2010). Verifizierung und Validierung im wissenschaftlichen Rechnen. Cambridge University Press.<\/li>\n<li>ASME VVUQ Standards Portfolio: <a href=\"https:\/\/www.asme.org\/codes-standards\/find-codes-standards\/verification-validation-and-uncertainty-quantification-terminology-in-computational-modeling-and-simulation\/2022\/pdf\"> VVUQ 1<\/a>, <a href=\"https:\/\/www.asme.org\/codes-standards\/find-codes-standards\/standard-for-verification-and-validation-in-computational-solid-mechanics\">V&amp;V 10<\/a>, <a href=\"https:\/\/www.asme.org\/codes-standards\/find-codes-standards\/standard-for-verification-and-validation-in-computational-fluid-dynamics-and-heat-transfer\">V&amp;V 20<\/a><\/li>\n<li>OSTI: <a href=\"https:\/\/www.osti.gov\/servlets\/purl\/1111312\">Einf\u00fchrung in die \u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung<\/a><\/li>\n<\/ul>\n","protected":false,"raw":"<p>Sie m\u00fcssen zwei verschiedene Dinge \u00fcber eine Simulation wissen: ob der Code die Gleichungen richtig l\u00f6st und ob das Modell f\u00fcr das reale Problem genau genug ist. Die erste Frage ist die \u00dcberpr\u00fcfung. Die zweite Frage ist die Validierung.<\/p>\n<p>Aber das reicht nicht. Sie m\u00fcssen auch verstehen, wie sehr Sie den Zahlen vertrauen k\u00f6nnen, die Ihre Simulation produziert. Hier tritt die Unsicherheitsquantifizierung in den Workflow ein.<\/p>\n<p>Dieser Leitfaden erkl\u00e4rt das vollst\u00e4ndige VVUQ-Framework: Verifizierung, Validierung und Unsicherheitsquantifizierung. Es enth\u00e4lt auch praktische Python- und FIPY-Beispiele, die Ihnen helfen k\u00f6nnen, diese Ideen in Ihrer eigenen Simulationsarbeit anzuwenden.<\/p>\n<h2 id=\"key-takeaways\">Schl\u00fcssel zum Mitnehmen<\/h2>\n<ul>\n<li>Verifizierung beantwortet die Frage: Haben wir die Gleichungen richtig gel\u00f6st? Es \u00fcberpr\u00fcft die Korrektheit des Codes, die numerische Genauigkeit und die Implementierungsfehler.<\/li>\n<li>Validierung beantwortet die Frage: Haben wir die richtigen Gleichungen gel\u00f6st? Es vergleicht die Simulationsausgabe mit experimentellen Daten, Benchmark-Daten oder vertrauensw\u00fcrdigen Referenzergebnissen.<\/li>\n<li>Die Quantifizierung der Unsicherheit beantwortet die Frage: Wie sehr k\u00f6nnen wir diesen Ergebnissen vertrauen? Es propagiert Eingabeunsicherheiten durch das Modell und meldet Vertrauensgrenzen f\u00fcr Vorhersagen.<\/li>\n<li>UQ wird oft in V &amp; V-Diskussionen erw\u00e4hnt, aber selten mit praktischen Python-Beispielen implementiert. Dieser Leitfaden gibt konkrete Ausgangspunkte.<\/li>\n<li>Das ASME VVUQ-Standardportfolio bietet eine weit verbreitete Struktur f\u00fcr VVUQ-Workflows \u00fcber Computerdisziplinen hinweg.<\/li>\n<\/ul>\n<h2>Verifizierung, Validierung und Unsicherheit Quantifizierung: Warum sie zusammen geh\u00f6ren<\/h2>\n<p>Wenn Sie jemals eine Simulation ausgef\u00fchrt haben und gefragt haben, ob Sie den Ergebnissen vertrauen k\u00f6nnen, sind Sie bereits auf das Problem gesto\u00dfen, das VVUQ anspricht.<\/p>\n<p>\u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung sind keine separaten Aufgaben, die Sie unabh\u00e4ngig ausf\u00fchren. Sie bilden eine Glaubw\u00fcrdigkeitspipeline:<\/p>\n<ol>\n<li>Die \u00dcberpr\u00fcfung beweist, dass der Code mathematisch und rechnerisch korrekt ist.<\/li>\n<li>Die Validierung pr\u00fcft, ob das Modell das reale System gut genug f\u00fcr den beabsichtigten Einsatz darstellt.<\/li>\n<li>Die Unsicherheitsquantifizierung zeigt Ihnen, wie sicher Sie in den Vorhersagen sein k\u00f6nnen.<\/li>\n<\/ol>\n<p>Das ASME VVUQ-Framework formalisiert diese Pipeline in einem strukturierten Workflow, der f\u00fcr rechnerische Feststoffmechanik, Fluiddynamik, medizinische Ger\u00e4te und andere simulationslastige Felder verwendet wird. <a href=\"https:\/\/www.asme.org\/codes-standards\/publications-information\/verification-validation-uncertainty\"> ASME VVUQ <\/a><\/p>\n<p>Die Unterscheidung zwischen Verifizierung und Validierung wird h\u00e4ufig durch zwei Fragen zusammengefasst.<\/p>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Frage<\/th>\n<th>Was es bedeutet<\/th>\n<th>Was Sie \u00fcberpr\u00fcfen<\/th>\n<\/tr>\n<tr>\n<td>L\u00f6sen wir die Gleichungen richtig?<\/td>\n<td>\u00dcberpr\u00fcfung<\/td>\n<td>Codierung von Fehlern, numerischen Fehlern und Diskretisierungsfehlern<\/td>\n<\/tr>\n<tr>\n<td>L\u00f6sen wir die richtigen Gleichungen?<\/td>\n<td>Best\u00e4tigung<\/td>\n<td>Genauigkeit des physikalischen Modells, Randbedingungen und Annahmen<\/td>\n<\/tr>\n<\/tbody><\/table>\n<p>Die dritte Frage ist: Wie sicher k\u00f6nnen wir sein? Hier geht die Unsicherheitsquantifizierung in den Prozess ein.<\/p>\n<p>Eine Simulation kann \u00fcberpr\u00fcft und validiert werden, erzeugt aber dennoch Vorhersagen mit gro\u00dfen Unsicherheitsintervallen. Wenn diese Intervalle zu breit sind, ist das Ergebnis m\u00f6glicherweise nicht f\u00fcr Design, Regulierung oder Entscheidungsfindung n\u00fctzlich.<\/p>\n<h2>1. Verifizierung: Der Nachweis Ihres Codes ist korrekt<\/h2>\n<p>Die Verifizierung ist mathematisch und rechnerisch. Es testet die reale Welt nicht direkt. Stattdessen wird davon ausgegangen, dass die ma\u00dfgeblichen Gleichungen korrekt sind und fragt, ob das Computerprogramm sie ohne numerische oder Implementierungsfehler l\u00f6st.<\/p>\n<p>Die Verifizierung hat zwei Hauptaspekte: die Code\u00fcberpr\u00fcfung und die Reihenfolge der Genauigkeitspr\u00fcfung.<\/p>\n<h3>Code-\u00dcberpr\u00fcfung: Entsprach die Implementierung der Mathematik?<\/h3>\n<p>Die Code\u00fcberpr\u00fcfung zeigt, dass der Solver das mathematische Modell korrekt implementiert. Zwei weit verbreitete Methoden sind die Methode der Herstellung von L\u00f6sungen und die Reihenfolge der Genauigkeitspr\u00fcfung.<\/p>\n<h4>Methode der hergestellten L\u00f6sungen<\/h4>\n<p>Die Methode der hergestellten L\u00f6sungen ist eines der st\u00e4rksten Werkzeuge f\u00fcr die Codeverifizierung in der Computerwissenschaft. Es wird eine bekannte analytische L\u00f6sung erstellt, der erforderliche Quellbegriff berechnet und dann \u00fcberpr\u00fcft, ob der Code diese L\u00f6sung reproduziert.<\/p>\n<p>Das Verfahren ist:<\/p>\n<ol>\n<li>W\u00e4hlen Sie eine glatte analytische L\u00f6sung wie <code>u_m = sin(x) * cos(y) * exp(-t)<\/code>.<\/li>\n<li>Ersetzen Sie die hergestellte L\u00f6sung in den PDE-Operator, um den erforderlichen Quellbegriff zu berechnen.<\/li>\n<li>F\u00fchren Sie die Simulation mit dem hergestellten Quellterm und \u00fcbereinstimmenden Grenz- oder Anfangsbedingungen aus.<\/li>\n<li>Vergleichen Sie die numerische L\u00f6sung mit der genau hergestellten L\u00f6sung.<\/li>\n<li>F\u00fchren Sie Studien zur Netzverfeinerung durch, um zu \u00fcberpr\u00fcfen, ob die beobachtete Konvergenzreihenfolge mit der theoretischen Reihenfolge \u00fcbereinstimmt.<\/li>\n<\/ol>\n<p>Hier ist ein vereinfachtes Beispiel im FIPY-Stil f\u00fcr ein vor\u00fcbergehendes Diffusionsproblem:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nfrom fipy import Grid2D, CellVariable, TransientTerm, DiffusionTerm\n\n# Manufactured solution:\n# u(x, y, t) = sin(pi*x) * sin(pi*y) * exp(-2*pi^2*t)\n\nnx, ny = 32, 32\nLx, Ly = 1.0, 1.0\n\ndx = Lx \/ nx\ndy = Ly \/ ny\n\nmesh = Grid2D(nx=nx, ny=ny, dx=dx, dy=dy)\n\nx, y = mesh.cellCenters\n\nu = CellVariable(name=\"u\", mesh=mesh, hasOld=True)\n\ndef exact_solution(t):\n    return np.sin(np.pi * x) * np.sin(np.pi * y) * np.exp(-2 * np.pi**2 * t)\n\n# Initial condition\nu.setValue(exact_solution(0.0))\n\n# For this manufactured solution and diffusion coefficient 1:\n# du\/dt = Laplacian(u), so the source term is zero.\nsource = CellVariable(name=\"source\", mesh=mesh, value=0.0)\n\neq = TransientTerm(var=u) == DiffusionTerm(coeff=1.0, var=u) + source\n\ndt = 0.001\nnt = 100\n\nfor step in range(nt):\n    u.updateOld()\n    eq.solve(var=u, dt=dt)\n\nt_final = dt * nt\nexact = exact_solution(t_final)\n\nl2_error = np.sqrt(np.mean((u.value - exact) ** 2))\n\nprint(f\"L2 error at t={t_final:.3f}: {l2_error:.6e}\")\n<\/code><\/pre>\n<p>Wenn Sie die Maschengr\u00f6\u00dfe halbieren und der Fehler um etwa den Faktor vier sinkt, verh\u00e4lt sich ein Schema zweiter Ordnung wie erwartet. Wenn dies nicht der Fall ist, kann die Implementierung einen Fehler enthalten oder die Grenzbehandlung kann die beobachtete Reihenfolge verringern.<\/p>\n<h4>Reihenfolge der Genauigkeitspr\u00fcfung<\/h4>\n<p>Die Reihenfolge der Genauigkeitstests verifiziert, dass der Code die erwartete Konvergenzrate unter Netzverfeinerung erreicht.<\/p>\n<p>Bei einem Finite-Volumen-Schema zweiter Ordnung sollte die Halbierung des Netzabstands den Fehler um etwa den Faktor vier reduzieren.<\/p>\n<p>Das Verfahren ist:<\/p>\n<ol>\n<li>W\u00e4hlen Sie ein Problem mit einer bekannten exakten L\u00f6sung, entweder aus MMS oder einem Lehrbuch-Benchmark.<\/li>\n<li>L\u00f6sen Sie das Problem auf einer Folge von verfeinerten Netzen wie 32 \u00d7 32, 64 \u00d7 64 und 128 \u00d7 128.<\/li>\n<li>Berechnen Sie eine Fehlernorm auf jeder Verfeinerungsebene wie L1, L2 oder L\u221e.<\/li>\n<li>Plotfehler versus Maschengr\u00f6\u00dfe in einem Log-Log-Diagramm.<\/li>\n<li>Berechnen Sie die beobachtete Reihenfolge mit <code>order = log(e_coarse \/ e_fine) \/ log(h_coarse \/ h_fine)<\/code>.<\/li>\n<li>Stellen Sie sicher, dass die beobachtete Reihenfolge innerhalb einer angemessenen Toleranz mit der theoretischen Diskretisierungsreihenfolge \u00fcbereinstimmt.<\/li>\n<\/ol>\n<p>Dies ist eine Mindestanforderung f\u00fcr jeden PDE-Code, der numerische Korrektheit beansprucht. Ohne sie sind Fehlersch\u00e4tzungen und Schlussfolgerungen der Netzkonvergenz schwach.<\/p>\n<h4>Wichtige Warnung vor Cross-Code-Vergleich<\/h4>\n<p>Das Vergleichen von zwei verschiedenen Codes kann als Sanity-Check n\u00fctzlich sein, ersetzt jedoch nicht die \u00dcberpr\u00fcfung gegen analytische oder hergestellte L\u00f6sungen.<\/p>\n<p>Zwei Codes k\u00f6nnen zustimmen und sind immer noch falsch, wenn beide denselben systematischen Fehler teilen. Der Cross-Code-Vergleich sollte als erg\u00e4nzende \u00dcberpr\u00fcfung nach ordnungsgem\u00e4\u00dfer MMS- oder Auftragspr\u00fcfung verwendet werden.<\/p>\n<h2>2. Validierung: Simulationen mit der Realit\u00e4t vergleichen<\/h2>\n<p>Die Validierung beurteilt, ob das Simulationsmodell f\u00fcr die beabsichtigte Verwendung ausreichend genau ist. Dies geschieht, indem Vorhersagen mit unabh\u00e4ngigen experimentellen Daten, Benchmark-Daten oder vertrauensw\u00fcrdigen Referenzergebnissen verglichen werden.<\/p>\n<p>Eine Schl\u00fcsselregel ist, dass Kalibrierung und Validierung getrennt sein m\u00fcssen. Kalibrierung Passt die Modellparameter an die Daten an. Validierungstests Vorhersagekraft auf unabh\u00e4ngigen Daten. Die Verwendung desselben Datensatzes f\u00fcr beide schafft k\u00fcnstliches Vertrauen.<\/p>\n<h3>Benchmark-Probleme als Validierungsziele<\/h3>\n<p>Benchmark-Probleme sind standardisierte Testf\u00e4lle mit gut charakterisierten experimentellen oder High-Fidelity-Referenzdaten. Sie bieten objektive Validierungsziele.<\/p>\n<p>Gemeinsame Benchmark-Kategorien umfassen:<\/p>\n<ul>\n<li>Fluiddynamik, wie z.<\/li>\n<li>Transportgleichungen wie 1D-Advektionsdiffusion mit bekanntem analytischen Verhalten.<\/li>\n<li>Phasenfeldmodelle wie Allen-Cahn- oder Cahn-Hilliard-Muster im Vergleich zum Referenzverhalten.<\/li>\n<li>Diffusionsreaktionssysteme wie die Validierung der Wellengeschwindigkeit von Fisher-KPP.<\/li>\n<\/ul>\n<p>F\u00fcr die Modellierung von Computermaterialien und das PDE-basierte maschinelle Lernen k\u00f6nnen Benchmark-Datens\u00e4tze wie <a href=\"https:\/\/github.com\/pdebench\/PDEBench\"> pdebench <\/a> standardisierte Referenzprobleme bereitstellen.<\/p>\n<h3>Wenn experimentelle Daten nicht verf\u00fcgbar sind<\/h3>\n<p>Nicht immer sind hochwertige experimentelle Daten verf\u00fcgbar. In diesem Fall k\u00f6nnen Sie immer noch Validierungsnachweise erstellen, indem Sie die besten verf\u00fcgbaren Alternativen verwenden.<\/p>\n<ol>\n<li>Verwenden Sie High-Fidelity-Referenzl\u00f6sungen wie DNS f\u00fcr turbulente Str\u00f6mungen, sofern verf\u00fcgbar.<\/li>\n<li>Vergleichen Sie mit analytischen L\u00f6sungen f\u00fcr vereinfachte F\u00e4lle.<\/li>\n<li>F\u00fchren Sie Cross-Code-Vergleiche mit unabh\u00e4ngigen, gut verifizierten Codes durch.<\/li>\n<li>Seien Sie transparent in Bezug auf die Einschr\u00e4nkung und charakterisieren Sie die pr\u00e4diktive Unsicherheit durch Sensitivit\u00e4tsanalyse.<\/li>\n<\/ol>\n<h3>Hierarchische Validierungsstrategie<\/h3>\n<p>Eine praktische Validierungsstrategie sollte hierarchisch sein.<\/p>\n<ol>\n<li>Start with simple benchmark problems that isolate specific physics.<\/li>\n<li>Bauen Sie die Komplexit\u00e4t durch Tests auf Systemebene auf, die mehrere Ph\u00e4nomene kombinieren.<\/li>\n<li>Dokumentieren Sie die Validierungsprobleme, Ergebnisse, Fehlermetriken und Schlussfolgerungen \u00fcber die Angemessenheit f\u00fcr den beabsichtigten Gebrauch.<\/li>\n<\/ol>\n<p>Ein Modell wird selten perfekt validiert. Es wird f\u00fcr einen bestimmten Verwendungszweck auf ein bestimmtes Ma\u00df an Genauigkeit validiert.<\/p>\n<h2>3. Unsicherheitsquantifizierung: Messen des Vertrauens in Vorhersagen<\/h2>\n<p>Unsicherheitsquantifizierung ist der Prozess der Charakterisierung, Quantifizierung und Verbreitung von Unsicherheiten in Modelleingaben, Parametern und Approximationen. Es hilft zu bewerten, wie sich die Unsicherheit auf die Modellausgaben und das Vorhersagevertrauen auswirkt.<\/p>\n<p>Kein Modell ist perfekt und jedes reale System umfasst Variabilit\u00e4t und unvollst\u00e4ndiges Wissen. UQ hilft Ihnen nicht nur zu verstehen, was das Modell vorhersagt, sondern auch, wie sicher diese Vorhersage ist.<\/p>\n<h3>Arten von Unsicherheit<\/h3>\n<p>UQ unterscheidet zwei Hauptkategorien der Unsicherheit.<\/p>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Typ<\/th>\n<th>Was es bedeutet<\/th>\n<th>Kann es reduziert werden?<\/th>\n<th>Beispiele<\/th>\n<\/tr>\n<tr>\n<td>Zufallsm\u00e4\u00dfig<\/td>\n<td>inh\u00e4rente Zuf\u00e4lligkeit in einem System<\/td>\n<td>Nein, es ist nicht reduzierbar<\/td>\n<td>Fertigungstoleranzen und Umweltschwankungen<\/td>\n<\/tr>\n<tr>\n<td>epistemisch<\/td>\n<td>Mangel an Wissen \u00fcber das System<\/td>\n<td>Ja, durch mehr Daten oder bessere Modelle<\/td>\n<td>Unbekannte Materialeigenschaften und nicht gemessene Ausgangsbedingungen<\/td>\n<\/tr>\n<\/tbody><\/table>\n<p>Diese Unterscheidung ist wichtig, da sie die Wahl der UQ-Methode beeinflusst. Die aleatorische Unsicherheit wird normalerweise mit Wahrscheinlichkeitsverteilungen beschrieben. Die epistemische Unsicherheit kann oft durch mehr Messungen, bessere Modelle oder verbesserte Kalibrierung verringert werden.<\/p>\n<h3>UQ-Methoden: Von einfach bis fortgeschritten<\/h3>\n<h4>Monte-Carlo-Simulation<\/h4>\n<p>Die Monte-Carlo-Simulation ist die einfachste UQ-Methode. Sie f\u00fchren das Modell wiederholt mit zuf\u00e4llig abgetasteten Eingabewerten aus definierten Verteilungen aus. Das Ergebnis ist eine Verteilung der Ausgabewerte.<\/p>\n<pre><code class=\"language-python\">import numpy as np\n\n# Example: propagate uncertainty in thermal conductivity.\n# Assume k = 200 W\/mK +\/- 10%, represented as a uniform distribution.\nk_samples = np.random.uniform(180, 220, size=10000)\n\n# Simplified steady-state heat transfer:\n# T = q * L \/ (k * A)\nq = 1000\nL = 0.01\nA = 1.0\n\nT = (q * L) \/ (k_samples * A)\n\nprint(f\"Mean temperature: {np.mean(T):.2f} K\")\nprint(\n    \"95% confidence interval: \"\n    f\"[{np.percentile(T, 2.5):.2f}, {np.percentile(T, 97.5):.2f}] K\"\n)\n<\/code><\/pre>\n<p>Monte Carlo ist leicht zu verstehen und umzusetzen. Sein Hauptnachteil sind die Kosten. Wenn jeder Modelllauf teuer ist, k\u00f6nnen Tausende von Proben unpraktisch sein.<\/p>\n<h4>Erweiterung des Polynom-Chaos<\/h4>\n<p>Die Polynom-Chaos-Erweiterung erstellt ein Ersatzmodell, das die Ausgabe als Polynomfunktion unsicherer Eingaben darstellt. Es kann viel effizienter sein als Brute-Force Monte Carlo, wenn jeder Simulationslauf teuer ist.<\/p>\n<p>Python-Tools wie EasyVVuq und EasySurrogate k\u00f6nnen Polynom-Chaos und Surrogat-basierte UQ-Workflows unterst\u00fctzen.<\/p>\n<h4>Sensitivit\u00e4tsanalyse<\/h4>\n<p>Die Sensitivit\u00e4tsanalyse untersucht, wie Variationen in der Modellausgabe auf Variationen der Modelleingaben zur\u00fcckzuf\u00fchren sind. Es hilft zu identifizieren, welche Parameter die Vorhersagen am meisten beeinflussen.<\/p>\n<p>Zwei Hauptkategorien sind:<\/p>\n<ul>\n<li>lokale Sensitivit\u00e4tsanalyse. Dies \u00e4ndert jeweils eine Eingabe, w\u00e4hrend andere festgehalten werden. Es ist einfach, erfasst aber keine Parameterinteraktionen.<\/li>\n<li>Globale Sensibilit\u00e4tsanalyse. Dies variiert alle Eingaben zusammen und kann Interaktionen ber\u00fccksichtigen. Zu den Methoden geh\u00f6ren Sobol-Indizes, Regressionsbasierte Methoden und Derivatmethoden.<\/li>\n<\/ul>\n<p>Sensitivit\u00e4tsanalyse ist n\u00fctzlich f\u00fcr:<\/p>\n<ol>\n<li>Priorisierung der Datenerfassung durch Identifizierung der Parameter, die am wichtigsten sind.<\/li>\n<li>Vereinfachung von Modellen durch Festlegung von Parametern, die vernachl\u00e4ssigbare Auswirkungen haben.<\/li>\n<li>Verstehen, welche Mechanismen Vorhersagen antreiben.<\/li>\n<\/ol>\n<h2>Die integrierte VVUQ-Pipeline: Alles zusammensetzen<\/h2>\n<p>Eine integrierte VVUQ-Pipeline folgt einem systematischen Workflow.<\/p>\n<ol>\n<li>Identifizieren und charakterisieren Sie Unsicherheiten in Eingaben, physikalischen Parametern und numerischen Approximationen.<\/li>\n<li>F\u00fchren Sie die Code- und L\u00f6sungspr\u00fcfung durch, um numerische Fehler, Codierungsfehler und Unsicherheiten zu reduzieren.<\/li>\n<li>\u00dcbertragen Sie Eingabeunsicherheiten durch das Berechnungsmodell, um Ausgabeverteilungen zu generieren.<\/li>\n<li>Validieren Sie Modellvorhersagen gegen kontrollierte experimentelle Daten oder vertrauensw\u00fcrdige Benchmark-Ergebnisse.<\/li>\n<li>Unterst\u00fctzen Sie die Entscheidungsfindung mit probabilistischen, risikoinformierten Ergebnissen und nicht mit einzelnen deterministischen Vorhersagen.<\/li>\n<\/ol>\n<p>In der Praxis kann dieser Workflow durch Tools wie EasyVVuq, Fabsim3, Ersatzmodellierungsbibliotheken und HPC-orientierte Workflow-Systeme unterst\u00fctzt werden.<\/p>\n<h2>H\u00e4ufige V &amp; V-Fehler und wie man sie vermeidet<\/h2>\n<h3>\u00dcberpr\u00fcfungsfehler<\/h3>\n<ul>\n<li>Angenommen, der Code ist fehlerfrei. Selbst weit verbreitete Codes k\u00f6nnen unentdeckte Fehler enthalten. Regressionstests mit MMS-F\u00e4llen k\u00f6nnen neue Fehler abfangen.<\/li>\n<li>Vernachl\u00e4ssigung der Auftragsgenauigkeit. Ohne die theoretischen Konvergenzraten zu best\u00e4tigen, sind Fehlersch\u00e4tzungen schwach.<\/li>\n<li>Verwenden des Cross-Code-Vergleichs als einzige Verifizierungsmethode. Zwei falsche Codes k\u00f6nnen zustimmen.<\/li>\n<li>Verifizierung als einmalige Aktivit\u00e4t behandeln. Jede aussagekr\u00e4ftige Code\u00e4nderung sollte eine relevante Neuverifizierung ausl\u00f6sen.<\/li>\n<\/ul>\n<h3>Validierungsfehler<\/h3>\n<ul>\n<li>Verwirrende Kalibrierung mit Validierung. Das Abstimmen von Parametern auf Daten und dann die Validierung gegen dieselben Daten erh\u00f6ht das Vertrauen.<\/li>\n<li>experimentelle Unsicherheit ignorieren. Eine Diskrepanz kann akzeptabel sein, wenn die experimentelle Unsicherheit gr\u00f6\u00dfer als der Unterschied ist.<\/li>\n<li>Extrapolieren \u00fcber das validierte Regime hinaus. Ein Modell, das in einem Regime validiert wird, sollte ohne zus\u00e4tzliche Beweise nicht in einem sehr anderen Regime vertraut werden.<\/li>\n<li>Schlechte Dokumentation. Ohne detaillierte Validierungsaufzeichnungen ist die Glaubw\u00fcrdigkeit der Simulation schwer zu beurteilen.<\/li>\n<\/ul>\n<h3>UQ-spezifische Fehler<\/h3>\n<ul>\n<li>Angenommen, UQ ist optional. Ohne Unsicherheitsgrenzen fehlt es bei einer validierten Simulation immer noch an einem nutzbaren Konfidenzintervall.<\/li>\n<li>Parameterinteraktionen ignorieren. Eine Einzelsensitivit\u00e4tsanalyse kann Interaktionseffekte \u00fcbersehen, die globale Methoden erfassen.<\/li>\n<li>Alle Unsicherheit als Aleatory behandeln. Einige Unsicherheiten sind epistemisch und k\u00f6nnen durch bessere Daten oder bessere Modelle verringert werden.<\/li>\n<\/ul>\n<h2>Entscheidungsleitfaden: Wie viel VVUQ-Rigor ben\u00f6tigen Sie?<\/h2>\n<p>Der Grad der VVUQ-Rigorit\u00e4t sollte mit den Konsequenzen eines Modellfehlers \u00fcbereinstimmen.<\/p>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Lage<\/th>\n<th>Empfohlene Genauigkeit<\/th>\n<th>Warum<\/th>\n<\/tr>\n<tr>\n<td>Akademischer Forschungscode<\/td>\n<td>Grundpr\u00fcfung mit MMS und Netzkonvergenz<\/td>\n<td>Minimales akzeptables Niveau f\u00fcr Glaubw\u00fcrdigkeit<\/td>\n<\/tr>\n<tr>\n<td>Ver\u00f6ffentlichte Simulationsergebnisse<\/td>\n<td>Verifizierung plus Validierung gegen\u00fcber Benchmarks<\/td>\n<td>Unterst\u00fctzt Reproduzierbarkeit und Peer Review<\/td>\n<\/tr>\n<tr>\n<td>Entscheidungen zum industriellen Design<\/td>\n<td>Voller VVUQ mit UQ-Grenzen<\/td>\n<td>Designauswahl und -konformit\u00e4t kann vom Modell abh\u00e4ngen<\/td>\n<\/tr>\n<tr>\n<td>sicherheitskritische Anwendungen<\/td>\n<td>ASME-Framework mit unabh\u00e4ngiger \u00dcberpr\u00fcfung<\/td>\n<td>Regulierungs- und Haftungsrisiken sind hoch<\/td>\n<\/tr>\n<tr>\n<td>Maschinelles Lernen<\/td>\n<td>Surrogate-Genauigkeitspr\u00fcfung plus UQ der Vorhersagegrenzen<\/td>\n<td>Ersatzfehler muss quantifiziert werden<\/td>\n<\/tr>\n<tr>\n<td>Code-Wartung oder Fehlerbehebungen<\/td>\n<td>Gezielte MMS-Tests f\u00fcr betroffene Module<\/td>\n<td>Kosteng\u00fcnstige \u00dcberpr\u00fcfung f\u00fcr ge\u00e4nderte Codepfade<\/td>\n<\/tr>\n<\/tbody><\/table>\n<p>Das Fazit ist einfach: VVUQ-Rigor sollte den Folgen des Scheiterns entsprechen. Akademischer Code braucht grundlegende \u00dcberpr\u00fcfung. Ver\u00f6ffentlichte Ergebnisse brauchen eine st\u00e4rkere Validierung. Industrie- und sicherheitskritische Anwendungen erfordern umfassende, dokumentierte VVUQ.<\/p>\n<h2>Zusammenfassung und n\u00e4chste Schritte<\/h2>\n<p>\u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung sind keine optionalen Extras. Sie sind Kernbestandteile glaubw\u00fcrdiger wissenschaftlicher Simulation.<\/p>\n<p>Eine praktische VVUQ-Pipeline sollte dieser Reihenfolge folgen:<\/p>\n<ol>\n<li>Beginnen Sie mit der Code\u00fcberpr\u00fcfung mit MMS- und Auftragsgenauigkeitstests.<\/li>\n<li>Quantifizieren Sie numerische Fehler durch L\u00f6sungs\u00fcberpr\u00fcfung f\u00fcr Produktionsl\u00e4ufe.<\/li>\n<li>Erstellen Sie Validierungsnachweise mit Benchmark-Problemen und unabh\u00e4ngigen Daten.<\/li>\n<li>F\u00fcgen Sie die Unsicherheitsquantifizierung hinzu, um die Konfidenzgrenzen f\u00fcr Vorhersagen zu melden.<\/li>\n<li>Befolgen Sie die Standards wie ASME VVUQ, um den Prozess zu strukturieren und die Genauigkeit zu kommunizieren.<\/li>\n<\/ol>\n<p>Selbst ein grundlegendes VVUQ-Programm wie MMS-Tests, Netzkonvergenz und eine UQ-Methode k\u00f6nnen das Vertrauen in die Simulationsergebnisse und das fr\u00fchzeitige Abfangen von Fehlern dramatisch erh\u00f6hen.<\/p>\n<h2>Verwandte Anleitungen<\/h2>\n<p>F\u00fcr verwandte Themen in wissenschaftlichen Simulations-Workflows auf Matforge:<\/p>\n<ul>\n<li><a href=\"\/python-debugging-scientific-code-print-statements-profiling\/\">Python-Debugging f\u00fcr wissenschaftlichen Code: Vom Druckausweis bis zum Profiling<\/a><\/li>\n<li><a href=\"\/when-to-use-fem-fvm-fdm\/\">Wann FEM, FVM oder FDM zu verwenden: Ein praktischer Vergleich f\u00fcr Anf\u00e4nger<\/a><\/li>\n<li><a href=\"\/monte-carlo-methods-for-scientific-simulations\/\">Monte-Carlo-Methoden f\u00fcr wissenschaftliche Simulationen: Ein Python-Guide<\/a><\/li>\n<\/ul>\n<h2>Referenzen und Weiterlesen<\/h2>\n<ul>\n<li>Roy, C. J. (2005). \u00dcberpr\u00fcfung der Code- und L\u00f6sungs\u00fcberpr\u00fcfungsverfahren f\u00fcr die Computersimulation. Journal of Computational Physics.<\/li>\n<li>Oberkampf, W. L. &amp; Roy, C. J. (2010). Verifizierung und Validierung im wissenschaftlichen Rechnen. Cambridge University Press.<\/li>\n<li>ASME VVUQ Standards Portfolio: <a href=\"https:\/\/www.asme.org\/codes-standards\/find-codes-standards\/verification-validation-and-uncertainty-quantification-terminology-in-computational-modeling-and-simulation\/2022\/pdf\"> VVUQ 1<\/a>, <a href=\"https:\/\/www.asme.org\/codes-standards\/find-codes-standards\/standard-for-verification-and-validation-in-computational-solid-mechanics\">V&amp;V 10<\/a>, <a href=\"https:\/\/www.asme.org\/codes-standards\/find-codes-standards\/standard-for-verification-and-validation-in-computational-fluid-dynamics-and-heat-transfer\">V&amp;V 20<\/a><\/li>\n<li>OSTI: <a href=\"https:\/\/www.osti.gov\/servlets\/purl\/1111312\">Einf\u00fchrung in die \u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung<\/a><\/li>\n<\/ul>\n"},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 8<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Sie m\u00fcssen zwei verschiedene Dinge \u00fcber eine Simulation wissen: ob der Code die Gleichungen richtig l\u00f6st und ob das Modell f\u00fcr das reale Problem genau genug ist. Die erste Frage ist die \u00dcberpr\u00fcfung. Die zweite Frage ist die Validierung. Aber das reicht nicht. Sie m\u00fcssen auch verstehen, wie sehr Sie den Zahlen vertrauen k\u00f6nnen, die [&hellip;]<\/p>\n","protected":false,"raw":""},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"de_DE","_original_post":"https:\/\/matforge.org\/?p=349","iawp_total_views":1,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-886","post","type-post","status-publish","format-standard","hentry","category-simulation-modeling-projects","de-DE"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Verifizierung vs. Validierung in Simulationen<\/title>\n<meta name=\"description\" content=\"Lernen Sie die \u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung f\u00fcr wissenschaftliche Simulationen, einschlie\u00dflich MMS, Netzkonvergenz, UQ und Python-Beispiele.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verifizierung vs. Validierung in Simulationen\" \/>\n<meta property=\"og:description\" content=\"Lernen Sie die \u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung f\u00fcr wissenschaftliche Simulationen, einschlie\u00dflich MMS, Netzkonvergenz, UQ und Python-Beispiele.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-30T12:23:22+00:00\" \/>\n<meta name=\"author\" content=\"Elena Markovska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elena Markovska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"13\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/\"},\"author\":{\"name\":\"Elena Markovska\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"headline\":\"Verifikation vs. Validierung in wissenschaftlichen Simulationen: Ein praktischer Leitfaden\",\"datePublished\":\"2026-07-30T12:23:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/\"},\"wordCount\":2272,\"commentCount\":0,\"articleSection\":[\"Simulation & amp; Modellierungsprojekte\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/de\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/de\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/\",\"name\":\"Verifizierung vs. Validierung in Simulationen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-07-30T12:23:22+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"description\":\"Lernen Sie die \u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung f\u00fcr wissenschaftliche Simulationen, einschlie\u00dflich MMS, Netzkonvergenz, UQ und Python-Beispiele.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/de\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verifikation vs. Validierung in wissenschaftlichen Simulationen: Ein praktischer Leitfaden\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\",\"url\":\"https:\\\/\\\/matforge.org\\\/\",\"name\":\"matforge.org\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/matforge.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\",\"name\":\"Elena Markovska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"caption\":\"Elena Markovska\"},\"sameAs\":[\"http:\\\/\\\/matforge.org\"],\"url\":\"https:\\\/\\\/matforge.org\\\/author\\\/elena-markovska\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Verifizierung vs. Validierung in Simulationen","description":"Lernen Sie die \u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung f\u00fcr wissenschaftliche Simulationen, einschlie\u00dflich MMS, Netzkonvergenz, UQ und Python-Beispiele.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/","og_locale":"de_DE","og_type":"article","og_title":"Verifizierung vs. Validierung in Simulationen","og_description":"Lernen Sie die \u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung f\u00fcr wissenschaftliche Simulationen, einschlie\u00dflich MMS, Netzkonvergenz, UQ und Python-Beispiele.","og_url":"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/","og_site_name":"matforge.org","article_published_time":"2026-07-30T12:23:22+00:00","author":"Elena Markovska","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Elena Markovska","Gesch\u00e4tzte Lesezeit":"13\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/"},"author":{"name":"Elena Markovska","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"headline":"Verifikation vs. Validierung in wissenschaftlichen Simulationen: Ein praktischer Leitfaden","datePublished":"2026-07-30T12:23:22+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/"},"wordCount":2272,"commentCount":0,"articleSection":["Simulation & amp; Modellierungsprojekte"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/","url":"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/","name":"Verifizierung vs. Validierung in Simulationen","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-07-30T12:23:22+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"description":"Lernen Sie die \u00dcberpr\u00fcfung, Validierung und Unsicherheitsquantifizierung f\u00fcr wissenschaftliche Simulationen, einschlie\u00dflich MMS, Netzkonvergenz, UQ und Python-Beispiele.","breadcrumb":{"@id":"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/de\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/de\/"},{"@type":"ListItem","position":2,"name":"Verifikation vs. Validierung in wissenschaftlichen Simulationen: Ein praktischer Leitfaden"}]},{"@type":"WebSite","@id":"https:\/\/matforge.org\/#website","url":"https:\/\/matforge.org\/","name":"matforge.org","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/matforge.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da","name":"Elena Markovska","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","caption":"Elena Markovska"},"sameAs":["http:\/\/matforge.org"],"url":"https:\/\/matforge.org\/author\/elena-markovska\/"}]}},"_links":{"self":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/886","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/comments?post=886"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/886\/revisions"}],"predecessor-version":[{"id":1022,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/886\/revisions\/1022"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=886"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}