{"id":1272,"date":"2026-08-21T14:31:32","date_gmt":"2026-08-21T14:31:32","guid":{"rendered":"https:\/\/matforge.org\/?p=1272","raw":"https:\/\/matforge.org\/?p=1272"},"modified":"2026-08-21T14:31:32","modified_gmt":"2026-08-21T14:31:32","slug":"verification-vs-validation-in-scientific-simulations-a-practical-guide","status":"publish","type":"post","link":"https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/","title":{"rendered":"V\u00e9rification vs validation dans des simulations scientifiques : un guide pratique","raw":"V\u00e9rification vs validation dans des simulations scientifiques : un guide pratique"},"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\"> 10<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>Vous devez savoir deux choses diff\u00e9rentes sur une simulation&nbsp;: si le code r\u00e9sout correctement les \u00e9quations et si le mod\u00e8le est suffisamment pr\u00e9cis pour le probl\u00e8me du monde r\u00e9el. La premi\u00e8re question est la v\u00e9rification. La deuxi\u00e8me question est la validation.<\/p>\n<p>Mais cela ne suffit pas. Vous devez \u00e9galement comprendre \u00e0 quel point vous pouvez faire confiance aux chiffres que votre simulation produit. C&rsquo;est l\u00e0 que la quantification de l&rsquo;incertitude entre dans le flux de travail.<\/p>\n<p>Ce guide explique le cadre VVUQ complet : v\u00e9rification, validation et quantification de l&rsquo;incertitude. Il comprend \u00e9galement des exemples pratiques Python et Fipy qui peuvent vous aider \u00e0 appliquer ces id\u00e9es dans votre propre travail de simulation.<\/p>\n<h2 id=\"key-takeaways\">Points \u00e0 retenir cl\u00e9s<\/h2>\n<ul>\n<li>La v\u00e9rification r\u00e9pond \u00e0 la question&nbsp;: avons-nous r\u00e9solu les \u00e9quations, n&rsquo;est-ce pas&nbsp;? Il v\u00e9rifie l&rsquo;exactitude du code, la pr\u00e9cision num\u00e9rique et les bogues de mise en \u0153uvre.<\/li>\n<li>La validation r\u00e9pond \u00e0 la question&nbsp;: avons-nous r\u00e9solu les bonnes \u00e9quations&nbsp;? Il compare la sortie de simulation avec des donn\u00e9es exp\u00e9rimentales, des donn\u00e9es de r\u00e9f\u00e9rence ou des r\u00e9sultats de r\u00e9f\u00e9rence fiables.<\/li>\n<li>La quantification de l&rsquo;incertitude r\u00e9pond \u00e0 la question&nbsp;: dans quelle mesure pouvons-nous faire confiance \u00e0 ces r\u00e9sultats&nbsp;? Il propage les incertitudes d&rsquo;entr\u00e9e \u00e0 travers le mod\u00e8le et signale des limites de confiance sur les pr\u00e9dictions.<\/li>\n<li>UQ est souvent mentionn\u00e9 dans les discussions V&amp;v mais rarement mis en \u0153uvre avec des exemples python pratiques. Ce guide donne des points de d\u00e9part concrets.<\/li>\n<li>Le portefeuille de normes ASME VVUQ fournit une structure largement adopt\u00e9e pour les flux de travail VVUQ dans les disciplines de calcul.<\/li>\n<\/ul>\n<h2>V\u00e9rification, validation et quantification de l&rsquo;incertitude&nbsp;: pourquoi ils appartiennent ensemble<\/h2>\n<p>Si vous avez d\u00e9j\u00e0 ex\u00e9cut\u00e9 une simulation et demand\u00e9 si vous pouviez faire confiance aux r\u00e9sultats, vous avez d\u00e9j\u00e0 rencontr\u00e9 le probl\u00e8me auquel VVUQ r\u00e9pond.<\/p>\n<p>La v\u00e9rification, la validation et la quantification de l&rsquo;incertitude ne sont pas des t\u00e2ches distinctes que vous effectuez de mani\u00e8re ind\u00e9pendante. Ils forment un pipeline de cr\u00e9dibilit\u00e9 :<\/p>\n<ol>\n<li>La v\u00e9rification prouve que le code est math\u00e9matiquement et informatiquement correct.<\/li>\n<li>La validation v\u00e9rifie si le mod\u00e8le repr\u00e9sente suffisamment le syst\u00e8me r\u00e9el pour l&rsquo;utilisation pr\u00e9vue.<\/li>\n<li>La quantification de l&rsquo;incertitude vous indique \u00e0 quel point vous pouvez \u00eatre confiant dans les pr\u00e9visions.<\/li>\n<\/ol>\n<p>Le framework ASME VVUQ formalise ce pipeline dans un flux de travail structur\u00e9 utilis\u00e9 dans les domaines de la m\u00e9canique des solides informatiques, de la dynamique des fluides, des dispositifs m\u00e9dicaux et d&rsquo;autres domaines de la simulation. <a href=\"https:\/\/www.asme.org\/codes-standards\/publications-information\/verification-validation-uncertainty\">asme vvuq<\/a><\/p>\n<p>La distinction entre v\u00e9rification et validation est souvent r\u00e9sum\u00e9e par deux questions.<\/p>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Question<\/th>\n<th>Ce que cela veut dire<\/th>\n<th>Ce que vous v\u00e9rifiez<\/th>\n<\/tr>\n<tr>\n<td>R\u00e9solvons-nous les \u00e9quations, n&rsquo;est-ce pas&nbsp;?<\/td>\n<td>V\u00e9rification<\/td>\n<td>Bogues de codage, erreurs num\u00e9riques et erreurs de discr\u00e9tisation<\/td>\n<\/tr>\n<tr>\n<td>R\u00e9solvons-nous les bonnes \u00e9quations ?<\/td>\n<td>Validation<\/td>\n<td>Pr\u00e9cision du mod\u00e8le physique, conditions aux limites et hypoth\u00e8ses<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>La troisi\u00e8me question est : Dans quelle mesure pouvons-nous \u00eatre confiants ? C&rsquo;est l\u00e0 que la quantification de l&rsquo;incertitude entre dans le processus.<\/p>\n<p>Une simulation peut \u00eatre v\u00e9rifi\u00e9e et valid\u00e9e, tout en produisant des pr\u00e9dictions avec de larges intervalles d&rsquo;incertitude. Si ces intervalles sont trop larges, le r\u00e9sultat peut ne pas \u00eatre utile pour la conception, la r\u00e9glementation ou la prise de d\u00e9cision.<\/p>\n<h2>1. V\u00e9rification&nbsp;: prouver que votre code est correct<\/h2>\n<p>La v\u00e9rification est math\u00e9matique et informatique. Il ne teste pas directement le monde r\u00e9el. Au lieu de cela, il suppose que les \u00e9quations gouvernantes sont correctes et demande si le programme informatique les r\u00e9sout sans erreurs num\u00e9riques ou de mise en \u0153uvre.<\/p>\n<p>La v\u00e9rification comporte deux aspects principaux&nbsp;: la v\u00e9rification du code et l&rsquo;ordre des tests de pr\u00e9cision.<\/p>\n<h3>V\u00e9rification du code&nbsp;: l&rsquo;impl\u00e9mentation correspond-elle aux calculs&nbsp;?<\/h3>\n<p>La v\u00e9rification du code d\u00e9montre que le solveur impl\u00e9mente correctement le mod\u00e8le math\u00e9matique. Deux m\u00e9thodes largement utilis\u00e9es sont la m\u00e9thode des solutions fabriqu\u00e9es et l&rsquo;ordre des tests de pr\u00e9cision.<\/p>\n<h4>M\u00e9thode des solutions fabriqu\u00e9es<\/h4>\n<p>La m\u00e9thode des solutions manufactur\u00e9es est l&rsquo;un des outils les plus solides pour la v\u00e9rification des codes en sciences informatiques. Cela fonctionne en cr\u00e9ant une solution analytique connue, en calculant le terme source requis, puis en v\u00e9rifiant si le code reproduit cette solution.<\/p>\n<p>La proc\u00e9dure est :<\/p>\n<ol>\n<li>Choisissez une solution analytique fluide, telle que <code>u_m = sin(x) * cos(y) * exp(-t)<\/code>.<\/li>\n<li>Remplacez la solution fabriqu\u00e9e dans l&rsquo;op\u00e9rateur PDE pour calculer le terme de source requis.<\/li>\n<li>Ex\u00e9cutez la simulation avec le terme de la source manufactur\u00e9e et les limites ou les conditions initiales correspondantes.<\/li>\n<li>Comparez la solution num\u00e9rique \u00e0 la solution de fabrication exacte.<\/li>\n<li>Ex\u00e9cutez des \u00e9tudes de raffinement de maillage pour v\u00e9rifier que l&rsquo;ordre de convergence observ\u00e9 correspond \u00e0 l&rsquo;ordre th\u00e9orique.<\/li>\n<\/ol>\n<p>Voici un exemple de style fipy simplifi\u00e9 pour un probl\u00e8me de diffusion transitoire&nbsp;:<\/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>Si vous divisez par deux la taille du maillage et que l&rsquo;erreur baisse d&rsquo;environ quatre, un sch\u00e9ma de second ordre se comporte comme pr\u00e9vu. Si ce n&rsquo;est pas le cas, la mise en \u0153uvre peut contenir un bogue ou le traitement des limites peut r\u00e9duire l&rsquo;ordre observ\u00e9.<\/p>\n<h4>Ordre de test de pr\u00e9cision<\/h4>\n<p>Ordre de pr\u00e9cision Les tests v\u00e9rifient que le code atteint le taux de convergence attendu dans le cadre du raffinement du maillage.<\/p>\n<p>Pour un sch\u00e9ma de volume fini de second ordre, la r\u00e9duction de moiti\u00e9 de l&rsquo;espacement du maillage devrait r\u00e9duire l&rsquo;erreur d&rsquo;environ un facteur de quatre.<\/p>\n<p>La proc\u00e9dure est :<\/p>\n<ol>\n<li>Choisissez un probl\u00e8me avec une solution exacte connue, \u00e0 partir de MMS ou d&rsquo;un benchmark.<\/li>\n<li>R\u00e9solvez le probl\u00e8me sur une s\u00e9quence de maillages raffin\u00e9s, tels que 32 \u00d7 32, 64 \u00d7 64 et 128 \u00d7 128.<\/li>\n<li>Calculez une norme d&rsquo;erreur \u00e0 chaque niveau de raffinement, comme L1, L2 ou L\u221e.<\/li>\n<li>Erreur de trac\u00e9 en fonction de la taille du maillage sur un trac\u00e9 journal.<\/li>\n<li>Calculez l&rsquo;ordre observ\u00e9 avec <code>order = log(e_coarse \/ e_fine) \/ log(h_coarse \/ h_fine)<\/code>.<\/li>\n<li>V\u00e9rifiez que l&rsquo;ordre observ\u00e9 correspond \u00e0 l&rsquo;ordre de discr\u00e9tisation th\u00e9orique dans une tol\u00e9rance raisonnable.<\/li>\n<\/ol>\n<p>Il s&rsquo;agit d&rsquo;une exigence minimale pour tout code PDE qui revendique l&rsquo;exactitude num\u00e9rique. Sans cela, les estimations d&rsquo;erreurs et les conclusions de maillage-convergence sont faibles.<\/p>\n<h4>Avertissement important concernant la comparaison de codes crois\u00e9s<\/h4>\n<p>La comparaison de deux codes diff\u00e9rents peut s&rsquo;av\u00e9rer utile en tant que contr\u00f4le de sant\u00e9 mentale, mais cela ne remplace pas la v\u00e9rification par rapport aux solutions analytiques ou fabriqu\u00e9es.<\/p>\n<p>Deux codes peuvent convenir et sont toujours erron\u00e9s si les deux partagent la m\u00eame erreur syst\u00e9matique. La comparaison de codes crois\u00e9s doit \u00eatre utilis\u00e9e comme v\u00e9rification suppl\u00e9mentaire apr\u00e8s un MMS ou un test de commande.<\/p>\n<h2>2. Validation : comparaison des simulations \u00e0 la r\u00e9alit\u00e9<\/h2>\n<p>La validation \u00e9value si le mod\u00e8le de simulation est suffisamment pr\u00e9cis pour son utilisation pr\u00e9vue. Pour ce faire, il compare les pr\u00e9dictions avec des donn\u00e9es exp\u00e9rimentales ind\u00e9pendantes, des donn\u00e9es de r\u00e9f\u00e9rence ou des r\u00e9sultats de r\u00e9f\u00e9rence fiables.<\/p>\n<p>Une r\u00e8gle cl\u00e9 est que l&rsquo;\u00e9talonnage et la validation doivent \u00eatre s\u00e9par\u00e9s. L&rsquo;\u00e9talonnage ajuste les param\u00e8tres du mod\u00e8le en fonction des donn\u00e9es. La validation teste le pouvoir pr\u00e9dictif sur des donn\u00e9es ind\u00e9pendantes. L&rsquo;utilisation du m\u00eame ensemble de donn\u00e9es pour les deux cr\u00e9e une confiance artificielle.<\/p>\n<h3>Probl\u00e8mes de r\u00e9f\u00e9rence en tant que cibles de validation<\/h3>\n<p>Les probl\u00e8mes de r\u00e9f\u00e9rence sont des cas de test standardis\u00e9s avec des donn\u00e9es de r\u00e9f\u00e9rence exp\u00e9rimentales ou haute fid\u00e9lit\u00e9 bien caract\u00e9ris\u00e9es. Ils fournissent des objectifs de validation objectifs.<\/p>\n<p>Les cat\u00e9gories de r\u00e9f\u00e9rence communes comprennent :<\/p>\n<ul>\n<li>La dynamique des fluides, telle que le flux au-del\u00e0 d&rsquo;un cylindre ou un \u00e9coulement de la cavit\u00e9 entra\u00een\u00e9e par un couvercle.<\/li>\n<li>\u00e9quations de transport, telles que la diffusion 1D avec un comportement analytique connu.<\/li>\n<li>Les mod\u00e8les de champs de phase, tels que les mod\u00e8les Allen-Cahn ou Cahn-Hilliard, compar\u00e9s au comportement de r\u00e9f\u00e9rence.<\/li>\n<li>Syst\u00e8mes de r\u00e9action \u00e0 la diffusion, tels que la validation de la vitesse des vagues Fisher-KPP.<\/li>\n<\/ul>\n<p>Pour la mod\u00e9lisation des mat\u00e9riaux informatiques et l&rsquo;apprentissage automatique bas\u00e9 sur les PDE, les ensembles de donn\u00e9es de r\u00e9f\u00e9rence tels que <a href=\"https:\/\/github.com\/pdebench\/PDEBench\">pdebench<\/a> peuvent fournir des probl\u00e8mes de r\u00e9f\u00e9rence standardis\u00e9s.<\/p>\n<h3>Lorsque les donn\u00e9es exp\u00e9rimentales ne sont pas disponibles<\/h3>\n<p>Des donn\u00e9es exp\u00e9rimentales de haute qualit\u00e9 ne sont pas toujours disponibles. Dans ce cas, vous pouvez toujours cr\u00e9er des preuves de validation en utilisant les meilleures alternatives disponibles.<\/p>\n<ol>\n<li>Utilisez des solutions de r\u00e9f\u00e9rence haute fid\u00e9lit\u00e9, telles que le DNS pour les flux turbulents, lorsqu&rsquo;ils sont disponibles.<\/li>\n<li>Comparez avec des solutions analytiques pour des cas simplifi\u00e9s.<\/li>\n<li>Effectuez des comparaisons de codes crois\u00e9s avec des codes ind\u00e9pendants et bien v\u00e9rifi\u00e9s.<\/li>\n<li>Soyez transparent sur les limites et caract\u00e9risez l&rsquo;incertitude pr\u00e9dictive gr\u00e2ce \u00e0 l&rsquo;analyse de sensibilit\u00e9.<\/li>\n<\/ol>\n<h3>Strat\u00e9gie de validation hi\u00e9rarchique<\/h3>\n<p>Une strat\u00e9gie de validation pratique doit \u00eatre hi\u00e9rarchique.<\/p>\n<ol>\n<li>Commencez par de simples probl\u00e8mes de r\u00e9f\u00e9rence qui isolent la physique sp\u00e9cifique.<\/li>\n<li>Construisez la complexit\u00e9 gr\u00e2ce \u00e0 des tests au niveau du syst\u00e8me qui combinent plusieurs ph\u00e9nom\u00e8nes.<\/li>\n<li>Documentez les probl\u00e8mes de validation, les r\u00e9sultats, les mesures d&rsquo;erreur et les conclusions sur l&rsquo;ad\u00e9quation de l&rsquo;utilisation pr\u00e9vue.<\/li>\n<\/ol>\n<p>Un mod\u00e8le est rarement parfaitement valid\u00e9. Il est valid\u00e9 \u00e0 un certain niveau de pr\u00e9cision pour une utilisation pr\u00e9vue sp\u00e9cifique.<\/p>\n<h2>3. Quantification de l&rsquo;incertitude : mesurer la confiance dans les pr\u00e9visions<\/h2>\n<p>La quantification de l&rsquo;incertitude est le processus de caract\u00e9risation, de quantification et de propagation des incertitudes dans les entr\u00e9es du mod\u00e8le, les param\u00e8tres et les approximations. Il aide \u00e0 \u00e9valuer comment l&rsquo;incertitude affecte les r\u00e9sultats du mod\u00e8le et la confiance des pr\u00e9visions.<\/p>\n<p>Aucun mod\u00e8le n&rsquo;est parfait, et chaque syst\u00e8me r\u00e9el comprend une variabilit\u00e9 et des connaissances incompl\u00e8tes. UQ vous aide \u00e0 comprendre non seulement ce que le mod\u00e8le pr\u00e9dit, mais aussi \u00e0 quel point cette pr\u00e9diction est certaine.<\/p>\n<h3>Types d&rsquo;incertitude<\/h3>\n<p>L&rsquo;UQ distingue deux principales cat\u00e9gories d&rsquo;incertitude.<\/p>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Tapez<\/th>\n<th>Ce que cela veut dire<\/th>\n<th>Peut-il \u00eatre r\u00e9duit ?<\/th>\n<th>Exemples<\/th>\n<\/tr>\n<tr>\n<td>Al\u00e9atoire<\/td>\n<td>caract\u00e8re al\u00e9atoire inh\u00e9rent \u00e0 un syst\u00e8me<\/td>\n<td>Non, c&rsquo;est irr\u00e9ductible<\/td>\n<td>Tol\u00e9rances de fabrication et fluctuations environnementales<\/td>\n<\/tr>\n<tr>\n<td>\u00e9pist\u00e9mique<\/td>\n<td>Manque de connaissances sur le syst\u00e8me<\/td>\n<td>Oui, gr\u00e2ce \u00e0 plus de donn\u00e9es ou \u00e0 de meilleurs mod\u00e8les<\/td>\n<td>Propri\u00e9t\u00e9s du mat\u00e9riau inconnues et conditions initiales non mesur\u00e9es<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Cette distinction est importante car elle affecte le choix de la m\u00e9thode UQ. L&rsquo;incertitude al\u00e9atoire est g\u00e9n\u00e9ralement d\u00e9crite avec des distributions de probabilit\u00e9. L&rsquo;incertitude \u00e9pist\u00e9mique peut souvent \u00eatre r\u00e9duite gr\u00e2ce \u00e0 plus de mesures, de meilleurs mod\u00e8les ou \u00e0 un \u00e9talonnage am\u00e9lior\u00e9.<\/p>\n<h3>M\u00e9thodes UQ : de simples \u00e0 avanc\u00e9s<\/h3>\n<h4>Simulation de Monte Carlo<\/h4>\n<p>La simulation de Monte Carlo est la m\u00e9thode UQ la plus simple. Vous ex\u00e9cutez \u00e0 plusieurs reprises le mod\u00e8le avec des valeurs d&rsquo;entr\u00e9e \u00e9chantillonn\u00e9es au hasard \u00e0 partir de distributions d\u00e9finies. Le r\u00e9sultat est une distribution des valeurs de sortie.<\/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 est facile \u00e0 comprendre et \u00e0 mettre en \u0153uvre. Son principal inconv\u00e9nient est le co\u00fbt. Si chaque ex\u00e9cution de mod\u00e8le est co\u00fbteuse, des milliers d&rsquo;\u00e9chantillons peuvent \u00eatre peu pratiques.<\/p>\n<h4>Extension du chaos polynomial<\/h4>\n<p>L&rsquo;expansion du chaos polynomial construit un mod\u00e8le de substitution qui repr\u00e9sente la sortie en tant que fonction polynomiale d&rsquo;entr\u00e9es incertaines. Cela peut \u00eatre beaucoup plus efficace que le Monte Carlo brute lorsque chaque simulation est co\u00fbteuse.<\/p>\n<p>Les outils Python tels que EasyVVUQ et EasySurrogate peuvent prendre en charge le chaos polynomial et les flux de travail UQ bas\u00e9s sur la substitution.<\/p>\n<h4>Analyse de sensibilit\u00e9<\/h4>\n<p>L&rsquo;analyse de sensibilit\u00e9 examine comment la variation de la sortie du mod\u00e8le peut \u00eatre attribu\u00e9e \u00e0 la variation des entr\u00e9es du mod\u00e8le. Il aide \u00e0 identifier les param\u00e8tres qui influencent le plus les pr\u00e9dictions.<\/p>\n<p>Deux grandes cat\u00e9gories sont :<\/p>\n<ul>\n<li>Analyse de sensibilit\u00e9 locale. Cela change une entr\u00e9e \u00e0 la fois tout en maintenant les autres fixes. C&rsquo;est simple mais ne capture pas les interactions de param\u00e8tres.<\/li>\n<li>Analyse globale de sensibilit\u00e9. Cela varie toutes les entr\u00e9es ensemble et peut tenir compte des interactions. Les m\u00e9thodes comprennent les indices SOBOL, les m\u00e9thodes bas\u00e9es sur la r\u00e9gression et les m\u00e9thodes bas\u00e9es sur les d\u00e9riv\u00e9s.<\/li>\n<\/ul>\n<p>L&rsquo;analyse de sensibilit\u00e9 est utile pour :<\/p>\n<ol>\n<li>Donner la priorit\u00e9 \u00e0 la collecte de donn\u00e9es en identifiant les param\u00e8tres les plus importants.<\/li>\n<li>Simplifier les mod\u00e8les en fixant des param\u00e8tres qui ont un impact n\u00e9gligeable.<\/li>\n<li>Comprendre quels m\u00e9canismes pilotent les pr\u00e9dictions.<\/li>\n<\/ol>\n<h2>Le pipeline VVUQ int\u00e9gr\u00e9 : tout mettre en place<\/h2>\n<p>Un pipeline VVUQ int\u00e9gr\u00e9 suit un flux de travail syst\u00e9matique.<\/p>\n<ol>\n<li>Identifiez et caract\u00e9risez les incertitudes dans les entr\u00e9es, les param\u00e8tres physiques et les approximations num\u00e9riques.<\/li>\n<li>Effectuez la v\u00e9rification du code et de la solution pour r\u00e9duire les erreurs num\u00e9riques, les bogues de codage et l&rsquo;incertitude de discr\u00e9tisation.<\/li>\n<li>Propager les incertitudes d&rsquo;entr\u00e9e \u00e0 travers le mod\u00e8le de calcul pour g\u00e9n\u00e9rer des distributions de sortie.<\/li>\n<li>Valider les pr\u00e9dictions du mod\u00e8le par rapport \u00e0 des donn\u00e9es exp\u00e9rimentales contr\u00f4l\u00e9es ou \u00e0 des r\u00e9sultats de r\u00e9f\u00e9rence fiables.<\/li>\n<li>Soutenir la prise de d\u00e9cision avec des r\u00e9sultats probabilistes et inform\u00e9s des risques plut\u00f4t que des pr\u00e9dictions d\u00e9terministes uniques.<\/li>\n<\/ol>\n<p>En pratique, ce flux de travail peut \u00eatre pris en charge par des outils tels que EasyVVUQ, FabSim3, les biblioth\u00e8ques de mod\u00e9lisation de substitution et les syst\u00e8mes de flux de travail orient\u00e9s HPC.<\/p>\n<h2>Erreurs courantes de V&amp;V et comment les \u00e9viter<\/h2>\n<h3>erreurs de v\u00e9rification<\/h3>\n<ul>\n<li>En supposant que le code est sans bogue. M\u00eame les codes largement utilis\u00e9s peuvent contenir des bogues non d\u00e9tect\u00e9s. Les tests de r\u00e9gression avec des cas MMS peuvent d\u00e9tecter de nouvelles erreurs.<\/li>\n<li>n\u00e9gliger la pr\u00e9cision des commandes. Sans confirmer les taux de convergence th\u00e9orique, les estimations d&rsquo;erreurs sont faibles.<\/li>\n<li>Utilisation de la comparaison de codes crois\u00e9s comme seule m\u00e9thode de v\u00e9rification. Deux codes erron\u00e9s peuvent convenir.<\/li>\n<li>Traiter la v\u00e9rification comme une activit\u00e9 unique. Chaque changement de code significatif devrait d\u00e9clencher une nouvelle v\u00e9rification pertinente.<\/li>\n<\/ul>\n<h3>erreurs de validation<\/h3>\n<ul>\n<li>Un \u00e9talonnage d\u00e9routant avec validation. Le r\u00e9glage des param\u00e8tres sur les donn\u00e9es, puis la validation par rapport aux m\u00eames donn\u00e9es gonfle la confiance.<\/li>\n<li>ignorant l&rsquo;incertitude exp\u00e9rimentale. Un \u00e9cart peut \u00eatre acceptable si l&rsquo;incertitude exp\u00e9rimentale est sup\u00e9rieure \u00e0 la diff\u00e9rence.<\/li>\n<li>extrapoler au-del\u00e0 du r\u00e9gime valid\u00e9. Un mod\u00e8le valid\u00e9 dans un seul r\u00e9gime ne doit pas \u00eatre confi\u00e9 \u00e0 un r\u00e9gime tr\u00e8s diff\u00e9rent sans preuves suppl\u00e9mentaires.<\/li>\n<li>Mauvaise documentation. Sans enregistrements de validation d\u00e9taill\u00e9s, la cr\u00e9dibilit\u00e9 de la simulation est difficile \u00e0 \u00e9valuer.<\/li>\n<\/ul>\n<h3>Erreurs sp\u00e9cifiques \u00e0 l&rsquo;UQ<\/h3>\n<ul>\n<li>En supposant que UQ est facultatif. Sans limites d&rsquo;incertitude, une simulation valid\u00e9e n&rsquo;a toujours pas d&rsquo;intervalle de confiance utilisable.<\/li>\n<li>Ignorer les interactions des param\u00e8tres. Une analyse de sensibilit\u00e9 unique peut manquer les effets d&rsquo;interaction que les m\u00e9thodes globales capturent.<\/li>\n<li>Traiter toute incertitude comme al\u00e9atoire. Une certaine incertitude est \u00e9pist\u00e9mique et peut \u00eatre r\u00e9duite gr\u00e2ce \u00e0 de meilleures donn\u00e9es ou \u00e0 de meilleurs mod\u00e8les.<\/li>\n<\/ul>\n<h2>Guide de d\u00e9cision&nbsp;: de combien de rigueur VVUQ avez-vous besoin&nbsp;?<\/h2>\n<p>Le niveau de rigueur VVUQ doit correspondre aux cons\u00e9quences d&rsquo;une d\u00e9faillance du mod\u00e8le.<\/p>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Situation<\/th>\n<th>Rigueur recommand\u00e9e<\/th>\n<th>Pourquoi<\/th>\n<\/tr>\n<tr>\n<td>Code de recherche acad\u00e9mique<\/td>\n<td>V\u00e9rification de base avec MMS et convergence de maillage<\/td>\n<td>Niveau minimum acceptable pour la cr\u00e9dibilit\u00e9<\/td>\n<\/tr>\n<tr>\n<td>R\u00e9sultats de simulation publi\u00e9<\/td>\n<td>Validation et validation par rapport aux benchmarks<\/td>\n<td>Prend en charge la reproductibilit\u00e9 et l&rsquo;examen par les pairs<\/td>\n<\/tr>\n<tr>\n<td>D\u00e9cisions de conception industrielle<\/td>\n<td>VVUQ complet avec des limites UQ<\/td>\n<td>Les choix de conception et la conformit\u00e9 peuvent d\u00e9pendre du mod\u00e8le<\/td>\n<\/tr>\n<tr>\n<td>Applications critiques pour la s\u00e9curit\u00e9<\/td>\n<td>Cadre de style ASME avec examen ind\u00e9pendant<\/td>\n<td>Les risques r\u00e9glementaires et de responsabilit\u00e9 sont \u00e9lev\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>Substitut d&rsquo;apprentissage automatique<\/td>\n<td>V\u00e9rification de la pr\u00e9cision de substitution plus UQ des limites de pr\u00e9diction<\/td>\n<td>Une erreur de substitution doit \u00eatre quantifi\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>Maintenance de code ou corrections de bogues<\/td>\n<td>Tests MMS cibl\u00e9s pour les modules concern\u00e9s<\/td>\n<td>V\u00e9rification rentable des chemins de code modifi\u00e9s<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>L&rsquo;essentiel est simple : la rigueur VVUQ doit correspondre aux cons\u00e9quences d&rsquo;un \u00e9chec. Le code acad\u00e9mique n\u00e9cessite une v\u00e9rification de base. Les r\u00e9sultats publi\u00e9s n\u00e9cessitent une validation plus solide. Les applications industrielles et critiques pour la s\u00e9curit\u00e9 n\u00e9cessitent une VVUQ compl\u00e8te et document\u00e9e.<\/p>\n<h2>R\u00e9sum\u00e9 et \u00e9tapes suivantes<\/h2>\n<p>La v\u00e9rification, la validation et la quantification de l&rsquo;incertitude ne sont pas des extras optionnels. Ils font partie int\u00e9grante de la simulation scientifique cr\u00e9dible.<\/p>\n<p>Un pipeline VVUQ pratique devrait suivre cette s\u00e9quence :<\/p>\n<ol>\n<li>Commencez par la v\u00e9rification du code \u00e0 l&rsquo;aide des MMS et des tests de pr\u00e9cision des commandes.<\/li>\n<li>Quantifier les erreurs num\u00e9riques gr\u00e2ce \u00e0 la v\u00e9rification de la solution pour les cycles de production.<\/li>\n<li>Cr\u00e9ez des preuves de validation avec des probl\u00e8mes de r\u00e9f\u00e9rence et des donn\u00e9es ind\u00e9pendantes.<\/li>\n<li>Ajoutez la quantification de l&rsquo;incertitude pour signaler les limites de confiance sur les pr\u00e9dictions.<\/li>\n<li>Suivez des normes telles que ASME VVUQ pour structurer le processus et communiquer la rigueur.<\/li>\n<\/ol>\n<p>M\u00eame un programme VVUQ de base, tels que les tests MMS, la convergence de maillage et une m\u00e9thode UQ, peut consid\u00e9rablement augmenter la confiance dans les r\u00e9sultats de simulation et r\u00e9cup\u00e9rer les erreurs pr\u00e9coces.<\/p>\n<h2>Guides connexes<\/h2>\n<p>Pour les sujets connexes dans les flux de travail de simulation scientifique sur Matforge&nbsp;:<\/p>\n<ul>\n<li><a href=\"\/python-debugging-scientific-code-print-statements-profiling\/\">D\u00e9bogage Python pour le code scientifique : des relev\u00e9s d&rsquo;impression au profilage<\/a><\/li>\n<li><a href=\"\/when-to-use-fem-fvm-fdm\/\">Quand utiliser FEM, FVM ou FDM : une comparaison pratique pour les d\u00e9butants<\/a><\/li>\n<li><a href=\"\/monte-carlo-methods-for-scientific-simulations\/\">M\u00e9thodes de Monte Carlo pour les simulations scientifiques : un guide Python<\/a><\/li>\n<\/ul>\n<h2>R\u00e9f\u00e9rences et lectures compl\u00e9mentaires<\/h2>\n<ul>\n<li>Roy, C.J. (2005). Examen des proc\u00e9dures de v\u00e9rification du code et des solutions pour la simulation informatique. Journal de physique des calculs.<\/li>\n<li>Oberkampf, W.L., &amp; Roy, C.J. (2010). V\u00e9rification et validation en informatique scientifique. Cambridge University Press.<\/li>\n<li>Portefeuille de normes ASME VVUQ&nbsp;: <a\u00a00>Vvuq&nbsp;1, <a\u00a01>v&amp;v&nbsp;10, <a\u00a02>v&amp;v&nbsp;20<\/a\u00a02><\/a\u00a01><\/a\u00a00><\/li>\n<li>OSTI&nbsp;: <a href=\"https:\/\/www.osti.gov\/servlets\/purl\/1111312\">Introduction \u00e0 la v\u00e9rification, \u00e0 la validation et \u00e0 la quantification de l&rsquo;incertitude<\/a><\/li>\n<\/ul>\n","protected":false,"raw":"<p>Vous devez savoir deux choses diff\u00e9rentes sur une simulation&nbsp;: si le code r\u00e9sout correctement les \u00e9quations et si le mod\u00e8le est suffisamment pr\u00e9cis pour le probl\u00e8me du monde r\u00e9el. La premi\u00e8re question est la v\u00e9rification. La deuxi\u00e8me question est la validation.<\/p>\n<p>Mais cela ne suffit pas. Vous devez \u00e9galement comprendre \u00e0 quel point vous pouvez faire confiance aux chiffres que votre simulation produit. C'est l\u00e0 que la quantification de l'incertitude entre dans le flux de travail.<\/p>\n<p>Ce guide explique le cadre VVUQ complet : v\u00e9rification, validation et quantification de l'incertitude. Il comprend \u00e9galement des exemples pratiques Python et Fipy qui peuvent vous aider \u00e0 appliquer ces id\u00e9es dans votre propre travail de simulation.<\/p>\n<h2 id=\"key-takeaways\">Points \u00e0 retenir cl\u00e9s<\/h2>\n<ul>\n<li>La v\u00e9rification r\u00e9pond \u00e0 la question&nbsp;: avons-nous r\u00e9solu les \u00e9quations, n'est-ce pas&nbsp;? Il v\u00e9rifie l'exactitude du code, la pr\u00e9cision num\u00e9rique et les bogues de mise en \u0153uvre.<\/li>\n<li>La validation r\u00e9pond \u00e0 la question&nbsp;: avons-nous r\u00e9solu les bonnes \u00e9quations&nbsp;? Il compare la sortie de simulation avec des donn\u00e9es exp\u00e9rimentales, des donn\u00e9es de r\u00e9f\u00e9rence ou des r\u00e9sultats de r\u00e9f\u00e9rence fiables.<\/li>\n<li>La quantification de l'incertitude r\u00e9pond \u00e0 la question&nbsp;: dans quelle mesure pouvons-nous faire confiance \u00e0 ces r\u00e9sultats&nbsp;? Il propage les incertitudes d'entr\u00e9e \u00e0 travers le mod\u00e8le et signale des limites de confiance sur les pr\u00e9dictions.<\/li>\n<li>UQ est souvent mentionn\u00e9 dans les discussions V&amp;v mais rarement mis en \u0153uvre avec des exemples python pratiques. Ce guide donne des points de d\u00e9part concrets.<\/li>\n<li>Le portefeuille de normes ASME VVUQ fournit une structure largement adopt\u00e9e pour les flux de travail VVUQ dans les disciplines de calcul.<\/li>\n<\/ul>\n<h2>V\u00e9rification, validation et quantification de l'incertitude&nbsp;: pourquoi ils appartiennent ensemble<\/h2>\n<p>Si vous avez d\u00e9j\u00e0 ex\u00e9cut\u00e9 une simulation et demand\u00e9 si vous pouviez faire confiance aux r\u00e9sultats, vous avez d\u00e9j\u00e0 rencontr\u00e9 le probl\u00e8me auquel VVUQ r\u00e9pond.<\/p>\n<p>La v\u00e9rification, la validation et la quantification de l'incertitude ne sont pas des t\u00e2ches distinctes que vous effectuez de mani\u00e8re ind\u00e9pendante. Ils forment un pipeline de cr\u00e9dibilit\u00e9 :<\/p>\n<ol>\n<li>La v\u00e9rification prouve que le code est math\u00e9matiquement et informatiquement correct.<\/li>\n<li>La validation v\u00e9rifie si le mod\u00e8le repr\u00e9sente suffisamment le syst\u00e8me r\u00e9el pour l'utilisation pr\u00e9vue.<\/li>\n<li>La quantification de l'incertitude vous indique \u00e0 quel point vous pouvez \u00eatre confiant dans les pr\u00e9visions.<\/li>\n<\/ol>\n<p>Le framework ASME VVUQ formalise ce pipeline dans un flux de travail structur\u00e9 utilis\u00e9 dans les domaines de la m\u00e9canique des solides informatiques, de la dynamique des fluides, des dispositifs m\u00e9dicaux et d'autres domaines de la simulation. <a href=\"https:\/\/www.asme.org\/codes-standards\/publications-information\/verification-validation-uncertainty\">asme vvuq<\/a><\/p>\n<p>La distinction entre v\u00e9rification et validation est souvent r\u00e9sum\u00e9e par deux questions.<\/p>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Question<\/th>\n<th>Ce que cela veut dire<\/th>\n<th>Ce que vous v\u00e9rifiez<\/th>\n<\/tr>\n<tr>\n<td>R\u00e9solvons-nous les \u00e9quations, n'est-ce pas&nbsp;?<\/td>\n<td>V\u00e9rification<\/td>\n<td>Bogues de codage, erreurs num\u00e9riques et erreurs de discr\u00e9tisation<\/td>\n<\/tr>\n<tr>\n<td>R\u00e9solvons-nous les bonnes \u00e9quations ?<\/td>\n<td>Validation<\/td>\n<td>Pr\u00e9cision du mod\u00e8le physique, conditions aux limites et hypoth\u00e8ses<\/td>\n<\/tr>\n<\/tbody><\/table>\n<p>La troisi\u00e8me question est : Dans quelle mesure pouvons-nous \u00eatre confiants ? C'est l\u00e0 que la quantification de l'incertitude entre dans le processus.<\/p>\n<p>Une simulation peut \u00eatre v\u00e9rifi\u00e9e et valid\u00e9e, tout en produisant des pr\u00e9dictions avec de larges intervalles d'incertitude. Si ces intervalles sont trop larges, le r\u00e9sultat peut ne pas \u00eatre utile pour la conception, la r\u00e9glementation ou la prise de d\u00e9cision.<\/p>\n<h2>1. V\u00e9rification&nbsp;: prouver que votre code est correct<\/h2>\n<p>La v\u00e9rification est math\u00e9matique et informatique. Il ne teste pas directement le monde r\u00e9el. Au lieu de cela, il suppose que les \u00e9quations gouvernantes sont correctes et demande si le programme informatique les r\u00e9sout sans erreurs num\u00e9riques ou de mise en \u0153uvre.<\/p>\n<p>La v\u00e9rification comporte deux aspects principaux&nbsp;: la v\u00e9rification du code et l'ordre des tests de pr\u00e9cision.<\/p>\n<h3>V\u00e9rification du code&nbsp;: l'impl\u00e9mentation correspond-elle aux calculs&nbsp;?<\/h3>\n<p>La v\u00e9rification du code d\u00e9montre que le solveur impl\u00e9mente correctement le mod\u00e8le math\u00e9matique. Deux m\u00e9thodes largement utilis\u00e9es sont la m\u00e9thode des solutions fabriqu\u00e9es et l'ordre des tests de pr\u00e9cision.<\/p>\n<h4>M\u00e9thode des solutions fabriqu\u00e9es<\/h4>\n<p>La m\u00e9thode des solutions manufactur\u00e9es est l'un des outils les plus solides pour la v\u00e9rification des codes en sciences informatiques. Cela fonctionne en cr\u00e9ant une solution analytique connue, en calculant le terme source requis, puis en v\u00e9rifiant si le code reproduit cette solution.<\/p>\n<p>La proc\u00e9dure est :<\/p>\n<ol>\n<li>Choisissez une solution analytique fluide, telle que <code>u_m = sin(x) * cos(y) * exp(-t)<\/code>.<\/li>\n<li>Remplacez la solution fabriqu\u00e9e dans l'op\u00e9rateur PDE pour calculer le terme de source requis.<\/li>\n<li>Ex\u00e9cutez la simulation avec le terme de la source manufactur\u00e9e et les limites ou les conditions initiales correspondantes.<\/li>\n<li>Comparez la solution num\u00e9rique \u00e0 la solution de fabrication exacte.<\/li>\n<li>Ex\u00e9cutez des \u00e9tudes de raffinement de maillage pour v\u00e9rifier que l'ordre de convergence observ\u00e9 correspond \u00e0 l'ordre th\u00e9orique.<\/li>\n<\/ol>\n<p>Voici un exemple de style fipy simplifi\u00e9 pour un probl\u00e8me de diffusion transitoire&nbsp;:<\/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>Si vous divisez par deux la taille du maillage et que l'erreur baisse d'environ quatre, un sch\u00e9ma de second ordre se comporte comme pr\u00e9vu. Si ce n'est pas le cas, la mise en \u0153uvre peut contenir un bogue ou le traitement des limites peut r\u00e9duire l'ordre observ\u00e9.<\/p>\n<h4>Ordre de test de pr\u00e9cision<\/h4>\n<p>Ordre de pr\u00e9cision Les tests v\u00e9rifient que le code atteint le taux de convergence attendu dans le cadre du raffinement du maillage.<\/p>\n<p>Pour un sch\u00e9ma de volume fini de second ordre, la r\u00e9duction de moiti\u00e9 de l'espacement du maillage devrait r\u00e9duire l'erreur d'environ un facteur de quatre.<\/p>\n<p>La proc\u00e9dure est :<\/p>\n<ol>\n<li>Choisissez un probl\u00e8me avec une solution exacte connue, \u00e0 partir de MMS ou d'un benchmark.<\/li>\n<li>R\u00e9solvez le probl\u00e8me sur une s\u00e9quence de maillages raffin\u00e9s, tels que 32 \u00d7 32, 64 \u00d7 64 et 128 \u00d7 128.<\/li>\n<li>Calculez une norme d'erreur \u00e0 chaque niveau de raffinement, comme L1, L2 ou L\u221e.<\/li>\n<li>Erreur de trac\u00e9 en fonction de la taille du maillage sur un trac\u00e9 journal.<\/li>\n<li>Calculez l'ordre observ\u00e9 avec <code>order = log(e_coarse \/ e_fine) \/ log(h_coarse \/ h_fine)<\/code>.<\/li>\n<li>V\u00e9rifiez que l'ordre observ\u00e9 correspond \u00e0 l'ordre de discr\u00e9tisation th\u00e9orique dans une tol\u00e9rance raisonnable.<\/li>\n<\/ol>\n<p>Il s'agit d'une exigence minimale pour tout code PDE qui revendique l'exactitude num\u00e9rique. Sans cela, les estimations d'erreurs et les conclusions de maillage-convergence sont faibles.<\/p>\n<h4>Avertissement important concernant la comparaison de codes crois\u00e9s<\/h4>\n<p>La comparaison de deux codes diff\u00e9rents peut s'av\u00e9rer utile en tant que contr\u00f4le de sant\u00e9 mentale, mais cela ne remplace pas la v\u00e9rification par rapport aux solutions analytiques ou fabriqu\u00e9es.<\/p>\n<p>Deux codes peuvent convenir et sont toujours erron\u00e9s si les deux partagent la m\u00eame erreur syst\u00e9matique. La comparaison de codes crois\u00e9s doit \u00eatre utilis\u00e9e comme v\u00e9rification suppl\u00e9mentaire apr\u00e8s un MMS ou un test de commande.<\/p>\n<h2>2. Validation : comparaison des simulations \u00e0 la r\u00e9alit\u00e9<\/h2>\n<p>La validation \u00e9value si le mod\u00e8le de simulation est suffisamment pr\u00e9cis pour son utilisation pr\u00e9vue. Pour ce faire, il compare les pr\u00e9dictions avec des donn\u00e9es exp\u00e9rimentales ind\u00e9pendantes, des donn\u00e9es de r\u00e9f\u00e9rence ou des r\u00e9sultats de r\u00e9f\u00e9rence fiables.<\/p>\n<p>Une r\u00e8gle cl\u00e9 est que l'\u00e9talonnage et la validation doivent \u00eatre s\u00e9par\u00e9s. L'\u00e9talonnage ajuste les param\u00e8tres du mod\u00e8le en fonction des donn\u00e9es. La validation teste le pouvoir pr\u00e9dictif sur des donn\u00e9es ind\u00e9pendantes. L'utilisation du m\u00eame ensemble de donn\u00e9es pour les deux cr\u00e9e une confiance artificielle.<\/p>\n<h3>Probl\u00e8mes de r\u00e9f\u00e9rence en tant que cibles de validation<\/h3>\n<p>Les probl\u00e8mes de r\u00e9f\u00e9rence sont des cas de test standardis\u00e9s avec des donn\u00e9es de r\u00e9f\u00e9rence exp\u00e9rimentales ou haute fid\u00e9lit\u00e9 bien caract\u00e9ris\u00e9es. Ils fournissent des objectifs de validation objectifs.<\/p>\n<p>Les cat\u00e9gories de r\u00e9f\u00e9rence communes comprennent :<\/p>\n<ul>\n<li>La dynamique des fluides, telle que le flux au-del\u00e0 d'un cylindre ou un \u00e9coulement de la cavit\u00e9 entra\u00een\u00e9e par un couvercle.<\/li>\n<li>\u00e9quations de transport, telles que la diffusion 1D avec un comportement analytique connu.<\/li>\n<li>Les mod\u00e8les de champs de phase, tels que les mod\u00e8les Allen-Cahn ou Cahn-Hilliard, compar\u00e9s au comportement de r\u00e9f\u00e9rence.<\/li>\n<li>Syst\u00e8mes de r\u00e9action \u00e0 la diffusion, tels que la validation de la vitesse des vagues Fisher-KPP.<\/li>\n<\/ul>\n<p>Pour la mod\u00e9lisation des mat\u00e9riaux informatiques et l'apprentissage automatique bas\u00e9 sur les PDE, les ensembles de donn\u00e9es de r\u00e9f\u00e9rence tels que <a href=\"https:\/\/github.com\/pdebench\/PDEBench\">pdebench<\/a> peuvent fournir des probl\u00e8mes de r\u00e9f\u00e9rence standardis\u00e9s.<\/p>\n<h3>Lorsque les donn\u00e9es exp\u00e9rimentales ne sont pas disponibles<\/h3>\n<p>Des donn\u00e9es exp\u00e9rimentales de haute qualit\u00e9 ne sont pas toujours disponibles. Dans ce cas, vous pouvez toujours cr\u00e9er des preuves de validation en utilisant les meilleures alternatives disponibles.<\/p>\n<ol>\n<li>Utilisez des solutions de r\u00e9f\u00e9rence haute fid\u00e9lit\u00e9, telles que le DNS pour les flux turbulents, lorsqu'ils sont disponibles.<\/li>\n<li>Comparez avec des solutions analytiques pour des cas simplifi\u00e9s.<\/li>\n<li>Effectuez des comparaisons de codes crois\u00e9s avec des codes ind\u00e9pendants et bien v\u00e9rifi\u00e9s.<\/li>\n<li>Soyez transparent sur les limites et caract\u00e9risez l'incertitude pr\u00e9dictive gr\u00e2ce \u00e0 l'analyse de sensibilit\u00e9.<\/li>\n<\/ol>\n<h3>Strat\u00e9gie de validation hi\u00e9rarchique<\/h3>\n<p>Une strat\u00e9gie de validation pratique doit \u00eatre hi\u00e9rarchique.<\/p>\n<ol>\n<li>Commencez par de simples probl\u00e8mes de r\u00e9f\u00e9rence qui isolent la physique sp\u00e9cifique.<\/li>\n<li>Construisez la complexit\u00e9 gr\u00e2ce \u00e0 des tests au niveau du syst\u00e8me qui combinent plusieurs ph\u00e9nom\u00e8nes.<\/li>\n<li>Documentez les probl\u00e8mes de validation, les r\u00e9sultats, les mesures d'erreur et les conclusions sur l'ad\u00e9quation de l'utilisation pr\u00e9vue.<\/li>\n<\/ol>\n<p>Un mod\u00e8le est rarement parfaitement valid\u00e9. Il est valid\u00e9 \u00e0 un certain niveau de pr\u00e9cision pour une utilisation pr\u00e9vue sp\u00e9cifique.<\/p>\n<h2>3. Quantification de l'incertitude : mesurer la confiance dans les pr\u00e9visions<\/h2>\n<p>La quantification de l'incertitude est le processus de caract\u00e9risation, de quantification et de propagation des incertitudes dans les entr\u00e9es du mod\u00e8le, les param\u00e8tres et les approximations. Il aide \u00e0 \u00e9valuer comment l'incertitude affecte les r\u00e9sultats du mod\u00e8le et la confiance des pr\u00e9visions.<\/p>\n<p>Aucun mod\u00e8le n'est parfait, et chaque syst\u00e8me r\u00e9el comprend une variabilit\u00e9 et des connaissances incompl\u00e8tes. UQ vous aide \u00e0 comprendre non seulement ce que le mod\u00e8le pr\u00e9dit, mais aussi \u00e0 quel point cette pr\u00e9diction est certaine.<\/p>\n<h3>Types d'incertitude<\/h3>\n<p>L'UQ distingue deux principales cat\u00e9gories d'incertitude.<\/p>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Tapez<\/th>\n<th>Ce que cela veut dire<\/th>\n<th>Peut-il \u00eatre r\u00e9duit ?<\/th>\n<th>Exemples<\/th>\n<\/tr>\n<tr>\n<td>Al\u00e9atoire<\/td>\n<td>caract\u00e8re al\u00e9atoire inh\u00e9rent \u00e0 un syst\u00e8me<\/td>\n<td>Non, c'est irr\u00e9ductible<\/td>\n<td>Tol\u00e9rances de fabrication et fluctuations environnementales<\/td>\n<\/tr>\n<tr>\n<td>\u00e9pist\u00e9mique<\/td>\n<td>Manque de connaissances sur le syst\u00e8me<\/td>\n<td>Oui, gr\u00e2ce \u00e0 plus de donn\u00e9es ou \u00e0 de meilleurs mod\u00e8les<\/td>\n<td>Propri\u00e9t\u00e9s du mat\u00e9riau inconnues et conditions initiales non mesur\u00e9es<\/td>\n<\/tr>\n<\/tbody><\/table>\n<p>Cette distinction est importante car elle affecte le choix de la m\u00e9thode UQ. L'incertitude al\u00e9atoire est g\u00e9n\u00e9ralement d\u00e9crite avec des distributions de probabilit\u00e9. L'incertitude \u00e9pist\u00e9mique peut souvent \u00eatre r\u00e9duite gr\u00e2ce \u00e0 plus de mesures, de meilleurs mod\u00e8les ou \u00e0 un \u00e9talonnage am\u00e9lior\u00e9.<\/p>\n<h3>M\u00e9thodes UQ : de simples \u00e0 avanc\u00e9s<\/h3>\n<h4>Simulation de Monte Carlo<\/h4>\n<p>La simulation de Monte Carlo est la m\u00e9thode UQ la plus simple. Vous ex\u00e9cutez \u00e0 plusieurs reprises le mod\u00e8le avec des valeurs d'entr\u00e9e \u00e9chantillonn\u00e9es au hasard \u00e0 partir de distributions d\u00e9finies. Le r\u00e9sultat est une distribution des valeurs de sortie.<\/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 est facile \u00e0 comprendre et \u00e0 mettre en \u0153uvre. Son principal inconv\u00e9nient est le co\u00fbt. Si chaque ex\u00e9cution de mod\u00e8le est co\u00fbteuse, des milliers d'\u00e9chantillons peuvent \u00eatre peu pratiques.<\/p>\n<h4>Extension du chaos polynomial<\/h4>\n<p>L'expansion du chaos polynomial construit un mod\u00e8le de substitution qui repr\u00e9sente la sortie en tant que fonction polynomiale d'entr\u00e9es incertaines. Cela peut \u00eatre beaucoup plus efficace que le Monte Carlo brute lorsque chaque simulation est co\u00fbteuse.<\/p>\n<p>Les outils Python tels que EasyVVUQ et EasySurrogate peuvent prendre en charge le chaos polynomial et les flux de travail UQ bas\u00e9s sur la substitution.<\/p>\n<h4>Analyse de sensibilit\u00e9<\/h4>\n<p>L'analyse de sensibilit\u00e9 examine comment la variation de la sortie du mod\u00e8le peut \u00eatre attribu\u00e9e \u00e0 la variation des entr\u00e9es du mod\u00e8le. Il aide \u00e0 identifier les param\u00e8tres qui influencent le plus les pr\u00e9dictions.<\/p>\n<p>Deux grandes cat\u00e9gories sont :<\/p>\n<ul>\n<li>Analyse de sensibilit\u00e9 locale. Cela change une entr\u00e9e \u00e0 la fois tout en maintenant les autres fixes. C'est simple mais ne capture pas les interactions de param\u00e8tres.<\/li>\n<li>Analyse globale de sensibilit\u00e9. Cela varie toutes les entr\u00e9es ensemble et peut tenir compte des interactions. Les m\u00e9thodes comprennent les indices SOBOL, les m\u00e9thodes bas\u00e9es sur la r\u00e9gression et les m\u00e9thodes bas\u00e9es sur les d\u00e9riv\u00e9s.<\/li>\n<\/ul>\n<p>L'analyse de sensibilit\u00e9 est utile pour :<\/p>\n<ol>\n<li>Donner la priorit\u00e9 \u00e0 la collecte de donn\u00e9es en identifiant les param\u00e8tres les plus importants.<\/li>\n<li>Simplifier les mod\u00e8les en fixant des param\u00e8tres qui ont un impact n\u00e9gligeable.<\/li>\n<li>Comprendre quels m\u00e9canismes pilotent les pr\u00e9dictions.<\/li>\n<\/ol>\n<h2>Le pipeline VVUQ int\u00e9gr\u00e9 : tout mettre en place<\/h2>\n<p>Un pipeline VVUQ int\u00e9gr\u00e9 suit un flux de travail syst\u00e9matique.<\/p>\n<ol>\n<li>Identifiez et caract\u00e9risez les incertitudes dans les entr\u00e9es, les param\u00e8tres physiques et les approximations num\u00e9riques.<\/li>\n<li>Effectuez la v\u00e9rification du code et de la solution pour r\u00e9duire les erreurs num\u00e9riques, les bogues de codage et l'incertitude de discr\u00e9tisation.<\/li>\n<li>Propager les incertitudes d'entr\u00e9e \u00e0 travers le mod\u00e8le de calcul pour g\u00e9n\u00e9rer des distributions de sortie.<\/li>\n<li>Valider les pr\u00e9dictions du mod\u00e8le par rapport \u00e0 des donn\u00e9es exp\u00e9rimentales contr\u00f4l\u00e9es ou \u00e0 des r\u00e9sultats de r\u00e9f\u00e9rence fiables.<\/li>\n<li>Soutenir la prise de d\u00e9cision avec des r\u00e9sultats probabilistes et inform\u00e9s des risques plut\u00f4t que des pr\u00e9dictions d\u00e9terministes uniques.<\/li>\n<\/ol>\n<p>En pratique, ce flux de travail peut \u00eatre pris en charge par des outils tels que EasyVVUQ, FabSim3, les biblioth\u00e8ques de mod\u00e9lisation de substitution et les syst\u00e8mes de flux de travail orient\u00e9s HPC.<\/p>\n<h2>Erreurs courantes de V&amp;V et comment les \u00e9viter<\/h2>\n<h3>erreurs de v\u00e9rification<\/h3>\n<ul>\n<li>En supposant que le code est sans bogue. M\u00eame les codes largement utilis\u00e9s peuvent contenir des bogues non d\u00e9tect\u00e9s. Les tests de r\u00e9gression avec des cas MMS peuvent d\u00e9tecter de nouvelles erreurs.<\/li>\n<li>n\u00e9gliger la pr\u00e9cision des commandes. Sans confirmer les taux de convergence th\u00e9orique, les estimations d'erreurs sont faibles.<\/li>\n<li>Utilisation de la comparaison de codes crois\u00e9s comme seule m\u00e9thode de v\u00e9rification. Deux codes erron\u00e9s peuvent convenir.<\/li>\n<li>Traiter la v\u00e9rification comme une activit\u00e9 unique. Chaque changement de code significatif devrait d\u00e9clencher une nouvelle v\u00e9rification pertinente.<\/li>\n<\/ul>\n<h3>erreurs de validation<\/h3>\n<ul>\n<li>Un \u00e9talonnage d\u00e9routant avec validation. Le r\u00e9glage des param\u00e8tres sur les donn\u00e9es, puis la validation par rapport aux m\u00eames donn\u00e9es gonfle la confiance.<\/li>\n<li>ignorant l'incertitude exp\u00e9rimentale. Un \u00e9cart peut \u00eatre acceptable si l'incertitude exp\u00e9rimentale est sup\u00e9rieure \u00e0 la diff\u00e9rence.<\/li>\n<li>extrapoler au-del\u00e0 du r\u00e9gime valid\u00e9. Un mod\u00e8le valid\u00e9 dans un seul r\u00e9gime ne doit pas \u00eatre confi\u00e9 \u00e0 un r\u00e9gime tr\u00e8s diff\u00e9rent sans preuves suppl\u00e9mentaires.<\/li>\n<li>Mauvaise documentation. Sans enregistrements de validation d\u00e9taill\u00e9s, la cr\u00e9dibilit\u00e9 de la simulation est difficile \u00e0 \u00e9valuer.<\/li>\n<\/ul>\n<h3>Erreurs sp\u00e9cifiques \u00e0 l'UQ<\/h3>\n<ul>\n<li>En supposant que UQ est facultatif. Sans limites d'incertitude, une simulation valid\u00e9e n'a toujours pas d'intervalle de confiance utilisable.<\/li>\n<li>Ignorer les interactions des param\u00e8tres. Une analyse de sensibilit\u00e9 unique peut manquer les effets d'interaction que les m\u00e9thodes globales capturent.<\/li>\n<li>Traiter toute incertitude comme al\u00e9atoire. Une certaine incertitude est \u00e9pist\u00e9mique et peut \u00eatre r\u00e9duite gr\u00e2ce \u00e0 de meilleures donn\u00e9es ou \u00e0 de meilleurs mod\u00e8les.<\/li>\n<\/ul>\n<h2>Guide de d\u00e9cision&nbsp;: de combien de rigueur VVUQ avez-vous besoin&nbsp;?<\/h2>\n<p>Le niveau de rigueur VVUQ doit correspondre aux cons\u00e9quences d'une d\u00e9faillance du mod\u00e8le.<\/p>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Situation<\/th>\n<th>Rigueur recommand\u00e9e<\/th>\n<th>Pourquoi<\/th>\n<\/tr>\n<tr>\n<td>Code de recherche acad\u00e9mique<\/td>\n<td>V\u00e9rification de base avec MMS et convergence de maillage<\/td>\n<td>Niveau minimum acceptable pour la cr\u00e9dibilit\u00e9<\/td>\n<\/tr>\n<tr>\n<td>R\u00e9sultats de simulation publi\u00e9<\/td>\n<td>Validation et validation par rapport aux benchmarks<\/td>\n<td>Prend en charge la reproductibilit\u00e9 et l'examen par les pairs<\/td>\n<\/tr>\n<tr>\n<td>D\u00e9cisions de conception industrielle<\/td>\n<td>VVUQ complet avec des limites UQ<\/td>\n<td>Les choix de conception et la conformit\u00e9 peuvent d\u00e9pendre du mod\u00e8le<\/td>\n<\/tr>\n<tr>\n<td>Applications critiques pour la s\u00e9curit\u00e9<\/td>\n<td>Cadre de style ASME avec examen ind\u00e9pendant<\/td>\n<td>Les risques r\u00e9glementaires et de responsabilit\u00e9 sont \u00e9lev\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>Substitut d'apprentissage automatique<\/td>\n<td>V\u00e9rification de la pr\u00e9cision de substitution plus UQ des limites de pr\u00e9diction<\/td>\n<td>Une erreur de substitution doit \u00eatre quantifi\u00e9e<\/td>\n<\/tr>\n<tr>\n<td>Maintenance de code ou corrections de bogues<\/td>\n<td>Tests MMS cibl\u00e9s pour les modules concern\u00e9s<\/td>\n<td>V\u00e9rification rentable des chemins de code modifi\u00e9s<\/td>\n<\/tr>\n<\/tbody><\/table>\n<p>L'essentiel est simple : la rigueur VVUQ doit correspondre aux cons\u00e9quences d'un \u00e9chec. Le code acad\u00e9mique n\u00e9cessite une v\u00e9rification de base. Les r\u00e9sultats publi\u00e9s n\u00e9cessitent une validation plus solide. Les applications industrielles et critiques pour la s\u00e9curit\u00e9 n\u00e9cessitent une VVUQ compl\u00e8te et document\u00e9e.<\/p>\n<h2>R\u00e9sum\u00e9 et \u00e9tapes suivantes<\/h2>\n<p>La v\u00e9rification, la validation et la quantification de l'incertitude ne sont pas des extras optionnels. Ils font partie int\u00e9grante de la simulation scientifique cr\u00e9dible.<\/p>\n<p>Un pipeline VVUQ pratique devrait suivre cette s\u00e9quence :<\/p>\n<ol>\n<li>Commencez par la v\u00e9rification du code \u00e0 l'aide des MMS et des tests de pr\u00e9cision des commandes.<\/li>\n<li>Quantifier les erreurs num\u00e9riques gr\u00e2ce \u00e0 la v\u00e9rification de la solution pour les cycles de production.<\/li>\n<li>Cr\u00e9ez des preuves de validation avec des probl\u00e8mes de r\u00e9f\u00e9rence et des donn\u00e9es ind\u00e9pendantes.<\/li>\n<li>Ajoutez la quantification de l'incertitude pour signaler les limites de confiance sur les pr\u00e9dictions.<\/li>\n<li>Suivez des normes telles que ASME VVUQ pour structurer le processus et communiquer la rigueur.<\/li>\n<\/ol>\n<p>M\u00eame un programme VVUQ de base, tels que les tests MMS, la convergence de maillage et une m\u00e9thode UQ, peut consid\u00e9rablement augmenter la confiance dans les r\u00e9sultats de simulation et r\u00e9cup\u00e9rer les erreurs pr\u00e9coces.<\/p>\n<h2>Guides connexes<\/h2>\n<p>Pour les sujets connexes dans les flux de travail de simulation scientifique sur Matforge&nbsp;:<\/p>\n<ul>\n<li><a href=\"\/python-debugging-scientific-code-print-statements-profiling\/\">D\u00e9bogage Python pour le code scientifique : des relev\u00e9s d'impression au profilage<\/a><\/li>\n<li><a href=\"\/when-to-use-fem-fvm-fdm\/\">Quand utiliser FEM, FVM ou FDM : une comparaison pratique pour les d\u00e9butants<\/a><\/li>\n<li><a href=\"\/monte-carlo-methods-for-scientific-simulations\/\">M\u00e9thodes de Monte Carlo pour les simulations scientifiques : un guide Python<\/a><\/li>\n<\/ul>\n<h2>R\u00e9f\u00e9rences et lectures compl\u00e9mentaires<\/h2>\n<ul>\n<li>Roy, C.J. (2005). Examen des proc\u00e9dures de v\u00e9rification du code et des solutions pour la simulation informatique. Journal de physique des calculs.<\/li>\n<li>Oberkampf, W.L., &amp; Roy, C.J. (2010). V\u00e9rification et validation en informatique scientifique. Cambridge University Press.<\/li>\n<li>Portefeuille de normes ASME VVUQ&nbsp;: <a\u00a00>Vvuq&nbsp;1, <a\u00a01>v&amp;v&nbsp;10, <a\u00a02>v&amp;v&nbsp;20<\/a\u00a02><\/a\u00a01><\/a\u00a00><\/li>\n<li>OSTI&nbsp;: <a href=\"https:\/\/www.osti.gov\/servlets\/purl\/1111312\">Introduction \u00e0 la v\u00e9rification, \u00e0 la validation et \u00e0 la quantification de l'incertitude<\/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\"> 10<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Vous devez savoir deux choses diff\u00e9rentes sur une simulation&nbsp;: si le code r\u00e9sout correctement les \u00e9quations et si le mod\u00e8le est suffisamment pr\u00e9cis pour le probl\u00e8me du monde r\u00e9el. La premi\u00e8re question est la v\u00e9rification. La deuxi\u00e8me question est la validation. Mais cela ne suffit pas. Vous devez \u00e9galement comprendre \u00e0 quel point vous pouvez [&hellip;]<\/p>\n","protected":false,"raw":""},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"fr_FR","_original_post":"https:\/\/matforge.org\/?p=349","iawp_total_views":1,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1272","post","type-post","status-publish","format-standard","hentry","category-simulation-modeling-projects","fr-FR"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>V\u00e9rification vs validation dans les simulations<\/title>\n<meta name=\"description\" content=\"Apprenez la v\u00e9rification, la validation et la quantification de l&#039;incertitude pour les simulations scientifiques, y compris les exemples MMS, Mesh Convergence, UQ et Python.\" \/>\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\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"V\u00e9rification vs validation dans les simulations\" \/>\n<meta property=\"og:description\" content=\"Apprenez la v\u00e9rification, la validation et la quantification de l&#039;incertitude pour les simulations scientifiques, y compris les exemples MMS, Mesh Convergence, UQ et Python.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/fr\/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-08-21T14:31:32+00:00\" \/>\n<meta name=\"author\" content=\"Elena Markovska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elena Markovska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/\"},\"author\":{\"name\":\"Elena Markovska\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"headline\":\"V\u00e9rification vs validation dans des simulations scientifiques : un guide pratique\",\"datePublished\":\"2026-08-21T14:31:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/\"},\"wordCount\":3293,\"commentCount\":0,\"articleSection\":[\"Simulation &amp; Projets de mod\u00e9lisation\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/fr\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/\",\"name\":\"V\u00e9rification vs validation dans les simulations\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-08-21T14:31:32+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"description\":\"Apprenez la v\u00e9rification, la validation et la quantification de l'incertitude pour les simulations scientifiques, y compris les exemples MMS, Mesh Convergence, UQ et Python.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/verification-vs-validation-in-scientific-simulations-a-practical-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"V\u00e9rification vs validation dans des simulations scientifiques : un guide pratique\"}]},{\"@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\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\",\"name\":\"Elena Markovska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@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":"V\u00e9rification vs validation dans les simulations","description":"Apprenez la v\u00e9rification, la validation et la quantification de l'incertitude pour les simulations scientifiques, y compris les exemples MMS, Mesh Convergence, UQ et Python.","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\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/","og_locale":"fr_FR","og_type":"article","og_title":"V\u00e9rification vs validation dans les simulations","og_description":"Apprenez la v\u00e9rification, la validation et la quantification de l'incertitude pour les simulations scientifiques, y compris les exemples MMS, Mesh Convergence, UQ et Python.","og_url":"https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/","og_site_name":"matforge.org","article_published_time":"2026-08-21T14:31:32+00:00","author":"Elena Markovska","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Elena Markovska","Dur\u00e9e de lecture estim\u00e9e":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/"},"author":{"name":"Elena Markovska","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"headline":"V\u00e9rification vs validation dans des simulations scientifiques : un guide pratique","datePublished":"2026-08-21T14:31:32+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/"},"wordCount":3293,"commentCount":0,"articleSection":["Simulation &amp; Projets de mod\u00e9lisation"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/","url":"https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/","name":"V\u00e9rification vs validation dans les simulations","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-08-21T14:31:32+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"description":"Apprenez la v\u00e9rification, la validation et la quantification de l'incertitude pour les simulations scientifiques, y compris les exemples MMS, Mesh Convergence, UQ et Python.","breadcrumb":{"@id":"https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/fr\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/"},{"@type":"ListItem","position":2,"name":"V\u00e9rification vs validation dans des simulations scientifiques : un guide pratique"}]},{"@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":"fr-FR"},{"@type":"Person","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da","name":"Elena Markovska","image":{"@type":"ImageObject","inLanguage":"fr-FR","@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\/1272","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=1272"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1272\/revisions"}],"predecessor-version":[{"id":1418,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1272\/revisions\/1418"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=1272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=1272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=1272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}