{"id":1184,"date":"2026-08-21T14:25:40","date_gmt":"2026-08-21T14:25:40","guid":{"rendered":"https:\/\/matforge.org\/?p=1184","raw":"https:\/\/matforge.org\/?p=1184"},"modified":"2026-08-21T14:25:40","modified_gmt":"2026-08-21T14:25:40","slug":"electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide","status":"publish","type":"post","link":"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/","title":{"rendered":"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell","raw":"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell"},"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\"> 8<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>tl;dr<\/p>\n<p>Les \u00e9quations de Maxwell d\u00e9crivent comment les champs \u00e9lectriques et magn\u00e9tiques \u00e9voluent et interagissent. Alors que FIPY a \u00e9t\u00e9 con\u00e7u pour les probl\u00e8mes de type diffusion, vous pouvez simuler des ondes \u00e9lectromagn\u00e9tiques en traitant les \u00e9quations de Maxwell comme un syst\u00e8me coupl\u00e9 de PDE hyperboliques transitoires. La cl\u00e9 est le couplage des lois de Faraday et d&rsquo;Amp\u00e8re \u00e0 l&rsquo;aide des impl\u00e9mentations de FIPY <code>TransientTerm<\/code> et de CURL personnalis\u00e9e. Cependant, FIPY a des limites pour les EM \u00e0 haute fr\u00e9quence&nbsp;: il manque d&rsquo;op\u00e9rateurs de curl 3D natifs, lutte avec les conditions aux limites du champ vectoriel et peut produire des solutions parasites. Pour la plupart des travaux EM, des outils sp\u00e9cialis\u00e9s comme FDTD (MEEP) ou FEM (FENICS) sont meilleurs. Fipy brille lors du couplage de l&rsquo;EM avec d&rsquo;autres physiques (par exemple, plasma, effets thermiques) o\u00f9 sa flexibilit\u00e9 avec des maillages arbitraires et des syst\u00e8mes PDE est pr\u00e9cieuse.<\/p>\n<h2>Introduction : les \u00e9quations de Maxwell et l&rsquo;\u00e9lectromagn\u00e9tique informatique<\/h2>\n<p>Les \u00e9quations de Maxwell sont le fondement de l&rsquo;\u00e9lectromagn\u00e9tisme classique, r\u00e9gissant la fa\u00e7on dont les champs \u00e9lectriques et magn\u00e9tiques sont g\u00e9n\u00e9r\u00e9s et alt\u00e9r\u00e9s par les charges, les courants et les uns des autres. Sous forme de calcul, ils deviennent un ensemble de quatre \u00e9quations aux d\u00e9riv\u00e9es partielles coupl\u00e9es :<\/p>\n<ol>\n<li><strong>Loi de Gauss<\/strong>&nbsp;: \u2207\u00b7d = \u03c1 (la charge \u00e9lectrique g\u00e9n\u00e8re un d\u00e9placement \u00e9lectrique)<\/li>\n<li><strong>La loi de Gauss pour le magn\u00e9tisme<\/strong>&nbsp;: \u2207\u00b7b = 0 (pas de monopoles magn\u00e9tiques)<\/li>\n<li><strong>Loi de Faraday<\/strong>&nbsp;: \u2207\u00d7E = -\u2202B\/\u2202T (champs magn\u00e9tiques variant dans le temps induisent des champs \u00e9lectriques)<\/li>\n<li><strong>Loi d&rsquo;Amp\u00e8re-Maxwell<\/strong>&nbsp;: \u2207\u00d7H = j + \u2202D\/\u2202t (les courants et les champs \u00e9lectriques changeants g\u00e9n\u00e8rent des champs magn\u00e9tiques)<\/li>\n<\/ol>\n<p>Pour la propagation des ondes dans des milieux homog\u00e8nes, le syst\u00e8me coupl\u00e9 se r\u00e9duit \u00e0 deux \u00e9quations cl\u00e9s :<\/p>\n<pre><code>\u2202E\/\u2202t = -\u03bc\u207b\u00b9 \u2207\u00d7H\n\u2202H\/\u2202t = -\u03b5\u207b\u00b9 \u2207\u00d7E<\/code><\/pre>\n<p>o\u00f9 \u03b5 est la permittivit\u00e9 et \u03bc est une perm\u00e9abilit\u00e9.<\/p>\n<p><strong>Pourquoi simuler les \u00e9quations de Maxwell&nbsp;?<\/strong> Les applications vont de la conception de l&rsquo;antenne et de l&rsquo;analyse des guides d&rsquo;ondes \u00e0 la photonique, au calcul de la section transversale radar et \u00e0 la physique du plasma. Le choix de la m\u00e9thode num\u00e9rique affecte profond\u00e9ment la pr\u00e9cision, les performances et la complexit\u00e9 de la mise en \u0153uvre.<\/p>\n<h2>M\u00e9thode de volume fini pour l&rsquo;\u00e9lectromagn\u00e9tique<\/h2>\n<p>La m\u00e9thode de volume fini (FVM) discr\u00e9tise le domaine en volumes de contr\u00f4le et int\u00e8gre les PDE sur chaque volume, conservant les flux \u00e0 travers les fronti\u00e8res. Pour l&rsquo;\u00e9lectromagn\u00e9tique, FVM propose :<\/p>\n<ul>\n<li><strong>Propri\u00e9t\u00e9s de conservation<\/strong>&nbsp;: Application naturelle de la conservation des frais<\/li>\n<li><strong>Maillage flexible<\/strong> : g\u00e8re les g\u00e9om\u00e9tries complexes avec des grilles non structur\u00e9es<\/li>\n<li><strong>Robustit\u00e9<\/strong>&nbsp;: fonctionne bien avec les propri\u00e9t\u00e9s des mat\u00e9riaux discontinus<\/li>\n<\/ul>\n<p>Cependant, FVM est confront\u00e9 \u00e0 des d\u00e9fis pour les \u00e9quations de Maxwell, car l&rsquo;op\u00e9rateur CURL a besoin d&rsquo;informations provenant de cellules voisines dans des mod\u00e8les sp\u00e9cifiques. Le FVM standard centr\u00e9 sur les n\u0153uds peut produire des solutions parasites (modes non physiques dans l&rsquo;espace nul de l&rsquo;op\u00e9rateur curl-curl).<\/p>\n<p><strong>Key Insight<\/strong>&nbsp;: la force de Fipy est de r\u00e9soudre les syst\u00e8mes de diffusion-convection-r\u00e9action. Les \u00e9quations de Maxwell sont hyperboliques (comme ondul\u00e9e), n\u00e9cessitant un traitement attentif de pas de temps et de discr\u00e9tisation spatiale pour \u00e9viter l&rsquo;instabilit\u00e9 num\u00e9rique.<\/p>\n<h2>Impl\u00e9mentation de simulations \u00e9lectromagn\u00e9tiques dans FIPY<\/h2>\n<h3>1. Formulation du probl\u00e8me<\/h3>\n<p>Fipy n&rsquo;a pas d&rsquo;exemples \u00e9lectromagn\u00e9tiques int\u00e9gr\u00e9s, mais vous pouvez construire le syst\u00e8me manuellement. L&rsquo;approche la plus simple consiste \u00e0 r\u00e9soudre directement les composants de champ \u00e9lectrique et magn\u00e9tique en 1D ou 2D.<\/p>\n<p><strong>Exemple&nbsp;: onde \u00e9lectromagn\u00e9tique transversale 1D (TEM)<\/strong><\/p>\n<p>En 1D avec des champs variant uniquement en x et polaris\u00e9s en y (e_y) et z (h_z), les \u00e9quations de Maxwell se simplifient pour :<\/p>\n<pre><code>\u2202E_y\/\u2202t = -\u03bc\u207b\u00b9 \u2202H_z\/\u2202x\n\u2202H_z\/\u2202t = -\u03b5\u207b\u00b9 \u2202E_y\/\u2202x<\/code><\/pre>\n<p>Cela d\u00e9coupe la boucle en d\u00e9riv\u00e9s simples, ce qui la rend conviviale pour les figues.<\/p>\n<h3>2. Structure de mise en \u0153uvre de FIPY<\/h3>\n<pre><code>import fipy as fp\nimport numpy as np\n\n# Define mesh\nnx = 200\nmesh = fp.Grid1D(nx=nx, Lx=1.0)\n\n# Material properties (non-dimensionalized)\nepsilon = 1.0 # permittivity\nmu = 1.0 # permeability\n\n# Define field variables\nE = fp.CellVariable(name=\"Electric Field (E_y)\", mesh=mesh, value=0.)\nH = fp.CellVariable(name=\"Magnetic Field (H_z)\", mesh=mesh, value=0.)\n\n# Initial conditions: Gaussian pulse in E\nx = mesh.cellCenters[0]\nE.setValue(np.exp(-((x - 0.5) \/ 0.05)**2))\n\n# Boundary conditions: Perfect Electric Conductor (PEC)\n# E = 0 at boundaries\nE.constrain(0., mesh.facesLeft)\nE.constrain(0., mesh.facesRight)\n# H can have Neumann (zero gradient) or other conditions\nH.constrain(0., mesh.facesLeft)\nH.constrain(0., mesh.facesRight)\n\n# Build equations\n# Using convection term to represent spatial derivative of H\neqE = fp.TransientTerm(var=E) + (1.\/mu) * fp.CentralDifferenceConvectionTerm(coeff=1., var=H) == 0\neqH = fp.TransientTerm(var=H) + (1.\/epsilon) * fp.CentralDifferenceConvectionTerm(coeff=1., var=E) == 0\neq = eqE &amp; eqH\n\n# Time stepping\ndt = 0.001\nfor step in range(1000):\n    eq.solve(dt=dt)\n    if step % 100 == 0:\n        print(f\"Step {step}: E_max={E.value.max():.4f}, H_max={H.value.max():.4f}\")<\/code><\/pre>\n<p><strong>Notes importantes<\/strong>&nbsp;:<\/p>\n<ul>\n<li>Le <code>ConvectionTerm<\/code> avec <code>coeff=1<\/code> calcule efficacement \u2202H\/\u2202x (ou \u2202E\/\u2202x). Cela fonctionne en 1D mais n\u00e9cessite une g\u00e9n\u00e9ralisation pour la 2D\/3D.<\/li>\n<li>Le pas de temps <code>dt<\/code> doit satisfaire \u00e0 la condition CFL&nbsp;: <code>dt &lt;= mesh.dx \/ c<\/code> o\u00f9 c = 1\/\u221a(\u03bc\u03b5) est la vitesse d&rsquo;onde.<\/li>\n<li>Les conditions aux limites du conducteur \u00e9lectrique parfait (PEC) forcent Tangentiellement E \u00e0 z\u00e9ro.<\/li>\n<\/ul>\n<h3>3. Extension en 2D et 3D<\/h3>\n<p>En 2D (modes TE), vous pouvez avoir des composants E_Z, H_X, H_Y. Les op\u00e9rations de curl deviennent :<\/p>\n<pre><code>(\u2207\u00d7H)_z = \u2202H_y\/\u2202x - \u2202H_x\/\u2202y\n(\u2207\u00d7E)_x = \u2202E_z\/\u2202y\n(\u2207\u00d7E)_y = -\u2202E_z\/\u2202x<\/code><\/pre>\n<p>Fipy n&rsquo;a pas d&rsquo;op\u00e9rateur de curl 2D direct, vous devez donc le construire \u00e0 partir de <code>CentralDifferenceConvectionTerm<\/code> sur chaque composant. Cela devient verbeux et sujet aux erreurs.<\/p>\n<h3>4. Potentiels vectoriels (avanc\u00e9)<\/h3>\n<p>Pour \u00e9viter de manipuler manuellement CURL, certaines formulations utilisent un potentiel vectoriel <strong>a<\/strong> o\u00f9 b = \u2207\u00d7a, et un potentiel scalaire \u03c6. Cela peut r\u00e9duire les \u00e9quations de Maxwell \u00e0 une \u00e9quation d&rsquo;onde du second ordre pour <strong>a<\/strong> avec des conditions de jauge. Cependant, la mise en \u0153uvre de FIPY reste complexe et n&rsquo;est pas bien document\u00e9e.<\/p>\n<h2>Limites et \u00e9cueils<\/h2>\n<h3>Aucun op\u00e9rateur de curl natif<\/h3>\n<p>La biblioth\u00e8que de termes de FIPY comprend <code>DiffusionTerm<\/code>, <code>ConvectionTerm<\/code>, <code>TransientTerm<\/code>, mais non <code>CurlTerm<\/code>. Vous devez impl\u00e9menter CURL manuellement \u00e0 l&rsquo;aide de gradients de maillage, ce qui n\u00e9cessite une compr\u00e9hension approfondie de l&rsquo;indexation du maillage de Fipy et des mappages face \u00e0 cellule.<\/p>\n<p>\u00c0 partir de la recherche&nbsp;: \u00ab\u00a0Pour calculer une boucle dans Fipy, il faut construire explicitement l&rsquo;op\u00e9rateur \u00e0 partir des d\u00e9riv\u00e9es des composants vectoriels individuels du domaine. Cela augmente la complexit\u00e9.\u00a0\u00bb<\/p>\n<h3>Solutions fallacieuses<\/h3>\n<p>La discr\u00e9tisation par volume fini standard des \u00e9quations de Curl-Curl (\u2207\u00d7\u2207\u00d7A = \u03b5\u03bc \u2202\u00b2A\/\u2202T\u00b2) peut produire des solutions non physiques en raison de l&rsquo;espace nul de l&rsquo;op\u00e9rateur de curl discret. Les \u00e9l\u00e9ments finis vectoriels (\u00e9l\u00e9ments de bord) dans FEM \u00e9vitent naturellement cela en assurant la continuit\u00e9 des composants tangentiels. L&rsquo;approche centr\u00e9e sur les cellules de FIPY ne fournit pas cette garantie.<\/p>\n<p><strong>Recommandation<\/strong>&nbsp;: pour la propagation des ondes 2D\/3D, valider les r\u00e9sultats par rapport \u00e0 des solutions analytiques ou \u00e0 des m\u00e9thodes alternatives. Attendez-vous \u00e0 des modes parasites potentiels \u00e0 moins que le maillage ne soit tr\u00e8s raffin\u00e9 et que des pr\u00e9cautions particuli\u00e8res soient prises.<\/p>\n<h3>Conditions aux limites<\/h3>\n<p>Les conditions aux limites \u00e9lectromagn\u00e9tiques sp\u00e9cifient souvent la continuit\u00e9 du champ \u00e9lectrique tangentiel ou des conducteurs parfaits. Le syst\u00e8me de conditions aux limites de FIPY est con\u00e7u pour les PDE scalaires avec des conditions Dirichlet (valeur fixe) ou Neumann (flux fixe). La mise en \u0153uvre de conditions d&rsquo;imp\u00e9dance de surface ou de rayonnement (par exemple, couche parfaitement adapt\u00e9e) est possible mais n\u00e9cessite des termes de source personnalis\u00e9s.<\/p>\n<p><strong>Conseil<\/strong>&nbsp;: voir l&rsquo;article de Matforge \u00ab\u00a0Conditions aux limites&nbsp;: th\u00e9orie et mise en \u0153uvre dans FIPY\u00a0\u00bb pour les fondamentaux du syst\u00e8me de conditions aux limites de FIPY, qui s&rsquo;applique \u00e9galement aux probl\u00e8mes EM.<\/p>\n<h3>Consid\u00e9rations relatives aux performances<\/h3>\n<p>Fipy est \u00e9crit en Python avec des boucles critiques de performances en Cython. Pour les grandes simulations EM 3D, il sera plus lent que les codes FDTD compil\u00e9s (par exemple, Meep en C++). L&rsquo;avantage de FIPY est la flexibilit\u00e9 : un couplage facile avec d&rsquo;autres PDE (transfert de chaleur, flux de fluide, r\u00e9actions chimiques) et prototypage rapide.<\/p>\n<h2>Quand utiliser Fipy pour l&rsquo;\u00e9lectromagn\u00e9tique<\/h2>\n<h3>Choisissez Fipy lorsque&nbsp;:<\/h3>\n<ul>\n<li>Vous avez besoin de <strong>couple \u00e9lectromagn\u00e9tique avec d&rsquo;autres physiques<\/strong> (par exemple, Joule Heating, Plasma Kinetics, thermo\u00e9lectrique)<\/li>\n<li>Votre g\u00e9om\u00e9trie est complexe, mais vous pouvez travailler avec des maillages relativement grossiers<\/li>\n<li>Vous utilisez d\u00e9j\u00e0 Fipy pour d&rsquo;autres parties de votre probl\u00e8me multiphysique<\/li>\n<li>Vous avez besoin d&rsquo;un prototypage rapide et \u00eates pr\u00eat \u00e0 mettre en \u0153uvre des op\u00e9rateurs personnalis\u00e9s<\/li>\n<li>Votre probl\u00e8me EM est quasi-statique (faible fr\u00e9quence) o\u00f9 le courant de d\u00e9placement est n\u00e9gligeable<\/li>\n<\/ul>\n<h3>Choisissez des alternatives lorsque&nbsp;:<\/h3>\n<ul>\n<li>Vous avez besoin d&rsquo;un <strong>Simulations \u00e0 haute fr\u00e9quence et pleine onde<\/strong> (rayonnement antenne, circuits micro-ondes)<\/li>\n<li>La pr\u00e9cision et les performances sont essentielles (conception d&rsquo;ing\u00e9nierie de production)<\/li>\n<li>Vous avez besoin d&rsquo;une extraction de param\u00e8tres S int\u00e9gr\u00e9, de mod\u00e8les de champ lointain ou d&rsquo;une analyse de port<\/li>\n<li>Votre \u00e9quipe manque d&rsquo;expertise approfondie en PDE et en m\u00e9thodes num\u00e9riques<\/li>\n<\/ul>\n<p><strong>Alternatives recommand\u00e9es<\/strong>&nbsp;:<\/p>\n<table>\n<tbody>\n<tr>\n<th>Outil<\/th>\n<th>M\u00e9thode<\/th>\n<th>le mieux pour<\/th>\n<th>Int\u00e9gration Python<\/th>\n<\/tr>\n<tr>\n<td><strong>MEEP<\/strong><\/td>\n<td>FDTD<\/td>\n<td>Photonique, plasmonique, propagation des ondes<\/td>\n<td>API Python native<\/td>\n<\/tr>\n<tr>\n<td><strong>Fenics\/Dolfinx<\/strong><\/td>\n<td>femelle<\/td>\n<td>G\u00e9n\u00e9ralit\u00e9s EM, Probl\u00e8mes propres, Statique\/Quasi-statique<\/td>\n<td>Python frontal, backend C++<\/td>\n<\/tr>\n<tr>\n<td><strong>NgSolve<\/strong><\/td>\n<td>femelle<\/td>\n<td>G\u00e9om\u00e9tries complexes \u00e0 haute fr\u00e9quence<\/td>\n<td>Python (NGS-PY)<\/td>\n<\/tr>\n<tr>\n<td><strong>Comsol<\/strong><\/td>\n<td>FEM (diff\u00e9rents)<\/td>\n<td>Commercial, multiphysique, pilot\u00e9 par l&rsquo;interface utilisateur<\/td>\n<td>LiveLink pour Python<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Liste de contr\u00f4le de mise en \u0153uvre pratique<\/h2>\n<p>Avant de commencer votre simulation EM dans Fipy, r\u00e9pondez \u00e0 ces questions&nbsp;:<\/p>\n<ul>\n<li>[ ] Le probl\u00e8me est-il vraiment adapt\u00e9 \u00e0 la FVM, ou la FEM\/FDTD serait-elle meilleure&nbsp;?<\/li>\n<li>[ ] Avez-vous v\u00e9rifi\u00e9 votre impl\u00e9mentation de curl dans un simple cas de test (par exemple, champ constant)&nbsp;?<\/li>\n<li>[ ] Les conditions aux limites sont-elles correctement appliqu\u00e9es (Tangentielle E pour PEC, continuit\u00e9 entre les interfaces)&nbsp;?<\/li>\n<li>[ ] Avez-vous valid\u00e9 la condition CFL pour un pas de temps&nbsp;?<\/li>\n<li>[ ] Avez-vous une m\u00e9thode pour d\u00e9tecter les modes parasites (par exemple, surveiller la divergence du champ)&nbsp;?<\/li>\n<li>[ ] Pouvez-vous simplifier en 1D ou 2D pour le d\u00e9veloppement initial ?<\/li>\n<li>[ ] Avez-vous envisag\u00e9 d&rsquo;utiliser une formulation de potentiel vectoriel pour r\u00e9duire les degr\u00e9s de libert\u00e9&nbsp;?<\/li>\n<\/ul>\n<h2>Erreurs courantes \u00e0 \u00e9viter<\/h2>\n<ol>\n<li><strong>Ignorer la complexit\u00e9 de l&rsquo;impl\u00e9mentation de curl<\/strong>&nbsp;: les d\u00e9butants supposent souvent que Fipy a un op\u00e9rateur de curl int\u00e9gr\u00e9. Ce n&rsquo;est pas le cas. Vous devez le construire \u00e0 partir de d\u00e9riv\u00e9s spatiaux.<\/li>\n<li><strong>Utilisation de variables centr\u00e9es sur les cellules pour les champs vectoriels sans souci<\/strong>&nbsp;: l&rsquo;arrangement FVM standard pour les champs vectoriels dans EM n\u00e9cessite des maillages d\u00e9cal\u00e9s (par exemple, Yee Grid dans FDTD). FIPY utilise par d\u00e9faut des maillages colocalis\u00e9s, ce qui peut provoquer une instabilit\u00e9 ou des solutions parasites.<\/li>\n<li><strong>Les unit\u00e9s de n\u00e9gligence et la non-dimensionnement<\/strong>&nbsp;: les \u00e9quations de Maxwell impliquent des \u03b5 et des \u03bc qui varient de plusieurs ordres de grandeur. Non-dimensionn\u00e9 pour \u00e9viter le d\u00e9bordement\/le sous-\u00e9coulement num\u00e9rique.<\/li>\n<li><strong>r\u00e9solution de maillage insuffisante<\/strong>&nbsp;: les ph\u00e9nom\u00e8nes d&rsquo;ondes n\u00e9cessitent au moins 10 \u00e0 20&nbsp;cellules par longueur d&rsquo;onde. Une sous-r\u00e9solution entra\u00eene des erreurs de dispersion (mauvaise vitesse d&rsquo;onde) ou une instabilit\u00e9 num\u00e9rique.<\/li>\n<li><strong>Conditions aux limites erron\u00e9es<\/strong>&nbsp;: les limites PEC n\u00e9cessitent un e = 0. Dans FIPY, vous devez contraindre chaque composante de mani\u00e8re appropri\u00e9e en fonction de l&rsquo;orientation des limites.<\/li>\n<li><strong>Ne pas v\u00e9rifier \u2207\u00b7b = 0<\/strong>&nbsp;: une des \u00e9quations de Maxwell (pas de monopoles magn\u00e9tiques) devrait tenir si votre impl\u00e9mentation est correcte. Surveiller la divergence de B en tant que contr\u00f4le de sant\u00e9 mentale.<\/li>\n<\/ol>\n<h2>\u00c9tude de cas : propagation du pouls gaussienne 1D<\/h2>\n<p>Parcourons un exemple 1D complet et fonctionnel qui d\u00e9montre la propagation des ondes et la r\u00e9flexion des limites du PEC.<\/p>\n<p><strong>Configuration<\/strong>&nbsp;:<\/p>\n<ul>\n<li>Domaine : x \u2208 [0, 1] m<\/li>\n<li>E_Y initiale : pouls gaussien centr\u00e9 sur x = 0,5 m, amplitude 1 V\/m<\/li>\n<li>h_z initialement 0<\/li>\n<li>\u03bc = \u03b5 = 1 (non dimensionnel, C=1)<\/li>\n<li>Limites PEC&nbsp;: E_Y(0) = E_Y(1) = 0<\/li>\n<li>Pas de temps : DT = 0,001, pas total = 2&nbsp;000<\/li>\n<\/ul>\n<p><strong>Comportement attendu<\/strong>&nbsp;: le pouls gaussien se divise en deux ondes progressives se d\u00e9pla\u00e7ant vers la gauche et vers la droite, se refl\u00e9tant des limites et finalement interf\u00e9rant.<\/p>\n<p><strong>Code complet<\/strong> est fourni dans le r\u00e9f\u00e9rentiel de documentation FIPY (NIST). La simulation doit montrer la conservation de l&rsquo;\u00e9nergie (somme de \u222bE\u00b2 et \u222bH\u00b2 approximativement constante) et aucune explosion num\u00e9rique si la condition LFC est satisfaite.<\/p>\n<h2>Validation et v\u00e9rification<\/h2>\n<h3>V\u00e9rification&nbsp;: le code est-il correct&nbsp;?<\/h3>\n<ul>\n<li>V\u00e9rifiez que \u2207\u00b7b reste proche de z\u00e9ro pendant la simulation<\/li>\n<li>Comparer avec la solution analytique pour l&rsquo;\u00e9quation d&rsquo;onde 1D : E(x,t) = f(x-ct) + g(x+ct)<\/li>\n<li>Effectuer une \u00e9tude de raffinement de maillage&nbsp;: la solution doit converger en tant que DX\u21920, DT\u21920<\/li>\n<\/ul>\n<h3>Validation : mod\u00e9lise-t-elle la r\u00e9alit\u00e9 ?<\/h3>\n<ul>\n<li>Comparez avec des donn\u00e9es exp\u00e9rimentales ou des outils de simulation \u00e9tablis (MEEP, COMSOL)<\/li>\n<li>Testez avec des probl\u00e8mes canoniques : guide d&rsquo;ondes rectangulaire, diffusion \u00e0 partir d&rsquo;une sph\u00e8re<\/li>\n<\/ul>\n<h2>Conclusion et prochaines \u00e9tapes<\/h2>\n<p>Les \u00e9quations de Maxwell peuvent \u00eatre impl\u00e9ment\u00e9es dans FIPY \u00e0 des fins \u00e9ducatives, de d\u00e9veloppement de prototypes et de couplage multiphysique o\u00f9 la TEM interagit avec d&rsquo;autres ph\u00e9nom\u00e8nes bas\u00e9s sur la PDE. Cependant, FIPY n&rsquo;est pas l&rsquo;outil optimal pour la simulation \u00e9lectromagn\u00e9tique de production.<\/p>\n<p><strong>Si vous d\u00e9butez dans l&rsquo;\u00e9lectromagn\u00e9tique informatique<\/strong>&nbsp;: commencez par un exemple 1D, v\u00e9rifiez votre impl\u00e9mentation de curl et comprenez les limitations avant de tenter des probl\u00e8mes 2D\/3D.<\/p>\n<p><strong>Si vous n&rsquo;avez besoin que d&rsquo;un EM haute fid\u00e9lit\u00e9<\/strong>&nbsp;: envisagez MEEP (FDTD) ou FENICS (FEM) \u00e0 la place.<\/p>\n<p><strong>Si vous avez besoin de multiphysique<\/strong>&nbsp;: FIPY peut \u00eatre votre meilleur choix si vous l&rsquo;utilisez d\u00e9j\u00e0 pour d&rsquo;autres physiques. Soyez pr\u00eat \u00e0 \u00e9crire des op\u00e9rateurs personnalis\u00e9s et \u00e0 valider de mani\u00e8re approfondie.<\/p>\n<h3>Lire la suite sur Matforge<\/h3>\n<ul>\n<li><a href=\"..\/boundary-conditions-theory-and-implementation-in-fipy\/\">Conditions aux limites&nbsp;: th\u00e9orie et impl\u00e9mentation dans FIPY<\/a> \u2013 Apprendre le syst\u00e8me de conditions aux limites de FIPY<\/li>\n<li><a href=\"..\/finite-volume-method-explained-simply\/\">M\u00e9thode de volume fini expliqu\u00e9e simplement<\/a> \u2013 Comprendre les fondamentaux de la FVM<\/li>\n<li><a href=\"..\/using-fipy-for-phase-field-modeling\/\">Utiliser FIPY pour la mod\u00e9lisation en champ de phase<\/a> \u2013 voir les points forts de FIPY dans les syst\u00e8mes PDE coupl\u00e9s<\/li>\n<li><a href=\"..\/managing-large-scale-pde-problems-strategies-solvers-and-hpc-case-studies\/\">G\u00e9rer les probl\u00e8mes de PDE \u00e0 grande \u00e9chelle<\/a> \u2013 Strat\u00e9gies HPC pour les simulations de grande taille<\/li>\n<\/ul>\n<h3>ressources externes<\/h3>\n<ul>\n<li>Documentation FIPY : https:\/\/pages.nist.gov\/fipy\/<\/li>\n<li>Les \u00e9quations de Maxwell (Wikipedia): https:\/\/en.wikipedia.org\/wiki\/Maxwell%27s_Equations<\/li>\n<li>MEEP (FDTD)&nbsp;: https:\/\/meep.readthedocs.io\/<\/li>\n<li>Fenics (FEM)&nbsp;: https:\/\/fenicsproject.org\/<\/li>\n<\/ul>\n<hr>\n<p><strong>Mots cl\u00e9s<\/strong>&nbsp;: simulations \u00e9lectromagn\u00e9tiques, \u00e9quations de Maxwell, FIPY, m\u00e9thode de volume fini, solveur PDE, propagation des ondes, op\u00e9rateur de curl, conditions aux limites, \u00e9lectromagn\u00e9tique informatique, FDTD, FEM, vecteur Champs, simulation Python<\/p>\n<p><strong>Liens internes<\/strong>&nbsp;: l&rsquo;article renvoie au contenu MatForge existant sur les conditions aux limites, la m\u00e9thode de volume fini, la mod\u00e9lisation de champ de phase et les probl\u00e8mes de PDE \u00e0 grande \u00e9chelle pour fournir un contexte et guider les lecteurs vers des sujets connexes.<\/p>\n","protected":false,"raw":"<p>tl;dr<\/p>\n<p>Les \u00e9quations de Maxwell d\u00e9crivent comment les champs \u00e9lectriques et magn\u00e9tiques \u00e9voluent et interagissent. Alors que FIPY a \u00e9t\u00e9 con\u00e7u pour les probl\u00e8mes de type diffusion, vous pouvez simuler des ondes \u00e9lectromagn\u00e9tiques en traitant les \u00e9quations de Maxwell comme un syst\u00e8me coupl\u00e9 de PDE hyperboliques transitoires. La cl\u00e9 est le couplage des lois de Faraday et d'Amp\u00e8re \u00e0 l'aide des impl\u00e9mentations de FIPY <code>TransientTerm<\/code> et de CURL personnalis\u00e9e. Cependant, FIPY a des limites pour les EM \u00e0 haute fr\u00e9quence&nbsp;: il manque d'op\u00e9rateurs de curl 3D natifs, lutte avec les conditions aux limites du champ vectoriel et peut produire des solutions parasites. Pour la plupart des travaux EM, des outils sp\u00e9cialis\u00e9s comme FDTD (MEEP) ou FEM (FENICS) sont meilleurs. Fipy brille lors du couplage de l'EM avec d'autres physiques (par exemple, plasma, effets thermiques) o\u00f9 sa flexibilit\u00e9 avec des maillages arbitraires et des syst\u00e8mes PDE est pr\u00e9cieuse.<\/p>\n<h2>Introduction : les \u00e9quations de Maxwell et l'\u00e9lectromagn\u00e9tique informatique<\/h2>\n<p>Les \u00e9quations de Maxwell sont le fondement de l'\u00e9lectromagn\u00e9tisme classique, r\u00e9gissant la fa\u00e7on dont les champs \u00e9lectriques et magn\u00e9tiques sont g\u00e9n\u00e9r\u00e9s et alt\u00e9r\u00e9s par les charges, les courants et les uns des autres. Sous forme de calcul, ils deviennent un ensemble de quatre \u00e9quations aux d\u00e9riv\u00e9es partielles coupl\u00e9es :<\/p>\n<ol>\n<li><strong>Loi de Gauss<\/strong>&nbsp;: \u2207\u00b7d = \u03c1 (la charge \u00e9lectrique g\u00e9n\u00e8re un d\u00e9placement \u00e9lectrique)<\/li>\n<li><strong>La loi de Gauss pour le magn\u00e9tisme<\/strong>&nbsp;: \u2207\u00b7b = 0 (pas de monopoles magn\u00e9tiques)<\/li>\n<li><strong>Loi de Faraday<\/strong>&nbsp;: \u2207\u00d7E = -\u2202B\/\u2202T (champs magn\u00e9tiques variant dans le temps induisent des champs \u00e9lectriques)<\/li>\n<li><strong>Loi d'Amp\u00e8re-Maxwell<\/strong>&nbsp;: \u2207\u00d7H = j + \u2202D\/\u2202t (les courants et les champs \u00e9lectriques changeants g\u00e9n\u00e8rent des champs magn\u00e9tiques)<\/li>\n<\/ol>\n<p>Pour la propagation des ondes dans des milieux homog\u00e8nes, le syst\u00e8me coupl\u00e9 se r\u00e9duit \u00e0 deux \u00e9quations cl\u00e9s :<\/p>\n<pre><code>\u2202E\/\u2202t = -\u03bc\u207b\u00b9 \u2207\u00d7H\n\u2202H\/\u2202t = -\u03b5\u207b\u00b9 \u2207\u00d7E<\/code><\/pre>\n<p>o\u00f9 \u03b5 est la permittivit\u00e9 et \u03bc est une perm\u00e9abilit\u00e9.<\/p>\n<p><strong>Pourquoi simuler les \u00e9quations de Maxwell&nbsp;?<\/strong> Les applications vont de la conception de l'antenne et de l'analyse des guides d'ondes \u00e0 la photonique, au calcul de la section transversale radar et \u00e0 la physique du plasma. Le choix de la m\u00e9thode num\u00e9rique affecte profond\u00e9ment la pr\u00e9cision, les performances et la complexit\u00e9 de la mise en \u0153uvre.<\/p>\n<h2>M\u00e9thode de volume fini pour l'\u00e9lectromagn\u00e9tique<\/h2>\n<p>La m\u00e9thode de volume fini (FVM) discr\u00e9tise le domaine en volumes de contr\u00f4le et int\u00e8gre les PDE sur chaque volume, conservant les flux \u00e0 travers les fronti\u00e8res. Pour l'\u00e9lectromagn\u00e9tique, FVM propose :<\/p>\n<ul>\n<li><strong>Propri\u00e9t\u00e9s de conservation<\/strong>&nbsp;: Application naturelle de la conservation des frais<\/li>\n<li><strong>Maillage flexible<\/strong> : g\u00e8re les g\u00e9om\u00e9tries complexes avec des grilles non structur\u00e9es<\/li>\n<li><strong>Robustit\u00e9<\/strong>&nbsp;: fonctionne bien avec les propri\u00e9t\u00e9s des mat\u00e9riaux discontinus<\/li>\n<\/ul>\n<p>Cependant, FVM est confront\u00e9 \u00e0 des d\u00e9fis pour les \u00e9quations de Maxwell, car l'op\u00e9rateur CURL a besoin d'informations provenant de cellules voisines dans des mod\u00e8les sp\u00e9cifiques. Le FVM standard centr\u00e9 sur les n\u0153uds peut produire des solutions parasites (modes non physiques dans l'espace nul de l'op\u00e9rateur curl-curl).<\/p>\n<p><strong>Key Insight<\/strong>&nbsp;: la force de Fipy est de r\u00e9soudre les syst\u00e8mes de diffusion-convection-r\u00e9action. Les \u00e9quations de Maxwell sont hyperboliques (comme ondul\u00e9e), n\u00e9cessitant un traitement attentif de pas de temps et de discr\u00e9tisation spatiale pour \u00e9viter l'instabilit\u00e9 num\u00e9rique.<\/p>\n<h2>Impl\u00e9mentation de simulations \u00e9lectromagn\u00e9tiques dans FIPY<\/h2>\n<h3>1. Formulation du probl\u00e8me<\/h3>\n<p>Fipy n'a pas d'exemples \u00e9lectromagn\u00e9tiques int\u00e9gr\u00e9s, mais vous pouvez construire le syst\u00e8me manuellement. L'approche la plus simple consiste \u00e0 r\u00e9soudre directement les composants de champ \u00e9lectrique et magn\u00e9tique en 1D ou 2D.<\/p>\n<p><strong>Exemple&nbsp;: onde \u00e9lectromagn\u00e9tique transversale 1D (TEM)<\/strong><\/p>\n<p>En 1D avec des champs variant uniquement en x et polaris\u00e9s en y (e_y) et z (h_z), les \u00e9quations de Maxwell se simplifient pour :<\/p>\n<pre><code>\u2202E_y\/\u2202t = -\u03bc\u207b\u00b9 \u2202H_z\/\u2202x\n\u2202H_z\/\u2202t = -\u03b5\u207b\u00b9 \u2202E_y\/\u2202x<\/code><\/pre>\n<p>Cela d\u00e9coupe la boucle en d\u00e9riv\u00e9s simples, ce qui la rend conviviale pour les figues.<\/p>\n<h3>2. Structure de mise en \u0153uvre de FIPY<\/h3>\n<pre><code>import fipy as fp\nimport numpy as np\n\n# Define mesh\nnx = 200\nmesh = fp.Grid1D(nx=nx, Lx=1.0)\n\n# Material properties (non-dimensionalized)\nepsilon = 1.0 # permittivity\nmu = 1.0 # permeability\n\n# Define field variables\nE = fp.CellVariable(name=\"Electric Field (E_y)\", mesh=mesh, value=0.)\nH = fp.CellVariable(name=\"Magnetic Field (H_z)\", mesh=mesh, value=0.)\n\n# Initial conditions: Gaussian pulse in E\nx = mesh.cellCenters[0]\nE.setValue(np.exp(-((x - 0.5) \/ 0.05)**2))\n\n# Boundary conditions: Perfect Electric Conductor (PEC)\n# E = 0 at boundaries\nE.constrain(0., mesh.facesLeft)\nE.constrain(0., mesh.facesRight)\n# H can have Neumann (zero gradient) or other conditions\nH.constrain(0., mesh.facesLeft)\nH.constrain(0., mesh.facesRight)\n\n# Build equations\n# Using convection term to represent spatial derivative of H\neqE = fp.TransientTerm(var=E) + (1.\/mu) * fp.CentralDifferenceConvectionTerm(coeff=1., var=H) == 0\neqH = fp.TransientTerm(var=H) + (1.\/epsilon) * fp.CentralDifferenceConvectionTerm(coeff=1., var=E) == 0\neq = eqE &amp; eqH\n\n# Time stepping\ndt = 0.001\nfor step in range(1000):\n    eq.solve(dt=dt)\n    if step % 100 == 0:\n        print(f\"Step {step}: E_max={E.value.max():.4f}, H_max={H.value.max():.4f}\")<\/code><\/pre>\n<p><strong>Notes importantes<\/strong>&nbsp;:<\/p>\n<ul>\n<li>Le <code>ConvectionTerm<\/code> avec <code>coeff=1<\/code> calcule efficacement \u2202H\/\u2202x (ou \u2202E\/\u2202x). Cela fonctionne en 1D mais n\u00e9cessite une g\u00e9n\u00e9ralisation pour la 2D\/3D.<\/li>\n<li>Le pas de temps <code>dt<\/code> doit satisfaire \u00e0 la condition CFL&nbsp;: <code>dt &lt;= mesh.dx \/ c<\/code> o\u00f9 c = 1\/\u221a(\u03bc\u03b5) est la vitesse d'onde.<\/li>\n<li>Les conditions aux limites du conducteur \u00e9lectrique parfait (PEC) forcent Tangentiellement E \u00e0 z\u00e9ro.<\/li>\n<\/ul>\n<h3>3. Extension en 2D et 3D<\/h3>\n<p>En 2D (modes TE), vous pouvez avoir des composants E_Z, H_X, H_Y. Les op\u00e9rations de curl deviennent :<\/p>\n<pre><code>(\u2207\u00d7H)_z = \u2202H_y\/\u2202x - \u2202H_x\/\u2202y\n(\u2207\u00d7E)_x = \u2202E_z\/\u2202y\n(\u2207\u00d7E)_y = -\u2202E_z\/\u2202x<\/code><\/pre>\n<p>Fipy n'a pas d'op\u00e9rateur de curl 2D direct, vous devez donc le construire \u00e0 partir de <code>CentralDifferenceConvectionTerm<\/code> sur chaque composant. Cela devient verbeux et sujet aux erreurs.<\/p>\n<h3>4. Potentiels vectoriels (avanc\u00e9)<\/h3>\n<p>Pour \u00e9viter de manipuler manuellement CURL, certaines formulations utilisent un potentiel vectoriel <strong>a<\/strong> o\u00f9 b = \u2207\u00d7a, et un potentiel scalaire \u03c6. Cela peut r\u00e9duire les \u00e9quations de Maxwell \u00e0 une \u00e9quation d'onde du second ordre pour <strong>a<\/strong> avec des conditions de jauge. Cependant, la mise en \u0153uvre de FIPY reste complexe et n'est pas bien document\u00e9e.<\/p>\n<h2>Limites et \u00e9cueils<\/h2>\n<h3>Aucun op\u00e9rateur de curl natif<\/h3>\n<p>La biblioth\u00e8que de termes de FIPY comprend <code>DiffusionTerm<\/code>, <code>ConvectionTerm<\/code>, <code>TransientTerm<\/code>, mais non <code>CurlTerm<\/code>. Vous devez impl\u00e9menter CURL manuellement \u00e0 l'aide de gradients de maillage, ce qui n\u00e9cessite une compr\u00e9hension approfondie de l'indexation du maillage de Fipy et des mappages face \u00e0 cellule.<\/p>\n<p>\u00c0 partir de la recherche&nbsp;: \"Pour calculer une boucle dans Fipy, il faut construire explicitement l'op\u00e9rateur \u00e0 partir des d\u00e9riv\u00e9es des composants vectoriels individuels du domaine. Cela augmente la complexit\u00e9.\"<\/p>\n<h3>Solutions fallacieuses<\/h3>\n<p>La discr\u00e9tisation par volume fini standard des \u00e9quations de Curl-Curl (\u2207\u00d7\u2207\u00d7A = \u03b5\u03bc \u2202\u00b2A\/\u2202T\u00b2) peut produire des solutions non physiques en raison de l'espace nul de l'op\u00e9rateur de curl discret. Les \u00e9l\u00e9ments finis vectoriels (\u00e9l\u00e9ments de bord) dans FEM \u00e9vitent naturellement cela en assurant la continuit\u00e9 des composants tangentiels. L'approche centr\u00e9e sur les cellules de FIPY ne fournit pas cette garantie.<\/p>\n<p><strong>Recommandation<\/strong>&nbsp;: pour la propagation des ondes 2D\/3D, valider les r\u00e9sultats par rapport \u00e0 des solutions analytiques ou \u00e0 des m\u00e9thodes alternatives. Attendez-vous \u00e0 des modes parasites potentiels \u00e0 moins que le maillage ne soit tr\u00e8s raffin\u00e9 et que des pr\u00e9cautions particuli\u00e8res soient prises.<\/p>\n<h3>Conditions aux limites<\/h3>\n<p>Les conditions aux limites \u00e9lectromagn\u00e9tiques sp\u00e9cifient souvent la continuit\u00e9 du champ \u00e9lectrique tangentiel ou des conducteurs parfaits. Le syst\u00e8me de conditions aux limites de FIPY est con\u00e7u pour les PDE scalaires avec des conditions Dirichlet (valeur fixe) ou Neumann (flux fixe). La mise en \u0153uvre de conditions d'imp\u00e9dance de surface ou de rayonnement (par exemple, couche parfaitement adapt\u00e9e) est possible mais n\u00e9cessite des termes de source personnalis\u00e9s.<\/p>\n<p><strong>Conseil<\/strong>&nbsp;: voir l'article de Matforge \"Conditions aux limites&nbsp;: th\u00e9orie et mise en \u0153uvre dans FIPY\" pour les fondamentaux du syst\u00e8me de conditions aux limites de FIPY, qui s'applique \u00e9galement aux probl\u00e8mes EM.<\/p>\n<h3>Consid\u00e9rations relatives aux performances<\/h3>\n<p>Fipy est \u00e9crit en Python avec des boucles critiques de performances en Cython. Pour les grandes simulations EM 3D, il sera plus lent que les codes FDTD compil\u00e9s (par exemple, Meep en C++). L'avantage de FIPY est la flexibilit\u00e9 : un couplage facile avec d'autres PDE (transfert de chaleur, flux de fluide, r\u00e9actions chimiques) et prototypage rapide.<\/p>\n<h2>Quand utiliser Fipy pour l'\u00e9lectromagn\u00e9tique<\/h2>\n<h3>Choisissez Fipy lorsque&nbsp;:<\/h3>\n<ul>\n<li>Vous avez besoin de <strong>couple \u00e9lectromagn\u00e9tique avec d'autres physiques<\/strong> (par exemple, Joule Heating, Plasma Kinetics, thermo\u00e9lectrique)<\/li>\n<li>Votre g\u00e9om\u00e9trie est complexe, mais vous pouvez travailler avec des maillages relativement grossiers<\/li>\n<li>Vous utilisez d\u00e9j\u00e0 Fipy pour d'autres parties de votre probl\u00e8me multiphysique<\/li>\n<li>Vous avez besoin d'un prototypage rapide et \u00eates pr\u00eat \u00e0 mettre en \u0153uvre des op\u00e9rateurs personnalis\u00e9s<\/li>\n<li>Votre probl\u00e8me EM est quasi-statique (faible fr\u00e9quence) o\u00f9 le courant de d\u00e9placement est n\u00e9gligeable<\/li>\n<\/ul>\n<h3>Choisissez des alternatives lorsque&nbsp;:<\/h3>\n<ul>\n<li>Vous avez besoin d'un <strong>Simulations \u00e0 haute fr\u00e9quence et pleine onde<\/strong> (rayonnement antenne, circuits micro-ondes)<\/li>\n<li>La pr\u00e9cision et les performances sont essentielles (conception d'ing\u00e9nierie de production)<\/li>\n<li>Vous avez besoin d'une extraction de param\u00e8tres S int\u00e9gr\u00e9, de mod\u00e8les de champ lointain ou d'une analyse de port<\/li>\n<li>Votre \u00e9quipe manque d'expertise approfondie en PDE et en m\u00e9thodes num\u00e9riques<\/li>\n<\/ul>\n<p><strong>Alternatives recommand\u00e9es<\/strong>&nbsp;:<\/p>\n<table>\n<tbody>\n<tr>\n<th>Outil<\/th>\n<th>M\u00e9thode<\/th>\n<th>le mieux pour<\/th>\n<th>Int\u00e9gration Python<\/th>\n<\/tr>\n<tr>\n<td><strong>MEEP<\/strong><\/td>\n<td>FDTD<\/td>\n<td>Photonique, plasmonique, propagation des ondes<\/td>\n<td>API Python native<\/td>\n<\/tr>\n<tr>\n<td><strong>Fenics\/Dolfinx<\/strong><\/td>\n<td>femelle<\/td>\n<td>G\u00e9n\u00e9ralit\u00e9s EM, Probl\u00e8mes propres, Statique\/Quasi-statique<\/td>\n<td>Python frontal, backend C++<\/td>\n<\/tr>\n<tr>\n<td><strong>NgSolve<\/strong><\/td>\n<td>femelle<\/td>\n<td>G\u00e9om\u00e9tries complexes \u00e0 haute fr\u00e9quence<\/td>\n<td>Python (NGS-PY)<\/td>\n<\/tr>\n<tr>\n<td><strong>Comsol<\/strong><\/td>\n<td>FEM (diff\u00e9rents)<\/td>\n<td>Commercial, multiphysique, pilot\u00e9 par l'interface utilisateur<\/td>\n<td>LiveLink pour Python<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Liste de contr\u00f4le de mise en \u0153uvre pratique<\/h2>\n<p>Avant de commencer votre simulation EM dans Fipy, r\u00e9pondez \u00e0 ces questions&nbsp;:<\/p>\n<ul>\n<li>[ ] Le probl\u00e8me est-il vraiment adapt\u00e9 \u00e0 la FVM, ou la FEM\/FDTD serait-elle meilleure&nbsp;?<\/li>\n<li>[ ] Avez-vous v\u00e9rifi\u00e9 votre impl\u00e9mentation de curl dans un simple cas de test (par exemple, champ constant)&nbsp;?<\/li>\n<li>[ ] Les conditions aux limites sont-elles correctement appliqu\u00e9es (Tangentielle E pour PEC, continuit\u00e9 entre les interfaces)&nbsp;?<\/li>\n<li>[ ] Avez-vous valid\u00e9 la condition CFL pour un pas de temps&nbsp;?<\/li>\n<li>[ ] Avez-vous une m\u00e9thode pour d\u00e9tecter les modes parasites (par exemple, surveiller la divergence du champ)&nbsp;?<\/li>\n<li>[ ] Pouvez-vous simplifier en 1D ou 2D pour le d\u00e9veloppement initial ?<\/li>\n<li>[ ] Avez-vous envisag\u00e9 d'utiliser une formulation de potentiel vectoriel pour r\u00e9duire les degr\u00e9s de libert\u00e9&nbsp;?<\/li>\n<\/ul>\n<h2>Erreurs courantes \u00e0 \u00e9viter<\/h2>\n<ol>\n<li><strong>Ignorer la complexit\u00e9 de l'impl\u00e9mentation de curl<\/strong>&nbsp;: les d\u00e9butants supposent souvent que Fipy a un op\u00e9rateur de curl int\u00e9gr\u00e9. Ce n'est pas le cas. Vous devez le construire \u00e0 partir de d\u00e9riv\u00e9s spatiaux.<\/li>\n<li><strong>Utilisation de variables centr\u00e9es sur les cellules pour les champs vectoriels sans souci<\/strong>&nbsp;: l'arrangement FVM standard pour les champs vectoriels dans EM n\u00e9cessite des maillages d\u00e9cal\u00e9s (par exemple, Yee Grid dans FDTD). FIPY utilise par d\u00e9faut des maillages colocalis\u00e9s, ce qui peut provoquer une instabilit\u00e9 ou des solutions parasites.<\/li>\n<li><strong>Les unit\u00e9s de n\u00e9gligence et la non-dimensionnement<\/strong>&nbsp;: les \u00e9quations de Maxwell impliquent des \u03b5 et des \u03bc qui varient de plusieurs ordres de grandeur. Non-dimensionn\u00e9 pour \u00e9viter le d\u00e9bordement\/le sous-\u00e9coulement num\u00e9rique.<\/li>\n<li><strong>r\u00e9solution de maillage insuffisante<\/strong>&nbsp;: les ph\u00e9nom\u00e8nes d'ondes n\u00e9cessitent au moins 10 \u00e0 20&nbsp;cellules par longueur d'onde. Une sous-r\u00e9solution entra\u00eene des erreurs de dispersion (mauvaise vitesse d'onde) ou une instabilit\u00e9 num\u00e9rique.<\/li>\n<li><strong>Conditions aux limites erron\u00e9es<\/strong>&nbsp;: les limites PEC n\u00e9cessitent un e = 0. Dans FIPY, vous devez contraindre chaque composante de mani\u00e8re appropri\u00e9e en fonction de l'orientation des limites.<\/li>\n<li><strong>Ne pas v\u00e9rifier \u2207\u00b7b = 0<\/strong>&nbsp;: une des \u00e9quations de Maxwell (pas de monopoles magn\u00e9tiques) devrait tenir si votre impl\u00e9mentation est correcte. Surveiller la divergence de B en tant que contr\u00f4le de sant\u00e9 mentale.<\/li>\n<\/ol>\n<h2>\u00c9tude de cas : propagation du pouls gaussienne 1D<\/h2>\n<p>Parcourons un exemple 1D complet et fonctionnel qui d\u00e9montre la propagation des ondes et la r\u00e9flexion des limites du PEC.<\/p>\n<p><strong>Configuration<\/strong>&nbsp;:<\/p>\n<ul>\n<li>Domaine : x \u2208 [0, 1] m<\/li>\n<li>E_Y initiale : pouls gaussien centr\u00e9 sur x = 0,5 m, amplitude 1 V\/m<\/li>\n<li>h_z initialement 0<\/li>\n<li>\u03bc = \u03b5 = 1 (non dimensionnel, C=1)<\/li>\n<li>Limites PEC&nbsp;: E_Y(0) = E_Y(1) = 0<\/li>\n<li>Pas de temps : DT = 0,001, pas total = 2&nbsp;000<\/li>\n<\/ul>\n<p><strong>Comportement attendu<\/strong>&nbsp;: le pouls gaussien se divise en deux ondes progressives se d\u00e9pla\u00e7ant vers la gauche et vers la droite, se refl\u00e9tant des limites et finalement interf\u00e9rant.<\/p>\n<p><strong>Code complet<\/strong> est fourni dans le r\u00e9f\u00e9rentiel de documentation FIPY (NIST). La simulation doit montrer la conservation de l'\u00e9nergie (somme de \u222bE\u00b2 et \u222bH\u00b2 approximativement constante) et aucune explosion num\u00e9rique si la condition LFC est satisfaite.<\/p>\n<h2>Validation et v\u00e9rification<\/h2>\n<h3>V\u00e9rification&nbsp;: le code est-il correct&nbsp;?<\/h3>\n<ul>\n<li>V\u00e9rifiez que \u2207\u00b7b reste proche de z\u00e9ro pendant la simulation<\/li>\n<li>Comparer avec la solution analytique pour l'\u00e9quation d'onde 1D : E(x,t) = f(x-ct) + g(x+ct)<\/li>\n<li>Effectuer une \u00e9tude de raffinement de maillage&nbsp;: la solution doit converger en tant que DX\u21920, DT\u21920<\/li>\n<\/ul>\n<h3>Validation : mod\u00e9lise-t-elle la r\u00e9alit\u00e9 ?<\/h3>\n<ul>\n<li>Comparez avec des donn\u00e9es exp\u00e9rimentales ou des outils de simulation \u00e9tablis (MEEP, COMSOL)<\/li>\n<li>Testez avec des probl\u00e8mes canoniques : guide d'ondes rectangulaire, diffusion \u00e0 partir d'une sph\u00e8re<\/li>\n<\/ul>\n<h2>Conclusion et prochaines \u00e9tapes<\/h2>\n<p>Les \u00e9quations de Maxwell peuvent \u00eatre impl\u00e9ment\u00e9es dans FIPY \u00e0 des fins \u00e9ducatives, de d\u00e9veloppement de prototypes et de couplage multiphysique o\u00f9 la TEM interagit avec d'autres ph\u00e9nom\u00e8nes bas\u00e9s sur la PDE. Cependant, FIPY n'est pas l'outil optimal pour la simulation \u00e9lectromagn\u00e9tique de production.<\/p>\n<p><strong>Si vous d\u00e9butez dans l'\u00e9lectromagn\u00e9tique informatique<\/strong>&nbsp;: commencez par un exemple 1D, v\u00e9rifiez votre impl\u00e9mentation de curl et comprenez les limitations avant de tenter des probl\u00e8mes 2D\/3D.<\/p>\n<p><strong>Si vous n'avez besoin que d'un EM haute fid\u00e9lit\u00e9<\/strong>&nbsp;: envisagez MEEP (FDTD) ou FENICS (FEM) \u00e0 la place.<\/p>\n<p><strong>Si vous avez besoin de multiphysique<\/strong>&nbsp;: FIPY peut \u00eatre votre meilleur choix si vous l'utilisez d\u00e9j\u00e0 pour d'autres physiques. Soyez pr\u00eat \u00e0 \u00e9crire des op\u00e9rateurs personnalis\u00e9s et \u00e0 valider de mani\u00e8re approfondie.<\/p>\n<h3>Lire la suite sur Matforge<\/h3>\n<ul>\n<li><a href=\"..\/boundary-conditions-theory-and-implementation-in-fipy\/\">Conditions aux limites&nbsp;: th\u00e9orie et impl\u00e9mentation dans FIPY<\/a> \u2013 Apprendre le syst\u00e8me de conditions aux limites de FIPY<\/li>\n<li><a href=\"..\/finite-volume-method-explained-simply\/\">M\u00e9thode de volume fini expliqu\u00e9e simplement<\/a> \u2013 Comprendre les fondamentaux de la FVM<\/li>\n<li><a href=\"..\/using-fipy-for-phase-field-modeling\/\">Utiliser FIPY pour la mod\u00e9lisation en champ de phase<\/a> \u2013 voir les points forts de FIPY dans les syst\u00e8mes PDE coupl\u00e9s<\/li>\n<li><a href=\"..\/managing-large-scale-pde-problems-strategies-solvers-and-hpc-case-studies\/\">G\u00e9rer les probl\u00e8mes de PDE \u00e0 grande \u00e9chelle<\/a> \u2013 Strat\u00e9gies HPC pour les simulations de grande taille<\/li>\n<\/ul>\n<h3>ressources externes<\/h3>\n<ul>\n<li>Documentation FIPY : https:\/\/pages.nist.gov\/fipy\/<\/li>\n<li>Les \u00e9quations de Maxwell (Wikipedia): https:\/\/en.wikipedia.org\/wiki\/Maxwell%27s_Equations<\/li>\n<li>MEEP (FDTD)&nbsp;: https:\/\/meep.readthedocs.io\/<\/li>\n<li>Fenics (FEM)&nbsp;: https:\/\/fenicsproject.org\/<\/li>\n<\/ul>\n<hr>\n<p><strong>Mots cl\u00e9s<\/strong>&nbsp;: simulations \u00e9lectromagn\u00e9tiques, \u00e9quations de Maxwell, FIPY, m\u00e9thode de volume fini, solveur PDE, propagation des ondes, op\u00e9rateur de curl, conditions aux limites, \u00e9lectromagn\u00e9tique informatique, FDTD, FEM, vecteur Champs, simulation Python<\/p>\n<p><strong>Liens internes<\/strong>&nbsp;: l'article renvoie au contenu MatForge existant sur les conditions aux limites, la m\u00e9thode de volume fini, la mod\u00e9lisation de champ de phase et les probl\u00e8mes de PDE \u00e0 grande \u00e9chelle pour fournir un contexte et guider les lecteurs vers des sujets connexes.<\/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\"> 8<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>tl;dr Les \u00e9quations de Maxwell d\u00e9crivent comment les champs \u00e9lectriques et magn\u00e9tiques \u00e9voluent et interagissent. Alors que FIPY a \u00e9t\u00e9 con\u00e7u pour les probl\u00e8mes de type diffusion, vous pouvez simuler des ondes \u00e9lectromagn\u00e9tiques en traitant les \u00e9quations de Maxwell comme un syst\u00e8me coupl\u00e9 de PDE hyperboliques transitoires. La cl\u00e9 est le couplage des lois de [&hellip;]<\/p>\n","protected":false,"raw":""},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"fr_FR","_original_post":"https:\/\/matforge.org\/?p=235","iawp_total_views":1,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1184","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>Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell - matforge.org<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell - matforge.org\" \/>\n<meta property=\"og:description\" content=\"Reading Time:  8 minutestl;dr Les \u00e9quations de Maxwell d\u00e9crivent comment les champs \u00e9lectriques et magn\u00e9tiques \u00e9voluent et interagissent. Alors que FIPY a \u00e9t\u00e9 con\u00e7u pour les probl\u00e8mes de type diffusion, vous pouvez simuler des ondes \u00e9lectromagn\u00e9tiques en traitant les \u00e9quations de Maxwell comme un syst\u00e8me coupl\u00e9 de PDE hyperboliques transitoires. La cl\u00e9 est le couplage des lois de [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-21T14:25:40+00:00\" \/>\n<meta name=\"author\" content=\"steven\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"steven\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\\\/\"},\"author\":{\"name\":\"steven\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/8f690fb596d657b12994b83caa788f03\"},\"headline\":\"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell\",\"datePublished\":\"2026-08-21T14:25:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\\\/\"},\"wordCount\":2470,\"commentCount\":0,\"articleSection\":[\"Simulation &amp; Projets de mod\u00e9lisation\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/fr\\\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\\\/\",\"name\":\"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell - matforge.org\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-08-21T14:25:40+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/8f690fb596d657b12994b83caa788f03\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell\"}]},{\"@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\\\/8f690fb596d657b12994b83caa788f03\",\"name\":\"steven\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d46cfcd83a298f27e8d66bfa035514fefca7652f26bd3ef7402f82b68a41ec0f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d46cfcd83a298f27e8d66bfa035514fefca7652f26bd3ef7402f82b68a41ec0f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d46cfcd83a298f27e8d66bfa035514fefca7652f26bd3ef7402f82b68a41ec0f?s=96&d=mm&r=g\",\"caption\":\"steven\"},\"url\":\"https:\\\/\\\/matforge.org\\\/author\\\/steven\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell - matforge.org","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/","og_locale":"fr_FR","og_type":"article","og_title":"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell - matforge.org","og_description":"Reading Time:  8 minutestl;dr Les \u00e9quations de Maxwell d\u00e9crivent comment les champs \u00e9lectriques et magn\u00e9tiques \u00e9voluent et interagissent. Alors que FIPY a \u00e9t\u00e9 con\u00e7u pour les probl\u00e8mes de type diffusion, vous pouvez simuler des ondes \u00e9lectromagn\u00e9tiques en traitant les \u00e9quations de Maxwell comme un syst\u00e8me coupl\u00e9 de PDE hyperboliques transitoires. La cl\u00e9 est le couplage des lois de [&hellip;]","og_url":"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/","og_site_name":"matforge.org","article_published_time":"2026-08-21T14:25:40+00:00","author":"steven","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"steven","Dur\u00e9e de lecture estim\u00e9e":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/"},"author":{"name":"steven","@id":"https:\/\/matforge.org\/#\/schema\/person\/8f690fb596d657b12994b83caa788f03"},"headline":"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell","datePublished":"2026-08-21T14:25:40+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/"},"wordCount":2470,"commentCount":0,"articleSection":["Simulation &amp; Projets de mod\u00e9lisation"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/","url":"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/","name":"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell - matforge.org","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-08-21T14:25:40+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/8f690fb596d657b12994b83caa788f03"},"breadcrumb":{"@id":"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/fr\/electromagnetics-simulations-with-fipy-maxwells-equations-implementation-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/"},{"@type":"ListItem","position":2,"name":"Simulations \u00e9lectromagn\u00e9tiques avec Fipy : Guide de mise en \u0153uvre des \u00e9quations de Maxwell"}]},{"@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\/8f690fb596d657b12994b83caa788f03","name":"steven","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/d46cfcd83a298f27e8d66bfa035514fefca7652f26bd3ef7402f82b68a41ec0f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d46cfcd83a298f27e8d66bfa035514fefca7652f26bd3ef7402f82b68a41ec0f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d46cfcd83a298f27e8d66bfa035514fefca7652f26bd3ef7402f82b68a41ec0f?s=96&d=mm&r=g","caption":"steven"},"url":"https:\/\/matforge.org\/author\/steven\/"}]}},"_links":{"self":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1184","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\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/comments?post=1184"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1184\/revisions"}],"predecessor-version":[{"id":1319,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1184\/revisions\/1319"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=1184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=1184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=1184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}