{"id":1241,"date":"2026-08-21T14:28:35","date_gmt":"2026-08-21T14:28:35","guid":{"rendered":"https:\/\/matforge.org\/?p=1241","raw":"https:\/\/matforge.org\/?p=1241"},"modified":"2026-08-21T14:28:35","modified_gmt":"2026-08-21T14:28:35","slug":"validation-and-verification-for-pde-simulations-practical-framework","status":"publish","type":"post","link":"https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/","title":{"rendered":"Validation et v\u00e9rification des simulations PDE : un cadre pratique","raw":"Validation et v\u00e9rification des simulations PDE : un cadre 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\"> 12<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>La validation et la v\u00e9rification (v&amp;v) sont des processus essentiels d&rsquo;assurance qualit\u00e9 pour les simulations PDE. La v\u00e9rification garantit que votre code r\u00e9sout correctement les \u00e9quations (r\u00e9solution des \u00e9quations \u00e0 droite). La validation confirme que votre mod\u00e8le repr\u00e9sente avec pr\u00e9cision la physique du monde r\u00e9el (r\u00e9solution des bonnes \u00e9quations). Un framework V&amp;V robuste combine la v\u00e9rification du code via des m\u00e9thodes telles que la m\u00e9thode des solutions fabriqu\u00e9es, la v\u00e9rification des solutions avec des \u00e9tudes de convergence de maillage et la validation contre des probl\u00e8mes de r\u00e9f\u00e9rence ou des donn\u00e9es exp\u00e9rimentales. Suivre des normes \u00e9tablies comme ASME V&amp;V 10\/20 contribue \u00e0 garantir la cr\u00e9dibilit\u00e9 et la reproductibilit\u00e9 du calcul scientifique.<\/p>\n<h2>Introduction<\/h2>\n<p>Les simulations d&rsquo;\u00e9quations aux d\u00e9riv\u00e9es partielles (PDE) sous-tendent d&rsquo;innombrables d\u00e9cisions scientifiques et techniques, de la science des mat\u00e9riaux \u00e0 la dynamique des fluides. Pourtant, une simulation n&rsquo;est aussi fiable que les processus de v\u00e9rification et de validation (v&amp;v) qui les sous-tendent. Les cons\u00e9quences d&rsquo;un V&amp;v insuffisant peuvent \u00eatre graves&nbsp;: conclusions de recherche incorrectes, conceptions techniques d\u00e9fectueuses et ressources de calcul gaspill\u00e9es.<\/p>\n<p>Ce guide fournit un cadre pratique et ax\u00e9 sur la mise en \u0153uvre pour les simulations V&amp;V dans les simulations PDE. Nous allons couper le jargon th\u00e9orique et vous donner des proc\u00e9dures exploitables que vous pouvez appliquer \u00e0 vos solveurs de volumes finis (comme Fipy), \u00e0 des codes d&rsquo;\u00e9l\u00e9ments finis ou \u00e0 tout logiciel de simulation bas\u00e9 sur PDE.<\/p>\n<h2>Comprendre la distinction V&amp;V<\/h2>\n<p>Avant de plonger dans les proc\u00e9dures, il est essentiel de comprendre la diff\u00e9rence fondamentale entre la v\u00e9rification et la validation. Cette distinction est souvent confuse, mais constitue le fondement de tout programme V&amp;v cr\u00e9dible.<\/p>\n<h3>V\u00e9rification&nbsp;: R\u00e9solvons-nous correctement les \u00e9quations&nbsp;?<\/h3>\n<p>La v\u00e9rification demande&nbsp;: <strong>\u00a0\u00bb avons-nous construit le mod\u00e8le&nbsp;?\u00a0\u00bb<\/strong> C&rsquo;est un processus math\u00e9matique et de qualit\u00e9 de code qui confirme&nbsp;:<\/p>\n<ul>\n<li>L&rsquo;impl\u00e9mentation num\u00e9rique r\u00e9sout correctement les PDE gouvernantes<\/li>\n<li>Les erreurs de discr\u00e9tisation sont correctement estim\u00e9es et contr\u00f4l\u00e9es<\/li>\n<li>Les solveurs it\u00e9ratifs convergent vers la bonne solution<\/li>\n<li>Les bogues de programmation et les erreurs logiques sont \u00e9limin\u00e9s<\/li>\n<\/ul>\n<p>La v\u00e9rification concerne la <strong>coh\u00e9rence interne<\/strong> &#8211; s&rsquo;assurer que le code se comporte exactement comme le dicte le mod\u00e8le math\u00e9matique, ind\u00e9pendamment du fait que ce mod\u00e8le soit physiquement correct.<\/p>\n<h3>Validation&nbsp;: R\u00e9solvons-nous les bonnes \u00e9quations&nbsp;?<\/h3>\n<p>Validation demande&nbsp;: <strong>\u00ab\u00a0Avons-nous construit le bon mod\u00e8le&nbsp;?\u00a0\u00bb<\/strong> Il \u00e9value si la simulation repr\u00e9sente avec pr\u00e9cision le syst\u00e8me physique r\u00e9el pour l&rsquo;usage auquel il est destin\u00e9&nbsp;:<\/p>\n<ul>\n<li>Les r\u00e9sultats du mod\u00e8le correspondent-ils aux observations exp\u00e9rimentales dans les limites de l&rsquo;incertitude&nbsp;?<\/li>\n<li>Les conditions physiques et limites choisies sont-elles appropri\u00e9es ?<\/li>\n<li>Le mod\u00e8le fonctionne-t-il de mani\u00e8re fiable sur la plage de fonctionnement attendue&nbsp;?<\/li>\n<\/ul>\n<p>La validation concerne les <strong>exactitude externe<\/strong>, ce qui permet de renforcer la confiance que le mod\u00e8le peut faire confiance pour la prise de d\u00e9cision.<\/p>\n<p><strong>Key Takeaway<\/strong>&nbsp;: la v\u00e9rification doit pr\u00e9c\u00e9der la validation. Vous ne pouvez pas valider un code non v\u00e9rifi\u00e9 ; Cela ne fait que valider la mise en \u0153uvre du buggy.<\/p>\n<h2>V\u00e9rification du code&nbsp;: prouver que votre impl\u00e9mentation est correcte<\/h2>\n<p>La v\u00e9rification du code est le processus rigoureux de d\u00e9montrer que votre solveur PDE impl\u00e9mente correctement le mod\u00e8le math\u00e9matique sous-jacent. Deux approches principales sont utilis\u00e9es dans la pratique.<\/p>\n<h3>1. M\u00e9thode des solutions manufactur\u00e9es (MMS)<\/h3>\n<p>La m\u00e9thode des solutions manufactur\u00e9es est la r\u00e9f\u00e9rence en mati\u00e8re de v\u00e9rification des codes en sciences informatiques. Il fournit un moyen syst\u00e9matique et math\u00e9matiquement rigoureux de tester votre solveur sans s&rsquo;appuyer sur des solutions analytiques pr\u00e9existantes qui peuvent ne pas correspondre \u00e0 vos conditions aux limites ou \u00e0 vos formes d&rsquo;\u00e9quation.<\/p>\n<h4>Comment fonctionne le MMS<\/h4>\n<ol>\n<li><strong>Choisir une solution analytique<\/strong> ( u_m(mathbf{x}) ) qui est lisse et suffisamment diff\u00e9renciable (par exemple, ( u_m = sin(x)cos(y)e^{-t} ))<\/li>\n<li><strong>Substitut<\/strong> ( u_m ) dans votre op\u00e9rateur PDE gouvernant ( mathcal{l} ) pour calculer le terme source requis ( s ):<br \/> [<br \/> s(mathbf{x}, t) = mathcal{l}(u_m)<br \/> ]<\/li>\n<li><strong>Ex\u00e9cutez votre simulation<\/strong> avec le terme de source manufactur\u00e9e ( s ) et les conditions limites\/initiales appropri\u00e9es d\u00e9riv\u00e9es de ( u_m )<\/li>\n<li><strong>Comparer<\/strong> la solution num\u00e9rique ( u_h ) \u00e0 la solution de fabrication exacte ( u_m )<\/li>\n<li><strong>effectuez des \u00e9tudes de raffinement de maillage<\/strong> pour v\u00e9rifier que l&rsquo;ordre de pr\u00e9cision observ\u00e9 correspond \u00e0 l&rsquo;ordre th\u00e9orique de votre sch\u00e9ma de discr\u00e9tisation<\/li>\n<\/ol>\n<p>La puissance de MMS r\u00e9side dans son universalit\u00e9 : vous pouvez v\u00e9rifier n&rsquo;importe quel code pour n&rsquo;importe quel PDE, quelles que soient les conditions aux limites, car vous fabriquez une solution compatible \u00e0 la demande.<\/p>\n<p><strong>Conseil pratique<\/strong>&nbsp;: utilisez des outils de calcul symbolique (Sympy, Mathematica, Maple) pour calculer analytiquement les d\u00e9riv\u00e9es n\u00e9cessaires pour ( s ), en particulier pour les PDE non lin\u00e9aires complexes. Automatisez le processus avec des scripts pour g\u00e9n\u00e9rer syst\u00e9matiquement des cas de test.<\/p>\n<h4>Ressources MMS<\/h4>\n<p>Pour des proc\u00e9dures et des exemples d\u00e9taill\u00e9s de MMS :<\/p>\n<ul>\n<li><a href=\"https:\/\/www.osti.gov\/biblio\/759450\">V\u00e9rification de code par la m\u00e9thode des solutions manufactur\u00e9es (OSTI)<\/a> \u2013 Papier de base de Salari &amp; knupp<\/li>\n<li><a href=\"https:\/\/www.comsol.com\/blogs\/verify-simulations-with-the-method-of-manufactured-solutions\">Comsol : V\u00e9rifier les simulations avec MMS<\/a> \u2013 Guide de mise en \u0153uvre pratique<\/li>\n<li><a href=\"https:\/\/pylith.readthedocs.io\/en\/v4.2.0\/developer\/testing\/mmstests.html\">Documentation MMS Pylith<\/a> \u2013 Exemples de codes g\u00e9ophysiques<\/li>\n<\/ul>\n<h3>2. Ordre des tests de pr\u00e9cision<\/h3>\n<p>Ordre de pr\u00e9cision Les tests v\u00e9rifient que votre code atteint le taux de convergence attendu dans le cadre du raffinement du maillage. Pour un sch\u00e9ma de volume fini de second ordre, la r\u00e9duction de moiti\u00e9 de l&rsquo;espacement des mailles devrait r\u00e9duire l&rsquo;erreur d&rsquo;environ un facteur de 4.<\/p>\n<h4>Proc\u00e9dure<\/h4>\n<ol>\n<li>Choisissez un probl\u00e8me avec une solution exacte connue (peut provenir de benchmarks MMS ou manuels)<\/li>\n<li>R\u00e9soudre sur une s\u00e9quence de mailles de plus en plus raffin\u00e9es (par exemple, 32\u00d732, 64\u00d764, 128\u00d7128)<\/li>\n<li>Calculez la norme d&rsquo;erreur (L1, L2 ou L\u221e) \u00e0 chaque niveau de raffinement<\/li>\n<li>Erreur de trac\u00e9 par rapport \u00e0 la taille du maillage sur un trac\u00e9 de journalisation et calculez l&rsquo;ordre observ\u00e9&nbsp;:<br \/> [<br \/> text{order} = frac{log(e_{grossier}\/e_{fine})}{log(h_{grossier}\/h_{fine})}<br \/> ]<\/li>\n<li>Confirmer que l&rsquo;ordre observ\u00e9 correspond \u00e0 l&rsquo;ordre de discr\u00e9tisation th\u00e9orique dans la tol\u00e9rance (\u00b10,1 \u00e0 0,2 en raison des effets aux limites, pr\u00e9cision de la machine)<\/li>\n<\/ol>\n<p>Il s&rsquo;agit d&rsquo;une <strong>exigence minimale<\/strong> pour tout code PDE revendiquant l&rsquo;exactitude.<\/p>\n<p><strong>Pitfall commun<\/strong>&nbsp;: utiliser des maillages trop grossiers ou des probl\u00e8mes trop simples qui n&rsquo;exercent pas tous les termes dans l&rsquo;EDP. Testez des sc\u00e9narios complexes et r\u00e9alistes, notamment des non-lin\u00e9arit\u00e9s, des discontinuit\u00e9s et une physique coupl\u00e9e.<\/p>\n<h3>3. Comparaison de codes crois\u00e9s (attention)<\/h3>\n<p>La comparaison des r\u00e9sultats entre deux codes diff\u00e9rents peut \u00eatre utile, mais <strong>ne remplace pas la v\u00e9rification par rapport aux solutions analytiques<\/strong>. Les deux codes peuvent contenir la m\u00eame erreur syst\u00e9matique. Utilisez la comparaison de codes crois\u00e9s uniquement comme v\u00e9rification suppl\u00e9mentaire apr\u00e8s un MMS appropri\u00e9 ou un test de commande.<\/p>\n<h2>V\u00e9rification de la solution&nbsp;: quantification des erreurs num\u00e9riques<\/h2>\n<p>M\u00eame un code v\u00e9rifi\u00e9 produit des approximations num\u00e9riques avec des erreurs inh\u00e9rentes. Solution V\u00e9rification de la solution estime ces erreurs pour une simulation donn\u00e9e.<\/p>\n<h3>Estimation des erreurs de discr\u00e9tisation<\/h3>\n<p>Les principales sources d&rsquo;erreur num\u00e9rique dans les simulations PDE sont les suivantes&nbsp;:<\/p>\n<ul>\n<li><strong>Erreur de discr\u00e9tisation<\/strong> (r\u00e9solution maill\u00e9e\/grille)<\/li>\n<li><strong>Erreur d&rsquo;it\u00e9ration<\/strong> (Tol\u00e9rances de convergence du solveur)<\/li>\n<li><strong>Erreur d&rsquo;arrondi<\/strong> (pr\u00e9cision en virgule flottante)<\/li>\n<\/ul>\n<p>L&rsquo;erreur de discr\u00e9tisation est g\u00e9n\u00e9ralement dominante. L&rsquo;extrapolation de Richardson peut fournir une estimation d&rsquo;erreur \u00e0 l&rsquo;aide des r\u00e9sultats de deux maillages&nbsp;:<\/p>\n<p>[<br \/> varepsilon_{richardson} = frac{u_{h_1} &#8211; u_{h_2}{r^{p} &#8211; 1}<br \/> ]<\/p>\n<p>o\u00f9 ( r ) est le rapport de raffinement et ( p ) est l&rsquo;ordre observ\u00e9 de pr\u00e9cision.<\/p>\n<h3>Crit\u00e8re de convergence<\/h3>\n<p>V\u00e9rifiez toujours que les solveurs it\u00e9ratifs (par exemple, la m\u00e9thode de Newton, les solveurs de syst\u00e8mes lin\u00e9aires) ont converg\u00e9 vers la tol\u00e9rance souhait\u00e9e avant de faire confiance aux r\u00e9sultats. V\u00e9rifiez&nbsp;:<\/p>\n<ul>\n<li>R\u00e9duction r\u00e9siduelle de plusieurs ordres de grandeur<\/li>\n<li>Changements de solution entre les it\u00e9rations en dessous du seuil<\/li>\n<li>Erreurs de conservation (pour les m\u00e9thodes de volume fini)<\/li>\n<\/ul>\n<p><strong>Attention<\/strong>&nbsp;: \u00ab\u00a0converg\u00e9\u00a0\u00bb ne signifie pas \u00ab\u00a0correct\u00a0\u00bb. Un solveur it\u00e9ratif peut converger vers une mauvaise solution si la supposition initiale est m\u00e9diocre ou si le probl\u00e8me est mal conditionn\u00e9. C&rsquo;est pourquoi la v\u00e9rification et la validation sont toutes deux n\u00e9cessaires.<\/p>\n<h2>Validation : comparaison avec la r\u00e9alit\u00e9<\/h2>\n<p>La validation \u00e9value si votre mod\u00e8le de simulation est suffisamment pr\u00e9cis pour son objectif en comparant les pr\u00e9dictions \u00e0 des donn\u00e9es exp\u00e9rimentales ind\u00e9pendantes.<\/p>\n<h3>probl\u00e8mes de r\u00e9f\u00e9rence<\/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 servent de cibles de validation objectives.<\/p>\n<h4>Cat\u00e9gories de r\u00e9f\u00e9rence communes \u00e0 l&rsquo;EDP<\/h4>\n<ul>\n<li><strong>Dynamique des fluides<\/strong>&nbsp;: \u00e9coulement au-del\u00e0 d&rsquo;un cylindre (Re=20\u20131&nbsp;000), \u00e9coulement de la cavit\u00e9 entra\u00een\u00e9e par le couvercle, convection Rayleigh-B\u00e9nard<\/li>\n<li><strong>Equations de transport<\/strong>&nbsp;: 1D Advection-Diffusion avec des solutions analytiques connues<\/li>\n<li><strong>Champ de phase<\/strong>&nbsp;: Allen-Cahn, Cahn-Hilliard Patterns valid\u00e9s contre la microscopie<\/li>\n<li><strong>R\u00e9action de diffusion<\/strong>&nbsp;: validation de la vitesse des vagues Fisher-KPP<\/li>\n<\/ul>\n<p>Les r\u00e9f\u00e9rentiels tels que <a href=\"https:\/\/github.com\/pdebench\/PDEBench\">pdebench<\/a> fournissent des ensembles de donn\u00e9es standardis\u00e9s pour comparer l&rsquo;apprentissage automatique et les m\u00e9thodes num\u00e9riques.<\/p>\n<h3>Meilleures pratiques de validation<\/h3>\n<ol>\n<li><strong>Utilisez des donn\u00e9es ind\u00e9pendantes<\/strong>&nbsp;: ne validez jamais avec le m\u00eame ensemble de donn\u00e9es utilis\u00e9 pour l&rsquo;\u00e9talonnage ou la v\u00e9rification du code.<\/li>\n<li><strong>Quantifier l&rsquo;incertitude<\/strong>&nbsp;: les mesures exp\u00e9rimentales ont une incertitude&nbsp;; Les pr\u00e9dictions du mod\u00e8le ont une erreur num\u00e9rique. Comparer au sein des limites d&rsquo;incertitude combin\u00e9es<\/li>\n<li><strong>Points de validation multiples<\/strong>&nbsp;: test dans l&rsquo;espace des param\u00e8tres, pas une seule condition de fonctionnement<\/li>\n<li><strong>Base de validation des documents<\/strong>&nbsp;: enregistrez les probl\u00e8mes utilis\u00e9s, les r\u00e9sultats et les crit\u00e8res de r\u00e9ussite\/\u00e9chec<\/li>\n<\/ol>\n<p><strong>Erreur critique<\/strong>&nbsp;: utiliser des donn\u00e9es exp\u00e9rimentales pour ajuster les param\u00e8tres du mod\u00e8le (calibrage) puis revendiquer la validation avec les m\u00eames donn\u00e9es. C&rsquo;est un raisonnement circulaire. R\u00e9servez un ensemble de donn\u00e9es de validation distinct.<\/p>\n<h3>Lorsque les donn\u00e9es exp\u00e9rimentales ne sont pas disponibles<\/h3>\n<p>Pour de nombreux probl\u00e8mes de recherche, les donn\u00e9es exp\u00e9rimentales de haute qualit\u00e9 sont rares. Dans de tels cas :<\/p>\n<ul>\n<li>Utilisez des solutions de r\u00e9f\u00e9rence haute fid\u00e9lit\u00e9 (par exemple, DNS pour les flux turbulents) si disponible<\/li>\n<li>Comparez avec des solutions analytiques pour des cas simplifi\u00e9s<\/li>\n<li>Effectuez une comparaison crois\u00e9e avec plusieurs 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<\/ul>\n<h2>Normes et cadres<\/h2>\n<p>L&rsquo;adoption de normes \u00e9tablies donne de la cr\u00e9dibilit\u00e9 \u00e0 votre processus V&amp;v et garantit l&rsquo;exhaustivit\u00e9.<\/p>\n<h3>Normes V&amp;v ASME<\/h3>\n<p>L&rsquo;American Society of Mechanical Engineers (ASME) a d\u00e9velopp\u00e9 une s\u00e9rie de normes pour la cr\u00e9dibilit\u00e9 de la mod\u00e9lisation informatique&nbsp;:<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/www.asme.org\/codes-standards\/find-codes-standards\/standard-for-verification-and-validation-in-computational-solid-mechanics\">ASME V&amp;v 10<\/a><\/strong> \u2013 M\u00e9canique des solides informatiques<\/li>\n<li><strong><a href=\"https:\/\/www.asme.org\/codes-standards\/find-codes-standards\/standard-for-verification-and-validation-in-computational-fluid-dynamics-and-heat-transfer\">asme V&amp;v 20<\/a><\/strong> \u2013 CFD et transfert de chaleur<\/li>\n<li><strong><a href=\"https:\/\/www.asme.org\/codes-standards\/publications-information\/verification-validation-uncertainty\">ASME v&amp;v 40<\/a><\/strong> \u2013 Cadre bas\u00e9 sur les risques pour les dispositifs m\u00e9dicaux (adaptable \u00e0 d&rsquo;autres champs)<\/li>\n<li><strong><a href=\"https:\/\/www.asme.org\/codes-standards\/vvuq-standards\">vvuq 1<\/a><\/strong> \u2013 terminologie<\/li>\n<\/ul>\n<p>Ces normes fournissent des proc\u00e9dures structur\u00e9es pour :<\/p>\n<ul>\n<li>Planification des activit\u00e9s V&amp;v<\/li>\n<li>Quantification de l&rsquo;incertitude num\u00e9rique<\/li>\n<li>\u00c9valuation de la cr\u00e9dibilit\u00e9 du mod\u00e8le sur la base des preuves<\/li>\n<li>Documentation requise<\/li>\n<\/ul>\n<h3>Hi\u00e9rarchie des cadres<\/h3>\n<p>Un cadre V&amp;v complet suit cette hi\u00e9rarchie :<\/p>\n<ol>\n<li><strong>V\u00e9rification de code<\/strong> \u2192 prouver que le code est correct<\/li>\n<li><strong>V\u00e9rification de la solution<\/strong> \u2192 Estimer l&rsquo;erreur num\u00e9rique pour cette ex\u00e9cution<\/li>\n<li><strong>Validation<\/strong> \u2192 Comparer aux donn\u00e9es exp\u00e9rimentales\/r\u00e9f\u00e9rences<\/li>\n<li><strong>Quantification de l&rsquo;incertitude<\/strong> \u2192 Propager l&rsquo;incertitude d&rsquo;entr\u00e9e aux sorties<\/li>\n<li><strong>Capacit\u00e9 pr\u00e9dictive<\/strong> \u2192 Instaurer la confiance pour l&rsquo;utilisation de la d\u00e9cision<\/li>\n<\/ol>\n<h2>erreurs courantes et comment les \u00e9viter<\/h2>\n<p>Sur la base de la litt\u00e9rature et du consensus d&rsquo;experts, voici les erreurs V&amp;V les plus fr\u00e9quentes&nbsp;:<\/p>\n<h3>erreurs de v\u00e9rification<\/h3>\n<ul>\n<li><strong>En supposant que le code est sans bogue<\/strong> &#8211; m\u00eame les codes largement utilis\u00e9s contiennent des bogues non d\u00e9tect\u00e9s. Les tests de r\u00e9gression r\u00e9guliers avec des cas MMS r\u00e9cup\u00e8rent de nouvelles erreurs.<\/li>\n<li><strong>Pr\u00e9cision de l&rsquo;ordre de n\u00e9gligence<\/strong> \u2013 sans confirmer les taux de convergence th\u00e9orique, vous ne pouvez pas \u00eatre s\u00fbr des estimations d&rsquo;erreur.<\/li>\n<li><strong>Utilisation d&rsquo;une comparaison entre les codes crois\u00e9s comme seule v\u00e9rification<\/strong> &#8211; deux codes erron\u00e9s peuvent \u00eatre d&rsquo;accord. Incluez toujours des solutions analytiques ou fabriqu\u00e9es.<\/li>\n<li><strong>V\u00e9rification ponctuelle<\/strong> \u2013 la v\u00e9rification doit \u00eatre continue et non pas une activit\u00e9 ponctuelle. Chaque changement de code n\u00e9cessite une nouvelle v\u00e9rification des modules concern\u00e9s.<\/li>\n<\/ul>\n<h3>erreurs de validation<\/h3>\n<ul>\n<li><strong>Calibration vs. Confusion de validation<\/strong> &#8211; Accorder les param\u00e8tres aux donn\u00e9es exp\u00e9rimentales, puis \u00ab\u00a0validant\u00a0\u00bb avec les m\u00eames donn\u00e9es gonfle artificiellement la confiance. S\u00e9parez les ensembles de donn\u00e9es d&rsquo;\u00e9talonnage et de validation.<\/li>\n<li><strong>Ignorer l&rsquo;incertitude exp\u00e9rimentale<\/strong> &#8211; Un \u00e9cart de 5&nbsp;% peut \u00eatre statistiquement insignifiant si l&rsquo;erreur exp\u00e9rimentale est de 10&nbsp;%. Propagez toujours l&rsquo;incertitude de mesure.<\/li>\n<li><strong>Extrapolation<\/strong> &#8211; Valider un mod\u00e8le dans un seul r\u00e9gime (par exemple, faible nombre de Reynolds), puis l&rsquo;utiliser dans un r\u00e9gime tr\u00e8s diff\u00e9rent (haute RE, turbulence) sans validation suppl\u00e9mentaire.<\/li>\n<li><strong>Documentation m\u00e9diocre<\/strong> \u2013 sans enregistrement d\u00e9taill\u00e9 des probl\u00e8mes de validation, des r\u00e9sultats et des d\u00e9cisions, la cr\u00e9dibilit\u00e9 ne peut \u00eatre \u00e9valu\u00e9e par les autres (ou vous-m\u00eame des mois plus tard).<\/li>\n<\/ul>\n<h3>Erreurs g\u00e9n\u00e9rales de V&amp;V<\/h3>\n<ul>\n<li><strong>Entr\u00e9es mal caract\u00e9ris\u00e9es<\/strong>&nbsp;\u2013&nbsp;D\u00e9branchement, ordures out. L&rsquo;incertitude quant aux propri\u00e9t\u00e9s des mat\u00e9riaux, aux conditions aux limites ou \u00e0 la g\u00e9om\u00e9trie doit \u00eatre quantifi\u00e9e et propag\u00e9e.<\/li>\n<li><strong>Aucun examen par les pairs ind\u00e9pendants<\/strong> \u2013 V&amp;v doit \u00eatre examin\u00e9 par des experts non impliqu\u00e9s dans le d\u00e9veloppement. Cela attrape le biais de confirmation et les oublis.<\/li>\n<li><strong>Manque de reproductibilit\u00e9<\/strong> \u2013 Tous les cas V&amp;v doivent \u00eatre automatis\u00e9s avec des fichiers d&rsquo;entr\u00e9e et des scripts contr\u00f4l\u00e9s par la version afin que d&rsquo;autres puissent reproduire exactement vos r\u00e9sultats.<\/li>\n<\/ul>\n<h2>Impl\u00e9mentation d&rsquo;un flux de travail V&amp;A pratique pour les codes PDE<\/h2>\n<p>Voici un cadre \u00e9tape par \u00e9tape que vous pouvez mettre en \u0153uvre pour vos projets de simulation PDE&nbsp;:<\/p>\n<h3>Phase 1 : v\u00e9rification du code (avant toute s\u00e9rie de production)<\/h3>\n<ol>\n<li><strong>D\u00e9velopper la suite de tests MMS<\/strong> Couvrant&nbsp;:\n<ul>\n<li>Chaque type de PDE r\u00e9sout votre code (diffusion, advection, r\u00e9action, coupl\u00e9)<\/li>\n<li>Tous les types de conditions aux limites (dirichlet, neumann, mixte)<\/li>\n<li>G\u00e9om\u00e9tries complexes le cas \u00e9ch\u00e9ant<\/li>\n<\/ul>\n<\/li>\n<li><strong>Tests de pr\u00e9cision des commandes<\/strong> Automatisez les probl\u00e8mes repr\u00e9sentatifs. Int\u00e9gration dans l&rsquo;int\u00e9gration continue (CI) afin que chaque validation de code ex\u00e9cute ces tests.<\/li>\n<li><strong>V\u00e9rifier la convergence des solveurs it\u00e9ratifs<\/strong> vers des tol\u00e9rances strictes (r\u00e9duction r\u00e9siduelle \u2265&nbsp;10&nbsp;\u207b&nbsp;\u2076 pour les r\u00e9solutions lin\u00e9aires).<\/li>\n<li><strong>R\u00e9sultats de la v\u00e9rification des documents<\/strong> avec des trac\u00e9s de convergence, des tables d&rsquo;erreur et des crit\u00e8res de r\u00e9ussite\/\u00e9chec.<\/li>\n<\/ol>\n<h3>Phase 2 : v\u00e9rification de la solution (pour chaque cas de simulation)<\/h3>\n<ol>\n<li><strong>effectuer une \u00e9tude de convergence de maillage<\/strong> avec au moins 3 niveaux de maillage (gros, moyen, fin)<\/li>\n<li><strong>Estimation des erreurs de discr\u00e9tisation de calcul<\/strong><\/li>\n<li><strong>V\u00e9rifier la convergence du solveur<\/strong> \u2013 Confirmer les r\u00e9sidus et les modifications de la solution r\u00e9pondent aux tol\u00e9rances<\/li>\n<li><strong>M\u00e9tes de mesures de qualit\u00e9 de maillage d&rsquo;enregistrement<\/strong> (orthogonalit\u00e9, rapports d&rsquo;aspect) &#8211; Une qualit\u00e9 de maillage m\u00e9diocre peut corrompre, m\u00eame avec des maillages fins<\/li>\n<li><strong>Rapport d&rsquo;incertitude num\u00e9rique estim\u00e9e<\/strong> en quantit\u00e9s cl\u00e9s d&rsquo;int\u00e9r\u00eat<\/li>\n<\/ol>\n<h3>Phase 3 : Validation (cr\u00e9dibilit\u00e9 du renforcement)<\/h3>\n<ol>\n<li><strong>S\u00e9lectionnez les probl\u00e8mes de benchmark appropri\u00e9s<\/strong> correspondant \u00e0 votre domaine d&rsquo;application<\/li>\n<li><strong>Ex\u00e9cutez des cas de validation<\/strong> avec les m\u00eames param\u00e8tres de r\u00e9solution de maillage et de solveur que les ex\u00e9cutions de production<\/li>\n<li><strong>Erreur de validation de Quantifier<\/strong> par rapport aux donn\u00e9es de r\u00e9f\u00e9rence, tenant compte de l&rsquo;incertitude exp\u00e9rimentale\/de r\u00e9f\u00e9rence<\/li>\n<li><strong>\u00c9valuer l&rsquo;erreur de formulaire de mod\u00e8le<\/strong> \u2013 Si les divergences d\u00e9passent l&rsquo;incertitude num\u00e9rique, identifiez la physique manquante ou les hypoth\u00e8ses incorrectes<\/li>\n<li><strong>Preuve de validation de documents<\/strong> avec des graphiques de comparaison, des mesures d&rsquo;erreur et des conclusions sur l&rsquo;ad\u00e9quation de l&rsquo;utilisation pr\u00e9vue<\/li>\n<\/ol>\n<h3>Phase 4 : Quantification de l&rsquo;incertitude (avanc\u00e9)<\/h3>\n<p>Pour les d\u00e9cisions critiques, propager les incertitudes d&rsquo;entr\u00e9e (propri\u00e9t\u00e9s des mat\u00e9riaux, conditions aux limites) jusqu&rsquo;aux sorties \u00e0 l&rsquo;aide de&nbsp;:<\/p>\n<ul>\n<li><strong>M\u00e9thodes d&rsquo;\u00e9chantillonnage<\/strong> (Monte Carlo, Latin Hypercube)<\/li>\n<li><strong>Extensions de chaos polynomiales<\/strong> pour une propagation efficace<\/li>\n<li><strong>Analyse de sensibilit\u00e9<\/strong> pour identifier les sources d&rsquo;incertitude dominantes<\/li>\n<\/ul>\n<p>Le cadre complet <a href=\"https:\/\/www.aoe.vt.edu\/content\/dam\/aoe_vt_edu\/people\/faculty\/cjroy\/Publications-Articles\/VVUQ-CMAME.Final-Accepted-FIGURES.pdf\">VVUQ de Roy et al.<\/a> int\u00e8gre V&amp;v avec la quantification de l&rsquo;incertitude.<\/p>\n<h2>Consid\u00e9rations particuli\u00e8res pour les solveurs PDE \u00e0 volume fini<\/h2>\n<p>Les codes de volume finis FIPY et similaires ont des consid\u00e9rations V&amp;v sp\u00e9cifiques&nbsp;:<\/p>\n<h3>V\u00e9rification de la discr\u00e9tisation<\/h3>\n<ul>\n<li>V\u00e9rifier les calculs de <strong>Face gradient<\/strong> avec des solutions fabriqu\u00e9es qui produisent des termes sources non nuls<\/li>\n<li>Test <strong>Types de maillage diff\u00e9rents<\/strong> (structur\u00e9s ou non structur\u00e9s) s\u00e9par\u00e9ment, car les constantes d&rsquo;erreur diff\u00e8rent<\/li>\n<li>Valider <strong>Conservation du flux<\/strong> en calculant les soldes int\u00e9grales \u2013 les m\u00e9thodes de volume fini doivent conserver les quantit\u00e9s exactement (\u00e0 la tol\u00e9rance du solveur)<\/li>\n<\/ul>\n<h3>V\u00e9rifications sp\u00e9cifiques \u00e0 Fipy<\/h3>\n<p>Si vous utilisez Fipy, assurez-vous d&rsquo;avoir v\u00e9rifi\u00e9&nbsp;:<\/p>\n<ul>\n<li>Impl\u00e9mentation correcte des types de conditions aux limites (valeur fixe, gradient, etc.)<\/li>\n<li>Traitement des coefficients de diffusion anisotropes ou tensorielles<\/li>\n<li>Sch\u00e9mas de pas de temps pour les probl\u00e8mes transitoires (L&rsquo;adh\u00e9sion \u00e0 la condition de LCF)<\/li>\n<li>Interactions physiques coupl\u00e9es (p. ex., \u00e9lectrochimie + diffusion)<\/li>\n<\/ul>\n<p>Reportez-vous \u00e0 la <a href=\"https:\/\/pages.nist.gov\/fipy\/en\/benchmark_patched_2c7ac213b\/index.html\">documentation de r\u00e9f\u00e9rence FIPY<\/a> pour les probl\u00e8mes de v\u00e9rification int\u00e9gr\u00e9s.<\/p>\n<h2>\u00c9tude de cas : v\u00e9rification d&rsquo;une simulation en champ de phase<\/h2>\n<p>Parcourons un exemple concret. Supposons que vous impl\u00e9mentez un mod\u00e8le de champ de phase Cahn-Hilliard dans Fipy&nbsp;:<\/p>\n<ol>\n<li><strong>V\u00e9rification de code avec MMS<\/strong>&nbsp;:\n<ul>\n<li>Choisir une solution fabriqu\u00e9e qui satisfait l&rsquo;\u00e9quation de Cahn-Hilliard avec un terme de for\u00e7age<\/li>\n<li>G\u00e9n\u00e9rer une solution exacte et un terme source symboliquement<\/li>\n<li>Ex\u00e9cuter sur un maillage 2D et V\u00e9rifiez que l&rsquo;erreur L2 converge au deuxi\u00e8me ordre<\/li>\n<\/ul>\n<\/li>\n<li><strong>V\u00e9rification de la solution<\/strong>:\n<ul>\n<li>Ex\u00e9cuter le raffinement du maillage (p. ex., 50\u00d750, 100\u00d7100, 200\u00d7200)<\/li>\n<li>Largeur de l&rsquo;interface de calcul et \u00e9nergie libre totale sur chaque maillage<\/li>\n<li>Utiliser l&rsquo;extrapolation de Richardson pour estimer l&rsquo;erreur de discr\u00e9tisation dans \u00c9nergie<\/li>\n<\/ul>\n<\/li>\n<li><strong>Validation<\/strong>&nbsp;:\n<ul>\n<li>Simuler la d\u00e9composition spinodale et comparer l&rsquo;\u00e9chelle de longueur caract\u00e9ristique avec la pr\u00e9diction analytique ou les r\u00e9sultats publi\u00e9s<\/li>\n<li>Valider la cin\u00e9tique de grossissement (L \u221d T^{1\/3}) Th\u00e9orie<\/li>\n<\/ul>\n<\/li>\n<li><strong>Documentation<\/strong>&nbsp;:\n<ul>\n<li>Enregistrer tous les fichiers d&rsquo;entr\u00e9e, scripts et r\u00e9sultats dans un r\u00e9f\u00e9rentiel contr\u00f4l\u00e9 par la version<\/li>\n<li>G\u00e9n\u00e9rer un rapport de v\u00e9rification avec des trac\u00e9s et des tables<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2>Guide de d\u00e9cision&nbsp;: quand utiliser la m\u00e9thode V&amp;v<\/h2>\n<table>\n<thead>\n<tr>\n<th>Situation<\/th>\n<th>Approche recommand\u00e9e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Nouveau code PDE ou r\u00e9vision majeure<\/td>\n<td>Suite MMS compl\u00e8te + test de pr\u00e9cision des commandes<\/td>\n<\/tr>\n<tr>\n<td>Correction de bugs mineure<\/td>\n<td>Tests MMS cibl\u00e9s pour les modules concern\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>Simulation de production<\/td>\n<td>V\u00e9rification de la solution (\u00e9tude de maillage) Obligatoire<\/td>\n<\/tr>\n<tr>\n<td>Phase de d\u00e9veloppement de mod\u00e8les<\/td>\n<td>Validation contre 3+ probl\u00e8mes de r\u00e9f\u00e9rence<\/td>\n<\/tr>\n<tr>\n<td>Utilisation r\u00e9glementaire ou \u00e0 enjeux \u00e9lev\u00e9s<\/td>\n<td>Cadre ASME V&amp;v 40 complet avec \u00e9valuation ind\u00e9pendante par les pairs<\/td>\n<\/tr>\n<tr>\n<td>Recherche de code sans donn\u00e9es exp\u00e9rimentales<\/td>\n<td>Limitations de documents&nbsp;; Utiliser plusieurs m\u00e9thodes de v\u00e9rification ind\u00e9pendantes<\/td>\n<\/tr>\n<tr>\n<td>Optimisation des performances<\/td>\n<td>Re-v\u00e9rifier apr\u00e8s optimisation pour garantir l&rsquo;absence de r\u00e9gression correcte<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Tr\u00e8s bas<\/strong>&nbsp;: la rigueur de V&amp;v doit correspondre aux cons\u00e9quences de l&rsquo;\u00e9chec. Le code de recherche acad\u00e9mique a toujours besoin d&rsquo;une v\u00e9rification de base, mais la conformit\u00e9 V&amp;v 40 compl\u00e8te peut \u00eatre exag\u00e9r\u00e9e. Les applications industrielles ou critiques pour la s\u00e9curit\u00e9 exigent un V&amp;v.<\/p>\n<h2>Guides connexes<\/h2>\n<p>Pour les sujets connexes dans les flux de travail de simulation scientifique&nbsp;:<\/p>\n<ul>\n<li><a href=\"\/from-equations-to-simulations-the-modeling-pipeline\/\">des \u00e9quations aux simulations&nbsp;: le pipeline de mod\u00e9lisation<\/a> \u2013 processus de d\u00e9veloppement de simulation de bout en bout<\/li>\n<li><a href=\"\/using-fipy-for-phase-field-modeling\/\">Utilisation de FIPY pour la mod\u00e9lisation en champ de phase<\/a> \u2013 Guide de mise en \u0153uvre pratique de la PDE<\/li>\n<li><a href=\"\/introduction-to-materials-modeling-for-beginners\/\">Introduction \u00e0 la mod\u00e9lisation des mat\u00e9riaux pour les d\u00e9butants<\/a> \u2013 Concepts fondamentaux pour les nouveaux arrivants<\/li>\n<\/ul>\n<h2>R\u00e9sum\u00e9 et \u00e9tapes suivantes<\/h2>\n<p>La validation et la v\u00e9rification ne sont pas des modules compl\u00e9mentaires facultatifs ; Ils font partie int\u00e9grante des simulations PDE cr\u00e9dibles. Le cadre pratique d\u00e9crit ici fournit une feuille de route :<\/p>\n<ol>\n<li><strong>Commencez par la v\u00e9rification du code<\/strong> en utilisant la m\u00e9thode des solutions fabriqu\u00e9es pour \u00e9tablir l&rsquo;exactitude de la base<\/li>\n<li><strong>Quantifier les erreurs num\u00e9riques<\/strong> gr\u00e2ce \u00e0 la v\u00e9rification de la solution pour chaque cycle de production<\/li>\n<li><strong>Cr\u00e9er des preuves de validation<\/strong> avec des probl\u00e8mes de r\u00e9f\u00e9rence et des donn\u00e9es ind\u00e9pendantes<\/li>\n<li><strong>Adoptez les normes<\/strong> comme ASME V&amp;v 10\/20 pour structurer votre processus<\/li>\n<li><strong>\u00c9vitez les erreurs courantes<\/strong>\u2014en particulier la confusion de v\u00e9rification\/validation et d&rsquo;\u00e9talonnage circulaire<\/li>\n<li><strong>Documentez tout<\/strong> pour la reproductibilit\u00e9 et l&rsquo;examen par les pairs<\/li>\n<\/ol>\n<p>La mise en \u0153uvre m\u00eame d&rsquo;un programme V&amp;v de base (MMS Tests + Mesh Convergence) augmente consid\u00e9rablement la confiance dans les r\u00e9sultats de votre simulation et permet de gagner du temps \u00e0 attraper des erreurs plus t\u00f4t.<\/p>\n<p><strong>Prochaines \u00e9tapes<\/strong>&nbsp;: auditez votre flux de travail de simulation actuel. Sautez-vous enti\u00e8rement la v\u00e9rification&nbsp;? Ex\u00e9cuter uniquement des calculs \u00e0 maillage unique&nbsp;? Ajoutez au moins un test de v\u00e9rification (MMS ou pr\u00e9cision de commande) \u00e0 votre prochain projet et mesurez la diff\u00e9rence de confiance et de d\u00e9tection de bugs.<\/p>\n<h2>Besoin d&rsquo;aide pour mettre en \u0153uvre V&amp;v pour votre projet de simulation&nbsp;?<\/h2>\n<p>L&rsquo;\u00e9tablissement d&rsquo;un processus V&amp; V robuste n\u00e9cessite une expertise et un investissement initial. Si vous avez du mal avec :<\/p>\n<ul>\n<li>Configurer des tests de solutions fabriqu\u00e9es pour votre code PDE<\/li>\n<li>Conception d&rsquo;\u00e9tudes de convergence de maillage pour des g\u00e9om\u00e9tries complexes<\/li>\n<li>Interpr\u00e9tation des r\u00e9sultats de validation et quantification de l&rsquo;incertitude<\/li>\n<li>Pr\u00e9paration de la documentation V&amp;v pour publication ou soumission r\u00e9glementaire<\/li>\n<\/ul>\n<p>Notre \u00e9quipe d&rsquo;experts en sciences informatiques peut vous aider. Nous nous sp\u00e9cialisons dans la cr\u00e9ation de cadres de v\u00e9rification pour les codes Python scientifiques, y compris les simulations bas\u00e9es sur FIPY. <a href=\"https:\/\/matforge.org\/category\/issue-tracking-tickets-technical-requests\/\">Contactez via notre syst\u00e8me de suivi des probl\u00e8mes<\/a> pour discuter des besoins de cr\u00e9dibilit\u00e9 de votre projet.<\/p>\n<hr>\n<p><strong>R\u00e9f\u00e9rences et lectures suppl\u00e9mentaires<\/strong><\/p>\n<ul>\n<li>Roy, C.J. (2005). \u00ab\u00a0Examen des proc\u00e9dures de v\u00e9rification du code et de la solution pour la simulation informatique.\u00a0\u00bb <em>Journal de physique informatique<\/em>.<\/li>\n<li>Oberkampf, W.L., &amp; Roy, C.J. (2010). <em>V\u00e9rification et validation dans le calcul scientifique<\/em>. Cambridge University Press.<\/li>\n<li>Guide de l&rsquo;AIAA pour la v\u00e9rification et la validation des simulations de dynamique des fluides informatiques (1998).<\/li>\n<li>Normes V&amp;v ASME : <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>, <a href=\"https:\/\/www.asme.org\/codes-standards\/vvuq-standards\">vvuq 1<\/a>.<\/li>\n<\/ul>\n","protected":false,"raw":"<p>La validation et la v\u00e9rification (v&amp;v) sont des processus essentiels d'assurance qualit\u00e9 pour les simulations PDE. La v\u00e9rification garantit que votre code r\u00e9sout correctement les \u00e9quations (r\u00e9solution des \u00e9quations \u00e0 droite). La validation confirme que votre mod\u00e8le repr\u00e9sente avec pr\u00e9cision la physique du monde r\u00e9el (r\u00e9solution des bonnes \u00e9quations). Un framework V&amp;V robuste combine la v\u00e9rification du code via des m\u00e9thodes telles que la m\u00e9thode des solutions fabriqu\u00e9es, la v\u00e9rification des solutions avec des \u00e9tudes de convergence de maillage et la validation contre des probl\u00e8mes de r\u00e9f\u00e9rence ou des donn\u00e9es exp\u00e9rimentales. Suivre des normes \u00e9tablies comme ASME V&amp;V 10\/20 contribue \u00e0 garantir la cr\u00e9dibilit\u00e9 et la reproductibilit\u00e9 du calcul scientifique.<\/p>\n<h2>Introduction<\/h2>\n<p>Les simulations d'\u00e9quations aux d\u00e9riv\u00e9es partielles (PDE) sous-tendent d'innombrables d\u00e9cisions scientifiques et techniques, de la science des mat\u00e9riaux \u00e0 la dynamique des fluides. Pourtant, une simulation n'est aussi fiable que les processus de v\u00e9rification et de validation (v&amp;v) qui les sous-tendent. Les cons\u00e9quences d'un V&amp;v insuffisant peuvent \u00eatre graves&nbsp;: conclusions de recherche incorrectes, conceptions techniques d\u00e9fectueuses et ressources de calcul gaspill\u00e9es.<\/p>\n<p>Ce guide fournit un cadre pratique et ax\u00e9 sur la mise en \u0153uvre pour les simulations V&amp;V dans les simulations PDE. Nous allons couper le jargon th\u00e9orique et vous donner des proc\u00e9dures exploitables que vous pouvez appliquer \u00e0 vos solveurs de volumes finis (comme Fipy), \u00e0 des codes d'\u00e9l\u00e9ments finis ou \u00e0 tout logiciel de simulation bas\u00e9 sur PDE.<\/p>\n<h2>Comprendre la distinction V&amp;V<\/h2>\n<p>Avant de plonger dans les proc\u00e9dures, il est essentiel de comprendre la diff\u00e9rence fondamentale entre la v\u00e9rification et la validation. Cette distinction est souvent confuse, mais constitue le fondement de tout programme V&amp;v cr\u00e9dible.<\/p>\n<h3>V\u00e9rification&nbsp;: R\u00e9solvons-nous correctement les \u00e9quations&nbsp;?<\/h3>\n<p>La v\u00e9rification demande&nbsp;: <strong>\" avons-nous construit le mod\u00e8le&nbsp;?\"<\/strong> C'est un processus math\u00e9matique et de qualit\u00e9 de code qui confirme&nbsp;:<\/p>\n<ul>\n<li>L'impl\u00e9mentation num\u00e9rique r\u00e9sout correctement les PDE gouvernantes<\/li>\n<li>Les erreurs de discr\u00e9tisation sont correctement estim\u00e9es et contr\u00f4l\u00e9es<\/li>\n<li>Les solveurs it\u00e9ratifs convergent vers la bonne solution<\/li>\n<li>Les bogues de programmation et les erreurs logiques sont \u00e9limin\u00e9s<\/li>\n<\/ul>\n<p>La v\u00e9rification concerne la <strong>coh\u00e9rence interne<\/strong> - s'assurer que le code se comporte exactement comme le dicte le mod\u00e8le math\u00e9matique, ind\u00e9pendamment du fait que ce mod\u00e8le soit physiquement correct.<\/p>\n<h3>Validation&nbsp;: R\u00e9solvons-nous les bonnes \u00e9quations&nbsp;?<\/h3>\n<p>Validation demande&nbsp;: <strong>\"Avons-nous construit le bon mod\u00e8le&nbsp;?\"<\/strong> Il \u00e9value si la simulation repr\u00e9sente avec pr\u00e9cision le syst\u00e8me physique r\u00e9el pour l'usage auquel il est destin\u00e9&nbsp;:<\/p>\n<ul>\n<li>Les r\u00e9sultats du mod\u00e8le correspondent-ils aux observations exp\u00e9rimentales dans les limites de l'incertitude&nbsp;?<\/li>\n<li>Les conditions physiques et limites choisies sont-elles appropri\u00e9es ?<\/li>\n<li>Le mod\u00e8le fonctionne-t-il de mani\u00e8re fiable sur la plage de fonctionnement attendue&nbsp;?<\/li>\n<\/ul>\n<p>La validation concerne les <strong>exactitude externe<\/strong>, ce qui permet de renforcer la confiance que le mod\u00e8le peut faire confiance pour la prise de d\u00e9cision.<\/p>\n<p><strong>Key Takeaway<\/strong>&nbsp;: la v\u00e9rification doit pr\u00e9c\u00e9der la validation. Vous ne pouvez pas valider un code non v\u00e9rifi\u00e9 ; Cela ne fait que valider la mise en \u0153uvre du buggy.<\/p>\n<h2>V\u00e9rification du code&nbsp;: prouver que votre impl\u00e9mentation est correcte<\/h2>\n<p>La v\u00e9rification du code est le processus rigoureux de d\u00e9montrer que votre solveur PDE impl\u00e9mente correctement le mod\u00e8le math\u00e9matique sous-jacent. Deux approches principales sont utilis\u00e9es dans la pratique.<\/p>\n<h3>1. M\u00e9thode des solutions manufactur\u00e9es (MMS)<\/h3>\n<p>La m\u00e9thode des solutions manufactur\u00e9es est la r\u00e9f\u00e9rence en mati\u00e8re de v\u00e9rification des codes en sciences informatiques. Il fournit un moyen syst\u00e9matique et math\u00e9matiquement rigoureux de tester votre solveur sans s'appuyer sur des solutions analytiques pr\u00e9existantes qui peuvent ne pas correspondre \u00e0 vos conditions aux limites ou \u00e0 vos formes d'\u00e9quation.<\/p>\n<h4>Comment fonctionne le MMS<\/h4>\n<ol>\n<li><strong>Choisir une solution analytique<\/strong> ( u_m(mathbf{x}) ) qui est lisse et suffisamment diff\u00e9renciable (par exemple, ( u_m = sin(x)cos(y)e^{-t} ))<\/li>\n<li><strong>Substitut<\/strong> ( u_m ) dans votre op\u00e9rateur PDE gouvernant ( mathcal{l} ) pour calculer le terme source requis ( s ):<br> [<br> s(mathbf{x}, t) = mathcal{l}(u_m)<br> ]<\/li>\n<li><strong>Ex\u00e9cutez votre simulation<\/strong> avec le terme de source manufactur\u00e9e ( s ) et les conditions limites\/initiales appropri\u00e9es d\u00e9riv\u00e9es de ( u_m )<\/li>\n<li><strong>Comparer<\/strong> la solution num\u00e9rique ( u_h ) \u00e0 la solution de fabrication exacte ( u_m )<\/li>\n<li><strong>effectuez des \u00e9tudes de raffinement de maillage<\/strong> pour v\u00e9rifier que l'ordre de pr\u00e9cision observ\u00e9 correspond \u00e0 l'ordre th\u00e9orique de votre sch\u00e9ma de discr\u00e9tisation<\/li>\n<\/ol>\n<p>La puissance de MMS r\u00e9side dans son universalit\u00e9 : vous pouvez v\u00e9rifier n'importe quel code pour n'importe quel PDE, quelles que soient les conditions aux limites, car vous fabriquez une solution compatible \u00e0 la demande.<\/p>\n<p><strong>Conseil pratique<\/strong>&nbsp;: utilisez des outils de calcul symbolique (Sympy, Mathematica, Maple) pour calculer analytiquement les d\u00e9riv\u00e9es n\u00e9cessaires pour ( s ), en particulier pour les PDE non lin\u00e9aires complexes. Automatisez le processus avec des scripts pour g\u00e9n\u00e9rer syst\u00e9matiquement des cas de test.<\/p>\n<h4>Ressources MMS<\/h4>\n<p>Pour des proc\u00e9dures et des exemples d\u00e9taill\u00e9s de MMS :<\/p>\n<ul>\n<li><a href=\"https:\/\/www.osti.gov\/biblio\/759450\">V\u00e9rification de code par la m\u00e9thode des solutions manufactur\u00e9es (OSTI)<\/a> \u2013 Papier de base de Salari &amp; knupp<\/li>\n<li><a href=\"https:\/\/www.comsol.com\/blogs\/verify-simulations-with-the-method-of-manufactured-solutions\">Comsol : V\u00e9rifier les simulations avec MMS<\/a> \u2013 Guide de mise en \u0153uvre pratique<\/li>\n<li><a href=\"https:\/\/pylith.readthedocs.io\/en\/v4.2.0\/developer\/testing\/mmstests.html\">Documentation MMS Pylith<\/a> \u2013 Exemples de codes g\u00e9ophysiques<\/li>\n<\/ul>\n<h3>2. Ordre des tests de pr\u00e9cision<\/h3>\n<p>Ordre de pr\u00e9cision Les tests v\u00e9rifient que votre code atteint le taux de convergence attendu dans le cadre du raffinement du maillage. Pour un sch\u00e9ma de volume fini de second ordre, la r\u00e9duction de moiti\u00e9 de l'espacement des mailles devrait r\u00e9duire l'erreur d'environ un facteur de 4.<\/p>\n<h4>Proc\u00e9dure<\/h4>\n<ol>\n<li>Choisissez un probl\u00e8me avec une solution exacte connue (peut provenir de benchmarks MMS ou manuels)<\/li>\n<li>R\u00e9soudre sur une s\u00e9quence de mailles de plus en plus raffin\u00e9es (par exemple, 32\u00d732, 64\u00d764, 128\u00d7128)<\/li>\n<li>Calculez la norme d'erreur (L1, L2 ou L\u221e) \u00e0 chaque niveau de raffinement<\/li>\n<li>Erreur de trac\u00e9 par rapport \u00e0 la taille du maillage sur un trac\u00e9 de journalisation et calculez l'ordre observ\u00e9&nbsp;:<br> [<br> text{order} = frac{log(e_{grossier}\/e_{fine})}{log(h_{grossier}\/h_{fine})}<br> ]<\/li>\n<li>Confirmer que l'ordre observ\u00e9 correspond \u00e0 l'ordre de discr\u00e9tisation th\u00e9orique dans la tol\u00e9rance (\u00b10,1 \u00e0 0,2 en raison des effets aux limites, pr\u00e9cision de la machine)<\/li>\n<\/ol>\n<p>Il s'agit d'une <strong>exigence minimale<\/strong> pour tout code PDE revendiquant l'exactitude.<\/p>\n<p><strong>Pitfall commun<\/strong>&nbsp;: utiliser des maillages trop grossiers ou des probl\u00e8mes trop simples qui n'exercent pas tous les termes dans l'EDP. Testez des sc\u00e9narios complexes et r\u00e9alistes, notamment des non-lin\u00e9arit\u00e9s, des discontinuit\u00e9s et une physique coupl\u00e9e.<\/p>\n<h3>3. Comparaison de codes crois\u00e9s (attention)<\/h3>\n<p>La comparaison des r\u00e9sultats entre deux codes diff\u00e9rents peut \u00eatre utile, mais <strong>ne remplace pas la v\u00e9rification par rapport aux solutions analytiques<\/strong>. Les deux codes peuvent contenir la m\u00eame erreur syst\u00e9matique. Utilisez la comparaison de codes crois\u00e9s uniquement comme v\u00e9rification suppl\u00e9mentaire apr\u00e8s un MMS appropri\u00e9 ou un test de commande.<\/p>\n<h2>V\u00e9rification de la solution&nbsp;: quantification des erreurs num\u00e9riques<\/h2>\n<p>M\u00eame un code v\u00e9rifi\u00e9 produit des approximations num\u00e9riques avec des erreurs inh\u00e9rentes. Solution V\u00e9rification de la solution estime ces erreurs pour une simulation donn\u00e9e.<\/p>\n<h3>Estimation des erreurs de discr\u00e9tisation<\/h3>\n<p>Les principales sources d'erreur num\u00e9rique dans les simulations PDE sont les suivantes&nbsp;:<\/p>\n<ul>\n<li><strong>Erreur de discr\u00e9tisation<\/strong> (r\u00e9solution maill\u00e9e\/grille)<\/li>\n<li><strong>Erreur d'it\u00e9ration<\/strong> (Tol\u00e9rances de convergence du solveur)<\/li>\n<li><strong>Erreur d'arrondi<\/strong> (pr\u00e9cision en virgule flottante)<\/li>\n<\/ul>\n<p>L'erreur de discr\u00e9tisation est g\u00e9n\u00e9ralement dominante. L'extrapolation de Richardson peut fournir une estimation d'erreur \u00e0 l'aide des r\u00e9sultats de deux maillages&nbsp;:<\/p>\n<p>[<br> varepsilon_{richardson} = frac{u_{h_1} - u_{h_2}{r^{p} - 1}<br> ]<\/p>\n<p>o\u00f9 ( r ) est le rapport de raffinement et ( p ) est l'ordre observ\u00e9 de pr\u00e9cision.<\/p>\n<h3>Crit\u00e8re de convergence<\/h3>\n<p>V\u00e9rifiez toujours que les solveurs it\u00e9ratifs (par exemple, la m\u00e9thode de Newton, les solveurs de syst\u00e8mes lin\u00e9aires) ont converg\u00e9 vers la tol\u00e9rance souhait\u00e9e avant de faire confiance aux r\u00e9sultats. V\u00e9rifiez&nbsp;:<\/p>\n<ul>\n<li>R\u00e9duction r\u00e9siduelle de plusieurs ordres de grandeur<\/li>\n<li>Changements de solution entre les it\u00e9rations en dessous du seuil<\/li>\n<li>Erreurs de conservation (pour les m\u00e9thodes de volume fini)<\/li>\n<\/ul>\n<p><strong>Attention<\/strong>&nbsp;: \"converg\u00e9\" ne signifie pas \"correct\". Un solveur it\u00e9ratif peut converger vers une mauvaise solution si la supposition initiale est m\u00e9diocre ou si le probl\u00e8me est mal conditionn\u00e9. C'est pourquoi la v\u00e9rification et la validation sont toutes deux n\u00e9cessaires.<\/p>\n<h2>Validation : comparaison avec la r\u00e9alit\u00e9<\/h2>\n<p>La validation \u00e9value si votre mod\u00e8le de simulation est suffisamment pr\u00e9cis pour son objectif en comparant les pr\u00e9dictions \u00e0 des donn\u00e9es exp\u00e9rimentales ind\u00e9pendantes.<\/p>\n<h3>probl\u00e8mes de r\u00e9f\u00e9rence<\/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 servent de cibles de validation objectives.<\/p>\n<h4>Cat\u00e9gories de r\u00e9f\u00e9rence communes \u00e0 l'EDP<\/h4>\n<ul>\n<li><strong>Dynamique des fluides<\/strong>&nbsp;: \u00e9coulement au-del\u00e0 d'un cylindre (Re=20\u20131&nbsp;000), \u00e9coulement de la cavit\u00e9 entra\u00een\u00e9e par le couvercle, convection Rayleigh-B\u00e9nard<\/li>\n<li><strong>Equations de transport<\/strong>&nbsp;: 1D Advection-Diffusion avec des solutions analytiques connues<\/li>\n<li><strong>Champ de phase<\/strong>&nbsp;: Allen-Cahn, Cahn-Hilliard Patterns valid\u00e9s contre la microscopie<\/li>\n<li><strong>R\u00e9action de diffusion<\/strong>&nbsp;: validation de la vitesse des vagues Fisher-KPP<\/li>\n<\/ul>\n<p>Les r\u00e9f\u00e9rentiels tels que <a href=\"https:\/\/github.com\/pdebench\/PDEBench\">pdebench<\/a> fournissent des ensembles de donn\u00e9es standardis\u00e9s pour comparer l'apprentissage automatique et les m\u00e9thodes num\u00e9riques.<\/p>\n<h3>Meilleures pratiques de validation<\/h3>\n<ol>\n<li><strong>Utilisez des donn\u00e9es ind\u00e9pendantes<\/strong>&nbsp;: ne validez jamais avec le m\u00eame ensemble de donn\u00e9es utilis\u00e9 pour l'\u00e9talonnage ou la v\u00e9rification du code.<\/li>\n<li><strong>Quantifier l'incertitude<\/strong>&nbsp;: les mesures exp\u00e9rimentales ont une incertitude&nbsp;; Les pr\u00e9dictions du mod\u00e8le ont une erreur num\u00e9rique. Comparer au sein des limites d'incertitude combin\u00e9es<\/li>\n<li><strong>Points de validation multiples<\/strong>&nbsp;: test dans l'espace des param\u00e8tres, pas une seule condition de fonctionnement<\/li>\n<li><strong>Base de validation des documents<\/strong>&nbsp;: enregistrez les probl\u00e8mes utilis\u00e9s, les r\u00e9sultats et les crit\u00e8res de r\u00e9ussite\/\u00e9chec<\/li>\n<\/ol>\n<p><strong>Erreur critique<\/strong>&nbsp;: utiliser des donn\u00e9es exp\u00e9rimentales pour ajuster les param\u00e8tres du mod\u00e8le (calibrage) puis revendiquer la validation avec les m\u00eames donn\u00e9es. C'est un raisonnement circulaire. R\u00e9servez un ensemble de donn\u00e9es de validation distinct.<\/p>\n<h3>Lorsque les donn\u00e9es exp\u00e9rimentales ne sont pas disponibles<\/h3>\n<p>Pour de nombreux probl\u00e8mes de recherche, les donn\u00e9es exp\u00e9rimentales de haute qualit\u00e9 sont rares. Dans de tels cas :<\/p>\n<ul>\n<li>Utilisez des solutions de r\u00e9f\u00e9rence haute fid\u00e9lit\u00e9 (par exemple, DNS pour les flux turbulents) si disponible<\/li>\n<li>Comparez avec des solutions analytiques pour des cas simplifi\u00e9s<\/li>\n<li>Effectuez une comparaison crois\u00e9e avec plusieurs 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<\/ul>\n<h2>Normes et cadres<\/h2>\n<p>L'adoption de normes \u00e9tablies donne de la cr\u00e9dibilit\u00e9 \u00e0 votre processus V&amp;v et garantit l'exhaustivit\u00e9.<\/p>\n<h3>Normes V&amp;v ASME<\/h3>\n<p>L'American Society of Mechanical Engineers (ASME) a d\u00e9velopp\u00e9 une s\u00e9rie de normes pour la cr\u00e9dibilit\u00e9 de la mod\u00e9lisation informatique&nbsp;:<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/www.asme.org\/codes-standards\/find-codes-standards\/standard-for-verification-and-validation-in-computational-solid-mechanics\">ASME V&amp;v 10<\/a><\/strong> \u2013 M\u00e9canique des solides informatiques<\/li>\n<li><strong><a href=\"https:\/\/www.asme.org\/codes-standards\/find-codes-standards\/standard-for-verification-and-validation-in-computational-fluid-dynamics-and-heat-transfer\">asme V&amp;v 20<\/a><\/strong> \u2013 CFD et transfert de chaleur<\/li>\n<li><strong><a href=\"https:\/\/www.asme.org\/codes-standards\/publications-information\/verification-validation-uncertainty\">ASME v&amp;v 40<\/a><\/strong> \u2013 Cadre bas\u00e9 sur les risques pour les dispositifs m\u00e9dicaux (adaptable \u00e0 d'autres champs)<\/li>\n<li><strong><a href=\"https:\/\/www.asme.org\/codes-standards\/vvuq-standards\">vvuq 1<\/a><\/strong> \u2013 terminologie<\/li>\n<\/ul>\n<p>Ces normes fournissent des proc\u00e9dures structur\u00e9es pour :<\/p>\n<ul>\n<li>Planification des activit\u00e9s V&amp;v<\/li>\n<li>Quantification de l'incertitude num\u00e9rique<\/li>\n<li>\u00c9valuation de la cr\u00e9dibilit\u00e9 du mod\u00e8le sur la base des preuves<\/li>\n<li>Documentation requise<\/li>\n<\/ul>\n<h3>Hi\u00e9rarchie des cadres<\/h3>\n<p>Un cadre V&amp;v complet suit cette hi\u00e9rarchie :<\/p>\n<ol>\n<li><strong>V\u00e9rification de code<\/strong> \u2192 prouver que le code est correct<\/li>\n<li><strong>V\u00e9rification de la solution<\/strong> \u2192 Estimer l'erreur num\u00e9rique pour cette ex\u00e9cution<\/li>\n<li><strong>Validation<\/strong> \u2192 Comparer aux donn\u00e9es exp\u00e9rimentales\/r\u00e9f\u00e9rences<\/li>\n<li><strong>Quantification de l'incertitude<\/strong> \u2192 Propager l'incertitude d'entr\u00e9e aux sorties<\/li>\n<li><strong>Capacit\u00e9 pr\u00e9dictive<\/strong> \u2192 Instaurer la confiance pour l'utilisation de la d\u00e9cision<\/li>\n<\/ol>\n<h2>erreurs courantes et comment les \u00e9viter<\/h2>\n<p>Sur la base de la litt\u00e9rature et du consensus d'experts, voici les erreurs V&amp;V les plus fr\u00e9quentes&nbsp;:<\/p>\n<h3>erreurs de v\u00e9rification<\/h3>\n<ul>\n<li><strong>En supposant que le code est sans bogue<\/strong> - m\u00eame les codes largement utilis\u00e9s contiennent des bogues non d\u00e9tect\u00e9s. Les tests de r\u00e9gression r\u00e9guliers avec des cas MMS r\u00e9cup\u00e8rent de nouvelles erreurs.<\/li>\n<li><strong>Pr\u00e9cision de l'ordre de n\u00e9gligence<\/strong> \u2013 sans confirmer les taux de convergence th\u00e9orique, vous ne pouvez pas \u00eatre s\u00fbr des estimations d'erreur.<\/li>\n<li><strong>Utilisation d'une comparaison entre les codes crois\u00e9s comme seule v\u00e9rification<\/strong> - deux codes erron\u00e9s peuvent \u00eatre d'accord. Incluez toujours des solutions analytiques ou fabriqu\u00e9es.<\/li>\n<li><strong>V\u00e9rification ponctuelle<\/strong> \u2013 la v\u00e9rification doit \u00eatre continue et non pas une activit\u00e9 ponctuelle. Chaque changement de code n\u00e9cessite une nouvelle v\u00e9rification des modules concern\u00e9s.<\/li>\n<\/ul>\n<h3>erreurs de validation<\/h3>\n<ul>\n<li><strong>Calibration vs. Confusion de validation<\/strong> - Accorder les param\u00e8tres aux donn\u00e9es exp\u00e9rimentales, puis \"validant\" avec les m\u00eames donn\u00e9es gonfle artificiellement la confiance. S\u00e9parez les ensembles de donn\u00e9es d'\u00e9talonnage et de validation.<\/li>\n<li><strong>Ignorer l'incertitude exp\u00e9rimentale<\/strong> - Un \u00e9cart de 5&nbsp;% peut \u00eatre statistiquement insignifiant si l'erreur exp\u00e9rimentale est de 10&nbsp;%. Propagez toujours l'incertitude de mesure.<\/li>\n<li><strong>Extrapolation<\/strong> - Valider un mod\u00e8le dans un seul r\u00e9gime (par exemple, faible nombre de Reynolds), puis l'utiliser dans un r\u00e9gime tr\u00e8s diff\u00e9rent (haute RE, turbulence) sans validation suppl\u00e9mentaire.<\/li>\n<li><strong>Documentation m\u00e9diocre<\/strong> \u2013 sans enregistrement d\u00e9taill\u00e9 des probl\u00e8mes de validation, des r\u00e9sultats et des d\u00e9cisions, la cr\u00e9dibilit\u00e9 ne peut \u00eatre \u00e9valu\u00e9e par les autres (ou vous-m\u00eame des mois plus tard).<\/li>\n<\/ul>\n<h3>Erreurs g\u00e9n\u00e9rales de V&amp;V<\/h3>\n<ul>\n<li><strong>Entr\u00e9es mal caract\u00e9ris\u00e9es<\/strong>&nbsp;\u2013&nbsp;D\u00e9branchement, ordures out. L'incertitude quant aux propri\u00e9t\u00e9s des mat\u00e9riaux, aux conditions aux limites ou \u00e0 la g\u00e9om\u00e9trie doit \u00eatre quantifi\u00e9e et propag\u00e9e.<\/li>\n<li><strong>Aucun examen par les pairs ind\u00e9pendants<\/strong> \u2013 V&amp;v doit \u00eatre examin\u00e9 par des experts non impliqu\u00e9s dans le d\u00e9veloppement. Cela attrape le biais de confirmation et les oublis.<\/li>\n<li><strong>Manque de reproductibilit\u00e9<\/strong> \u2013 Tous les cas V&amp;v doivent \u00eatre automatis\u00e9s avec des fichiers d'entr\u00e9e et des scripts contr\u00f4l\u00e9s par la version afin que d'autres puissent reproduire exactement vos r\u00e9sultats.<\/li>\n<\/ul>\n<h2>Impl\u00e9mentation d'un flux de travail V&amp;A pratique pour les codes PDE<\/h2>\n<p>Voici un cadre \u00e9tape par \u00e9tape que vous pouvez mettre en \u0153uvre pour vos projets de simulation PDE&nbsp;:<\/p>\n<h3>Phase 1 : v\u00e9rification du code (avant toute s\u00e9rie de production)<\/h3>\n<ol>\n<li><strong>D\u00e9velopper la suite de tests MMS<\/strong> Couvrant&nbsp;: <ul> <li>Chaque type de PDE r\u00e9sout votre code (diffusion, advection, r\u00e9action, coupl\u00e9)<\/li> <li>Tous les types de conditions aux limites (dirichlet, neumann, mixte)<\/li> <li>G\u00e9om\u00e9tries complexes le cas \u00e9ch\u00e9ant<\/li> <\/ul><\/li>\n<li><strong>Tests de pr\u00e9cision des commandes<\/strong> Automatisez les probl\u00e8mes repr\u00e9sentatifs. Int\u00e9gration dans l'int\u00e9gration continue (CI) afin que chaque validation de code ex\u00e9cute ces tests.<\/li>\n<li><strong>V\u00e9rifier la convergence des solveurs it\u00e9ratifs<\/strong> vers des tol\u00e9rances strictes (r\u00e9duction r\u00e9siduelle \u2265&nbsp;10&nbsp;\u207b&nbsp;\u2076 pour les r\u00e9solutions lin\u00e9aires).<\/li>\n<li><strong>R\u00e9sultats de la v\u00e9rification des documents<\/strong> avec des trac\u00e9s de convergence, des tables d'erreur et des crit\u00e8res de r\u00e9ussite\/\u00e9chec.<\/li>\n<\/ol>\n<h3>Phase 2 : v\u00e9rification de la solution (pour chaque cas de simulation)<\/h3>\n<ol>\n<li><strong>effectuer une \u00e9tude de convergence de maillage<\/strong> avec au moins 3 niveaux de maillage (gros, moyen, fin)<\/li>\n<li><strong>Estimation des erreurs de discr\u00e9tisation de calcul<\/strong><\/li>\n<li><strong>V\u00e9rifier la convergence du solveur<\/strong> \u2013 Confirmer les r\u00e9sidus et les modifications de la solution r\u00e9pondent aux tol\u00e9rances<\/li>\n<li><strong>M\u00e9tes de mesures de qualit\u00e9 de maillage d'enregistrement<\/strong> (orthogonalit\u00e9, rapports d'aspect) - Une qualit\u00e9 de maillage m\u00e9diocre peut corrompre, m\u00eame avec des maillages fins<\/li>\n<li><strong>Rapport d'incertitude num\u00e9rique estim\u00e9e<\/strong> en quantit\u00e9s cl\u00e9s d'int\u00e9r\u00eat<\/li>\n<\/ol>\n<h3>Phase 3 : Validation (cr\u00e9dibilit\u00e9 du renforcement)<\/h3>\n<ol>\n<li><strong>S\u00e9lectionnez les probl\u00e8mes de benchmark appropri\u00e9s<\/strong> correspondant \u00e0 votre domaine d'application<\/li>\n<li><strong>Ex\u00e9cutez des cas de validation<\/strong> avec les m\u00eames param\u00e8tres de r\u00e9solution de maillage et de solveur que les ex\u00e9cutions de production<\/li>\n<li><strong>Erreur de validation de Quantifier<\/strong> par rapport aux donn\u00e9es de r\u00e9f\u00e9rence, tenant compte de l'incertitude exp\u00e9rimentale\/de r\u00e9f\u00e9rence<\/li>\n<li><strong>\u00c9valuer l'erreur de formulaire de mod\u00e8le<\/strong> \u2013 Si les divergences d\u00e9passent l'incertitude num\u00e9rique, identifiez la physique manquante ou les hypoth\u00e8ses incorrectes<\/li>\n<li><strong>Preuve de validation de documents<\/strong> avec des graphiques de comparaison, des mesures d'erreur et des conclusions sur l'ad\u00e9quation de l'utilisation pr\u00e9vue<\/li>\n<\/ol>\n<h3>Phase 4 : Quantification de l'incertitude (avanc\u00e9)<\/h3>\n<p>Pour les d\u00e9cisions critiques, propager les incertitudes d'entr\u00e9e (propri\u00e9t\u00e9s des mat\u00e9riaux, conditions aux limites) jusqu'aux sorties \u00e0 l'aide de&nbsp;:<\/p>\n<ul>\n<li><strong>M\u00e9thodes d'\u00e9chantillonnage<\/strong> (Monte Carlo, Latin Hypercube)<\/li>\n<li><strong>Extensions de chaos polynomiales<\/strong> pour une propagation efficace<\/li>\n<li><strong>Analyse de sensibilit\u00e9<\/strong> pour identifier les sources d'incertitude dominantes<\/li>\n<\/ul>\n<p>Le cadre complet <a href=\"https:\/\/www.aoe.vt.edu\/content\/dam\/aoe_vt_edu\/people\/faculty\/cjroy\/Publications-Articles\/VVUQ-CMAME.Final-Accepted-FIGURES.pdf\">VVUQ de Roy et al.<\/a> int\u00e8gre V&amp;v avec la quantification de l'incertitude.<\/p>\n<h2>Consid\u00e9rations particuli\u00e8res pour les solveurs PDE \u00e0 volume fini<\/h2>\n<p>Les codes de volume finis FIPY et similaires ont des consid\u00e9rations V&amp;v sp\u00e9cifiques&nbsp;:<\/p>\n<h3>V\u00e9rification de la discr\u00e9tisation<\/h3>\n<ul>\n<li>V\u00e9rifier les calculs de <strong>Face gradient<\/strong> avec des solutions fabriqu\u00e9es qui produisent des termes sources non nuls<\/li>\n<li>Test <strong>Types de maillage diff\u00e9rents<\/strong> (structur\u00e9s ou non structur\u00e9s) s\u00e9par\u00e9ment, car les constantes d'erreur diff\u00e8rent<\/li>\n<li>Valider <strong>Conservation du flux<\/strong> en calculant les soldes int\u00e9grales \u2013 les m\u00e9thodes de volume fini doivent conserver les quantit\u00e9s exactement (\u00e0 la tol\u00e9rance du solveur)<\/li>\n<\/ul>\n<h3>V\u00e9rifications sp\u00e9cifiques \u00e0 Fipy<\/h3>\n<p>Si vous utilisez Fipy, assurez-vous d'avoir v\u00e9rifi\u00e9&nbsp;:<\/p>\n<ul>\n<li>Impl\u00e9mentation correcte des types de conditions aux limites (valeur fixe, gradient, etc.)<\/li>\n<li>Traitement des coefficients de diffusion anisotropes ou tensorielles<\/li>\n<li>Sch\u00e9mas de pas de temps pour les probl\u00e8mes transitoires (L'adh\u00e9sion \u00e0 la condition de LCF)<\/li>\n<li>Interactions physiques coupl\u00e9es (p. ex., \u00e9lectrochimie + diffusion)<\/li>\n<\/ul>\n<p>Reportez-vous \u00e0 la <a href=\"https:\/\/pages.nist.gov\/fipy\/en\/benchmark_patched_2c7ac213b\/index.html\">documentation de r\u00e9f\u00e9rence FIPY<\/a> pour les probl\u00e8mes de v\u00e9rification int\u00e9gr\u00e9s.<\/p>\n<h2>\u00c9tude de cas : v\u00e9rification d'une simulation en champ de phase<\/h2>\n<p>Parcourons un exemple concret. Supposons que vous impl\u00e9mentez un mod\u00e8le de champ de phase Cahn-Hilliard dans Fipy&nbsp;:<\/p>\n<ol>\n<li><strong>V\u00e9rification de code avec MMS<\/strong>&nbsp;: <ul> <li>Choisir une solution fabriqu\u00e9e qui satisfait l'\u00e9quation de Cahn-Hilliard avec un terme de for\u00e7age<\/li> <li>G\u00e9n\u00e9rer une solution exacte et un terme source symboliquement<\/li> <li>Ex\u00e9cuter sur un maillage 2D et V\u00e9rifiez que l'erreur L2 converge au deuxi\u00e8me ordre<\/li> <\/ul><\/li>\n<li><strong>V\u00e9rification de la solution<\/strong>: <ul> <li>Ex\u00e9cuter le raffinement du maillage (p. ex., 50\u00d750, 100\u00d7100, 200\u00d7200)<\/li> <li>Largeur de l'interface de calcul et \u00e9nergie libre totale sur chaque maillage<\/li> <li>Utiliser l'extrapolation de Richardson pour estimer l'erreur de discr\u00e9tisation dans \u00c9nergie<\/li> <\/ul><\/li>\n<li><strong>Validation<\/strong>&nbsp;: <ul> <li>Simuler la d\u00e9composition spinodale et comparer l'\u00e9chelle de longueur caract\u00e9ristique avec la pr\u00e9diction analytique ou les r\u00e9sultats publi\u00e9s<\/li> <li>Valider la cin\u00e9tique de grossissement (L \u221d T^{1\/3}) Th\u00e9orie<\/li> <\/ul><\/li>\n<li><strong>Documentation<\/strong>&nbsp;: <ul> <li>Enregistrer tous les fichiers d'entr\u00e9e, scripts et r\u00e9sultats dans un r\u00e9f\u00e9rentiel contr\u00f4l\u00e9 par la version<\/li> <li>G\u00e9n\u00e9rer un rapport de v\u00e9rification avec des trac\u00e9s et des tables<\/li> <\/ul><\/li>\n<\/ol>\n<h2>Guide de d\u00e9cision&nbsp;: quand utiliser la m\u00e9thode V&amp;v<\/h2>\n<table>\n<thead>\n<tr>\n<th>Situation<\/th>\n<th>Approche recommand\u00e9e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Nouveau code PDE ou r\u00e9vision majeure<\/td>\n<td>Suite MMS compl\u00e8te + test de pr\u00e9cision des commandes<\/td>\n<\/tr>\n<tr>\n<td>Correction de bugs mineure<\/td>\n<td>Tests MMS cibl\u00e9s pour les modules concern\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>Simulation de production<\/td>\n<td>V\u00e9rification de la solution (\u00e9tude de maillage) Obligatoire<\/td>\n<\/tr>\n<tr>\n<td>Phase de d\u00e9veloppement de mod\u00e8les<\/td>\n<td>Validation contre 3+ probl\u00e8mes de r\u00e9f\u00e9rence<\/td>\n<\/tr>\n<tr>\n<td>Utilisation r\u00e9glementaire ou \u00e0 enjeux \u00e9lev\u00e9s<\/td>\n<td>Cadre ASME V&amp;v 40 complet avec \u00e9valuation ind\u00e9pendante par les pairs<\/td>\n<\/tr>\n<tr>\n<td>Recherche de code sans donn\u00e9es exp\u00e9rimentales<\/td>\n<td>Limitations de documents&nbsp;; Utiliser plusieurs m\u00e9thodes de v\u00e9rification ind\u00e9pendantes<\/td>\n<\/tr>\n<tr>\n<td>Optimisation des performances<\/td>\n<td>Re-v\u00e9rifier apr\u00e8s optimisation pour garantir l'absence de r\u00e9gression correcte<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Tr\u00e8s bas<\/strong>&nbsp;: la rigueur de V&amp;v doit correspondre aux cons\u00e9quences de l'\u00e9chec. Le code de recherche acad\u00e9mique a toujours besoin d'une v\u00e9rification de base, mais la conformit\u00e9 V&amp;v 40 compl\u00e8te peut \u00eatre exag\u00e9r\u00e9e. Les applications industrielles ou critiques pour la s\u00e9curit\u00e9 exigent un V&amp;v.<\/p>\n<h2>Guides connexes<\/h2>\n<p>Pour les sujets connexes dans les flux de travail de simulation scientifique&nbsp;:<\/p>\n<ul>\n<li><a href=\"\/from-equations-to-simulations-the-modeling-pipeline\/\">des \u00e9quations aux simulations&nbsp;: le pipeline de mod\u00e9lisation<\/a> \u2013 processus de d\u00e9veloppement de simulation de bout en bout<\/li>\n<li><a href=\"\/using-fipy-for-phase-field-modeling\/\">Utilisation de FIPY pour la mod\u00e9lisation en champ de phase<\/a> \u2013 Guide de mise en \u0153uvre pratique de la PDE<\/li>\n<li><a href=\"\/introduction-to-materials-modeling-for-beginners\/\">Introduction \u00e0 la mod\u00e9lisation des mat\u00e9riaux pour les d\u00e9butants<\/a> \u2013 Concepts fondamentaux pour les nouveaux arrivants<\/li>\n<\/ul>\n<h2>R\u00e9sum\u00e9 et \u00e9tapes suivantes<\/h2>\n<p>La validation et la v\u00e9rification ne sont pas des modules compl\u00e9mentaires facultatifs ; Ils font partie int\u00e9grante des simulations PDE cr\u00e9dibles. Le cadre pratique d\u00e9crit ici fournit une feuille de route :<\/p>\n<ol>\n<li><strong>Commencez par la v\u00e9rification du code<\/strong> en utilisant la m\u00e9thode des solutions fabriqu\u00e9es pour \u00e9tablir l'exactitude de la base<\/li>\n<li><strong>Quantifier les erreurs num\u00e9riques<\/strong> gr\u00e2ce \u00e0 la v\u00e9rification de la solution pour chaque cycle de production<\/li>\n<li><strong>Cr\u00e9er des preuves de validation<\/strong> avec des probl\u00e8mes de r\u00e9f\u00e9rence et des donn\u00e9es ind\u00e9pendantes<\/li>\n<li><strong>Adoptez les normes<\/strong> comme ASME V&amp;v 10\/20 pour structurer votre processus<\/li>\n<li><strong>\u00c9vitez les erreurs courantes<\/strong>\u2014en particulier la confusion de v\u00e9rification\/validation et d'\u00e9talonnage circulaire<\/li>\n<li><strong>Documentez tout<\/strong> pour la reproductibilit\u00e9 et l'examen par les pairs<\/li>\n<\/ol>\n<p>La mise en \u0153uvre m\u00eame d'un programme V&amp;v de base (MMS Tests + Mesh Convergence) augmente consid\u00e9rablement la confiance dans les r\u00e9sultats de votre simulation et permet de gagner du temps \u00e0 attraper des erreurs plus t\u00f4t.<\/p>\n<p><strong>Prochaines \u00e9tapes<\/strong>&nbsp;: auditez votre flux de travail de simulation actuel. Sautez-vous enti\u00e8rement la v\u00e9rification&nbsp;? Ex\u00e9cuter uniquement des calculs \u00e0 maillage unique&nbsp;? Ajoutez au moins un test de v\u00e9rification (MMS ou pr\u00e9cision de commande) \u00e0 votre prochain projet et mesurez la diff\u00e9rence de confiance et de d\u00e9tection de bugs.<\/p>\n<h2>Besoin d'aide pour mettre en \u0153uvre V&amp;v pour votre projet de simulation&nbsp;?<\/h2>\n<p>L'\u00e9tablissement d'un processus V&amp; V robuste n\u00e9cessite une expertise et un investissement initial. Si vous avez du mal avec :<\/p>\n<ul>\n<li>Configurer des tests de solutions fabriqu\u00e9es pour votre code PDE<\/li>\n<li>Conception d'\u00e9tudes de convergence de maillage pour des g\u00e9om\u00e9tries complexes<\/li>\n<li>Interpr\u00e9tation des r\u00e9sultats de validation et quantification de l'incertitude<\/li>\n<li>Pr\u00e9paration de la documentation V&amp;v pour publication ou soumission r\u00e9glementaire<\/li>\n<\/ul>\n<p>Notre \u00e9quipe d'experts en sciences informatiques peut vous aider. Nous nous sp\u00e9cialisons dans la cr\u00e9ation de cadres de v\u00e9rification pour les codes Python scientifiques, y compris les simulations bas\u00e9es sur FIPY. <a href=\"https:\/\/matforge.org\/category\/issue-tracking-tickets-technical-requests\/\">Contactez via notre syst\u00e8me de suivi des probl\u00e8mes<\/a> pour discuter des besoins de cr\u00e9dibilit\u00e9 de votre projet.<\/p>\n<hr>\n<p><strong>R\u00e9f\u00e9rences et lectures suppl\u00e9mentaires<\/strong><\/p>\n<ul>\n<li>Roy, C.J. (2005). \"Examen des proc\u00e9dures de v\u00e9rification du code et de la solution pour la simulation informatique.\" <em>Journal de physique informatique<\/em>.<\/li>\n<li>Oberkampf, W.L., &amp; Roy, C.J. (2010). <em>V\u00e9rification et validation dans le calcul scientifique<\/em>. Cambridge University Press.<\/li>\n<li>Guide de l'AIAA pour la v\u00e9rification et la validation des simulations de dynamique des fluides informatiques (1998).<\/li>\n<li>Normes V&amp;v ASME : <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>, <a href=\"https:\/\/www.asme.org\/codes-standards\/vvuq-standards\">vvuq 1<\/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\"> 12<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>La validation et la v\u00e9rification (v&amp;v) sont des processus essentiels d&rsquo;assurance qualit\u00e9 pour les simulations PDE. La v\u00e9rification garantit que votre code r\u00e9sout correctement les \u00e9quations (r\u00e9solution des \u00e9quations \u00e0 droite). La validation confirme que votre mod\u00e8le repr\u00e9sente avec pr\u00e9cision la physique du monde r\u00e9el (r\u00e9solution des bonnes \u00e9quations). Un framework V&amp;V robuste combine la [&hellip;]<\/p>\n","protected":false,"raw":""},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"fr_FR","_original_post":"https:\/\/matforge.org\/?p=182","iawp_total_views":1,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1241","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>Validation et v\u00e9rification des simulations PDE : un cadre pratique - matforge.org<\/title>\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\/validation-and-verification-for-pde-simulations-practical-framework\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Validation et v\u00e9rification des simulations PDE : un cadre pratique - matforge.org\" \/>\n<meta property=\"og:description\" content=\"Reading Time:  12 minutesLa validation et la v\u00e9rification (v&amp;v) sont des processus essentiels d&rsquo;assurance qualit\u00e9 pour les simulations PDE. La v\u00e9rification garantit que votre code r\u00e9sout correctement les \u00e9quations (r\u00e9solution des \u00e9quations \u00e0 droite). La validation confirme que votre mod\u00e8le repr\u00e9sente avec pr\u00e9cision la physique du monde r\u00e9el (r\u00e9solution des bonnes \u00e9quations). Un framework V&amp;V robuste combine la [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-21T14:28:35+00:00\" \/>\n<meta name=\"author\" content=\"Tomas Delgado\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tomas Delgado\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/validation-and-verification-for-pde-simulations-practical-framework\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/validation-and-verification-for-pde-simulations-practical-framework\\\/\"},\"author\":{\"name\":\"Tomas Delgado\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/518cdd1f18dd092f4ed738d68e540061\"},\"headline\":\"Validation et v\u00e9rification des simulations PDE : un cadre pratique\",\"datePublished\":\"2026-08-21T14:28:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/validation-and-verification-for-pde-simulations-practical-framework\\\/\"},\"wordCount\":4126,\"commentCount\":0,\"articleSection\":[\"Simulation &amp; Projets de mod\u00e9lisation\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/validation-and-verification-for-pde-simulations-practical-framework\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/validation-and-verification-for-pde-simulations-practical-framework\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/fr\\\/validation-and-verification-for-pde-simulations-practical-framework\\\/\",\"name\":\"Validation et v\u00e9rification des simulations PDE : un cadre pratique - matforge.org\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-08-21T14:28:35+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/518cdd1f18dd092f4ed738d68e540061\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/validation-and-verification-for-pde-simulations-practical-framework\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/validation-and-verification-for-pde-simulations-practical-framework\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/validation-and-verification-for-pde-simulations-practical-framework\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Validation et v\u00e9rification des simulations PDE : un cadre 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\\\/518cdd1f18dd092f4ed738d68e540061\",\"name\":\"Tomas Delgado\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/202f82c9f4f4534a3ba77bf8a8fbef09cf8489f52bdf819082f21390da4e7c9a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/202f82c9f4f4534a3ba77bf8a8fbef09cf8489f52bdf819082f21390da4e7c9a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/202f82c9f4f4534a3ba77bf8a8fbef09cf8489f52bdf819082f21390da4e7c9a?s=96&d=mm&r=g\",\"caption\":\"Tomas Delgado\"},\"sameAs\":[\"http:\\\/\\\/matforge.org\"],\"url\":\"https:\\\/\\\/matforge.org\\\/author\\\/tomas-delgado\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Validation et v\u00e9rification des simulations PDE : un cadre pratique - matforge.org","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\/validation-and-verification-for-pde-simulations-practical-framework\/","og_locale":"fr_FR","og_type":"article","og_title":"Validation et v\u00e9rification des simulations PDE : un cadre pratique - matforge.org","og_description":"Reading Time:  12 minutesLa validation et la v\u00e9rification (v&amp;v) sont des processus essentiels d&rsquo;assurance qualit\u00e9 pour les simulations PDE. La v\u00e9rification garantit que votre code r\u00e9sout correctement les \u00e9quations (r\u00e9solution des \u00e9quations \u00e0 droite). La validation confirme que votre mod\u00e8le repr\u00e9sente avec pr\u00e9cision la physique du monde r\u00e9el (r\u00e9solution des bonnes \u00e9quations). Un framework V&amp;V robuste combine la [&hellip;]","og_url":"https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/","og_site_name":"matforge.org","article_published_time":"2026-08-21T14:28:35+00:00","author":"Tomas Delgado","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Tomas Delgado","Dur\u00e9e de lecture estim\u00e9e":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/"},"author":{"name":"Tomas Delgado","@id":"https:\/\/matforge.org\/#\/schema\/person\/518cdd1f18dd092f4ed738d68e540061"},"headline":"Validation et v\u00e9rification des simulations PDE : un cadre pratique","datePublished":"2026-08-21T14:28:35+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/"},"wordCount":4126,"commentCount":0,"articleSection":["Simulation &amp; Projets de mod\u00e9lisation"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/","url":"https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/","name":"Validation et v\u00e9rification des simulations PDE : un cadre pratique - matforge.org","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-08-21T14:28:35+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/518cdd1f18dd092f4ed738d68e540061"},"breadcrumb":{"@id":"https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/fr\/validation-and-verification-for-pde-simulations-practical-framework\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/"},{"@type":"ListItem","position":2,"name":"Validation et v\u00e9rification des simulations PDE : un cadre 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\/518cdd1f18dd092f4ed738d68e540061","name":"Tomas Delgado","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/202f82c9f4f4534a3ba77bf8a8fbef09cf8489f52bdf819082f21390da4e7c9a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/202f82c9f4f4534a3ba77bf8a8fbef09cf8489f52bdf819082f21390da4e7c9a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/202f82c9f4f4534a3ba77bf8a8fbef09cf8489f52bdf819082f21390da4e7c9a?s=96&d=mm&r=g","caption":"Tomas Delgado"},"sameAs":["http:\/\/matforge.org"],"url":"https:\/\/matforge.org\/author\/tomas-delgado\/"}]}},"_links":{"self":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1241","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\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/comments?post=1241"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1241\/revisions"}],"predecessor-version":[{"id":1349,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1241\/revisions\/1349"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=1241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=1241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=1241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}