Méthode particle-in-cell

Interaction laser-plasma en régime relativiste (code OSIRIS[1]). Densité électronique calculée par une méthode PIC (Laser WakeField Acceleration[2]).

En analyse numérique, la méthode particle-in-cell (PIC) est utilisée pour la résolution de certaines équations aux dérivées partielles. Dans cette méthode, le déplacement des particules représentatives du milieu est traité par une approche lagrangienne tandis que les moments (masse volumique, flux) sont traités par une méthode eulérienne.

Cette méthode a été introduite dans les années 1950 par divers auteurs comme Oscar Buneman[3] et John Myrick Dawson[4] en physique des plasmas, la méthode consistant à suivre les trajectoires de particules chargées dans un champ électromagnétique (ou électrostatique) auto-cohérent calculé sur un maillage fixe.

Introduction

Pour de nombreux types de problèmes, la méthode particle-in-cell (PIC) classique est relativement intuitive et simple à mettre en œuvre. Cela explique probablement son succès, notamment pour la simulation des plasmas, pour laquelle la méthode comprend généralement les procédures suivantes :

  • Intégration des équations du mouvement.
  • Interpolation des termes sources de charge et de courant sur le maillage du champ.
  • Calcul des champs aux points du maillage.
  • Interpolation des champs du maillage aux emplacements des particules.

Les modèles qui incluent les interactions des particules uniquement par le biais des champs moyens sont appelés « PM » (particule-maillage). Ceux qui incluent les interactions binaires directes sont appelés « PP » (particule-particule). Les modèles avec les deux types d'interactions sont appelés « PP-PM » ou « P3M ».

La méthode PIC est sensible aux erreurs dues à ce qu'on appelle le « bruit particulaire discret »[5]. Cette erreur est de nature statistique et reste aujourd'hui assez mal comprise.

Les algorithmes PIC géométriques modernes reposent sur un cadre théorique très différent. Ces algorithmes utilisent des outils de variétés discrètes, de formes différentielles interpolantes[6] et d'intégrateurs symplectiques canoniques ou non canoniques pour garantir l'invariance de jauge et la conservation de la charge, de l'énergie-impulsion et, plus important encore, de la structure symplectique de dimension infinie du système particule-champ[7],[8]. Ces caractéristiques recherchées sont attribuées au fait que les algorithmes PIC géométriques reposent sur le cadre théorique des champs plus fondamental et sont directement liés au principe variationnel de la physique.

Principes de base

Au sein de la communauté de recherche sur les plasmas on étudie des systèmes composés de différentes particules (électrons, ions, neutres, molécules, particules de poussière, etc.). L'ensemble des équations associées aux codes PIC comprend donc la force de Lorentz qui décrit le mouvement et est résolue par le module de déplacement ou « pousseur » du code, ainsi que les équations de Maxwell qui déterminent les champs électrique et magnétique et sont calculées par le solveur de champs.

Super-particules

Les systèmes réels étudiés sont souvent extrêmement grands en termes de nombre de particules qu'ils contiennent. Afin de rendre les simulations possibles on utilise des « super-particules ». Une super-particule (ou « macroparticule ») est une particule de calcul qui représente de nombreuses particules réelles. Il peut s'agir d'un grand nombre d'électrons ou d'ions dans le cas d'une simulation de plasma ou de tourbillons élémentaires dans une simulation de fluide. Il est possible de faire varier le nombre de particules car l'accélération due à la force de Lorentz dépend uniquement du rapport charge/masse. Une super-particule suivra donc la même trajectoire qu'une particule réelle (aux erreurs numériques près).

Le nombre de particules réelles correspondant à une super-particule doit être choisi de manière à pouvoir recueillir des statistiques suffisantes sur le mouvement de la particule. S'il existe une différence significative entre la densité des différentes espèces du système (entre ions et neutres par exemple), des rapports particules réelles/super-particules distincts peuvent être utilisés pour chacune d'elles.

Le module de déplacement des particules

Même avec des super-particules, le nombre de particules simulées est généralement très élevé (> 10⁵), et le module de déplacement des particules est souvent l'étape la plus gourmande en temps de calcul. Par conséquent, il doit doit être rapide. Des efforts considérables ont été consacrés à l'optimisation des différents schémas.

Ces schémas se divisent en deux catégories : les solveurs implicites et les solveurs explicites. Alors que les solveurs implicites (par exemple, le schéma d'Euler implicite) calculent la vitesse des particules à partir des champs déjà mis à jour, les solveurs explicites utilisent uniquement la force de l'étape de temps précédente. Ils sont donc plus simples et plus rapides, mais nécessitent un pas de temps plus petit. On utilise ainsi la méthode saute-mouton, une méthode explicite du second ordre, ou bien l'algorithme de Boris qui annule le champ magnétique dans l'équation de Newton-Lorentz[9],[10].

Pour les applications plasma, la méthode saute-mouton prend la forme suivante :

où l'indice se réfère aux quantités de l'étape de temps précédente, aux quantités mises à jour de l'étape de temps suivante (c.-à-d. ) et les vitesses sont calculées entre les étapes de temps habituelles .

Les équations du schéma de Boris, substituées aux équations ci-dessus, sont :

avec :

Grâce à son excellente précision aux temps longs, l'algorithme de Boris est devenu la norme de facto pour la propagation d'une particule chargée. On a constaté que l'excellente précision de l'algorithme non relativiste de Boris, est due à la conservation du volume de l'espace des phases, bien qu'il ne soit pas symplectique. La borne supérieure globale sur l'erreur d'énergie, généralement associée aux algorithmes symplectiques, reste valable pour cet algorithme, ce qui en fait un algorithme efficace pour la dynamique multi-échelle des plasmas. Il a également été démontré qu'il est possible d'améliorer la poussée relativiste de Boris pour qu'elle conserve le volume et admette une solution à vitesse constante dans des champs E et B croisés[11].

Le solveur de champs

Les méthodes les plus couramment utilisées pour résoudre les équations de Maxwell (ou plus généralement, les équations aux dérivées partielles) appartiennent à l'une des trois catégories suivantes :

Avec la MDF, le domaine continu est remplacé par une grille discrète de points sur laquelle sont calculés les champs électrique et magnétique. Les dérivées sont ensuite approchées par les différences entre les valeurs des points voisins de la grille, transformant ainsi les équations aux dérivées partielles en équations algébriques.

Avec la MEF, le domaine continu est divisé en un maillage discret d'éléments. Les équations aux dérivées partielles sont traitées comme un problème aux valeurs propres et une solution d'essai est initialement calculée à l'aide de fonctions de base localisées dans chaque élément. La solution finale est ensuite obtenue par optimisation jusqu'à l'obtention de la précision requise.

Les méthodes spectrales, telles que la transformée de Fourier rapide (FFT), transforment également les EDP en un problème de valeurs propres, mais cette fois-ci les fonctions de base sont d'ordre élevé et définies globalement sur tout le domaine. Le domaine lui-même n'est pas discrétisé ; il reste continu. Là encore, une solution d'essai est trouvée en insérant les fonctions de base dans l'équation aux valeurs propres, puis optimisée afin de déterminer les meilleures valeurs des paramètres initiaux.

Pondération des particules et des champs

L'appellation « particles-in-cell » provient de la manière dont les macro-quantités du plasma (densité numérique, densité de courant, etc.) sont attribuées aux particules de la simulation (pondération des particules). Les particules peuvent se situer n'importe où sur le domaine continu, mais les macro-quantités, tout comme les champs, ne sont calculées qu'aux points du maillage. Pour obtenir les macro-quantités, on suppose que les particules ont une forme donnée, déterminée par la fonction de forme est la coordonnée de la particule et celle du point d'observation.

Le choix le plus simple et le plus courant pour la fonction de forme est sans doute le schéma dit « cloud-in-cell » (CIC), qui est un schéma de pondération linéaire du premier ordre. Quel que soit le schéma choisi, la fonction de forme doit satisfaire les conditions suivantes[12] : les champs obtenus par le solveur de champs sont déterminés uniquement aux points de la grille et ne peuvent être utilisés directement dans le module de déplacement des particules pour calculer la force agissant sur celles-ci, ils doivent être interpolés par pondération :

où l'indice désigne le point de la grille. Afin de garantir la cohérence des forces agissant sur les particules, le calcul des macro-quantités à partir des positions des particules sur la grille et l'interpolation des champs des points de la grille vers les positions des particules doivent également être cohérents, car les deux méthodes apparaissent dans les équations de Maxwell. De plus, le schéma d'interpolation des champs doit conserver la quantité de mouvement. Ceci peut être réalisé en choisissant le même schéma de pondération pour les particules et les champs et en assurant simultanément la symétrie spatiale appropriée (c'est-à-dire l'absence de force auto-induite et le respect des lois de Newton) du solveur de champ.

Collisions

Simuler l'interaction pour chaque paire d'un grand système serait trop coûteux en calcul ; c'est pourquoi plusieurs mméthodes de type Monte-Carlo ont été développées. Une méthode largement utilisée est le « modèle de collision binaire »[13] dans lequel les particules sont regroupées selon leur cellule, puis appariées aléatoirement, et enfin les paires entrent en collision.

Dans un plasma réel, de nombreuses autres interactions peuvent intervenir, allant des collisions élastiques, telles que les collisions entre particules chargées et neutres, aux collisions inélastiques, telles que la collision d'ionisation électron-neutre, en passant par les réactions chimiques ; chacune d'elles nécessitant un traitement distinct. La plupart des modèles de collision gérant les collisions chargées-neutres utilisent soit le schéma « Monte-Carlo direct », dans lequel toutes les particules portent une information sur leur probabilité de collision, soit le schéma « collision nulle »[14],[15] qui n'analyse pas toutes les particules mais utilise plutôt la probabilité de collision maximale pour chaque espèce chargée.

Précision et stabilité

Comme pour toute méthode de simulation le pas de temps et la taille de la grille doivent être soigneusement choisis afin que les phénomènes d'échelle temporelle et spatiale étudiés soient correctement résolus. De plus, le pas de temps et la taille de la grille influent sur la vitesse et la précision du code.

Pour une simulation de plasma électrostatique utilisant un schéma d'intégration temporelle explicite (par exemple, la méthode saute-mouton, la plus courante), deux conditions importantes concernant la taille de la grille Δx et le pas de temps Δt doivent être respectées pour garantir la stabilité de la solution :

Δx < 3,4 λD

Δt ≤ 2 ωpe-1

Ces conditions peuvent être obtenus en considérant les oscillations harmoniques d'un plasma unidimensionnel non magnétisé. Cette dernière condition est strictement requise, mais des considérations pratiques liées à la conservation de l'énergie suggèrent d'utiliser une contrainte beaucoup plus stricte où le facteur 2 est remplacé par un nombre d'un ordre de grandeur inférieur. L'utilisation de est typique[12],[16]. Sans surprise, l'échelle de temps naturelle dans le plasma est donnée par l'inverse de la fréquence plasma et l'échelle de longueur par la longueur de Debye .

Pour une simulation explicite de plasma électromagnétique, le pas de temps doit également satisfaire la condition de Courant-Friedrichs-Lewy (condition CFL) :

Δt < Δx / c

où Δx ≈ λD et c est la vitesse de la lumière.

Applications

En physique des plasmas la simulation PIC a été utilisée avec succès pour étudier les interactions laser-plasma, l'accélération des électrons et le chauffage ionique dans l'ionosphère aurorale, la magnétohydrodynamique, la reconnexion magnétique ainsi que le gradient de température ionique et d'autres micro-instabilités dans les tokamaks, les décharges sous vide et les plasmas poussiéreux.

Les modèles hybrides peuvent utiliser la méthode PIC pour le traitement cinétique de certaines espèces, tandis que d'autres espèces (de distribution maxwellienne) sont simulées par un modèle fluide.

Les simulations PIC ont également été appliquées en dehors de la physique des plasmas à des problèmes de mécanique des solides et de mécanique des fluides[17],[18] comme la méthode particle-in-cell multiphasique (en).

Codes

Application Site web Licence Disponibilité Reference
Ansys Charge Plus [19] Propriétaire Disponible commercialement chez Ansys
SHARP [20] Propriétaire DOI 10.3847/1538-4357/aa6d13
ALaDyn [21] GPLv3+ Archive ouverte[22] DOI 10.5281/zenodo.49553
EPOCH [23] GPLv3 Archive ouverte[24] DOI 10.1088/0741-3335/57/11/113001
FPIC Propriétaire DOI 10.3847/2041-8213/ae06a6
FBPIC [25] Licence BSD-LBNL Archive ouverte[26] DOI 10.1016/j.cpc.2016.02.007
LSP [27] Propriétaire Disponible chez ATK DOI 10.1016/S0168-9002(01)00024-9
MAGIC [27] Propriétaire Disponible chez ATK DOI 10.1016/0010-4655(95)00010-D
OSIRIS [1] GNU AGPL Archive ouverte[28] DOI 10.1007/3-540-47789-6_36
PhotonPlasma [29] Archive ouverte[29] DOI 10.1063/1.4811384
PICCANTE [30] GPLv3+ Archive ouverte[31] DOI 10.5281/zenodo.48703
PICLas [32] GPLv3+ Archive ouverte[33] DOI 10.1016/j.crme.2014.07.005

DOI 10.1063/1.5097638

PICMC [34] Propriétaire Disponible chez Fraunhofer IST
PIConGPU [35] GPLv3+ Archive ouverte[36] DOI 10.1145/2503210.2504564
SMILEI [37] CeCILL-B Archive ouverte[38] DOI 10.1016/j.cpc.2017.09.024
iPIC3D [39] Licence Apache 2.0 Archive ouverte[40] DOI 10.1016/j.matcom.2009.08.038
The Virtual Laser Plasma Lab (VLPL) [41] Propriétaire DOI 10.1017/S0022377899007515
Tristan v2 [42] Licence BSD Archive ouverte[43] et version privée comportant des modules de correction radiative QED[44] DOI 10.5281/zenodo.7566725 [45]
VizGrain [46] Propriétaire Disponible commercialement chez Esgee Technologies Inc.
VPIC [47] Licence BSD Archive ouverte[48] DOI 10.1063/1.2840133
VSim (Vorpal) [49] Propriétaire Disponible chez Tech-X Corporation DOI 10.1016/j.jcp.2003.11.004
Warp [50] Licence BSD-LBNL Archive ouverte[51] DOI 10.1063/1.860024
WarpX [52] Licence BSD-LBNL Archive ouverte[53] DOI 10.1016/j.nima.2018.01.035
ZPIC [54] AGPLv3+ Archive ouverte[55]
ultraPICA Propriétaire Disponible commercialement chez Plasma Taiwan Innovation Corporation.

Voir aussi

Références

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Particle-in-cell » (voir la liste des auteurs).
  1. 1 2 (en) « OSIRIS open-source », sur GitHub.
  2. (en) « Laser WakeField Acceleration (LWFA) », sur Laboratoire d'optique appliquée.
  3. (en) R.J. Barker, « A tribute to Oscar Buneman pioneer of plasma simulation », IEEE International Conference on Plasma Sciences (ICOPS), Vancouver, BC, Canada, (DOI 10.1109/PLASMA.1993.593455).
  4. (en) Tom Katsouleas et Warren B. Mori, « John Myrick Dawson », Physics Today, (DOI 10.1063/1.1506761, lire en ligne).
  5. (en) Hideo Okuda, « Nonphysical noises and instabilities in plasma simulation due to a spatial grid », Journal of Computational Physics, vol. 10, no 3, , p. 475–486 (DOI 10.1016/0021-9991(72)90048-4).
  6. (en) R. Hiptmair, J. Li et J. Zou, Real interpolation of spaces of differential forms, Rapport de l'École polytechnique fédérale de Zurich n°2009-23, (lire en ligne).
  7. (en) H. Qin, J. Liu et J. Xiao, « Canonical symplectic particle-in-cell method for long-term large-scale simulations of the Vlasov-Maxwell system », Nuclear Fusion, vol. 56, no 1, (DOI 10.1088/0029-5515/56/1/014001).
  8. (en) J. Xiao, H. Qin et J. Liu, « Explicit high-order non-canonical symplectic particle-in-cell algorithms for Vlasov-Maxwell systems », Physics of Plasmas, vol. 22, no 11, , p. 12504 (DOI 10.1063/1.4935904).
  9. (en) J. P. Boris, Relativistic plasma simulation-optimization of a hybrid code, Naval Research Laboratory Proceedings of the 4th Conference on Numerical Simulation of Plasmas, (lire en ligne).
  10. (en) H. Qin, « Why is Boris algorithm so good? », Physics of Plasmas, vol. 20, no 5, (DOI 10.1063/1.4818428, lire en ligne).
  11. (en) Adam V. Higuera et John R. Cary, « Structure-preserving second-order integration of relativistic loaded particle trajectories in electromagnetic fields », Physics of Plasmas, vol. 24, no 5, , p. 052104 (DOI 10.1016/j.jcp.2003.11.004).
  12. 1 2 (en) David Tskhakaya, « The Particle-in-Cell Method », dans Computational Many-Particle Physics (DOI 10.1007/978-3-540-74686-7).
  13. (en) Tomonor Takizuka et Hirotada Abe, « A binary collision model for plasma simulation with a particle code », Journal of Computational Physics, vol. 25, no 3, , p. 205–219 (DOI 10.1016/0021-9991(77)90099-7).
  14. (en) C. K. Birdsall, « Particle-in-cell charged-particle simulations, plus Monte Carlo collisions with neutral atoms, PIC-MCC », IEEE Transactions on Plasma Science, vol. 19, no 2, , p. 65-85 (DOI 10.1109/27.106800).
  15. (en) V. Vahedi et M. Surendra, « A Monte Carlo collision model for the particle-in-cell method: applications to argon and oxygen discharges », Computer Physics Communications, vol. 87, nos 1-2, , p. 179–198 (DOI 10.1016/0010-4655(94)00171-W, lire en ligne).
  16. (en) D. Tskhakaya, K. Matyash, R. Schneider et F. Taccogna, « The Particle-In-Cell Method », Contributions to Plasma Physics, vol. 47, nos 8–9, , p. 563-594 (DOI 10.1002/ctpp.200710072).
  17. (en) G. R. Liu et M. B. Liu, Smoothed Particle Hydrodynamics: A Meshfree Particle Method, World Scientific, (ISBN 981-238-456-1).
  18. (en) F. N. Byrne, M. A. Ellison et J. H. Reid, « The particle-in-cell computing method for fluid dynamics », Methods in Computational Physics, vol. 3, no 3, , p. 319–343 (DOI 10.1007/BF00230516).
  19. (en-US) « Ansys Charge Plus: Charging and Discharging Modeling Solution », sur Ansys.
  20. Mohamad Shalaby, Avery E. Broderick, Philip Chang, Christoph Pfrommer, Astrid Lamberts et Ewald Puchwein, « SHARP: A Spatially Higher-order, Relativistic Particle-in-Cell Code », The Astrophysical Journal, vol. 841, no 1, , p. 52 (DOI 10.3847/1538-4357/aa6d13 Accès libre, Bibcode 2017ApJ...841...52S, arXiv 1702.04732, S2CID 119073489).
  21. « ALaDyn », sur ALaDyn.
  22. « ALaDyn: A High-Accuracy PIC Code for the Maxwell-Vlasov Equations », sur GitHub, .
  23. « EPOCH », sur epochpic.
  24. « EPOCH », sur GitHub.
  25. « FBPIC documentation — FBPIC 0.6.0 documentation », sur fbpic.github.io.
  26. « FBPIC: Spectral, quasi-3D Particle-In-Cell code, for CPU and GPU », sur GitHub.
  27. 1 2 « Orbital ATK », sur Mrcwdc.com.
  28. « osiris-code/osiris: OSIRIS Particle-In-Cell code », sur GitHub.
  29. 1 2 Troels Haugbølle, Jacob Trier Frederiksen et Aake Norlud, « photon-plasma: A modern high-order particle-in-cell code », Physics of Plasmas, vol. 20, no 6, (DOI 10.1063/1.4811384, Bibcode 2013PhPl...20f2904H, arXiv 1211.4575, lire en ligne).
  30. « Piccante », sur Aladyn.github.io.
  31. « piccante: a spicy massively parallel fully-relativistic electromagnetic 3D particle-in-cell code », sur GitHub, .
  32. « PICLas ».
  33. « piclas-framework/piclas », sur GitHub.
  34. « Fraunhofer IST Team Simulation », sur Fraunhofer-Gesellschaft.
  35. « PIConGPU - Particle-in-Cell Simulations for the Exascale Era - Helmholtz-Zentrum Dresden-Rossendorf, HZDR », sur picongpu.hzdr.de.
  36. « ComputationalRadiationPhysics / PIConGPU — GitHub », sur GitHub, .
  37. « Smilei — A Particle-In-Cell code for plasma simulation », sur Maisondelasimulation.fr.
  38. « SmileiPIC / Smilei — GitHub », sur GitHub, .
  39. Stefano Markidis, Giovanni Lapenta et Rizwan-uddin, « Multi-scale simulations of plasma with iPIC3D », Mathematics and Computers in Simulation, vol. 80, no 7, , p. 1509 (DOI 10.1016/j.matcom.2009.08.038).
  40. « iPic3D — GitHub », sur GitHub, .
  41. Matthias Dreher, « Relativistic Laser Plasma », sur 2.mpq.mpg.de.
  42. « Tristan v2 wiki | Tristan v2 », sur princetonuniversity.github.io.
  43. « Tristan v2 public github page », sur GitHub.
  44. « QED Module | Tristan v2 », sur princetonuniversity.github.io.
  45. « Tristan v2: Citation.md », sur GitHub.
  46. « VizGrain », sur esgeetech.com.
  47. « VPIC », sur GitHub.
  48. « LANL / VPIC — GitHub », sur GitHub.
  49. « Tech-X - VSim », sur Txcorp.com.
  50. « Warp », sur warp.lbl.gov.
  51. « berkeleylab / Warp — Bitbucket », sur bitbucket.org.
  52. « WarpX Documentation », sur ecp-warpx.github.io.
  53. « ECP-WarpX / WarpX — GitHub », sur GitHub.
  54. « Educational Particle-In-Cell code suite », sur picksc.idre.ucla.edu.
  55. « ricardo-fonseca / ZPIC — GitHub », sur GitHub.
  • icône décorative Portail de l'analyse
  • icône décorative Portail de la physique