{"id":1178,"date":"2026-08-21T14:25:41","date_gmt":"2026-08-21T14:25:41","guid":{"rendered":"https:\/\/matforge.org\/?p=1178","raw":"https:\/\/matforge.org\/?p=1178"},"modified":"2026-08-21T14:25:41","modified_gmt":"2026-08-21T14:25:41","slug":"understanding-fipys-core-architecture","status":"publish","type":"post","link":"https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/","title":{"rendered":"Comprendre l&rsquo;architecture de base de Fipy","raw":"Comprendre l'architecture de base de 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\"> 6<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>FIPY est un solveur d&rsquo;\u00e9quations aux d\u00e9riv\u00e9es partielles \u00e0 volume fini (PDE) \u00e9crit en Python et con\u00e7u pour permettre aux chercheurs et aux ing\u00e9nieurs d&rsquo;exprimer des mod\u00e8les d&rsquo;une mani\u00e8re qui suit de pr\u00e8s la physique sous-jacente. De nombreux utilisateurs commencent par ex\u00e9cuter des exemples ou adapter des extraits, mais la productivit\u00e9 r\u00e9elle vient de la compr\u00e9hension de la fa\u00e7on dont Fipy est structur\u00e9 en interne et de la mani\u00e8re dont ses principaux composants interagissent. Une fois que vous avez un mod\u00e8le mental clair de l&rsquo;architecture de Fipy, le d\u00e9bogage devient plus facile, les mod\u00e8les \u00e9voluent plus naturellement et les d\u00e9cisions de performances ont plus de sens.<\/p>\n<p>Cet article explique l&rsquo;architecture de base de Fipy \u00e0 partir de z\u00e9ro. Au lieu de se concentrer sur les math\u00e9matiques lourdes, il se concentre sur la fa\u00e7on dont Fipy organise la g\u00e9om\u00e9trie, les donn\u00e9es, les \u00e9quations et les solveurs, et comment ces pi\u00e8ces s&#8217;embo\u00eetent lors d&rsquo;une simulation.<\/p>\n<h2>Le mod\u00e8le mental de Fipy en un seul flux<\/h2>\n<p>\u00c0 un niveau \u00e9lev\u00e9, Fipy suit un pipeline coh\u00e9rent :<\/p>\n<ul>\n<li>D\u00e9finir un maillage qui repr\u00e9sente la g\u00e9om\u00e9trie,<\/li>\n<li>D\u00e9finir des variables qui vivent sur ce maillage,<\/li>\n<li>construire des termes d&rsquo;\u00e9quation qui repr\u00e9sentent des processus physiques,<\/li>\n<li>Assemblez ces termes en \u00e9quations,<\/li>\n<li>r\u00e9soudre le syst\u00e8me r\u00e9sultant \u00e0 l&rsquo;aide d&rsquo;un solveur num\u00e9rique,<\/li>\n<li>progresser dans le temps et visualiser ou exporter les r\u00e9sultats.<\/li>\n<\/ul>\n<p>Chaque script Fipy, de l&rsquo;exemple de diffusion le plus simple aux mod\u00e8les complexes multiphysiques, suit cette m\u00eame structure. Comprendre chaque couche rend l&rsquo;ensemble du cadre pr\u00e9visible plut\u00f4t que magique.<\/p>\n<h2>La couche de maillage<\/h2>\n<h3>Ce qu&rsquo;un maillage repr\u00e9sente dans Fipy<\/h3>\n<p>Dans FIPY, le maillage repr\u00e9sente la discr\u00e9tisation spatiale du domaine physique. Il se compose de cellules (volumes t\u00e9moins) et de visages (interfaces entre les cellules). Les m\u00e9thodes de volumes finis fonctionnent en appliquant les lois de conservation sur chaque cellule, de sorte que les volumes de cellules et les zones faciales sont des quantit\u00e9s fondamentales.<\/p>\n<p>Chaque cellule stocke des informations sur son volume et son emplacement, tandis que chaque face stocke des informations g\u00e9om\u00e9triques telles que la zone et la direction normale. Ces propri\u00e9t\u00e9s g\u00e9om\u00e9triques sont utilis\u00e9es en interne lorsque FIPY calcule des flux sur les faces.<\/p>\n<h3>Types de maillage communs<\/h3>\n<p>La plupart des utilisateurs commencent avec des maillages structur\u00e9s uniformes en une, deux ou trois dimensions. Ceux-ci sont faciles \u00e0 raisonner et rapides \u00e0 calculer. Les m\u00eames concepts s&rsquo;appliquent quelle que soit leur dimension&nbsp;: un maillage bidimensionnel se comporte de la m\u00eame mani\u00e8re qu&rsquo;un maillage tridimensionnel du point de vue du solveur.<\/p>\n<p>La distinction importante \u00e0 garder \u00e0 l&rsquo;esprit n&rsquo;est pas la dimension, mais l\u00e0 o\u00f9 les quantit\u00e9s vivent : certaines valeurs sont associ\u00e9es aux cellules, tandis que d&rsquo;autres sont associ\u00e9es aux visages.<\/p>\n<h3>Donn\u00e9es de maillage que vous utilisez sans vous en rendre compte<\/h3>\n<p>De nombreuses op\u00e9rations FIPY reposent sur des attributs de maillage dans les coulisses. Les volumes de cellules, les zones de visage, les normales de face et les informations de connectivit\u00e9 sont toutes extraites du maillage lorsque les \u00e9quations sont assembl\u00e9es. Vous devez rarement les calculer manuellement, mais comprendre qu&rsquo;ils existent explique pourquoi FIPY conserve naturellement la masse, l&rsquo;\u00e9nergie ou d&rsquo;autres quantit\u00e9s.<\/p>\n<h2>La couche de variables<\/h2>\n<h3>Variables de cellule et variables de face<\/h3>\n<p>Les variables repr\u00e9sentent des champs physiques. Une variable de cellule stocke une valeur par cellule et est couramment utilis\u00e9e pour des quantit\u00e9s telles que la temp\u00e9rature, la concentration ou les param\u00e8tres d&rsquo;ordre des champs de phase. Une variable de visage stocke une valeur par face et est souvent utilis\u00e9e pour les flux ou les coefficients centr\u00e9s sur le visage.<\/p>\n<p>Cette distinction est au c\u0153ur de l&rsquo;architecture de Fipy. De nombreux nouveaux utilisateurs ont du mal lorsqu&rsquo;un coefficient est plac\u00e9 sur les cellules alors qu&rsquo;il doit \u00eatre sur le visage, ou vice versa. En cas de doute, demandez-vous si la quantit\u00e9 repr\u00e9sente quelque chose de moyenn\u00e9 sur un volume ou quelque chose de d\u00e9fini sur une interface.<\/p>\n<h3>Conditions aux limites en tant que contraintes<\/h3>\n<p>Les conditions aux limites de FIPY sont impl\u00e9ment\u00e9es en tant que contraintes sur les variables. Une condition aux limites \u00e0 valeur fixe limite la valeur d&rsquo;une variable aux faces s\u00e9lectionn\u00e9es, tandis que les conditions de type flux influencent la fa\u00e7on dont les termes contribuent \u00e0 l&rsquo;assemblage de l&rsquo;\u00e9quation.<\/p>\n<p>\u00c9tant donn\u00e9 que les conditions aux limites sont attach\u00e9es \u00e0 des variables plut\u00f4t qu&rsquo;\u00e0 des solveurs, elles s&rsquo;int\u00e8grent proprement au processus de construction d&rsquo;\u00e9quations. Cette conception maintient les \u00e9quations modulaires et plus faciles \u00e0 modifier.<\/p>\n<h3>Des valeurs anciennes et nouvelles dans les probl\u00e8mes d\u00e9pendant du temps<\/h3>\n<p>Pour les probl\u00e8mes de transitoires, Fipy suit les valeurs actuelles et pr\u00e9c\u00e9dentes des variables. Cela permet aux sch\u00e9mas de discr\u00e9tisation temporelle de comparer les \u00e9tats anciens et nouveaux lors de l&rsquo;assemblage de termes transitoires. L&rsquo;int\u00e9gration temporelle explicite et implicite repose sur ce m\u00e9canisme.<\/p>\n<h2>Les termes couche<\/h2>\n<h3>Pourquoi Fipy utilise des termes<\/h3>\n<p>Les termes sont les \u00e9l\u00e9ments constitutifs des \u00e9quations de Fipy. Chaque terme repr\u00e9sente une contribution physique, telle que la diffusion, la convection, une source ou une composante transitoire. Au lieu d&rsquo;\u00e9crire une grande \u00e9quation monolithique, vous composez une \u00e9quation en additionnant des termes.<\/p>\n<p>Cette approche modulaire rend les \u00e9quations lisibles et flexibles. Ajouter ou supprimer la physique signifie souvent ajouter ou supprimer un terme, plut\u00f4t que de r\u00e9\u00e9crire l&rsquo;ensemble du mod\u00e8le.<\/p>\n<h3>Termes courants que vous rencontrerez<\/h3>\n<p>Un terme transitoire repr\u00e9sente la d\u00e9pendance au temps. Les termes de diffusion repr\u00e9sentent les gradients qui g\u00e9n\u00e8rent des flux. Les termes de convection repr\u00e9sentent le transport par un champ de vitesse. Les termes sources repr\u00e9sentent la g\u00e9n\u00e9ration ou la consommation locale. Chaque terme sait se discr\u00e9diter sur le maillage.<\/p>\n<h3>Comportement implicite et explicite<\/h3>\n<p>Les termes peuvent \u00eatre trait\u00e9s de mani\u00e8re implicite ou explicite. Les termes implicites contribuent \u00e0 la matrice du syst\u00e8me et am\u00e9liorent g\u00e9n\u00e9ralement la stabilit\u00e9, en particulier pour les probl\u00e8mes difficiles. Les termes explicites ne contribuent qu&rsquo;\u00e0 la droite et n\u00e9cessitent souvent des pas de temps plus petits pour la stabilit\u00e9.<\/p>\n<p>Choisir les termes implicites est l&rsquo;une des d\u00e9cisions architecturales les plus importantes d&rsquo;un mod\u00e8le FIPY. Les mauvais choix se manifestent souvent par des simulations instables ou des pas de temps extr\u00eamement petits.<\/p>\n<h2>Assemblage \u00e9quation<\/h2>\n<h3>De l&rsquo;expression symbolique au syst\u00e8me lin\u00e9aire<\/h3>\n<p>Lorsque vous combinez des termes dans une \u00e9quation, Fipy assemble un syst\u00e8me lin\u00e9aire en interne. Chaque terme apporte des entr\u00e9es \u00e0 une matrice et \u00e0 un vecteur de droite en fonction de la g\u00e9om\u00e9trie du maillage, des valeurs des variables et des coefficients.<\/p>\n<p>Les utilisateurs interagissent rarement directement avec ces matrices, mais la compr\u00e9hension qu&rsquo;elles existent explique pourquoi le choix du solveur et le conditionnement sont importants.<\/p>\n<h3>\u00e9quations coupl\u00e9es<\/h3>\n<p>De nombreux probl\u00e8mes r\u00e9els impliquent plusieurs variables r\u00e9gies par des \u00e9quations coupl\u00e9es. FIPY soutient cela en permettant de r\u00e9soudre ensemble des syst\u00e8mes d&rsquo;\u00e9quations. Les r\u00e9solutions coupl\u00e9es sont plus co\u00fbteuses mais n\u00e9cessaires lorsque les variables d\u00e9pendent fortement les unes des autres.<\/p>\n<h3>Probl\u00e8mes non lin\u00e9aires<\/h3>\n<p>Des non-lin\u00e9arit\u00e9s surviennent lorsque les coefficients d\u00e9pendent de la solution elle-m\u00eame. FIPY g\u00e8re cela \u00e0 travers des strat\u00e9gies de solution it\u00e9ratives, o\u00f9 les \u00e9quations sont r\u00e9assembl\u00e9es et r\u00e9solues \u00e0 plusieurs reprises jusqu&rsquo;\u00e0 ce que les crit\u00e8res de convergence soient remplis.<\/p>\n<h2>La couche de solveur<\/h2>\n<h3>Solveurs lin\u00e9aires et it\u00e9ration<\/h3>\n<p>Les solveurs fonctionnent sur le syst\u00e8me lin\u00e9aire assembl\u00e9. Ils calculent les mises \u00e0 jour des valeurs de variables qui r\u00e9duisent le r\u00e9sidu. Pour les probl\u00e8mes non lin\u00e9aires, des r\u00e9solutions lin\u00e9aires se produisent \u00e0 l&rsquo;int\u00e9rieur d&rsquo;une boucle d&rsquo;it\u00e9ration externe.<\/p>\n<p>Les performances du solveur d\u00e9pendent de la taille du probl\u00e8me, de la structure matricielle et des choix de param\u00e8tres. Alors que les valeurs par d\u00e9faut fonctionnent souvent pour de petits probl\u00e8mes, les simulations de grande taille n\u00e9cessitent un r\u00e9glage plus minutieux.<\/p>\n<h3>Diagnostic et convergence<\/h3>\n<p>Les normes r\u00e9siduelles, le nombre d&rsquo;it\u00e9rations et le comportement de convergence fournissent une r\u00e9troaction critique. Si un solveur stagne ou diverge, il indique souvent des probl\u00e8mes avec des conditions aux limites, des choix de discr\u00e9tisation ou une taille de pas de temps.<\/p>\n<h2>Contr\u00f4le de pas de temps et de simulation<\/h2>\n<h3>La boucle temporelle typique<\/h3>\n<p>La plupart des simulations FIPY utilisent une boucle temporelle explicite. \u00c0 chaque \u00e9tape, les \u00e9quations sont r\u00e9solues, les variables sont mises \u00e0 jour et les r\u00e9sultats peuvent \u00eatre visualis\u00e9s ou enregistr\u00e9s. La taille du pas de temps contr\u00f4le \u00e0 la fois la stabilit\u00e9 et la pr\u00e9cision.<\/p>\n<h3>Crit\u00e8re d&rsquo;arr\u00eat<\/h3>\n<p>Une simulation peut s&rsquo;arr\u00eater apr\u00e8s un temps physique fixe ou lorsqu&rsquo;un \u00e9tat stable est atteint. La d\u00e9tection d&rsquo;un \u00e9tat stable implique souvent la surveillance des changements dans les variables ou les quantit\u00e9s int\u00e9gr\u00e9es.<\/p>\n<h2>Visualisation, exportation et reproductibilit\u00e9<\/h2>\n<h3>Visionneuses interactives<\/h3>\n<p>Les t\u00e9l\u00e9spectateurs fournissent une r\u00e9troaction imm\u00e9diate pendant le d\u00e9veloppement. Ils aident \u00e0 d\u00e9tecter rapidement les erreurs, telles que des conditions aux limites incorrectes ou des discr\u00e9tisations instables. Les probl\u00e8mes de visionneuse dans les environnements sans t\u00eate sont courants et n&rsquo;indiquent pas de d\u00e9faillance num\u00e9rique.<\/p>\n<h3>Exportation des r\u00e9sultats<\/h3>\n<p>Pour une analyse s\u00e9rieuse, les r\u00e9sultats doivent \u00eatre \u00e9crits dans des fichiers ainsi que des m\u00e9tadonn\u00e9es d\u00e9crivant les param\u00e8tres de maillage, de param\u00e8tres et de solveur. Cela prend en charge la reproductibilit\u00e9 et le post-traitement.<\/p>\n<h2>Erreurs d&rsquo;architecture courantes<\/h2>\n<h3>Des quantit\u00e9s confondues bas\u00e9es sur les cellules et le visage<\/h3>\n<p>De nombreux bogues d\u00e9coulent de la mise sur les coefficients de mauvaises entit\u00e9s g\u00e9om\u00e9triques. V\u00e9rifiez toujours si une quantit\u00e9 repr\u00e9sente une valeur de volume moyen ou un flux sur les faces.<\/p>\n<h3>Surutilisation des termes explicites<\/h3>\n<p>Un traitement explicite excessif force souvent de tr\u00e8s petits pas de temps. D\u00e9placer la physique rigide dans des termes implicites am\u00e9liore g\u00e9n\u00e9ralement la stabilit\u00e9 et l&rsquo;efficacit\u00e9.<\/p>\n<h3>Ignorer les diagnostics<\/h3>\n<p>Une simulation qui s&rsquo;ex\u00e9cute n&rsquo;est pas forc\u00e9ment correcte. Il est essentiel de surveiller les r\u00e9sidus, les quantit\u00e9s conserv\u00e9es et le comportement de convergence.<\/p>\n<h2>Feuille de triche d&rsquo;architecture FIPY<\/h2>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Composant<\/th>\n<th>R\u00f4le<\/th>\n<th>Contr\u00f4les utilisateur<\/th>\n<th>Pi\u00e8ges courants<\/th>\n<\/tr>\n<tr>\n<td>Engrener<\/td>\n<td>G\u00e9om\u00e9trie et topologie<\/td>\n<td>R\u00e9solution, dimension<\/td>\n<td>Mauvaise r\u00e9solution, mauvaise dimension<\/td>\n<\/tr>\n<tr>\n<td>variables<\/td>\n<td>Champs physiques<\/td>\n<td>Valeurs initiales, contraintes<\/td>\n<td>Cellule vs confusion<\/td>\n<\/tr>\n<tr>\n<td>Termes<\/td>\n<td>Les processus physiques<\/td>\n<td>Forme implicite ou explicite<\/td>\n<td>Instabilit\u00e9 des mauvais choix<\/td>\n<\/tr>\n<tr>\n<td>\u00e9quations<\/td>\n<td>Assemblage du syst\u00e8me<\/td>\n<td>Structure de couplage<\/td>\n<td>Couplage trop complexe<\/td>\n<\/tr>\n<tr>\n<td>solveurs<\/td>\n<td>solution num\u00e9rique<\/td>\n<td>Tol\u00e9rances, it\u00e9rations<\/td>\n<td>Divergence ou convergence lente<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Quand l&rsquo;architecture de Fipy est un bon choix<\/h2>\n<p>FIPY excelle dans le prototypage rapide de mod\u00e8les PDE, des simulations de recherche et une utilisation \u00e9ducative. Son architecture favorise la clart\u00e9 et la modularit\u00e9 plut\u00f4t que la sp\u00e9cialisation extr\u00eame. Probl\u00e8mes n\u00e9cessitant des g\u00e9om\u00e9tries exotiques ou des solveurs hautement sp\u00e9cialis\u00e9s peuvent n\u00e9cessiter diff\u00e9rents outils, mais pour de nombreux probl\u00e8mes de transport et de champ de phase, la structure de Fipy est une correspondance solide.<\/p>\n<h2>Conclusion<\/h2>\n<p>L&rsquo;architecture de Fipy peut \u00eatre r\u00e9sum\u00e9e simplement&nbsp;: un maillage d\u00e9finit la g\u00e9om\u00e9trie, les variables stockent les champs physiques, les termes repr\u00e9sentent la physique, les \u00e9quations assemblent les syst\u00e8mes, les solveurs et les boucles temporelles font progresser la solution. Une fois que ce mod\u00e8le mental est clair, Fipy devient plus facile \u00e0 raisonner, plus facile \u00e0 d\u00e9boguer et plus puissant en tant qu&rsquo;outil de recherche.<\/p>\n","protected":false,"raw":"<p>FIPY est un solveur d'\u00e9quations aux d\u00e9riv\u00e9es partielles \u00e0 volume fini (PDE) \u00e9crit en Python et con\u00e7u pour permettre aux chercheurs et aux ing\u00e9nieurs d'exprimer des mod\u00e8les d'une mani\u00e8re qui suit de pr\u00e8s la physique sous-jacente. De nombreux utilisateurs commencent par ex\u00e9cuter des exemples ou adapter des extraits, mais la productivit\u00e9 r\u00e9elle vient de la compr\u00e9hension de la fa\u00e7on dont Fipy est structur\u00e9 en interne et de la mani\u00e8re dont ses principaux composants interagissent. Une fois que vous avez un mod\u00e8le mental clair de l'architecture de Fipy, le d\u00e9bogage devient plus facile, les mod\u00e8les \u00e9voluent plus naturellement et les d\u00e9cisions de performances ont plus de sens.<\/p>\n<p>Cet article explique l'architecture de base de Fipy \u00e0 partir de z\u00e9ro. Au lieu de se concentrer sur les math\u00e9matiques lourdes, il se concentre sur la fa\u00e7on dont Fipy organise la g\u00e9om\u00e9trie, les donn\u00e9es, les \u00e9quations et les solveurs, et comment ces pi\u00e8ces s'embo\u00eetent lors d'une simulation.<\/p>\n<h2>Le mod\u00e8le mental de Fipy en un seul flux<\/h2>\n<p>\u00c0 un niveau \u00e9lev\u00e9, Fipy suit un pipeline coh\u00e9rent :<\/p>\n<ul>\n<li>D\u00e9finir un maillage qui repr\u00e9sente la g\u00e9om\u00e9trie,<\/li>\n<li>D\u00e9finir des variables qui vivent sur ce maillage,<\/li>\n<li>construire des termes d'\u00e9quation qui repr\u00e9sentent des processus physiques,<\/li>\n<li>Assemblez ces termes en \u00e9quations,<\/li>\n<li>r\u00e9soudre le syst\u00e8me r\u00e9sultant \u00e0 l'aide d'un solveur num\u00e9rique,<\/li>\n<li>progresser dans le temps et visualiser ou exporter les r\u00e9sultats.<\/li>\n<\/ul>\n<p>Chaque script Fipy, de l'exemple de diffusion le plus simple aux mod\u00e8les complexes multiphysiques, suit cette m\u00eame structure. Comprendre chaque couche rend l'ensemble du cadre pr\u00e9visible plut\u00f4t que magique.<\/p>\n<h2>La couche de maillage<\/h2>\n<h3>Ce qu'un maillage repr\u00e9sente dans Fipy<\/h3>\n<p>Dans FIPY, le maillage repr\u00e9sente la discr\u00e9tisation spatiale du domaine physique. Il se compose de cellules (volumes t\u00e9moins) et de visages (interfaces entre les cellules). Les m\u00e9thodes de volumes finis fonctionnent en appliquant les lois de conservation sur chaque cellule, de sorte que les volumes de cellules et les zones faciales sont des quantit\u00e9s fondamentales.<\/p>\n<p>Chaque cellule stocke des informations sur son volume et son emplacement, tandis que chaque face stocke des informations g\u00e9om\u00e9triques telles que la zone et la direction normale. Ces propri\u00e9t\u00e9s g\u00e9om\u00e9triques sont utilis\u00e9es en interne lorsque FIPY calcule des flux sur les faces.<\/p>\n<h3>Types de maillage communs<\/h3>\n<p>La plupart des utilisateurs commencent avec des maillages structur\u00e9s uniformes en une, deux ou trois dimensions. Ceux-ci sont faciles \u00e0 raisonner et rapides \u00e0 calculer. Les m\u00eames concepts s'appliquent quelle que soit leur dimension&nbsp;: un maillage bidimensionnel se comporte de la m\u00eame mani\u00e8re qu'un maillage tridimensionnel du point de vue du solveur.<\/p>\n<p>La distinction importante \u00e0 garder \u00e0 l'esprit n'est pas la dimension, mais l\u00e0 o\u00f9 les quantit\u00e9s vivent : certaines valeurs sont associ\u00e9es aux cellules, tandis que d'autres sont associ\u00e9es aux visages.<\/p>\n<h3>Donn\u00e9es de maillage que vous utilisez sans vous en rendre compte<\/h3>\n<p>De nombreuses op\u00e9rations FIPY reposent sur des attributs de maillage dans les coulisses. Les volumes de cellules, les zones de visage, les normales de face et les informations de connectivit\u00e9 sont toutes extraites du maillage lorsque les \u00e9quations sont assembl\u00e9es. Vous devez rarement les calculer manuellement, mais comprendre qu'ils existent explique pourquoi FIPY conserve naturellement la masse, l'\u00e9nergie ou d'autres quantit\u00e9s.<\/p>\n<h2>La couche de variables<\/h2>\n<h3>Variables de cellule et variables de face<\/h3>\n<p>Les variables repr\u00e9sentent des champs physiques. Une variable de cellule stocke une valeur par cellule et est couramment utilis\u00e9e pour des quantit\u00e9s telles que la temp\u00e9rature, la concentration ou les param\u00e8tres d'ordre des champs de phase. Une variable de visage stocke une valeur par face et est souvent utilis\u00e9e pour les flux ou les coefficients centr\u00e9s sur le visage.<\/p>\n<p>Cette distinction est au c\u0153ur de l'architecture de Fipy. De nombreux nouveaux utilisateurs ont du mal lorsqu'un coefficient est plac\u00e9 sur les cellules alors qu'il doit \u00eatre sur le visage, ou vice versa. En cas de doute, demandez-vous si la quantit\u00e9 repr\u00e9sente quelque chose de moyenn\u00e9 sur un volume ou quelque chose de d\u00e9fini sur une interface.<\/p>\n<h3>Conditions aux limites en tant que contraintes<\/h3>\n<p>Les conditions aux limites de FIPY sont impl\u00e9ment\u00e9es en tant que contraintes sur les variables. Une condition aux limites \u00e0 valeur fixe limite la valeur d'une variable aux faces s\u00e9lectionn\u00e9es, tandis que les conditions de type flux influencent la fa\u00e7on dont les termes contribuent \u00e0 l'assemblage de l'\u00e9quation.<\/p>\n<p>\u00c9tant donn\u00e9 que les conditions aux limites sont attach\u00e9es \u00e0 des variables plut\u00f4t qu'\u00e0 des solveurs, elles s'int\u00e8grent proprement au processus de construction d'\u00e9quations. Cette conception maintient les \u00e9quations modulaires et plus faciles \u00e0 modifier.<\/p>\n<h3>Des valeurs anciennes et nouvelles dans les probl\u00e8mes d\u00e9pendant du temps<\/h3>\n<p>Pour les probl\u00e8mes de transitoires, Fipy suit les valeurs actuelles et pr\u00e9c\u00e9dentes des variables. Cela permet aux sch\u00e9mas de discr\u00e9tisation temporelle de comparer les \u00e9tats anciens et nouveaux lors de l'assemblage de termes transitoires. L'int\u00e9gration temporelle explicite et implicite repose sur ce m\u00e9canisme.<\/p>\n<h2>Les termes couche<\/h2>\n<h3>Pourquoi Fipy utilise des termes<\/h3>\n<p>Les termes sont les \u00e9l\u00e9ments constitutifs des \u00e9quations de Fipy. Chaque terme repr\u00e9sente une contribution physique, telle que la diffusion, la convection, une source ou une composante transitoire. Au lieu d'\u00e9crire une grande \u00e9quation monolithique, vous composez une \u00e9quation en additionnant des termes.<\/p>\n<p>Cette approche modulaire rend les \u00e9quations lisibles et flexibles. Ajouter ou supprimer la physique signifie souvent ajouter ou supprimer un terme, plut\u00f4t que de r\u00e9\u00e9crire l'ensemble du mod\u00e8le.<\/p>\n<h3>Termes courants que vous rencontrerez<\/h3>\n<p>Un terme transitoire repr\u00e9sente la d\u00e9pendance au temps. Les termes de diffusion repr\u00e9sentent les gradients qui g\u00e9n\u00e8rent des flux. Les termes de convection repr\u00e9sentent le transport par un champ de vitesse. Les termes sources repr\u00e9sentent la g\u00e9n\u00e9ration ou la consommation locale. Chaque terme sait se discr\u00e9diter sur le maillage.<\/p>\n<h3>Comportement implicite et explicite<\/h3>\n<p>Les termes peuvent \u00eatre trait\u00e9s de mani\u00e8re implicite ou explicite. Les termes implicites contribuent \u00e0 la matrice du syst\u00e8me et am\u00e9liorent g\u00e9n\u00e9ralement la stabilit\u00e9, en particulier pour les probl\u00e8mes difficiles. Les termes explicites ne contribuent qu'\u00e0 la droite et n\u00e9cessitent souvent des pas de temps plus petits pour la stabilit\u00e9.<\/p>\n<p>Choisir les termes implicites est l'une des d\u00e9cisions architecturales les plus importantes d'un mod\u00e8le FIPY. Les mauvais choix se manifestent souvent par des simulations instables ou des pas de temps extr\u00eamement petits.<\/p>\n<h2>Assemblage \u00e9quation<\/h2>\n<h3>De l'expression symbolique au syst\u00e8me lin\u00e9aire<\/h3>\n<p>Lorsque vous combinez des termes dans une \u00e9quation, Fipy assemble un syst\u00e8me lin\u00e9aire en interne. Chaque terme apporte des entr\u00e9es \u00e0 une matrice et \u00e0 un vecteur de droite en fonction de la g\u00e9om\u00e9trie du maillage, des valeurs des variables et des coefficients.<\/p>\n<p>Les utilisateurs interagissent rarement directement avec ces matrices, mais la compr\u00e9hension qu'elles existent explique pourquoi le choix du solveur et le conditionnement sont importants.<\/p>\n<h3>\u00e9quations coupl\u00e9es<\/h3>\n<p>De nombreux probl\u00e8mes r\u00e9els impliquent plusieurs variables r\u00e9gies par des \u00e9quations coupl\u00e9es. FIPY soutient cela en permettant de r\u00e9soudre ensemble des syst\u00e8mes d'\u00e9quations. Les r\u00e9solutions coupl\u00e9es sont plus co\u00fbteuses mais n\u00e9cessaires lorsque les variables d\u00e9pendent fortement les unes des autres.<\/p>\n<h3>Probl\u00e8mes non lin\u00e9aires<\/h3>\n<p>Des non-lin\u00e9arit\u00e9s surviennent lorsque les coefficients d\u00e9pendent de la solution elle-m\u00eame. FIPY g\u00e8re cela \u00e0 travers des strat\u00e9gies de solution it\u00e9ratives, o\u00f9 les \u00e9quations sont r\u00e9assembl\u00e9es et r\u00e9solues \u00e0 plusieurs reprises jusqu'\u00e0 ce que les crit\u00e8res de convergence soient remplis.<\/p>\n<h2>La couche de solveur<\/h2>\n<h3>Solveurs lin\u00e9aires et it\u00e9ration<\/h3>\n<p>Les solveurs fonctionnent sur le syst\u00e8me lin\u00e9aire assembl\u00e9. Ils calculent les mises \u00e0 jour des valeurs de variables qui r\u00e9duisent le r\u00e9sidu. Pour les probl\u00e8mes non lin\u00e9aires, des r\u00e9solutions lin\u00e9aires se produisent \u00e0 l'int\u00e9rieur d'une boucle d'it\u00e9ration externe.<\/p>\n<p>Les performances du solveur d\u00e9pendent de la taille du probl\u00e8me, de la structure matricielle et des choix de param\u00e8tres. Alors que les valeurs par d\u00e9faut fonctionnent souvent pour de petits probl\u00e8mes, les simulations de grande taille n\u00e9cessitent un r\u00e9glage plus minutieux.<\/p>\n<h3>Diagnostic et convergence<\/h3>\n<p>Les normes r\u00e9siduelles, le nombre d'it\u00e9rations et le comportement de convergence fournissent une r\u00e9troaction critique. Si un solveur stagne ou diverge, il indique souvent des probl\u00e8mes avec des conditions aux limites, des choix de discr\u00e9tisation ou une taille de pas de temps.<\/p>\n<h2>Contr\u00f4le de pas de temps et de simulation<\/h2>\n<h3>La boucle temporelle typique<\/h3>\n<p>La plupart des simulations FIPY utilisent une boucle temporelle explicite. \u00c0 chaque \u00e9tape, les \u00e9quations sont r\u00e9solues, les variables sont mises \u00e0 jour et les r\u00e9sultats peuvent \u00eatre visualis\u00e9s ou enregistr\u00e9s. La taille du pas de temps contr\u00f4le \u00e0 la fois la stabilit\u00e9 et la pr\u00e9cision.<\/p>\n<h3>Crit\u00e8re d'arr\u00eat<\/h3>\n<p>Une simulation peut s'arr\u00eater apr\u00e8s un temps physique fixe ou lorsqu'un \u00e9tat stable est atteint. La d\u00e9tection d'un \u00e9tat stable implique souvent la surveillance des changements dans les variables ou les quantit\u00e9s int\u00e9gr\u00e9es.<\/p>\n<h2>Visualisation, exportation et reproductibilit\u00e9<\/h2>\n<h3>Visionneuses interactives<\/h3>\n<p>Les t\u00e9l\u00e9spectateurs fournissent une r\u00e9troaction imm\u00e9diate pendant le d\u00e9veloppement. Ils aident \u00e0 d\u00e9tecter rapidement les erreurs, telles que des conditions aux limites incorrectes ou des discr\u00e9tisations instables. Les probl\u00e8mes de visionneuse dans les environnements sans t\u00eate sont courants et n'indiquent pas de d\u00e9faillance num\u00e9rique.<\/p>\n<h3>Exportation des r\u00e9sultats<\/h3>\n<p>Pour une analyse s\u00e9rieuse, les r\u00e9sultats doivent \u00eatre \u00e9crits dans des fichiers ainsi que des m\u00e9tadonn\u00e9es d\u00e9crivant les param\u00e8tres de maillage, de param\u00e8tres et de solveur. Cela prend en charge la reproductibilit\u00e9 et le post-traitement.<\/p>\n<h2>Erreurs d'architecture courantes<\/h2>\n<h3>Des quantit\u00e9s confondues bas\u00e9es sur les cellules et le visage<\/h3>\n<p>De nombreux bogues d\u00e9coulent de la mise sur les coefficients de mauvaises entit\u00e9s g\u00e9om\u00e9triques. V\u00e9rifiez toujours si une quantit\u00e9 repr\u00e9sente une valeur de volume moyen ou un flux sur les faces.<\/p>\n<h3>Surutilisation des termes explicites<\/h3>\n<p>Un traitement explicite excessif force souvent de tr\u00e8s petits pas de temps. D\u00e9placer la physique rigide dans des termes implicites am\u00e9liore g\u00e9n\u00e9ralement la stabilit\u00e9 et l'efficacit\u00e9.<\/p>\n<h3>Ignorer les diagnostics<\/h3>\n<p>Une simulation qui s'ex\u00e9cute n'est pas forc\u00e9ment correcte. Il est essentiel de surveiller les r\u00e9sidus, les quantit\u00e9s conserv\u00e9es et le comportement de convergence.<\/p>\n<h2>Feuille de triche d'architecture FIPY<\/h2>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Composant<\/th>\n<th>R\u00f4le<\/th>\n<th>Contr\u00f4les utilisateur<\/th>\n<th>Pi\u00e8ges courants<\/th>\n<\/tr>\n<tr>\n<td>Engrener<\/td>\n<td>G\u00e9om\u00e9trie et topologie<\/td>\n<td>R\u00e9solution, dimension<\/td>\n<td>Mauvaise r\u00e9solution, mauvaise dimension<\/td>\n<\/tr>\n<tr>\n<td>variables<\/td>\n<td>Champs physiques<\/td>\n<td>Valeurs initiales, contraintes<\/td>\n<td>Cellule vs confusion<\/td>\n<\/tr>\n<tr>\n<td>Termes<\/td>\n<td>Les processus physiques<\/td>\n<td>Forme implicite ou explicite<\/td>\n<td>Instabilit\u00e9 des mauvais choix<\/td>\n<\/tr>\n<tr>\n<td>\u00e9quations<\/td>\n<td>Assemblage du syst\u00e8me<\/td>\n<td>Structure de couplage<\/td>\n<td>Couplage trop complexe<\/td>\n<\/tr>\n<tr>\n<td>solveurs<\/td>\n<td>solution num\u00e9rique<\/td>\n<td>Tol\u00e9rances, it\u00e9rations<\/td>\n<td>Divergence ou convergence lente<\/td>\n<\/tr>\n<\/tbody><\/table>\n<h2>Quand l'architecture de Fipy est un bon choix<\/h2>\n<p>FIPY excelle dans le prototypage rapide de mod\u00e8les PDE, des simulations de recherche et une utilisation \u00e9ducative. Son architecture favorise la clart\u00e9 et la modularit\u00e9 plut\u00f4t que la sp\u00e9cialisation extr\u00eame. Probl\u00e8mes n\u00e9cessitant des g\u00e9om\u00e9tries exotiques ou des solveurs hautement sp\u00e9cialis\u00e9s peuvent n\u00e9cessiter diff\u00e9rents outils, mais pour de nombreux probl\u00e8mes de transport et de champ de phase, la structure de Fipy est une correspondance solide.<\/p>\n<h2>Conclusion<\/h2>\n<p>L'architecture de Fipy peut \u00eatre r\u00e9sum\u00e9e simplement&nbsp;: un maillage d\u00e9finit la g\u00e9om\u00e9trie, les variables stockent les champs physiques, les termes repr\u00e9sentent la physique, les \u00e9quations assemblent les syst\u00e8mes, les solveurs et les boucles temporelles font progresser la solution. Une fois que ce mod\u00e8le mental est clair, Fipy devient plus facile \u00e0 raisonner, plus facile \u00e0 d\u00e9boguer et plus puissant en tant qu'outil de recherche.<\/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\"> 6<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>FIPY est un solveur d&rsquo;\u00e9quations aux d\u00e9riv\u00e9es partielles \u00e0 volume fini (PDE) \u00e9crit en Python et con\u00e7u pour permettre aux chercheurs et aux ing\u00e9nieurs d&rsquo;exprimer des mod\u00e8les d&rsquo;une mani\u00e8re qui suit de pr\u00e8s la physique sous-jacente. De nombreux utilisateurs commencent par ex\u00e9cuter des exemples ou adapter des extraits, mais la productivit\u00e9 r\u00e9elle vient de la [&hellip;]<\/p>\n","protected":false,"raw":""},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"fr_FR","_original_post":"https:\/\/new.matforge.org\/?p=48","iawp_total_views":1,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1178","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>Comprendre l&#039;architecture de base de Fipy\u00a0: le fonctionnement des maillages, des variables et des solveurs<\/title>\n<meta name=\"description\" content=\"Un guide clair et pratique de l&#039;architecture de base de Fipy - mailles, variables, termes, \u00e9quations, solveurs et pas de temps - expliqu\u00e9 pour les chercheurs et les ing\u00e9nieurs.\" \/>\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\/understanding-fipys-core-architecture\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comprendre l&#039;architecture de base de Fipy\u00a0: le fonctionnement des maillages, des variables et des solveurs\" \/>\n<meta property=\"og:description\" content=\"Un guide clair et pratique de l&#039;architecture de base de Fipy - mailles, variables, termes, \u00e9quations, solveurs et pas de temps - expliqu\u00e9 pour les chercheurs et les ing\u00e9nieurs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-21T14:25:41+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=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/understanding-fipys-core-architecture\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/understanding-fipys-core-architecture\\\/\"},\"author\":{\"name\":\"Tomas Delgado\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/518cdd1f18dd092f4ed738d68e540061\"},\"headline\":\"Comprendre l&rsquo;architecture de base de Fipy\",\"datePublished\":\"2026-08-21T14:25:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/understanding-fipys-core-architecture\\\/\"},\"wordCount\":2074,\"commentCount\":0,\"articleSection\":[\"FIPY : documentation, exemples &amp; D\u00e9veloppement\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/understanding-fipys-core-architecture\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/understanding-fipys-core-architecture\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/fr\\\/understanding-fipys-core-architecture\\\/\",\"name\":\"Comprendre l'architecture de base de Fipy\u00a0: le fonctionnement des maillages, des variables et des solveurs\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-08-21T14:25:41+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/518cdd1f18dd092f4ed738d68e540061\"},\"description\":\"Un guide clair et pratique de l'architecture de base de Fipy - mailles, variables, termes, \u00e9quations, solveurs et pas de temps - expliqu\u00e9 pour les chercheurs et les ing\u00e9nieurs.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/understanding-fipys-core-architecture\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/understanding-fipys-core-architecture\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/understanding-fipys-core-architecture\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Comprendre l&#8217;architecture de base de 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":"Comprendre l'architecture de base de Fipy\u00a0: le fonctionnement des maillages, des variables et des solveurs","description":"Un guide clair et pratique de l'architecture de base de Fipy - mailles, variables, termes, \u00e9quations, solveurs et pas de temps - expliqu\u00e9 pour les chercheurs et les ing\u00e9nieurs.","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\/understanding-fipys-core-architecture\/","og_locale":"fr_FR","og_type":"article","og_title":"Comprendre l'architecture de base de Fipy\u00a0: le fonctionnement des maillages, des variables et des solveurs","og_description":"Un guide clair et pratique de l'architecture de base de Fipy - mailles, variables, termes, \u00e9quations, solveurs et pas de temps - expliqu\u00e9 pour les chercheurs et les ing\u00e9nieurs.","og_url":"https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/","og_site_name":"matforge.org","article_published_time":"2026-08-21T14:25:41+00:00","author":"Tomas Delgado","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Tomas Delgado","Dur\u00e9e de lecture estim\u00e9e":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/"},"author":{"name":"Tomas Delgado","@id":"https:\/\/matforge.org\/#\/schema\/person\/518cdd1f18dd092f4ed738d68e540061"},"headline":"Comprendre l&rsquo;architecture de base de Fipy","datePublished":"2026-08-21T14:25:41+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/"},"wordCount":2074,"commentCount":0,"articleSection":["FIPY : documentation, exemples &amp; D\u00e9veloppement"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/","url":"https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/","name":"Comprendre l'architecture de base de Fipy\u00a0: le fonctionnement des maillages, des variables et des solveurs","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-08-21T14:25:41+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/518cdd1f18dd092f4ed738d68e540061"},"description":"Un guide clair et pratique de l'architecture de base de Fipy - mailles, variables, termes, \u00e9quations, solveurs et pas de temps - expliqu\u00e9 pour les chercheurs et les ing\u00e9nieurs.","breadcrumb":{"@id":"https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/fr\/understanding-fipys-core-architecture\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/"},{"@type":"ListItem","position":2,"name":"Comprendre l&#8217;architecture de base de 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\/1178","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=1178"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1178\/revisions"}],"predecessor-version":[{"id":1325,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1178\/revisions\/1325"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=1178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=1178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=1178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}