{"id":1246,"date":"2026-08-21T14:28:32","date_gmt":"2026-08-21T14:28:32","guid":{"rendered":"https:\/\/matforge.org\/?p=1246","raw":"https:\/\/matforge.org\/?p=1246"},"modified":"2026-08-21T14:28:32","modified_gmt":"2026-08-21T14:28:32","slug":"teaching-computational-physics-graduate-students-learning-paths-2","status":"publish","type":"post","link":"https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/","title":{"rendered":"Enseignement de la physique computationnelle\u00a0: parcours d&rsquo;apprentissage structur\u00e9s pour les \u00e9tudiants dipl\u00f4m\u00e9s","raw":"Enseignement de la physique computationnelle\u00a0: parcours d'apprentissage structur\u00e9s pour les \u00e9tudiants dipl\u00f4m\u00e9s"},"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\"> 9<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>La physique informatique n&rsquo;est plus une comp\u00e9tence de niche. Il s&rsquo;agit d&rsquo;une comp\u00e9tence de base pour les chercheurs dipl\u00f4m\u00e9s. Que vous simulez des fusions de trous noirs ou que vous mod\u00e9lisiez les transitions de phase dans les alliages, la possibilit\u00e9 de traduire des \u00e9quations physiques en code de travail s\u00e9pare les chercheurs productifs de ceux qui ont du mal \u00e0 transformer la th\u00e9orie en r\u00e9sultats.<\/p>\n<p>Ce guide trace un parcours d&rsquo;apprentissage structur\u00e9 pour les \u00e9tudiants dipl\u00f4m\u00e9s. Il montre comment passer des fondamentaux de la programmation aux m\u00e9thodes num\u00e9riques avanc\u00e9es et \u00e0 la recherche r\u00e9elle. Le parcours est organis\u00e9 en trois niveaux progressifs : comp\u00e9tences fondamentales, m\u00e9thodes de base et techniques avanc\u00e9es.<\/p>\n<p>Le cadre est bas\u00e9 sur des approches curriculaires document\u00e9es utilis\u00e9es dans les universit\u00e9s am\u00e9ricaines et europ\u00e9ennes, combin\u00e9es aux meilleures pratiques pour le calcul scientifique que chaque chercheur devrait adopter, quelle que soit sa sp\u00e9cialisation.<\/p>\n<h2>Points \u00e0 retenir cl\u00e9s<\/h2>\n<ul>\n<li>L&rsquo;apprentissage des \u00e9chafaudages fonctionne. La progression structur\u00e9e de simulations simples \u00e0 complexes r\u00e9duit la frustration et renforce la comp\u00e9tence r\u00e9elle.<\/li>\n<li>L&rsquo;enseignement de la physique computationnelle peut \u00eatre divis\u00e9 en trois niveaux&nbsp;: comp\u00e9tences fondamentales, m\u00e9thodes de base et techniques de recherche avanc\u00e9e.<\/li>\n<li>L&rsquo;\u00e9valuation bas\u00e9e sur des projets est plus forte que les examens, car les soumissions de portefeuilles d\u00e9montrent une capacit\u00e9 r\u00e9elle.<\/li>\n<li>L&rsquo;alphab\u00e9tisation informatique est employable. Les comp\u00e9tences en programmation, le contr\u00f4le des versions et les pratiques de reproductibilit\u00e9 sont transf\u00e9r\u00e9es directement aux r\u00f4les de l&rsquo;industrie.<\/li>\n<li>Les \u00e9l\u00e8ves doivent commencer petit et it\u00e9rer. Commencez par les ordinateurs portables Jupyter et Python, puis passez aux langages compil\u00e9s uniquement lorsque les performances le demandent.<\/li>\n<\/ul>\n<h2>A quoi sert r\u00e9ellement la physique informatique ?<\/h2>\n<p>La physique computationnelle est le troisi\u00e8me pilier de la d\u00e9couverte scientifique aux c\u00f4t\u00e9s de la th\u00e9orie et de l&rsquo;exp\u00e9rience. La th\u00e9orie donne des \u00e9quations. Les exp\u00e9riences montrent ce qui se passe dans le monde physique. Le calcul permet aux chercheurs d&rsquo;explorer des sc\u00e9narios et de tester des th\u00e9ories \u00e0 des \u00e9chelles et \u00e0 des vitesses que la th\u00e9orie ou l&rsquo;exp\u00e9rience seule ne peut pas atteindre.<\/p>\n<p>Le domaine a transform\u00e9 les \u00e9tudes de premier cycle et des cycles sup\u00e9rieurs, car il fait deux choses \u00e0 la fois. Il enseigne des concepts physiques gr\u00e2ce \u00e0 une mise en \u0153uvre pratique et enseigne la programmation \u00e0 travers des probl\u00e8mes de physique concrets qui ont de vraies r\u00e9ponses.<\/p>\n<p>Les \u00e9l\u00e8ves n&rsquo;apprennent pas la syntaxe Python isol\u00e9ment. Ils apprennent \u00e0 simuler des orbites plan\u00e9taires, \u00e0 mod\u00e9liser la diffusion et \u00e0 r\u00e9soudre des \u00e9quations diff\u00e9rentielles tout en apprenant le langage et les outils.<\/p>\n<blockquote>\n<p>Le saviez-vous ? Le partenariat pour l&rsquo;int\u00e9gration du calcul dans la physique de premier cycle a document\u00e9 des centaines de modules r\u00e9utilisables de physique des calculs utilis\u00e9s dans de nombreuses universit\u00e9s. Ces modules vont de simples simulations de mouvement \u00e0 l&rsquo;astrophysique relativiste et prennent en charge de nombreux programmes d&rsquo;\u00e9tudes structur\u00e9s.<\/p>\n<\/blockquote>\n<h2>Le parcours d&rsquo;apprentissage \u00e0 trois niveaux<\/h2>\n<h3>Niveau&nbsp;1&nbsp;: Comp\u00e9tences fondamentales<\/h3>\n<p>Objectif : Renforcer la confiance dans la programmation et la simulation physique de base.<\/p>\n<p>Ce niveau cible les \u00e9tudiants avec peu ou pas d&rsquo;exp\u00e9rience en programmation. Il peut soutenir les \u00e9tudiants de premi\u00e8re ann\u00e9e, les \u00e9tudiants de deuxi\u00e8me ann\u00e9e ou les premiers dipl\u00f4m\u00e9s qui doivent combler le foss\u00e9 entre les cours de physique et le calcul r\u00e9el.<\/p>\n<h4>Que apprendre<\/h4>\n<ol>\n<li>\n<p>Principes fondamentaux de la programmation en Python.<\/p>\n<ul>\n<li>Variables, flux de contr\u00f4le, fonctions et structures de donn\u00e9es de base.<\/li>\n<li>Les ordinateurs portables Jupyter en tant qu&rsquo;environnement d&rsquo;apprentissage principal.<\/li>\n<li>Op\u00e9rations Numpy de base, y compris les tableaux, la diffusion et la vectorisation.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Simulations physiques simples.<\/p>\n<ul>\n<li>Mouvement \u00e0 vitesse constante unidimensionnelle.<\/li>\n<li>Simulations de balle rebondissante avec vpython.<\/li>\n<li>Mouvement de projectile avec gravit\u00e9 et r\u00e9sistance \u00e0 l&rsquo;air.<\/li>\n<li>Int\u00e9gration num\u00e9rique \u00e0 l&rsquo;aide des m\u00e9thodes d&rsquo;Euler et d&rsquo;Euler-Cromer.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>L&rsquo;\u00e9cosyst\u00e8me Python scientifique.<\/p>\n<ul>\n<li>matplotlib pour la visualisation.<\/li>\n<li>E\/S de fichiers de base et gestion des donn\u00e9es.<\/li>\n<li>Bases du contr\u00f4le de version avec Git et GitHub.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>Outils recommand\u00e9s<\/h4>\n<ul>\n<li>Python comme langue principale parce qu&rsquo;il est accessible, largement utilis\u00e9 dans la recherche et suffisant pour de nombreux probl\u00e8mes de niveau des cycles sup\u00e9rieurs.<\/li>\n<li>Jupyter Notebooks comme environnement d&rsquo;apprentissage parce qu&rsquo;ils sont interactifs, lisibles et faciles \u00e0 partager.<\/li>\n<li>vPython pour la visualisation 3D car cela rend les simulations visuellement attrayantes.<\/li>\n<li>Git et GitHub pour le contr\u00f4le des versions, car ils sont essentiels pour les flux de travail de recherche.<\/li>\n<\/ul>\n<h4>Premiers projets<\/h4>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Projet<\/th>\n<th>concept de physique<\/th>\n<th>concept de programmation<\/th>\n<th>Difficult\u00e9<\/th>\n<\/tr>\n<tr>\n<td>Balle rebondissante en 1D<\/td>\n<td>Vitesse constante et collisions<\/td>\n<td>Boucles, conditions, fonctions de base<\/td>\n<td>D\u00e9butant<\/td>\n<\/tr>\n<tr>\n<td>Projectile Mouvement<\/td>\n<td>Gravit\u00e9 et cin\u00e9matique<\/td>\n<td>Fonctions et balayages de param\u00e8tres<\/td>\n<td>D\u00e9butant-Interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td>Acc\u00e9l\u00e9ration variable<\/td>\n<td>Gravit\u00e9 variant avec la hauteur<\/td>\n<td>Tableaux et op\u00e9rations vectorielles<\/td>\n<td>D\u00e9butant-Interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td>Orbites plan\u00e9taires<\/td>\n<td>La loi de la gravit\u00e9 de Newton<\/td>\n<td>Int\u00e9gration et stabilit\u00e9 d&rsquo;Euler-Cromer<\/td>\n<td>Interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td>Syst\u00e8me Terre-Lune<\/td>\n<td>Dynamique gravitationnelle \u00e0 n corps<\/td>\n<td>Simulation multi-corps et centre de masse<\/td>\n<td>Interm\u00e9diaire<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>Manuels scolaires recommand\u00e9s<\/h4>\n<ul>\n<li>Physique computationnelle&nbsp;: simulation des syst\u00e8mes classiques et quantiques par Philipp O.&nbsp;J. Scherer. Il s&rsquo;agit d&rsquo;une r\u00e9f\u00e9rence rigoureuse avec des exemples de C++.<\/li>\n<li>M\u00e9thodes num\u00e9riques en physique avec Python d&rsquo;Alex Gezerlis. Il s&rsquo;agit d&rsquo;une introduction accessible ax\u00e9e sur Python.<\/li>\n<li>Un guide d&rsquo;\u00e9tudiant sur Python pour la mod\u00e9lisation physique par Jesse M. Kinder et Philip Nelson. Il s&rsquo;agit d&rsquo;un pont solide entre les travaux d&rsquo;introduction et de travail interm\u00e9diaire.<\/li>\n<\/ul>\n<h4>Ce que les \u00e9l\u00e8ves devraient pouvoir faire<\/h4>\n<p>\u00c0 la fin du niveau 1, les \u00e9tudiants devraient pouvoir :<\/p>\n<ul>\n<li>\u00c9crivez un script qui simule un syst\u00e8me physique \u00e0 l&rsquo;aide de l&rsquo;int\u00e9gration num\u00e9rique.<\/li>\n<li>Visualisez les r\u00e9sultats avec matplotlib ou vpython.<\/li>\n<li>Utilisez Git pour suivre les changements et collaborer avec des pairs.<\/li>\n<li>Expliquez la diff\u00e9rence entre les m\u00e9thodes d&rsquo;Euler et d&rsquo;Euler-Cromer.<\/li>\n<li>Reconna\u00eetre les probl\u00e8mes de stabilit\u00e9 num\u00e9rique de base.<\/li>\n<\/ul>\n<h3>Niveau&nbsp;2&nbsp;: M\u00e9thodes num\u00e9riques de base<\/h3>\n<p>Objectif : traduire des \u00e9quations physiques en algorithmes num\u00e9riques pr\u00e9cis et v\u00e9rifi\u00e9s.<\/p>\n<p>Ce niveau cible les \u00e9tudiants qui ont d\u00e9j\u00e0 des comp\u00e9tences de base en programmation mais qui ont besoin de la profondeur math\u00e9matique et algorithmique requise pour la recherche de niveau sup\u00e9rieur.<\/p>\n<h4>Que apprendre<\/h4>\n<ol>\n<li>\n<p>M\u00e9thodes num\u00e9riques avanc\u00e9es.<\/p>\n<ul>\n<li>Solveurs d&rsquo;\u00e9quations diff\u00e9rentielles ordinaires tels que Runge-Kutta, Verlet et LeapFrog.<\/li>\n<li>Solveurs d&rsquo;\u00e9quations aux diff\u00e9rences partielles, y compris les diff\u00e9rences finies et les m\u00e9thodes de collocation.<\/li>\n<li>Probl\u00e8mes de valeur aux limites utilisant des m\u00e9thodes de prise de vue et de relaxation<\/li>\n<li>Probl\u00e8mes de valeurs propres, alg\u00e8bre lin\u00e9aire num\u00e9rique et m\u00e9thodes spectrales.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>M\u00e9thodes stochastiques.<\/p>\n<ul>\n<li>M\u00e9thodes de Monte Carlo pour la physique statistique.<\/li>\n<li>Simulations de dynamique mol\u00e9culaire.<\/li>\n<li>Promenades al\u00e9atoires et mouvement brownien.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Analyse et v\u00e9rification des donn\u00e9es.<\/p>\n<ul>\n<li>Comparaison des r\u00e9sultats num\u00e9riques avec des solutions analytiques.<\/li>\n<li>Analyse de convergence et estimation des erreurs.<\/li>\n<li>Profilage des performances avec des outils tels que <code>cProfile<\/code> et <code>line_profiler<\/code>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>Outils recommand\u00e9s<\/h4>\n<ul>\n<li>Scipy pour les m\u00e9thodes num\u00e9riques, les solveurs, l&rsquo;optimisation et l&rsquo;alg\u00e8bre lin\u00e9aire.<\/li>\n<li>NumPy pour les op\u00e9rations de tableau et les simulations de base.<\/li>\n<li>Sympique pour le calcul symbolique et les solutions de r\u00e9f\u00e9rence analytiques.<\/li>\n<li>Cadres de test Python tels que PyTest pour v\u00e9rifier l&rsquo;exactitude.<\/li>\n<\/ul>\n<h4>Projets<\/h4>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Projet<\/th>\n<th>M\u00e9thode<\/th>\n<th>Application physique<\/th>\n<th>V\u00e9rification<\/th>\n<\/tr>\n<tr>\n<td>Oscillateur harmonique<\/td>\n<td>Runge-Kutta 4e ordre<\/td>\n<td>M\u00e9canique classique<\/td>\n<td>conservation de l&rsquo;\u00e9nergie<\/td>\n<\/tr>\n<tr>\n<td>1D \u00e9quation de diffusion<\/td>\n<td>Diff\u00e9rence finie, explicite et implicite<\/td>\n<td>Transfert de chaleur<\/td>\n<td>Solution gaussienne analytique<\/td>\n<\/tr>\n<tr>\n<td>diffusion de Coulomb<\/td>\n<td>Monte-Carlo<\/td>\n<td>\u00c9lectrostatique<\/td>\n<td>La loi de Coulomb sur de grandes distances<\/td>\n<\/tr>\n<tr>\n<td>Particule dans une bo\u00eete<\/td>\n<td>diff\u00e9rence finie<\/td>\n<td>M\u00e9canique quantique<\/td>\n<td>Les valeurs propres d&rsquo;\u00e9nergie correspondent aux valeurs analytiques<\/td>\n<\/tr>\n<tr>\n<td>Collisions \u00e9lastiques 2D<\/td>\n<td>Dynamique mol\u00e9culaire<\/td>\n<td>M\u00e9canique statistique<\/td>\n<td>Mesures de temp\u00e9rature et de pression<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>Meilleures pratiques pour le calcul scientifique<\/h4>\n<p>\u00c0 ce niveau, les \u00e9tudiants doivent adopter des habitudes de calcul scientifiques pratiques :<\/p>\n<ul>\n<li>Les versions contr\u00f4lent tout. Suivez le code, les scripts de traitement des donn\u00e9es et les scripts de g\u00e9n\u00e9ration de figures.<\/li>\n<li>\u00c9crire du code modulaire. Les fonctions doivent avoir des entr\u00e9es, des sorties et des responsabilit\u00e9s claires.<\/li>\n<li>Utilisez les tests. V\u00e9rifiez que les optimisations ne cassent pas les r\u00e9sultats num\u00e9riques.<\/li>\n<li>Documents de scripts. Chaque script doit expliquer ce qu&rsquo;il fait et comment l&rsquo;ex\u00e9cuter.<\/li>\n<li>G\u00e9rez soigneusement les donn\u00e9es. S\u00e9parez les donn\u00e9es brutes, les r\u00e9sultats interm\u00e9diaires et les chiffres finaux dans des r\u00e9pertoires clairs.<\/li>\n<\/ul>\n<blockquote>\n<p>Ce que la plupart des \u00e9tudiants se trompent&nbsp;: les \u00e9l\u00e8ves \u00e9crivent souvent des scripts monolithiques qui s&rsquo;ex\u00e9cutent du d\u00e9but \u00e0 la fin sans structure. L&rsquo;habitude de d\u00e9composer le code en fonctions devrait \u00eatre renforc\u00e9e t\u00f4t car elle soutient la recherche et la collaboration reproductibles.<\/p>\n<\/blockquote>\n<h4>Cadre de d\u00e9cision&nbsp;: quand utiliser quelle m\u00e9thode<\/h4>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Type de probl\u00e8me<\/th>\n<th>Premi\u00e8re approche<\/th>\n<th>Quand mettre \u00e0 niveau<\/th>\n<\/tr>\n<tr>\n<td>ode simple<\/td>\n<td>Euler ou RK4<\/td>\n<td>Utiliser des m\u00e9thodes implicites pour les \u00e9quations rigides<\/td>\n<\/tr>\n<tr>\n<td>PDE lin\u00e9aire<\/td>\n<td>diff\u00e9rence finie<\/td>\n<td>Utiliser des m\u00e9thodes d&rsquo;\u00e9l\u00e9ments finis pour la g\u00e9om\u00e9trie irr\u00e9guli\u00e8re<\/td>\n<\/tr>\n<tr>\n<td>processus stochastique<\/td>\n<td>Monte-Carlo<\/td>\n<td>Utiliser l&rsquo;\u00e9chantillonnage d&rsquo;importance lorsque la r\u00e9duction de la variance est n\u00e9cessaire<\/td>\n<\/tr>\n<tr>\n<td>Grand ensemble de donn\u00e9es<\/td>\n<td>Tableaux nus<\/td>\n<td>Utilisez un mappage de m\u00e9moire ou des formats clairsem\u00e9s lorsque la m\u00e9moire devient limitative<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Niveau&nbsp;3&nbsp;: Techniques avanc\u00e9es et recherche<\/h3>\n<p>Objectif : Appliquer des m\u00e9thodes de calcul aux probl\u00e8mes de recherche non r\u00e9solus.<\/p>\n<p>Ce niveau comble le foss\u00e9 entre les cours et les recherches dipl\u00f4m\u00e9es. Les \u00e9tudiants travaillent sur des probl\u00e8mes ouverts qui ressemblent \u00e0 de v\u00e9ritables recherches dans leur domaine.<\/p>\n<h4>Que apprendre<\/h4>\n<ol>\n<li>\n<p>calcul haute performance.<\/p>\n<ul>\n<li>D\u00e9composition du domaine pour les simulations parall\u00e8les.<\/li>\n<li>MPI pour la m\u00e9moire distribu\u00e9e.<\/li>\n<li>Acc\u00e9l\u00e9ration GPU avec CUPY ou NUMBA CUDA.<\/li>\n<li>Analyse de mise \u00e0 l&rsquo;\u00e9chelle, y compris la loi d&rsquo;Amdahl et la mise \u00e0 l&rsquo;\u00e9chelle faible ou forte.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>M\u00e9thodes de discr\u00e9tisation avanc\u00e9es.<\/p>\n<ul>\n<li>M\u00e9thodes de volume fini avec des outils tels que Fipy.<\/li>\n<li>M\u00e9thodes par \u00e9l\u00e9ments finis avec des outils tels que Fenics et Deal.ii.<\/li>\n<li>M\u00e9thodes spectrales pour des solutions de haute pr\u00e9cision.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Apprentissage automatique en physique.<\/p>\n<ul>\n<li>R\u00e9seaux de neurones bas\u00e9s sur la physique pour la r\u00e9solution de PDE.<\/li>\n<li>Mod\u00e8les de substitution pour des simulations co\u00fbteuses.<\/li>\n<li>Quantification de l&rsquo;incertitude avec le chaos polynomial.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Flux de travail de recherche.<\/p>\n<ul>\n<li>Pipelines de recherche reproductibles.<\/li>\n<li>Cahiers Jupyter pour des essais informatiques.<\/li>\n<li>Visualisation et pr\u00e9sentation de donn\u00e9es pr\u00eates \u00e0 la publication.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>Cadres recommand\u00e9s<\/h4>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Cadre<\/th>\n<th>le mieux pour<\/th>\n<th>R\u00e9f\u00e9rence<\/th>\n<\/tr>\n<tr>\n<td>natif<\/td>\n<td>M\u00e9thodes de volume fini, PDE, mod\u00e9lisation de champ de phase<\/td>\n<td><a href=\"https:\/\/pages.nist.gov\/fipy\/\">FIPY Docs<\/a><\/td>\n<\/tr>\n<tr>\n<td>f\u00e9e<\/td>\n<td>M\u00e9thodes par \u00e9l\u00e9ments finis et g\u00e9n\u00e9ration de code automatis\u00e9e<\/td>\n<td><a href=\"https:\/\/fenicsproject.org\/\">Fenics Docs<\/a><\/td>\n<\/tr>\n<tr>\n<td>se pr\u00e9ciser<\/td>\n<td>Couplage multiphysique<\/td>\n<td><a href=\"https:\/\/precice.org\/\">Docs de precis<\/a><\/td>\n<\/tr>\n<tr>\n<td>cupide<\/td>\n<td>Flux de travail de style numpy acc\u00e9l\u00e9r\u00e9 par GPU<\/td>\n<td><a href=\"https:\/\/cupy.dev\/\">Cupy Docs<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>Projets de synth\u00e8se<\/h4>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Projet<\/th>\n<th>Niveau<\/th>\n<th>Pertinence de la recherche<\/th>\n<\/tr>\n<tr>\n<td>Fusion de trous noirs binaires<\/td>\n<td>Avanc\u00e9e<\/td>\n<td>Mod\u00e9lisation des ondes gravitationnelles<\/td>\n<\/tr>\n<tr>\n<td>Dynamique mol\u00e9culaire du repliement des prot\u00e9ines<\/td>\n<td>Avanc\u00e9e<\/td>\n<td>Biophysique et science des mat\u00e9riaux<\/td>\n<\/tr>\n<tr>\n<td>Simulation d&rsquo;\u00e9coulement turbulent<\/td>\n<td>Avanc\u00e9e<\/td>\n<td>Dynamique des fluides informatique<\/td>\n<\/tr>\n<tr>\n<td>Substitut de r\u00e9seau de neurones pour DFT<\/td>\n<td>Avanc\u00e9e<\/td>\n<td>Apprentissage automatique scientifique et quantification de l&rsquo;incertitude<\/td>\n<\/tr>\n<tr>\n<td>Raffinement de maillage adaptatif pour les chocs<\/td>\n<td>Avanc\u00e9 interm\u00e9diaire<\/td>\n<td>M\u00e9thodes num\u00e9riques et dynamique des fluides de calcul<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>\u00c0 quoi ressemble la recherche<\/h4>\n<p>Un projet typique de physique computationnelle des dipl\u00f4m\u00e9s suit cette structure&nbsp;:<\/p>\n<ol>\n<li>Formulation du probl\u00e8me. Traduisez le probl\u00e8me physique en \u00e9quations math\u00e9matiques.<\/li>\n<li>Discr\u00e9tisation. Choisissez une m\u00e9thode num\u00e9rique appropri\u00e9e telle que FDM, FEM, FVM ou les m\u00e9thodes spectrales.<\/li>\n<li>mise en \u0153uvre. \u00c9crivez du code et v\u00e9rifiez-le par rapport aux solutions connues.<\/li>\n<li>Validation. Ex\u00e9cutez des tests de convergence et comparez les r\u00e9sultats \u00e0 des exp\u00e9riences ou \u00e0 la th\u00e9orie.<\/li>\n<li>s\u00e9ries de production. Ex\u00e9cutez les balayages de param\u00e8tres ou l&rsquo;\u00e9chantillonnage statistique.<\/li>\n<li>analyse. R\u00e9duisez les donn\u00e9es, visualisez les r\u00e9sultats et caract\u00e9risez les erreurs.<\/li>\n<li>\u00e9criture. Cr\u00e9ez un essai informatique ou un manuscrit avec un flux de travail reproductible.<\/li>\n<\/ol>\n<h2>L&rsquo;approche Win-Day-One<\/h2>\n<p>Une m\u00e9thode d&rsquo;enseignement qui fonctionne bien au niveau des cycles sup\u00e9rieurs est l&rsquo;approche Win-Day-One. Au lieu d&rsquo;enseigner la syntaxe isol\u00e9e et de l&rsquo;appliquer plus tard \u00e0 des probl\u00e8mes de physique, cette m\u00e9thode plonge les \u00e9tudiants dans le code de travail de style de recherche d\u00e8s le premier jour.<\/p>\n<p>Voici comment cela fonctionne :<\/p>\n<ol>\n<li>Les \u00e9tudiants re\u00e7oivent un extrait de code court qui ex\u00e9cute une simulation compl\u00e8te.<\/li>\n<li>Ils l&rsquo;ex\u00e9cutent, voient les r\u00e9sultats et comprennent le flux de travail global.<\/li>\n<li>L&rsquo;instructeur parcourt chaque partie du code, expliquant ce qu&rsquo;il fait et pourquoi.<\/li>\n<li>Les \u00e9l\u00e8ves modifient le code pour explorer de nouveaux sc\u00e9narios.<\/li>\n<li>Ils apprennent les concepts sous-jacents dans le contexte plut\u00f4t que dans l&rsquo;abstraction.<\/li>\n<\/ol>\n<p>Cela refl\u00e8te l&rsquo;exp\u00e9rience du monde r\u00e9el consistant \u00e0 rejoindre un laboratoire de recherche, \u00e0 h\u00e9riter du code et \u00e0 apprendre \u00e0 le comprendre et \u00e0 l&rsquo;\u00e9tendre.<\/p>\n<h2>Ce qu&rsquo;il ne faut pas faire&nbsp;: les erreurs courantes des \u00e9l\u00e8ves<\/h2>\n<p>Plusieurs erreurs apparaissent souvent dans l&rsquo;apprentissage de la physique informatique :<\/p>\n<ol>\n<li>Sauter le contr\u00f4le de version. Si vous ne suivez pas les modifications, vous pouvez perdre du travail ou perdre la capacit\u00e9 de reconstruire les r\u00e9sultats.<\/li>\n<li>Param\u00e8tres de codage en dur. Mettez les param\u00e8tres de simulation dans un fichier de configuration afin que les balayages de param\u00e8tres soient plus faciles \u00e0 ex\u00e9cuter et \u00e0 reproduire.<\/li>\n<li>ignorant la stabilit\u00e9 num\u00e9rique. Un pas de temps plus petit n&rsquo;est pas seulement plus pr\u00e9cis. Cela peut \u00eatre la diff\u00e9rence entre une solution stable et une solution divergente.<\/li>\n<li>Profilage trop tard. profil avant d&rsquo;optimiser. Identifiez le v\u00e9ritable goulot d&rsquo;\u00e9tranglement avant d&rsquo;appliquer des correctifs.<\/li>\n<li>N&rsquo;ayant aucun test. Sans v\u00e9rification num\u00e9rique, vous ne pouvez pas faire confiance aux r\u00e9sultats. Comparez les solutions analytiques dans la mesure du possible.<\/li>\n<li>complexant la m\u00e9thode. Une simple m\u00e9thode de diff\u00e9rence finie r\u00e9solue correctement est meilleure qu&rsquo;une m\u00e9thode sophistiqu\u00e9e r\u00e9solue de mani\u00e8re incorrecte.<\/li>\n<\/ol>\n<h2>Th\u00e9orie du pontage et mise en \u0153uvre<\/h2>\n<p>L&rsquo;\u00e9cart entre les \u00e9quations physiques et les simulations de travail est l&rsquo;endroit o\u00f9 de nombreux \u00e9tudiants luttent. Un flux de travail pratique peut aider \u00e0 le relier.<\/p>\n<p>\u00c9tape&nbsp;1&nbsp;: \u00c9crivez clairement les \u00e9quations.<\/p>\n<pre><code>\u2202u\/\u2202t = \u03b1 \u2202\u00b2u\/\u2202x\u00b2  (1D diffusion equation)\n<\/code><\/pre>\n<p>\u00c9tape&nbsp;2&nbsp;: Choisissez une discr\u00e9tisation.<\/p>\n<pre><code>(u[i,n+1] - u[i,n]) \/ \u0394t = \u03b1 * (u[i+1,n] - 2*u[i,n] + u[i-1,n]) \/ \u0394x\u00b2\n<\/code><\/pre>\n<p>\u00c9tape&nbsp;3&nbsp;: Impl\u00e9mentez la m\u00e9thode dans le code.<\/p>\n<pre><code class=\"language-python\"># 1D diffusion solver\nfor n in range(time_steps):\n    for i in range(1, N-1):\n        u_new[i] = u[i] + alpha * dt \/ dx**2 * (\n            u[i+1] - 2*u[i] + u[i-1]\n        )\n    u = u_new  # Advance in time\n<\/code><\/pre>\n<p>\u00c9tape&nbsp;4&nbsp;: V\u00e9rifiez par rapport \u00e0 une solution analytique.<\/p>\n<pre><code class=\"language-python\"># Compare with exact solution\nanalytical = exact_solution(x, t)\nerror = np.abs(u - analytical)\nprint(f\"Max error: {np.max(error):.2e}\")\n<\/code><\/pre>\n<p>Ce mod\u00e8le en quatre \u00e9tapes &#8211; \u00e9quations, discr\u00e9tisation, mise en \u0153uvre, v\u00e9rification &#8211; devrait devenir le flux de travail par d\u00e9faut pour chaque simulation \u00e9crite par un \u00e9tudiant dipl\u00f4m\u00e9.<\/p>\n<h2>Guides connexes<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/from-equations-to-simulations-the-modeling-pipeline\/\">Des \u00e9quations aux simulations&nbsp;: le pipeline de mod\u00e9lisation<\/a> &#8211; comment les \u00e9quations physiques deviennent du code de travail.<\/li>\n<li><a href=\"https:\/\/matforge.org\/understanding-fipys-core-architecture\/\">compr\u00e9hension de l&rsquo;architecture de base de Fipy<\/a> &#8211; la m\u00e9thode de volume fini en Python.<\/li>\n<li><a href=\"https:\/\/matforge.org\/solving-diffusion-equations-with-fipy\/\">r\u00e9solution des \u00e9quations de diffusion avec FIPY<\/a> \u2014 tutoriel pratique sur les simulations de transfert de chaleur.<\/li>\n<li><a href=\"https:\/\/matforge.org\/managing-large-scale-pde-problems-strategies-solvers-and-hpc-case-studies\/\">Gestion des probl\u00e8mes de PDE \u00e0 grande \u00e9chelle<\/a> \u2014 Mise \u00e0 l&rsquo;\u00e9chelle de la physique computationnelle \u00e0 HPC.<\/li>\n<li><a href=\"https:\/\/matforge.org\/what-is-fipy-and-when-should-you-use-it\/\">qu&rsquo;est-ce que FIPY et quand devriez-vous l&rsquo;utiliser&nbsp;?<\/a>&nbsp;\u2013&nbsp;Guide de comparaison de cadres.<\/li>\n<\/ul>\n<h2>R\u00e9sum\u00e9 et \u00e9tapes suivantes<\/h2>\n<p>Le parcours d&rsquo;apprentissage de la physique computationnelle suit une progression \u00e0 trois niveaux :<\/p>\n<ol>\n<li>fondation. Apprenez Python, les simulations de base et les outils de calcul scientifique.<\/li>\n<li>M\u00e9thodes de base. Construisez des solveurs num\u00e9riques, v\u00e9rifiez-les par rapport aux solutions analytiques et adoptez les meilleures pratiques.<\/li>\n<li>recherche. Appliquez des m\u00e9thodes \u00e0 des probl\u00e8mes non r\u00e9solus, utilisez HPC et explorez l&rsquo;apprentissage automatique.<\/li>\n<\/ol>\n<p>L&rsquo;id\u00e9e cl\u00e9 des programmes d&rsquo;\u00e9tudes document\u00e9s est que l&rsquo;apprentissage par projet fonctionne. Les \u00e9tudiants peuvent passer des simulations de balles rebondissantes \u00e0 des probl\u00e8mes de recherche avanc\u00e9s gr\u00e2ce \u00e0 une s\u00e9quence structur\u00e9e o\u00f9 chaque projet s&rsquo;appuie sur le dernier.<\/p>\n<p>L&rsquo;\u00e9valuation du portefeuille peut \u00eatre plus utile que les examens, car elle d\u00e9montre une comp\u00e9tence r\u00e9elle et cr\u00e9e une vitrine professionnelle.<\/p>\n<p>Pour les \u00e9tudiants dipl\u00f4m\u00e9s qui d\u00e9butent, commencez par Jupyter Notebooks et Python, travaillez sur une s\u00e9quence structur\u00e9e de projets et adoptez le contr\u00f4le des versions d\u00e8s le premier jour. Computational Skills soutiendra les carri\u00e8res de la recherche et peut \u00e9galement ouvrir des portes aux r\u00f4les de l&rsquo;industrie dans la science des donn\u00e9es, la finance quantitative et le g\u00e9nie logiciel.<\/p>\n<p>Pour les \u00e9ducateurs, envisagez l&rsquo;approche Win-Day-One, utilisez des essais informatiques comme \u00e9valuation et collaborez avec des pairs gr\u00e2ce \u00e0 des ressources telles que PICUP et la menuiserie logicielle. La physique computationnelle devrait \u00eatre un \u00e9l\u00e9ment central de l&rsquo;enseignement des sciences sup\u00e9rieures, pas seulement un choix facultatif.<\/p>\n","protected":false,"raw":"<p>La physique informatique n'est plus une comp\u00e9tence de niche. Il s'agit d'une comp\u00e9tence de base pour les chercheurs dipl\u00f4m\u00e9s. Que vous simulez des fusions de trous noirs ou que vous mod\u00e9lisiez les transitions de phase dans les alliages, la possibilit\u00e9 de traduire des \u00e9quations physiques en code de travail s\u00e9pare les chercheurs productifs de ceux qui ont du mal \u00e0 transformer la th\u00e9orie en r\u00e9sultats.<\/p>\n<p>Ce guide trace un parcours d'apprentissage structur\u00e9 pour les \u00e9tudiants dipl\u00f4m\u00e9s. Il montre comment passer des fondamentaux de la programmation aux m\u00e9thodes num\u00e9riques avanc\u00e9es et \u00e0 la recherche r\u00e9elle. Le parcours est organis\u00e9 en trois niveaux progressifs : comp\u00e9tences fondamentales, m\u00e9thodes de base et techniques avanc\u00e9es.<\/p>\n<p>Le cadre est bas\u00e9 sur des approches curriculaires document\u00e9es utilis\u00e9es dans les universit\u00e9s am\u00e9ricaines et europ\u00e9ennes, combin\u00e9es aux meilleures pratiques pour le calcul scientifique que chaque chercheur devrait adopter, quelle que soit sa sp\u00e9cialisation.<\/p>\n<h2>Points \u00e0 retenir cl\u00e9s<\/h2>\n<ul>\n<li>L'apprentissage des \u00e9chafaudages fonctionne. La progression structur\u00e9e de simulations simples \u00e0 complexes r\u00e9duit la frustration et renforce la comp\u00e9tence r\u00e9elle.<\/li>\n<li>L'enseignement de la physique computationnelle peut \u00eatre divis\u00e9 en trois niveaux&nbsp;: comp\u00e9tences fondamentales, m\u00e9thodes de base et techniques de recherche avanc\u00e9e.<\/li>\n<li>L'\u00e9valuation bas\u00e9e sur des projets est plus forte que les examens, car les soumissions de portefeuilles d\u00e9montrent une capacit\u00e9 r\u00e9elle.<\/li>\n<li>L'alphab\u00e9tisation informatique est employable. Les comp\u00e9tences en programmation, le contr\u00f4le des versions et les pratiques de reproductibilit\u00e9 sont transf\u00e9r\u00e9es directement aux r\u00f4les de l'industrie.<\/li>\n<li>Les \u00e9l\u00e8ves doivent commencer petit et it\u00e9rer. Commencez par les ordinateurs portables Jupyter et Python, puis passez aux langages compil\u00e9s uniquement lorsque les performances le demandent.<\/li>\n<\/ul>\n<h2>A quoi sert r\u00e9ellement la physique informatique ?<\/h2>\n<p>La physique computationnelle est le troisi\u00e8me pilier de la d\u00e9couverte scientifique aux c\u00f4t\u00e9s de la th\u00e9orie et de l'exp\u00e9rience. La th\u00e9orie donne des \u00e9quations. Les exp\u00e9riences montrent ce qui se passe dans le monde physique. Le calcul permet aux chercheurs d'explorer des sc\u00e9narios et de tester des th\u00e9ories \u00e0 des \u00e9chelles et \u00e0 des vitesses que la th\u00e9orie ou l'exp\u00e9rience seule ne peut pas atteindre.<\/p>\n<p>Le domaine a transform\u00e9 les \u00e9tudes de premier cycle et des cycles sup\u00e9rieurs, car il fait deux choses \u00e0 la fois. Il enseigne des concepts physiques gr\u00e2ce \u00e0 une mise en \u0153uvre pratique et enseigne la programmation \u00e0 travers des probl\u00e8mes de physique concrets qui ont de vraies r\u00e9ponses.<\/p>\n<p>Les \u00e9l\u00e8ves n'apprennent pas la syntaxe Python isol\u00e9ment. Ils apprennent \u00e0 simuler des orbites plan\u00e9taires, \u00e0 mod\u00e9liser la diffusion et \u00e0 r\u00e9soudre des \u00e9quations diff\u00e9rentielles tout en apprenant le langage et les outils.<\/p>\n<blockquote>\n<p>Le saviez-vous ? Le partenariat pour l'int\u00e9gration du calcul dans la physique de premier cycle a document\u00e9 des centaines de modules r\u00e9utilisables de physique des calculs utilis\u00e9s dans de nombreuses universit\u00e9s. Ces modules vont de simples simulations de mouvement \u00e0 l'astrophysique relativiste et prennent en charge de nombreux programmes d'\u00e9tudes structur\u00e9s.<\/p>\n<\/blockquote>\n<h2>Le parcours d'apprentissage \u00e0 trois niveaux<\/h2>\n<h3>Niveau&nbsp;1&nbsp;: Comp\u00e9tences fondamentales<\/h3>\n<p>Objectif : Renforcer la confiance dans la programmation et la simulation physique de base.<\/p>\n<p>Ce niveau cible les \u00e9tudiants avec peu ou pas d'exp\u00e9rience en programmation. Il peut soutenir les \u00e9tudiants de premi\u00e8re ann\u00e9e, les \u00e9tudiants de deuxi\u00e8me ann\u00e9e ou les premiers dipl\u00f4m\u00e9s qui doivent combler le foss\u00e9 entre les cours de physique et le calcul r\u00e9el.<\/p>\n<h4>Que apprendre<\/h4>\n<ol>\n<li>\n<p>Principes fondamentaux de la programmation en Python.<\/p>\n<ul>\n<li>Variables, flux de contr\u00f4le, fonctions et structures de donn\u00e9es de base.<\/li>\n<li>Les ordinateurs portables Jupyter en tant qu'environnement d'apprentissage principal.<\/li>\n<li>Op\u00e9rations Numpy de base, y compris les tableaux, la diffusion et la vectorisation.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Simulations physiques simples.<\/p>\n<ul>\n<li>Mouvement \u00e0 vitesse constante unidimensionnelle.<\/li>\n<li>Simulations de balle rebondissante avec vpython.<\/li>\n<li>Mouvement de projectile avec gravit\u00e9 et r\u00e9sistance \u00e0 l'air.<\/li>\n<li>Int\u00e9gration num\u00e9rique \u00e0 l'aide des m\u00e9thodes d'Euler et d'Euler-Cromer.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>L'\u00e9cosyst\u00e8me Python scientifique.<\/p>\n<ul>\n<li>matplotlib pour la visualisation.<\/li>\n<li>E\/S de fichiers de base et gestion des donn\u00e9es.<\/li>\n<li>Bases du contr\u00f4le de version avec Git et GitHub.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>Outils recommand\u00e9s<\/h4>\n<ul>\n<li>Python comme langue principale parce qu'il est accessible, largement utilis\u00e9 dans la recherche et suffisant pour de nombreux probl\u00e8mes de niveau des cycles sup\u00e9rieurs.<\/li>\n<li>Jupyter Notebooks comme environnement d'apprentissage parce qu'ils sont interactifs, lisibles et faciles \u00e0 partager.<\/li>\n<li>vPython pour la visualisation 3D car cela rend les simulations visuellement attrayantes.<\/li>\n<li>Git et GitHub pour le contr\u00f4le des versions, car ils sont essentiels pour les flux de travail de recherche.<\/li>\n<\/ul>\n<h4>Premiers projets<\/h4>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Projet<\/th>\n<th>concept de physique<\/th>\n<th>concept de programmation<\/th>\n<th>Difficult\u00e9<\/th>\n<\/tr>\n<tr>\n<td>Balle rebondissante en 1D<\/td>\n<td>Vitesse constante et collisions<\/td>\n<td>Boucles, conditions, fonctions de base<\/td>\n<td>D\u00e9butant<\/td>\n<\/tr>\n<tr>\n<td>Projectile Mouvement<\/td>\n<td>Gravit\u00e9 et cin\u00e9matique<\/td>\n<td>Fonctions et balayages de param\u00e8tres<\/td>\n<td>D\u00e9butant-Interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td>Acc\u00e9l\u00e9ration variable<\/td>\n<td>Gravit\u00e9 variant avec la hauteur<\/td>\n<td>Tableaux et op\u00e9rations vectorielles<\/td>\n<td>D\u00e9butant-Interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td>Orbites plan\u00e9taires<\/td>\n<td>La loi de la gravit\u00e9 de Newton<\/td>\n<td>Int\u00e9gration et stabilit\u00e9 d'Euler-Cromer<\/td>\n<td>Interm\u00e9diaire<\/td>\n<\/tr>\n<tr>\n<td>Syst\u00e8me Terre-Lune<\/td>\n<td>Dynamique gravitationnelle \u00e0 n corps<\/td>\n<td>Simulation multi-corps et centre de masse<\/td>\n<td>Interm\u00e9diaire<\/td>\n<\/tr>\n<\/tbody><\/table>\n<h4>Manuels scolaires recommand\u00e9s<\/h4>\n<ul>\n<li>Physique computationnelle&nbsp;: simulation des syst\u00e8mes classiques et quantiques par Philipp O.&nbsp;J. Scherer. Il s'agit d'une r\u00e9f\u00e9rence rigoureuse avec des exemples de C++.<\/li>\n<li>M\u00e9thodes num\u00e9riques en physique avec Python d'Alex Gezerlis. Il s'agit d'une introduction accessible ax\u00e9e sur Python.<\/li>\n<li>Un guide d'\u00e9tudiant sur Python pour la mod\u00e9lisation physique par Jesse M. Kinder et Philip Nelson. Il s'agit d'un pont solide entre les travaux d'introduction et de travail interm\u00e9diaire.<\/li>\n<\/ul>\n<h4>Ce que les \u00e9l\u00e8ves devraient pouvoir faire<\/h4>\n<p>\u00c0 la fin du niveau 1, les \u00e9tudiants devraient pouvoir :<\/p>\n<ul>\n<li>\u00c9crivez un script qui simule un syst\u00e8me physique \u00e0 l'aide de l'int\u00e9gration num\u00e9rique.<\/li>\n<li>Visualisez les r\u00e9sultats avec matplotlib ou vpython.<\/li>\n<li>Utilisez Git pour suivre les changements et collaborer avec des pairs.<\/li>\n<li>Expliquez la diff\u00e9rence entre les m\u00e9thodes d'Euler et d'Euler-Cromer.<\/li>\n<li>Reconna\u00eetre les probl\u00e8mes de stabilit\u00e9 num\u00e9rique de base.<\/li>\n<\/ul>\n<h3>Niveau&nbsp;2&nbsp;: M\u00e9thodes num\u00e9riques de base<\/h3>\n<p>Objectif : traduire des \u00e9quations physiques en algorithmes num\u00e9riques pr\u00e9cis et v\u00e9rifi\u00e9s.<\/p>\n<p>Ce niveau cible les \u00e9tudiants qui ont d\u00e9j\u00e0 des comp\u00e9tences de base en programmation mais qui ont besoin de la profondeur math\u00e9matique et algorithmique requise pour la recherche de niveau sup\u00e9rieur.<\/p>\n<h4>Que apprendre<\/h4>\n<ol>\n<li>\n<p>M\u00e9thodes num\u00e9riques avanc\u00e9es.<\/p>\n<ul>\n<li>Solveurs d'\u00e9quations diff\u00e9rentielles ordinaires tels que Runge-Kutta, Verlet et LeapFrog.<\/li>\n<li>Solveurs d'\u00e9quations aux diff\u00e9rences partielles, y compris les diff\u00e9rences finies et les m\u00e9thodes de collocation.<\/li>\n<li>Probl\u00e8mes de valeur aux limites utilisant des m\u00e9thodes de prise de vue et de relaxation<\/li>\n<li>Probl\u00e8mes de valeurs propres, alg\u00e8bre lin\u00e9aire num\u00e9rique et m\u00e9thodes spectrales.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>M\u00e9thodes stochastiques.<\/p>\n<ul>\n<li>M\u00e9thodes de Monte Carlo pour la physique statistique.<\/li>\n<li>Simulations de dynamique mol\u00e9culaire.<\/li>\n<li>Promenades al\u00e9atoires et mouvement brownien.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Analyse et v\u00e9rification des donn\u00e9es.<\/p>\n<ul>\n<li>Comparaison des r\u00e9sultats num\u00e9riques avec des solutions analytiques.<\/li>\n<li>Analyse de convergence et estimation des erreurs.<\/li>\n<li>Profilage des performances avec des outils tels que <code>cProfile<\/code> et <code>line_profiler<\/code>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>Outils recommand\u00e9s<\/h4>\n<ul>\n<li>Scipy pour les m\u00e9thodes num\u00e9riques, les solveurs, l'optimisation et l'alg\u00e8bre lin\u00e9aire.<\/li>\n<li>NumPy pour les op\u00e9rations de tableau et les simulations de base.<\/li>\n<li>Sympique pour le calcul symbolique et les solutions de r\u00e9f\u00e9rence analytiques.<\/li>\n<li>Cadres de test Python tels que PyTest pour v\u00e9rifier l'exactitude.<\/li>\n<\/ul>\n<h4>Projets<\/h4>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Projet<\/th>\n<th>M\u00e9thode<\/th>\n<th>Application physique<\/th>\n<th>V\u00e9rification<\/th>\n<\/tr>\n<tr>\n<td>Oscillateur harmonique<\/td>\n<td>Runge-Kutta 4e ordre<\/td>\n<td>M\u00e9canique classique<\/td>\n<td>conservation de l'\u00e9nergie<\/td>\n<\/tr>\n<tr>\n<td>1D \u00e9quation de diffusion<\/td>\n<td>Diff\u00e9rence finie, explicite et implicite<\/td>\n<td>Transfert de chaleur<\/td>\n<td>Solution gaussienne analytique<\/td>\n<\/tr>\n<tr>\n<td>diffusion de Coulomb<\/td>\n<td>Monte-Carlo<\/td>\n<td>\u00c9lectrostatique<\/td>\n<td>La loi de Coulomb sur de grandes distances<\/td>\n<\/tr>\n<tr>\n<td>Particule dans une bo\u00eete<\/td>\n<td>diff\u00e9rence finie<\/td>\n<td>M\u00e9canique quantique<\/td>\n<td>Les valeurs propres d'\u00e9nergie correspondent aux valeurs analytiques<\/td>\n<\/tr>\n<tr>\n<td>Collisions \u00e9lastiques 2D<\/td>\n<td>Dynamique mol\u00e9culaire<\/td>\n<td>M\u00e9canique statistique<\/td>\n<td>Mesures de temp\u00e9rature et de pression<\/td>\n<\/tr>\n<\/tbody><\/table>\n<h4>Meilleures pratiques pour le calcul scientifique<\/h4>\n<p>\u00c0 ce niveau, les \u00e9tudiants doivent adopter des habitudes de calcul scientifiques pratiques :<\/p>\n<ul>\n<li>Les versions contr\u00f4lent tout. Suivez le code, les scripts de traitement des donn\u00e9es et les scripts de g\u00e9n\u00e9ration de figures.<\/li>\n<li>\u00c9crire du code modulaire. Les fonctions doivent avoir des entr\u00e9es, des sorties et des responsabilit\u00e9s claires.<\/li>\n<li>Utilisez les tests. V\u00e9rifiez que les optimisations ne cassent pas les r\u00e9sultats num\u00e9riques.<\/li>\n<li>Documents de scripts. Chaque script doit expliquer ce qu'il fait et comment l'ex\u00e9cuter.<\/li>\n<li>G\u00e9rez soigneusement les donn\u00e9es. S\u00e9parez les donn\u00e9es brutes, les r\u00e9sultats interm\u00e9diaires et les chiffres finaux dans des r\u00e9pertoires clairs.<\/li>\n<\/ul>\n<blockquote>\n<p>Ce que la plupart des \u00e9tudiants se trompent&nbsp;: les \u00e9l\u00e8ves \u00e9crivent souvent des scripts monolithiques qui s'ex\u00e9cutent du d\u00e9but \u00e0 la fin sans structure. L'habitude de d\u00e9composer le code en fonctions devrait \u00eatre renforc\u00e9e t\u00f4t car elle soutient la recherche et la collaboration reproductibles.<\/p>\n<\/blockquote>\n<h4>Cadre de d\u00e9cision&nbsp;: quand utiliser quelle m\u00e9thode<\/h4>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Type de probl\u00e8me<\/th>\n<th>Premi\u00e8re approche<\/th>\n<th>Quand mettre \u00e0 niveau<\/th>\n<\/tr>\n<tr>\n<td>ode simple<\/td>\n<td>Euler ou RK4<\/td>\n<td>Utiliser des m\u00e9thodes implicites pour les \u00e9quations rigides<\/td>\n<\/tr>\n<tr>\n<td>PDE lin\u00e9aire<\/td>\n<td>diff\u00e9rence finie<\/td>\n<td>Utiliser des m\u00e9thodes d'\u00e9l\u00e9ments finis pour la g\u00e9om\u00e9trie irr\u00e9guli\u00e8re<\/td>\n<\/tr>\n<tr>\n<td>processus stochastique<\/td>\n<td>Monte-Carlo<\/td>\n<td>Utiliser l'\u00e9chantillonnage d'importance lorsque la r\u00e9duction de la variance est n\u00e9cessaire<\/td>\n<\/tr>\n<tr>\n<td>Grand ensemble de donn\u00e9es<\/td>\n<td>Tableaux nus<\/td>\n<td>Utilisez un mappage de m\u00e9moire ou des formats clairsem\u00e9s lorsque la m\u00e9moire devient limitative<\/td>\n<\/tr>\n<\/tbody><\/table>\n<h3>Niveau&nbsp;3&nbsp;: Techniques avanc\u00e9es et recherche<\/h3>\n<p>Objectif : Appliquer des m\u00e9thodes de calcul aux probl\u00e8mes de recherche non r\u00e9solus.<\/p>\n<p>Ce niveau comble le foss\u00e9 entre les cours et les recherches dipl\u00f4m\u00e9es. Les \u00e9tudiants travaillent sur des probl\u00e8mes ouverts qui ressemblent \u00e0 de v\u00e9ritables recherches dans leur domaine.<\/p>\n<h4>Que apprendre<\/h4>\n<ol>\n<li>\n<p>calcul haute performance.<\/p>\n<ul>\n<li>D\u00e9composition du domaine pour les simulations parall\u00e8les.<\/li>\n<li>MPI pour la m\u00e9moire distribu\u00e9e.<\/li>\n<li>Acc\u00e9l\u00e9ration GPU avec CUPY ou NUMBA CUDA.<\/li>\n<li>Analyse de mise \u00e0 l'\u00e9chelle, y compris la loi d'Amdahl et la mise \u00e0 l'\u00e9chelle faible ou forte.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>M\u00e9thodes de discr\u00e9tisation avanc\u00e9es.<\/p>\n<ul>\n<li>M\u00e9thodes de volume fini avec des outils tels que Fipy.<\/li>\n<li>M\u00e9thodes par \u00e9l\u00e9ments finis avec des outils tels que Fenics et Deal.ii.<\/li>\n<li>M\u00e9thodes spectrales pour des solutions de haute pr\u00e9cision.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Apprentissage automatique en physique.<\/p>\n<ul>\n<li>R\u00e9seaux de neurones bas\u00e9s sur la physique pour la r\u00e9solution de PDE.<\/li>\n<li>Mod\u00e8les de substitution pour des simulations co\u00fbteuses.<\/li>\n<li>Quantification de l'incertitude avec le chaos polynomial.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Flux de travail de recherche.<\/p>\n<ul>\n<li>Pipelines de recherche reproductibles.<\/li>\n<li>Cahiers Jupyter pour des essais informatiques.<\/li>\n<li>Visualisation et pr\u00e9sentation de donn\u00e9es pr\u00eates \u00e0 la publication.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h4>Cadres recommand\u00e9s<\/h4>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Cadre<\/th>\n<th>le mieux pour<\/th>\n<th>R\u00e9f\u00e9rence<\/th>\n<\/tr>\n<tr>\n<td>natif<\/td>\n<td>M\u00e9thodes de volume fini, PDE, mod\u00e9lisation de champ de phase<\/td>\n<td><a href=\"https:\/\/pages.nist.gov\/fipy\/\">FIPY Docs<\/a><\/td>\n<\/tr>\n<tr>\n<td>f\u00e9e<\/td>\n<td>M\u00e9thodes par \u00e9l\u00e9ments finis et g\u00e9n\u00e9ration de code automatis\u00e9e<\/td>\n<td><a href=\"https:\/\/fenicsproject.org\/\">Fenics Docs<\/a><\/td>\n<\/tr>\n<tr>\n<td>se pr\u00e9ciser<\/td>\n<td>Couplage multiphysique<\/td>\n<td><a href=\"https:\/\/precice.org\/\">Docs de precis<\/a><\/td>\n<\/tr>\n<tr>\n<td>cupide<\/td>\n<td>Flux de travail de style numpy acc\u00e9l\u00e9r\u00e9 par GPU<\/td>\n<td><a href=\"https:\/\/cupy.dev\/\">Cupy Docs<\/a><\/td>\n<\/tr>\n<\/tbody><\/table>\n<h4>Projets de synth\u00e8se<\/h4>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Projet<\/th>\n<th>Niveau<\/th>\n<th>Pertinence de la recherche<\/th>\n<\/tr>\n<tr>\n<td>Fusion de trous noirs binaires<\/td>\n<td>Avanc\u00e9e<\/td>\n<td>Mod\u00e9lisation des ondes gravitationnelles<\/td>\n<\/tr>\n<tr>\n<td>Dynamique mol\u00e9culaire du repliement des prot\u00e9ines<\/td>\n<td>Avanc\u00e9e<\/td>\n<td>Biophysique et science des mat\u00e9riaux<\/td>\n<\/tr>\n<tr>\n<td>Simulation d'\u00e9coulement turbulent<\/td>\n<td>Avanc\u00e9e<\/td>\n<td>Dynamique des fluides informatique<\/td>\n<\/tr>\n<tr>\n<td>Substitut de r\u00e9seau de neurones pour DFT<\/td>\n<td>Avanc\u00e9e<\/td>\n<td>Apprentissage automatique scientifique et quantification de l'incertitude<\/td>\n<\/tr>\n<tr>\n<td>Raffinement de maillage adaptatif pour les chocs<\/td>\n<td>Avanc\u00e9 interm\u00e9diaire<\/td>\n<td>M\u00e9thodes num\u00e9riques et dynamique des fluides de calcul<\/td>\n<\/tr>\n<\/tbody><\/table>\n<h4>\u00c0 quoi ressemble la recherche<\/h4>\n<p>Un projet typique de physique computationnelle des dipl\u00f4m\u00e9s suit cette structure&nbsp;:<\/p>\n<ol>\n<li>Formulation du probl\u00e8me. Traduisez le probl\u00e8me physique en \u00e9quations math\u00e9matiques.<\/li>\n<li>Discr\u00e9tisation. Choisissez une m\u00e9thode num\u00e9rique appropri\u00e9e telle que FDM, FEM, FVM ou les m\u00e9thodes spectrales.<\/li>\n<li>mise en \u0153uvre. \u00c9crivez du code et v\u00e9rifiez-le par rapport aux solutions connues.<\/li>\n<li>Validation. Ex\u00e9cutez des tests de convergence et comparez les r\u00e9sultats \u00e0 des exp\u00e9riences ou \u00e0 la th\u00e9orie.<\/li>\n<li>s\u00e9ries de production. Ex\u00e9cutez les balayages de param\u00e8tres ou l'\u00e9chantillonnage statistique.<\/li>\n<li>analyse. R\u00e9duisez les donn\u00e9es, visualisez les r\u00e9sultats et caract\u00e9risez les erreurs.<\/li>\n<li>\u00e9criture. Cr\u00e9ez un essai informatique ou un manuscrit avec un flux de travail reproductible.<\/li>\n<\/ol>\n<h2>L'approche Win-Day-One<\/h2>\n<p>Une m\u00e9thode d'enseignement qui fonctionne bien au niveau des cycles sup\u00e9rieurs est l'approche Win-Day-One. Au lieu d'enseigner la syntaxe isol\u00e9e et de l'appliquer plus tard \u00e0 des probl\u00e8mes de physique, cette m\u00e9thode plonge les \u00e9tudiants dans le code de travail de style de recherche d\u00e8s le premier jour.<\/p>\n<p>Voici comment cela fonctionne :<\/p>\n<ol>\n<li>Les \u00e9tudiants re\u00e7oivent un extrait de code court qui ex\u00e9cute une simulation compl\u00e8te.<\/li>\n<li>Ils l'ex\u00e9cutent, voient les r\u00e9sultats et comprennent le flux de travail global.<\/li>\n<li>L'instructeur parcourt chaque partie du code, expliquant ce qu'il fait et pourquoi.<\/li>\n<li>Les \u00e9l\u00e8ves modifient le code pour explorer de nouveaux sc\u00e9narios.<\/li>\n<li>Ils apprennent les concepts sous-jacents dans le contexte plut\u00f4t que dans l'abstraction.<\/li>\n<\/ol>\n<p>Cela refl\u00e8te l'exp\u00e9rience du monde r\u00e9el consistant \u00e0 rejoindre un laboratoire de recherche, \u00e0 h\u00e9riter du code et \u00e0 apprendre \u00e0 le comprendre et \u00e0 l'\u00e9tendre.<\/p>\n<h2>Ce qu'il ne faut pas faire&nbsp;: les erreurs courantes des \u00e9l\u00e8ves<\/h2>\n<p>Plusieurs erreurs apparaissent souvent dans l'apprentissage de la physique informatique :<\/p>\n<ol>\n<li>Sauter le contr\u00f4le de version. Si vous ne suivez pas les modifications, vous pouvez perdre du travail ou perdre la capacit\u00e9 de reconstruire les r\u00e9sultats.<\/li>\n<li>Param\u00e8tres de codage en dur. Mettez les param\u00e8tres de simulation dans un fichier de configuration afin que les balayages de param\u00e8tres soient plus faciles \u00e0 ex\u00e9cuter et \u00e0 reproduire.<\/li>\n<li>ignorant la stabilit\u00e9 num\u00e9rique. Un pas de temps plus petit n'est pas seulement plus pr\u00e9cis. Cela peut \u00eatre la diff\u00e9rence entre une solution stable et une solution divergente.<\/li>\n<li>Profilage trop tard. profil avant d'optimiser. Identifiez le v\u00e9ritable goulot d'\u00e9tranglement avant d'appliquer des correctifs.<\/li>\n<li>N'ayant aucun test. Sans v\u00e9rification num\u00e9rique, vous ne pouvez pas faire confiance aux r\u00e9sultats. Comparez les solutions analytiques dans la mesure du possible.<\/li>\n<li>complexant la m\u00e9thode. Une simple m\u00e9thode de diff\u00e9rence finie r\u00e9solue correctement est meilleure qu'une m\u00e9thode sophistiqu\u00e9e r\u00e9solue de mani\u00e8re incorrecte.<\/li>\n<\/ol>\n<h2>Th\u00e9orie du pontage et mise en \u0153uvre<\/h2>\n<p>L'\u00e9cart entre les \u00e9quations physiques et les simulations de travail est l'endroit o\u00f9 de nombreux \u00e9tudiants luttent. Un flux de travail pratique peut aider \u00e0 le relier.<\/p>\n<p>\u00c9tape&nbsp;1&nbsp;: \u00c9crivez clairement les \u00e9quations.<\/p>\n<pre><code>\u2202u\/\u2202t = \u03b1 \u2202\u00b2u\/\u2202x\u00b2  (1D diffusion equation)\n<\/code><\/pre>\n<p>\u00c9tape&nbsp;2&nbsp;: Choisissez une discr\u00e9tisation.<\/p>\n<pre><code>(u[i,n+1] - u[i,n]) \/ \u0394t = \u03b1 * (u[i+1,n] - 2*u[i,n] + u[i-1,n]) \/ \u0394x\u00b2\n<\/code><\/pre>\n<p>\u00c9tape&nbsp;3&nbsp;: Impl\u00e9mentez la m\u00e9thode dans le code.<\/p>\n<pre><code class=\"language-python\"># 1D diffusion solver\nfor n in range(time_steps):\n    for i in range(1, N-1):\n        u_new[i] = u[i] + alpha * dt \/ dx**2 * (\n            u[i+1] - 2*u[i] + u[i-1]\n        )\n    u = u_new  # Advance in time\n<\/code><\/pre>\n<p>\u00c9tape&nbsp;4&nbsp;: V\u00e9rifiez par rapport \u00e0 une solution analytique.<\/p>\n<pre><code class=\"language-python\"># Compare with exact solution\nanalytical = exact_solution(x, t)\nerror = np.abs(u - analytical)\nprint(f\"Max error: {np.max(error):.2e}\")\n<\/code><\/pre>\n<p>Ce mod\u00e8le en quatre \u00e9tapes - \u00e9quations, discr\u00e9tisation, mise en \u0153uvre, v\u00e9rification - devrait devenir le flux de travail par d\u00e9faut pour chaque simulation \u00e9crite par un \u00e9tudiant dipl\u00f4m\u00e9.<\/p>\n<h2>Guides connexes<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/from-equations-to-simulations-the-modeling-pipeline\/\">Des \u00e9quations aux simulations&nbsp;: le pipeline de mod\u00e9lisation<\/a> - comment les \u00e9quations physiques deviennent du code de travail.<\/li>\n<li><a href=\"https:\/\/matforge.org\/understanding-fipys-core-architecture\/\">compr\u00e9hension de l'architecture de base de Fipy<\/a> - la m\u00e9thode de volume fini en Python.<\/li>\n<li><a href=\"https:\/\/matforge.org\/solving-diffusion-equations-with-fipy\/\">r\u00e9solution des \u00e9quations de diffusion avec FIPY<\/a> \u2014 tutoriel pratique sur les simulations de transfert de chaleur.<\/li>\n<li><a href=\"https:\/\/matforge.org\/managing-large-scale-pde-problems-strategies-solvers-and-hpc-case-studies\/\">Gestion des probl\u00e8mes de PDE \u00e0 grande \u00e9chelle<\/a> \u2014 Mise \u00e0 l'\u00e9chelle de la physique computationnelle \u00e0 HPC.<\/li>\n<li><a href=\"https:\/\/matforge.org\/what-is-fipy-and-when-should-you-use-it\/\">qu'est-ce que FIPY et quand devriez-vous l'utiliser&nbsp;?<\/a>&nbsp;\u2013&nbsp;Guide de comparaison de cadres.<\/li>\n<\/ul>\n<h2>R\u00e9sum\u00e9 et \u00e9tapes suivantes<\/h2>\n<p>Le parcours d'apprentissage de la physique computationnelle suit une progression \u00e0 trois niveaux :<\/p>\n<ol>\n<li>fondation. Apprenez Python, les simulations de base et les outils de calcul scientifique.<\/li>\n<li>M\u00e9thodes de base. Construisez des solveurs num\u00e9riques, v\u00e9rifiez-les par rapport aux solutions analytiques et adoptez les meilleures pratiques.<\/li>\n<li>recherche. Appliquez des m\u00e9thodes \u00e0 des probl\u00e8mes non r\u00e9solus, utilisez HPC et explorez l'apprentissage automatique.<\/li>\n<\/ol>\n<p>L'id\u00e9e cl\u00e9 des programmes d'\u00e9tudes document\u00e9s est que l'apprentissage par projet fonctionne. Les \u00e9tudiants peuvent passer des simulations de balles rebondissantes \u00e0 des probl\u00e8mes de recherche avanc\u00e9s gr\u00e2ce \u00e0 une s\u00e9quence structur\u00e9e o\u00f9 chaque projet s'appuie sur le dernier.<\/p>\n<p>L'\u00e9valuation du portefeuille peut \u00eatre plus utile que les examens, car elle d\u00e9montre une comp\u00e9tence r\u00e9elle et cr\u00e9e une vitrine professionnelle.<\/p>\n<p>Pour les \u00e9tudiants dipl\u00f4m\u00e9s qui d\u00e9butent, commencez par Jupyter Notebooks et Python, travaillez sur une s\u00e9quence structur\u00e9e de projets et adoptez le contr\u00f4le des versions d\u00e8s le premier jour. Computational Skills soutiendra les carri\u00e8res de la recherche et peut \u00e9galement ouvrir des portes aux r\u00f4les de l'industrie dans la science des donn\u00e9es, la finance quantitative et le g\u00e9nie logiciel.<\/p>\n<p>Pour les \u00e9ducateurs, envisagez l'approche Win-Day-One, utilisez des essais informatiques comme \u00e9valuation et collaborez avec des pairs gr\u00e2ce \u00e0 des ressources telles que PICUP et la menuiserie logicielle. La physique computationnelle devrait \u00eatre un \u00e9l\u00e9ment central de l'enseignement des sciences sup\u00e9rieures, pas seulement un choix facultatif.<\/p>\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\"> 9<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>La physique informatique n&rsquo;est plus une comp\u00e9tence de niche. Il s&rsquo;agit d&rsquo;une comp\u00e9tence de base pour les chercheurs dipl\u00f4m\u00e9s. Que vous simulez des fusions de trous noirs ou que vous mod\u00e9lisiez les transitions de phase dans les alliages, la possibilit\u00e9 de traduire des \u00e9quations physiques en code de travail s\u00e9pare les chercheurs productifs de ceux [&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=381","iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1246","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>Enseigner la physique informatique aux \u00e9tudiants dipl\u00f4m\u00e9s<\/title>\n<meta name=\"description\" content=\"Explorez un parcours d&#039;apprentissage structur\u00e9 pour enseigner la physique informatique, des bases Python et des m\u00e9thodes num\u00e9riques aux projets HPC, FIPY, FENICS et de recherche.\" \/>\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\/teaching-computational-physics-graduate-students-learning-paths-2\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enseigner la physique informatique aux \u00e9tudiants dipl\u00f4m\u00e9s\" \/>\n<meta property=\"og:description\" content=\"Explorez un parcours d&#039;apprentissage structur\u00e9 pour enseigner la physique informatique, des bases Python et des m\u00e9thodes num\u00e9riques aux projets HPC, FIPY, FENICS et de recherche.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-21T14:28: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=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/teaching-computational-physics-graduate-students-learning-paths-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/teaching-computational-physics-graduate-students-learning-paths-2\\\/\"},\"author\":{\"name\":\"Elena Markovska\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"headline\":\"Enseignement de la physique computationnelle\u00a0: parcours d&rsquo;apprentissage structur\u00e9s pour les \u00e9tudiants dipl\u00f4m\u00e9s\",\"datePublished\":\"2026-08-21T14:28:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/teaching-computational-physics-graduate-students-learning-paths-2\\\/\"},\"wordCount\":2976,\"commentCount\":0,\"articleSection\":[\"Simulation &amp; Projets de mod\u00e9lisation\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/teaching-computational-physics-graduate-students-learning-paths-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/teaching-computational-physics-graduate-students-learning-paths-2\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/fr\\\/teaching-computational-physics-graduate-students-learning-paths-2\\\/\",\"name\":\"Enseigner la physique informatique aux \u00e9tudiants dipl\u00f4m\u00e9s\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-08-21T14:28:32+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"description\":\"Explorez un parcours d'apprentissage structur\u00e9 pour enseigner la physique informatique, des bases Python et des m\u00e9thodes num\u00e9riques aux projets HPC, FIPY, FENICS et de recherche.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/teaching-computational-physics-graduate-students-learning-paths-2\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/teaching-computational-physics-graduate-students-learning-paths-2\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/teaching-computational-physics-graduate-students-learning-paths-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enseignement de la physique computationnelle\u00a0: parcours d&#8217;apprentissage structur\u00e9s pour les \u00e9tudiants dipl\u00f4m\u00e9s\"}]},{\"@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":"Enseigner la physique informatique aux \u00e9tudiants dipl\u00f4m\u00e9s","description":"Explorez un parcours d'apprentissage structur\u00e9 pour enseigner la physique informatique, des bases Python et des m\u00e9thodes num\u00e9riques aux projets HPC, FIPY, FENICS et de recherche.","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\/teaching-computational-physics-graduate-students-learning-paths-2\/","og_locale":"fr_FR","og_type":"article","og_title":"Enseigner la physique informatique aux \u00e9tudiants dipl\u00f4m\u00e9s","og_description":"Explorez un parcours d'apprentissage structur\u00e9 pour enseigner la physique informatique, des bases Python et des m\u00e9thodes num\u00e9riques aux projets HPC, FIPY, FENICS et de recherche.","og_url":"https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/","og_site_name":"matforge.org","article_published_time":"2026-08-21T14:28:32+00:00","author":"Elena Markovska","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Elena Markovska","Dur\u00e9e de lecture estim\u00e9e":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/"},"author":{"name":"Elena Markovska","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"headline":"Enseignement de la physique computationnelle\u00a0: parcours d&rsquo;apprentissage structur\u00e9s pour les \u00e9tudiants dipl\u00f4m\u00e9s","datePublished":"2026-08-21T14:28:32+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/"},"wordCount":2976,"commentCount":0,"articleSection":["Simulation &amp; Projets de mod\u00e9lisation"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/","url":"https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/","name":"Enseigner la physique informatique aux \u00e9tudiants dipl\u00f4m\u00e9s","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-08-21T14:28:32+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"description":"Explorez un parcours d'apprentissage structur\u00e9 pour enseigner la physique informatique, des bases Python et des m\u00e9thodes num\u00e9riques aux projets HPC, FIPY, FENICS et de recherche.","breadcrumb":{"@id":"https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/fr\/teaching-computational-physics-graduate-students-learning-paths-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/"},{"@type":"ListItem","position":2,"name":"Enseignement de la physique computationnelle\u00a0: parcours d&#8217;apprentissage structur\u00e9s pour les \u00e9tudiants dipl\u00f4m\u00e9s"}]},{"@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\/1246","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=1246"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1246\/revisions"}],"predecessor-version":[{"id":1344,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1246\/revisions\/1344"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=1246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=1246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=1246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}