{"id":1169,"date":"2026-08-21T14:25:44","date_gmt":"2026-08-21T14:25:44","guid":{"rendered":"https:\/\/matforge.org\/?p=1169","raw":"https:\/\/matforge.org\/?p=1169"},"modified":"2026-08-21T14:25:44","modified_gmt":"2026-08-21T14:25:44","slug":"working-through-your-first-fipy-example","status":"publish","type":"post","link":"https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/","title":{"rendered":"Travailler \u00e0 travers votre premier exemple FIPY","raw":"Travailler \u00e0 travers votre premier exemple FIPY"},"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\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>FIPY est un cadre bas\u00e9 sur Python pour r\u00e9soudre les \u00e9quations aux d\u00e9riv\u00e9es partielles (PDE) \u00e0 l&rsquo;aide de la m\u00e9thode du volume fini. Si vous d\u00e9butez sur Fipy, le moyen le plus rapide de \u00ab\u00a0l&rsquo;obtenir\u00a0\u00bb est d&rsquo;ex\u00e9cuter un petit exemple de bout en bout et de comprendre de quoi chaque \u00e9l\u00e9ment de code est responsable.<\/p>\n<p>Dans ce didacticiel, vous cr\u00e9erez une simulation de diffusion 1D minimale (pensez \u00e0 la chaleur qui se r\u00e9pand \u00e0 travers une tige ou \u00e0 un pic de concentration au fil du temps). \u00c0 la fin, vous conna\u00eetrez le flux de travail de base de Fipy&nbsp;: <em>Mesh \u2192 Variable \u2192 \u00c9quation \u2192 Boucle temporelle \u2192 Visualisation<\/em>, et vous pourrez modifier en toute s\u00e9curit\u00e9 les param\u00e8tres pour voir comment le mod\u00e8le r\u00e9agit.<\/p>\n<h2>Avant de commencer&nbsp;: ce dont vous avez besoin<\/h2>\n<p>Vous aurez besoin de Python install\u00e9 et d&rsquo;un environnement de travail capable d&rsquo;ex\u00e9cuter des packages scientifiques. FIPY s&rsquo;appuie g\u00e9n\u00e9ralement sur des biblioth\u00e8ques num\u00e9riques et de tra\u00e7age courantes.<\/p>\n<h3>Liste de v\u00e9rification de l&rsquo;environnement rapide<\/h3>\n<ul>\n<li>Python install\u00e9 (une version moderne est recommand\u00e9e)<\/li>\n<li>Un environnement virtuel (recommand\u00e9) pour garder les d\u00e9pendances propres<\/li>\n<li>FIPY install\u00e9 avec ses d\u00e9pendances num\u00e9riques<\/li>\n<li>matplotlib disponible pour le tra\u00e7age<\/li>\n<\/ul>\n<p>Si vous suivez cela dans un ordinateur portable, c&rsquo;est tr\u00e8s bien aussi, soyez coh\u00e9rent dans l&rsquo;ex\u00e9cution des cellules dans l&rsquo;ordre.<\/p>\n<h2>Ce que nous construisons : un simple mod\u00e8le de diffusion 1D<\/h2>\n<p>La diffusion est l&rsquo;un des meilleurs \u00ab\u00a0premier exemples\u00a0\u00bb car il est intuitif et stable lorsqu&rsquo;il est configur\u00e9 correctement. Vous commencez par un champ (temp\u00e9rature ou concentration) qui a une caract\u00e9ristique pointue, comme un pas ou une pointe, et la diffusion lisse progressivement.<\/p>\n<p>Conceptuellement, vous devez vous attendre \u00e0 ce que la courbe s&rsquo;aplatit avec le temps. Si le pic ne change pas du tout, le mod\u00e8le n&rsquo;avance pas ; Si la courbe devient bruyante ou explose, votre pas de temps ou votre configuration doit probablement \u00eatre ajust\u00e9.<\/p>\n<h2>Les blocs de construction Fipy (expliqu\u00e9s)<\/h2>\n<h3>1) Mesh : votre domaine de simulation<\/h3>\n<p>Un maillage d\u00e9finit la g\u00e9om\u00e9trie et la r\u00e9solution de votre probl\u00e8me. En 1D, il s&rsquo;agit d&rsquo;une ligne divis\u00e9e en petites cellules. Plus de cellules signifie g\u00e9n\u00e9ralement de meilleurs d\u00e9tails, mais aussi plus de calculs.<\/p>\n<ul>\n<li><code>nx<\/code>&nbsp;: nombre de cellules<\/li>\n<li><code>dx<\/code>&nbsp;: Taille de la cellule (\u00e9tape spatiale)<\/li>\n<li>La longueur du domaine est \u00e0 peu pr\u00e8s <code>nx * dx<\/code><\/li>\n<\/ul>\n<h3>2) Variable : le champ pour lequel vous r\u00e9solvez<\/h3>\n<p>Dans FIPY, le champ inconnu est souvent stock\u00e9 sous la forme d&rsquo;un <code>CellVariable<\/code> (valeurs aux centres de cellules). Vous lui donnez une valeur initiale (votre condition de d\u00e9part), puis Fipy la met \u00e0 jour au fur et \u00e0 mesure que l&rsquo;\u00e9quation est r\u00e9solue au fil du temps.<\/p>\n<h3>3) Conditions aux limites&nbsp;: ce qui se passe sur les bords<\/h3>\n<p>Les conditions aux limites sont essentielles car les PDE ont besoin de \u00ab&nbsp;r\u00e8gles&nbsp;\u00bb aux limites du domaine. Deux mod\u00e8les communs :<\/p>\n<ul>\n<li>Valeur fixe (Dirichlet)&nbsp;: le champ est \u00e9pingl\u00e9 \u00e0 une constante sur une ar\u00eate.<\/li>\n<li>No-Flux (Neumann)&nbsp;: Rien ne passe par la limite (d\u00e9faut courant pour les d\u00e9mos de diffusion).<\/li>\n<\/ul>\n<p>Pour une premi\u00e8re ex\u00e9cution, il est souvent plus facile d&rsquo;utiliser des limites sans flux, de sorte que la solution \u00e9volue sans forcer suppl\u00e9mentaire depuis les bords.<\/p>\n<h3>4) \u00c9quation&nbsp;: comment Fipy repr\u00e9sente une PDE<\/h3>\n<p>Fipy construit des PDE \u00e0 l&rsquo;aide d'\u00a0\u00bbobjets \u00e0 terme\u00a0\u00bb. Pour la diffusion dans le temps, la structure ressemble souvent \u00e0 :<\/p>\n<pre><code>TransientTerm() == DiffusionTerm(coeff=D)<\/code><\/pre>\n<p>Cela se lit comme suit&nbsp;: \u00ab\u00a0Le changement d&rsquo;heure est \u00e9gal \u00e0 la diffusion.\u00a0\u00bb Le coefficient de diffusion <code>D<\/code> contr\u00f4le la rapidit\u00e9 avec laquelle le champ se lisse.<\/p>\n<h3>5) Pas de temps&nbsp;: faire avancer la solution<\/h3>\n<p>Vous choisissez un pas de temps <code>dt<\/code>, puis r\u00e9solvez l&rsquo;\u00e9quation \u00e0 plusieurs reprises. Un bon <code>dt<\/code> est suffisamment grand pour que vous voyiez des progr\u00e8s, mais pas si importants que les r\u00e9sultats deviennent instables ou inexacts.<\/p>\n<h3>6) Visualisation&nbsp;: voir ce qui s&rsquo;est pass\u00e9<\/h3>\n<p>Vous pouvez visualiser avec les outils de visionneuse de Fipy ou avec MatPlotlib. Pour un premier exemple, MatPlotlib est simple et portable, et il est \u00e9galement facile d&rsquo;enregistrer les trac\u00e9s.<\/p>\n<h2>Votre premier exemple FIPY en \u00e9tat de marche (1D Diffusion)<\/h2>\n<p>Vous trouverez ci-dessous un exemple minimal complet que vous pouvez ex\u00e9cuter en tant que script. Il construit une grille 1D, cr\u00e9e un champ avec une condition initiale \u00ab\u00a0\u00e9tape\u00a0\u00bb, puis r\u00e9sout la diffusion dans le temps et trace les instantan\u00e9s.<\/p>\n<p><!----><\/p>\n<h2>Essayez ces 6 petits changements pour apprendre plus rapidement<\/h2>\n<ol>\n<li>Augmenter la r\u00e9solution&nbsp;: modifiez <code>nx<\/code> de 200 \u00e0 400&nbsp;et voir comment la courbe semble plus lisse.<\/li>\n<li>Modifiez la vitesse de diffusion&nbsp;: d\u00e9finissez <code>D<\/code> sur 0,1 (plus lent) ou 5,0 (plus rapide) et comparez.<\/li>\n<li>Modifiez la forme initiale : remplacez l&rsquo;\u00e9tape par un \u00ab bosse \u00bb en d\u00e9finissant une r\u00e9gion \u00e9troite sur 1,0.<\/li>\n<li>Capturez plus de snapshots&nbsp;: ajoutez plus d&rsquo;indices d&rsquo;\u00e9tape dans <code>capture_at<\/code> pour voir la transition en d\u00e9tail.<\/li>\n<li>Ex\u00e9cutez plus longtemps&nbsp;: augmentez <code>steps<\/code> et confirmez que le profil se rapproche d&rsquo;un \u00e9tat plus uniforme.<\/li>\n<li>Enregistrez le trac\u00e9&nbsp;: ajoutez <code>plt.savefig(\"diffusion.png\", dpi=200)<\/code> avant <code>plt.show()<\/code>.<\/li>\n<\/ol>\n<h2>D\u00e9pannage&nbsp;: probl\u00e8mes courants de \u00ab\u00a0premi\u00e8re ex\u00e9cution\u00a0\u00bb<\/h2>\n<h3>La ligne ne change pas<\/h3>\n<ul>\n<li>Vous pouvez capturer des instantan\u00e9s avant l&rsquo;\u00e9tape de r\u00e9solution et ne pas capturer les instants ult\u00e9rieurs.<\/li>\n<li><code>steps<\/code> est peut-\u00eatre trop faible ou <code>dt<\/code> peut \u00eatre extr\u00eamement petit.<\/li>\n<li>Si vous \u00eates dans un ordinateur portable, assurez-vous de relancer l&rsquo;int\u00e9gralit\u00e9 du bloc-notes de haut en bas.<\/li>\n<\/ul>\n<h3>La solution semble instable ou bruyante<\/h3>\n<ul>\n<li>Essayez de diminuer <code>dt<\/code> (par exemple, de <code>1e-4<\/code> \u00e0 <code>5e-5<\/code>).<\/li>\n<li>R\u00e9duire <code>D<\/code> ou augmenter la r\u00e9solution spatiale (<code>nx<\/code>) pour am\u00e9liorer le comportement.<\/li>\n<\/ul>\n<h3>Importer des erreurs<\/h3>\n<ul>\n<li>Confirmez que FIPY est install\u00e9 dans l&rsquo;environnement que vous ex\u00e9cutez.<\/li>\n<li>V\u00e9rifiez que vos biblioth\u00e8ques de tra\u00e7age\/num\u00e9rique sont install\u00e9es et import\u00e9es correctement.<\/li>\n<\/ul>\n<h2>\u00c9tapes suivantes apr\u00e8s votre premier exemple<\/h2>\n<p>Une fois que vous pouvez ex\u00e9cuter Diffusion en toute confiance, vous pouvez augmenter rapidement une dimension \u00e0 la fois&nbsp;:<\/p>\n<ul>\n<li>D\u00e9placez-vous vers un maillage 2D et visualisez un champ sous forme d&rsquo;image.<\/li>\n<li>Ajoutez un terme source au mod\u00e8le de chauffage, d&rsquo;injection ou de production.<\/li>\n<li>Essayez la convection-diffusion pour simuler le transport avec le flux.<\/li>\n<li>Exp\u00e9rimentez avec les balayages de param\u00e8tres et les contr\u00f4les de validation de base.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Votre premier exemple de Fipy concerne moins la physique que l&rsquo;apprentissage du flux de travail. Si vous comprenez comment le maillage, les variables, les \u00e9quations et le pas de temps se connectent, vous pouvez cr\u00e9er de nombreux mod\u00e8les PDE diff\u00e9rents en \u00e9changeant des termes et en ajustant les conditions.<\/p>\n<p>Le meilleur coup suivant est d&rsquo;apporter un petit changement, comme <code>D<\/code>, <code>nx<\/code>, ou la condition initiale, r\u00e9ex\u00e9cutez-le et expliquez-vous ce qui a chang\u00e9 et pourquoi. Cette boucle de \u00ab\u00a0Modifier \u2192 ex\u00e9cuter \u2192 interpr\u00e9ter\u00a0\u00bb est l&rsquo;endroit o\u00f9 Fipy commence \u00e0 se sentir naturel.<\/p>\n","protected":false,"raw":"<p>FIPY est un cadre bas\u00e9 sur Python pour r\u00e9soudre les \u00e9quations aux d\u00e9riv\u00e9es partielles (PDE) \u00e0 l'aide de la m\u00e9thode du volume fini. Si vous d\u00e9butez sur Fipy, le moyen le plus rapide de \"l'obtenir\" est d'ex\u00e9cuter un petit exemple de bout en bout et de comprendre de quoi chaque \u00e9l\u00e9ment de code est responsable.<\/p>\n<p>Dans ce didacticiel, vous cr\u00e9erez une simulation de diffusion 1D minimale (pensez \u00e0 la chaleur qui se r\u00e9pand \u00e0 travers une tige ou \u00e0 un pic de concentration au fil du temps). \u00c0 la fin, vous conna\u00eetrez le flux de travail de base de Fipy&nbsp;: <em>Mesh \u2192 Variable \u2192 \u00c9quation \u2192 Boucle temporelle \u2192 Visualisation<\/em>, et vous pourrez modifier en toute s\u00e9curit\u00e9 les param\u00e8tres pour voir comment le mod\u00e8le r\u00e9agit.<\/p>\n<h2>Avant de commencer&nbsp;: ce dont vous avez besoin<\/h2>\n<p>Vous aurez besoin de Python install\u00e9 et d'un environnement de travail capable d'ex\u00e9cuter des packages scientifiques. FIPY s'appuie g\u00e9n\u00e9ralement sur des biblioth\u00e8ques num\u00e9riques et de tra\u00e7age courantes.<\/p>\n<h3>Liste de v\u00e9rification de l'environnement rapide<\/h3>\n<ul>\n<li>Python install\u00e9 (une version moderne est recommand\u00e9e)<\/li>\n<li>Un environnement virtuel (recommand\u00e9) pour garder les d\u00e9pendances propres<\/li>\n<li>FIPY install\u00e9 avec ses d\u00e9pendances num\u00e9riques<\/li>\n<li>matplotlib disponible pour le tra\u00e7age<\/li>\n<\/ul>\n<p>Si vous suivez cela dans un ordinateur portable, c'est tr\u00e8s bien aussi, soyez coh\u00e9rent dans l'ex\u00e9cution des cellules dans l'ordre.<\/p>\n<h2>Ce que nous construisons : un simple mod\u00e8le de diffusion 1D<\/h2>\n<p>La diffusion est l'un des meilleurs \"premier exemples\" car il est intuitif et stable lorsqu'il est configur\u00e9 correctement. Vous commencez par un champ (temp\u00e9rature ou concentration) qui a une caract\u00e9ristique pointue, comme un pas ou une pointe, et la diffusion lisse progressivement.<\/p>\n<p>Conceptuellement, vous devez vous attendre \u00e0 ce que la courbe s'aplatit avec le temps. Si le pic ne change pas du tout, le mod\u00e8le n'avance pas ; Si la courbe devient bruyante ou explose, votre pas de temps ou votre configuration doit probablement \u00eatre ajust\u00e9.<\/p>\n<h2>Les blocs de construction Fipy (expliqu\u00e9s)<\/h2>\n<h3>1) Mesh : votre domaine de simulation<\/h3>\n<p>Un maillage d\u00e9finit la g\u00e9om\u00e9trie et la r\u00e9solution de votre probl\u00e8me. En 1D, il s'agit d'une ligne divis\u00e9e en petites cellules. Plus de cellules signifie g\u00e9n\u00e9ralement de meilleurs d\u00e9tails, mais aussi plus de calculs.<\/p>\n<ul>\n<li><code>nx<\/code>&nbsp;: nombre de cellules<\/li>\n<li><code>dx<\/code>&nbsp;: Taille de la cellule (\u00e9tape spatiale)<\/li>\n<li>La longueur du domaine est \u00e0 peu pr\u00e8s <code>nx * dx<\/code><\/li>\n<\/ul>\n<h3>2) Variable : le champ pour lequel vous r\u00e9solvez<\/h3>\n<p>Dans FIPY, le champ inconnu est souvent stock\u00e9 sous la forme d'un <code>CellVariable<\/code> (valeurs aux centres de cellules). Vous lui donnez une valeur initiale (votre condition de d\u00e9part), puis Fipy la met \u00e0 jour au fur et \u00e0 mesure que l'\u00e9quation est r\u00e9solue au fil du temps.<\/p>\n<h3>3) Conditions aux limites&nbsp;: ce qui se passe sur les bords<\/h3>\n<p>Les conditions aux limites sont essentielles car les PDE ont besoin de \u00ab&nbsp;r\u00e8gles&nbsp;\u00bb aux limites du domaine. Deux mod\u00e8les communs :<\/p>\n<ul>\n<li>Valeur fixe (Dirichlet)&nbsp;: le champ est \u00e9pingl\u00e9 \u00e0 une constante sur une ar\u00eate.<\/li>\n<li>No-Flux (Neumann)&nbsp;: Rien ne passe par la limite (d\u00e9faut courant pour les d\u00e9mos de diffusion).<\/li>\n<\/ul>\n<p>Pour une premi\u00e8re ex\u00e9cution, il est souvent plus facile d'utiliser des limites sans flux, de sorte que la solution \u00e9volue sans forcer suppl\u00e9mentaire depuis les bords.<\/p>\n<h3>4) \u00c9quation&nbsp;: comment Fipy repr\u00e9sente une PDE<\/h3>\n<p>Fipy construit des PDE \u00e0 l'aide d'\"objets \u00e0 terme\". Pour la diffusion dans le temps, la structure ressemble souvent \u00e0 :<\/p>\n<pre><code>TransientTerm() == DiffusionTerm(coeff=D)<\/code><\/pre>\n<p>Cela se lit comme suit&nbsp;: \"Le changement d'heure est \u00e9gal \u00e0 la diffusion.\" Le coefficient de diffusion <code>D<\/code> contr\u00f4le la rapidit\u00e9 avec laquelle le champ se lisse.<\/p>\n<h3>5) Pas de temps&nbsp;: faire avancer la solution<\/h3>\n<p>Vous choisissez un pas de temps <code>dt<\/code>, puis r\u00e9solvez l'\u00e9quation \u00e0 plusieurs reprises. Un bon <code>dt<\/code> est suffisamment grand pour que vous voyiez des progr\u00e8s, mais pas si importants que les r\u00e9sultats deviennent instables ou inexacts.<\/p>\n<h3>6) Visualisation&nbsp;: voir ce qui s'est pass\u00e9<\/h3>\n<p>Vous pouvez visualiser avec les outils de visionneuse de Fipy ou avec MatPlotlib. Pour un premier exemple, MatPlotlib est simple et portable, et il est \u00e9galement facile d'enregistrer les trac\u00e9s.<\/p>\n<h2>Votre premier exemple FIPY en \u00e9tat de marche (1D Diffusion)<\/h2>\n<p>Vous trouverez ci-dessous un exemple minimal complet que vous pouvez ex\u00e9cuter en tant que script. Il construit une grille 1D, cr\u00e9e un champ avec une condition initiale \"\u00e9tape\", puis r\u00e9sout la diffusion dans le temps et trace les instantan\u00e9s.<\/p>\n<p><!----><\/p>\n<h2>Essayez ces 6 petits changements pour apprendre plus rapidement<\/h2>\n<ol>\n<li>Augmenter la r\u00e9solution&nbsp;: modifiez <code>nx<\/code> de 200 \u00e0 400&nbsp;et voir comment la courbe semble plus lisse.<\/li>\n<li>Modifiez la vitesse de diffusion&nbsp;: d\u00e9finissez <code>D<\/code> sur 0,1 (plus lent) ou 5,0 (plus rapide) et comparez.<\/li>\n<li>Modifiez la forme initiale : remplacez l'\u00e9tape par un \u00ab bosse \u00bb en d\u00e9finissant une r\u00e9gion \u00e9troite sur 1,0.<\/li>\n<li>Capturez plus de snapshots&nbsp;: ajoutez plus d'indices d'\u00e9tape dans <code>capture_at<\/code> pour voir la transition en d\u00e9tail.<\/li>\n<li>Ex\u00e9cutez plus longtemps&nbsp;: augmentez <code>steps<\/code> et confirmez que le profil se rapproche d'un \u00e9tat plus uniforme.<\/li>\n<li>Enregistrez le trac\u00e9&nbsp;: ajoutez <code>plt.savefig(\"diffusion.png\", dpi=200)<\/code> avant <code>plt.show()<\/code>.<\/li>\n<\/ol>\n<h2>D\u00e9pannage&nbsp;: probl\u00e8mes courants de \"premi\u00e8re ex\u00e9cution\"<\/h2>\n<h3>La ligne ne change pas<\/h3>\n<ul>\n<li>Vous pouvez capturer des instantan\u00e9s avant l'\u00e9tape de r\u00e9solution et ne pas capturer les instants ult\u00e9rieurs.<\/li>\n<li><code>steps<\/code> est peut-\u00eatre trop faible ou <code>dt<\/code> peut \u00eatre extr\u00eamement petit.<\/li>\n<li>Si vous \u00eates dans un ordinateur portable, assurez-vous de relancer l'int\u00e9gralit\u00e9 du bloc-notes de haut en bas.<\/li>\n<\/ul>\n<h3>La solution semble instable ou bruyante<\/h3>\n<ul>\n<li>Essayez de diminuer <code>dt<\/code> (par exemple, de <code>1e-4<\/code> \u00e0 <code>5e-5<\/code>).<\/li>\n<li>R\u00e9duire <code>D<\/code> ou augmenter la r\u00e9solution spatiale (<code>nx<\/code>) pour am\u00e9liorer le comportement.<\/li>\n<\/ul>\n<h3>Importer des erreurs<\/h3>\n<ul>\n<li>Confirmez que FIPY est install\u00e9 dans l'environnement que vous ex\u00e9cutez.<\/li>\n<li>V\u00e9rifiez que vos biblioth\u00e8ques de tra\u00e7age\/num\u00e9rique sont install\u00e9es et import\u00e9es correctement.<\/li>\n<\/ul>\n<h2>\u00c9tapes suivantes apr\u00e8s votre premier exemple<\/h2>\n<p>Une fois que vous pouvez ex\u00e9cuter Diffusion en toute confiance, vous pouvez augmenter rapidement une dimension \u00e0 la fois&nbsp;:<\/p>\n<ul>\n<li>D\u00e9placez-vous vers un maillage 2D et visualisez un champ sous forme d'image.<\/li>\n<li>Ajoutez un terme source au mod\u00e8le de chauffage, d'injection ou de production.<\/li>\n<li>Essayez la convection-diffusion pour simuler le transport avec le flux.<\/li>\n<li>Exp\u00e9rimentez avec les balayages de param\u00e8tres et les contr\u00f4les de validation de base.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Votre premier exemple de Fipy concerne moins la physique que l'apprentissage du flux de travail. Si vous comprenez comment le maillage, les variables, les \u00e9quations et le pas de temps se connectent, vous pouvez cr\u00e9er de nombreux mod\u00e8les PDE diff\u00e9rents en \u00e9changeant des termes et en ajustant les conditions.<\/p>\n<p>Le meilleur coup suivant est d'apporter un petit changement, comme <code>D<\/code>, <code>nx<\/code>, ou la condition initiale, r\u00e9ex\u00e9cutez-le et expliquez-vous ce qui a chang\u00e9 et pourquoi. Cette boucle de \"Modifier \u2192 ex\u00e9cuter \u2192 interpr\u00e9ter\" est l'endroit o\u00f9 Fipy commence \u00e0 se sentir naturel.<\/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\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>FIPY est un cadre bas\u00e9 sur Python pour r\u00e9soudre les \u00e9quations aux d\u00e9riv\u00e9es partielles (PDE) \u00e0 l&rsquo;aide de la m\u00e9thode du volume fini. Si vous d\u00e9butez sur Fipy, le moyen le plus rapide de \u00ab\u00a0l&rsquo;obtenir\u00a0\u00bb est d&rsquo;ex\u00e9cuter un petit exemple de bout en bout et de comprendre de quoi chaque \u00e9l\u00e9ment de code est responsable. [&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:\/\/new.matforge.org\/?p=52","iawp_total_views":1,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1169","post","type-post","status-publish","format-standard","hentry","category-fipy-documentation-examples-development","fr-FR"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Travailler \u00e0 travers votre premier exemple FIPY\u00a0: un guide \u00e9tape par \u00e9tape<\/title>\n<meta name=\"description\" content=\"Apprenez \u00e0 ex\u00e9cuter et \u00e0 comprendre votre premier exemple FIPY. Un guide pratique, \u00e9tape par \u00e9tape, sur les maillages, les variables, les \u00e9quations de diffusion et les r\u00e9sultats.\" \/>\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\/working-through-your-first-fipy-example\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Travailler \u00e0 travers votre premier exemple FIPY\u00a0: un guide \u00e9tape par \u00e9tape\" \/>\n<meta property=\"og:description\" content=\"Apprenez \u00e0 ex\u00e9cuter et \u00e0 comprendre votre premier exemple FIPY. Un guide pratique, \u00e9tape par \u00e9tape, sur les maillages, les variables, les \u00e9quations de diffusion et les r\u00e9sultats.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-21T14:25:44+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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/working-through-your-first-fipy-example\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/working-through-your-first-fipy-example\\\/\"},\"author\":{\"name\":\"Tomas Delgado\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/518cdd1f18dd092f4ed738d68e540061\"},\"headline\":\"Travailler \u00e0 travers votre premier exemple FIPY\",\"datePublished\":\"2026-08-21T14:25:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/working-through-your-first-fipy-example\\\/\"},\"wordCount\":1179,\"commentCount\":0,\"articleSection\":[\"FIPY : documentation, exemples &amp; D\u00e9veloppement\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/working-through-your-first-fipy-example\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/working-through-your-first-fipy-example\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/fr\\\/working-through-your-first-fipy-example\\\/\",\"name\":\"Travailler \u00e0 travers votre premier exemple FIPY\u00a0: un guide \u00e9tape par \u00e9tape\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-08-21T14:25:44+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/518cdd1f18dd092f4ed738d68e540061\"},\"description\":\"Apprenez \u00e0 ex\u00e9cuter et \u00e0 comprendre votre premier exemple FIPY. Un guide pratique, \u00e9tape par \u00e9tape, sur les maillages, les variables, les \u00e9quations de diffusion et les r\u00e9sultats.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/working-through-your-first-fipy-example\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/working-through-your-first-fipy-example\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/working-through-your-first-fipy-example\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Travailler \u00e0 travers votre premier exemple FIPY\"}]},{\"@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":"Travailler \u00e0 travers votre premier exemple FIPY\u00a0: un guide \u00e9tape par \u00e9tape","description":"Apprenez \u00e0 ex\u00e9cuter et \u00e0 comprendre votre premier exemple FIPY. Un guide pratique, \u00e9tape par \u00e9tape, sur les maillages, les variables, les \u00e9quations de diffusion et les r\u00e9sultats.","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\/working-through-your-first-fipy-example\/","og_locale":"fr_FR","og_type":"article","og_title":"Travailler \u00e0 travers votre premier exemple FIPY\u00a0: un guide \u00e9tape par \u00e9tape","og_description":"Apprenez \u00e0 ex\u00e9cuter et \u00e0 comprendre votre premier exemple FIPY. Un guide pratique, \u00e9tape par \u00e9tape, sur les maillages, les variables, les \u00e9quations de diffusion et les r\u00e9sultats.","og_url":"https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/","og_site_name":"matforge.org","article_published_time":"2026-08-21T14:25:44+00:00","author":"Tomas Delgado","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Tomas Delgado","Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/"},"author":{"name":"Tomas Delgado","@id":"https:\/\/matforge.org\/#\/schema\/person\/518cdd1f18dd092f4ed738d68e540061"},"headline":"Travailler \u00e0 travers votre premier exemple FIPY","datePublished":"2026-08-21T14:25:44+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/"},"wordCount":1179,"commentCount":0,"articleSection":["FIPY : documentation, exemples &amp; D\u00e9veloppement"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/","url":"https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/","name":"Travailler \u00e0 travers votre premier exemple FIPY\u00a0: un guide \u00e9tape par \u00e9tape","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-08-21T14:25:44+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/518cdd1f18dd092f4ed738d68e540061"},"description":"Apprenez \u00e0 ex\u00e9cuter et \u00e0 comprendre votre premier exemple FIPY. Un guide pratique, \u00e9tape par \u00e9tape, sur les maillages, les variables, les \u00e9quations de diffusion et les r\u00e9sultats.","breadcrumb":{"@id":"https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/fr\/working-through-your-first-fipy-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/"},{"@type":"ListItem","position":2,"name":"Travailler \u00e0 travers votre premier exemple FIPY"}]},{"@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\/1169","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=1169"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1169\/revisions"}],"predecessor-version":[{"id":1334,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1169\/revisions\/1334"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=1169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=1169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=1169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}