stringtranslate.com

Partícula en celda

En física del plasma , el método de partícula en celda ( PIC ) se refiere a una técnica utilizada para resolver una determinada clase de ecuaciones diferenciales parciales . En este método, las partículas individuales (o elementos fluidos) en un marco lagrangiano se rastrean en un espacio de fase continuo , mientras que los momentos de la distribución, como las densidades y las corrientes, se calculan simultáneamente en puntos de malla eulerianos (estacionarios) .

Los métodos PIC ya estaban en uso ya en 1955, [1] incluso antes de que estuvieran disponibles los primeros compiladores Fortran . El método ganó popularidad para la simulación de plasma a finales de los años 1950 y principios de los 1960 por Buneman , Dawson , Hockney, Birdsall, Morse y otros. En aplicaciones de física del plasma , el método consiste en seguir las trayectorias de partículas cargadas en campos electromagnéticos (o electrostáticos) autoconsistentes calculados sobre una malla fija. [2]

Aspectos técnicos

Para muchos tipos de problemas, el método PIC clásico inventado por Buneman, Dawson, Hockney, Birdsall, Morse y otros es relativamente intuitivo y sencillo de implementar. Probablemente esto explica gran parte de su éxito, particularmente para la simulación de plasma, para la cual el método normalmente incluye los siguientes procedimientos:

Los modelos que incluyen interacciones de partículas sólo a través de campos promedio se denominan PM (partícula-malla). Las que incluyen interacciones binarias directas son PP (partícula-partícula). Los modelos con ambos tipos de interacciones se denominan PP-PM o P 3 M.

Desde los primeros días, se ha reconocido que el método PIC es susceptible a errores debido al llamado ruido de partículas discretas .[3] Este error es de naturaleza estadística y hoy en día sigue siendo menos comprendido que los métodos tradicionales de red fija, como los esquemas eulerianos o semi-lagrangianos .

Los algoritmos PIC geométricos modernos se basan en un marco teórico muy diferente. Estos algoritmos utilizan herramientas de variedad discreta, formas diferenciales de interpolación e integradores simplécticos canónicos o no canónicos para garantizar la invariancia de calibre y la conservación de la carga, el momento de energía y, lo que es más importante, la estructura simpléctica infinitamente dimensional del sistema de campo de partículas.[4] [5] Estas características deseadas se atribuyen al hecho de que los algoritmos PIC geométricos se basan en el marco teórico de campo más fundamental y están directamente relacionados con la forma perfecta, es decir, el principio variacional de la física.

Conceptos básicos de la técnica de simulación de plasma PIC.

Dentro de la comunidad de investigación del plasma, se investigan sistemas de diferentes especies (electrones, iones, neutros, moléculas, partículas de polvo, etc.). El conjunto de ecuaciones asociadas a los códigos PIC son, por tanto, la fuerza de Lorentz como ecuación de movimiento, resuelta en el llamado empujador o motor de partículas del código, y las ecuaciones de Maxwell que determinan los campos eléctrico y magnético , calculadas en el solucionador (de campo). .

Superpartículas

Los sistemas reales estudiados suelen ser extremadamente grandes en cuanto al número de partículas que contienen. Para que las simulaciones sean eficientes o posibles, se utilizan las llamadas superpartículas . Una superpartícula (o macropartícula ) es una partícula computacional que representa muchas partículas reales; pueden ser millones de electrones o iones en el caso de una simulación de plasma o, por ejemplo, un elemento de vórtice en una simulación de fluido. Se permite reescalar el número de partículas, porque la aceleración de la fuerza de Lorentz depende sólo de la relación carga-masa, por lo que una superpartícula seguirá la misma trayectoria que una partícula real.

El número de partículas reales correspondientes a una superpartícula debe elegirse de manera que se puedan recopilar estadísticas suficientes sobre el movimiento de las partículas. Si hay una diferencia significativa entre la densidad de diferentes especies en el sistema (entre iones y neutros, por ejemplo), se pueden usar proporciones separadas entre real y superpartícula para ellas.

El motor de partículas

Incluso con superpartículas, el número de partículas simuladas suele ser muy grande (> 10 5 ) y, a menudo, el motor de partículas es la parte del PIC que consume más tiempo, ya que debe realizarse para cada partícula por separado. Por lo tanto, se requiere que el empujador sea de alta precisión y velocidad y se dedica mucho esfuerzo a optimizar los diferentes esquemas.

Los esquemas utilizados para el motor de partículas se pueden dividir en dos categorías, solucionadores implícitos y explícitos. Mientras que los solucionadores implícitos (por ejemplo, el esquema implícito de Euler) calculan la velocidad de las partículas a partir de los campos ya actualizados, los solucionadores explícitos utilizan sólo la fuerza anterior del paso de tiempo anterior y, por lo tanto, son más simples y rápidos, pero requieren un paso de tiempo más pequeño. En la simulación PIC se utiliza el método de salto , un método explícito de segundo orden. [6] También se utiliza el algoritmo de Boris que anula el campo magnético en la ecuación de Newton-Lorentz. [7] [8]

Para aplicaciones de plasma, el método de salto adopta la siguiente forma:

donde el subíndice se refiere a cantidades "antiguas" del paso de tiempo anterior, a cantidades actualizadas del siguiente paso de tiempo (es decir ), y las velocidades se calculan entre los pasos de tiempo habituales .

Las ecuaciones del esquema de Boris que sustituyen a las ecuaciones anteriores son:

con

y .

Debido a su excelente precisión a largo plazo, el algoritmo de Boris es el estándar de facto para hacer avanzar una partícula cargada. Se descubrió que la excelente precisión a largo plazo del algoritmo de Boris no relativista se debe al hecho de que conserva el volumen del espacio de fase, aunque no es simpléctico. El límite global del error de energía típicamente asociado con los algoritmos simplécticos todavía se mantiene para el algoritmo de Boris, lo que lo convierte en un algoritmo eficaz para la dinámica de plasmas a múltiples escalas. También se ha demostrado [9] que se puede mejorar el empuje relativista de Boris para que conserve el volumen y tenga una solución de velocidad constante en los campos E y B cruzados.

El solucionador de campos

Los métodos más utilizados para resolver las ecuaciones de Maxwell (o más generalmente, ecuaciones diferenciales parciales (PDE)) pertenecen a una de las tres categorías siguientes:

Con el FDM, el dominio continuo se reemplaza por una cuadrícula discreta de puntos, sobre la cual se calculan los campos eléctricos y magnéticos . Luego, las derivadas se aproximan con diferencias entre los valores de los puntos de la cuadrícula vecinos y, por lo tanto, las PDE se convierten en ecuaciones algebraicas.

Usando FEM, el dominio continuo se divide en una malla discreta de elementos. Las PDE se tratan como un problema de valores propios e inicialmente se calcula una solución de prueba utilizando funciones básicas que están localizadas en cada elemento. La solución final se obtiene luego mediante optimización hasta alcanzar la precisión requerida.

También los métodos espectrales, como la transformada rápida de Fourier (FFT), transforman las PDE en un problema de valores propios, pero esta vez las funciones base son de alto orden y están definidas globalmente en todo el dominio. El dominio en sí no está discretizado en este caso, permanece continuo. Nuevamente, se encuentra una solución de prueba insertando las funciones base en la ecuación de valores propios y luego se optimiza para determinar los mejores valores de los parámetros de prueba iniciales.

Ponderación de partículas y campo.

El nombre "partícula en celda" se origina en la forma en que las macrocantidades de plasma ( densidad numérica , densidad de corriente , etc.) se asignan a las partículas de simulación (es decir, la ponderación de las partículas ). Las partículas pueden situarse en cualquier lugar del dominio continuo, pero las macrocantidades se calculan sólo en los puntos de la malla, al igual que los campos. Para obtener las macrocantidades, se supone que las partículas tienen una "forma" determinada determinada por la función de forma

donde está la coordenada de la partícula y el punto de observación. Quizás la opción más sencilla y utilizada para la función de forma sea el llamado esquema de nube en celda (CIC), que es un esquema de ponderación de primer orden (lineal). Cualquiera que sea el esquema, la función de forma debe satisfacer las siguientes condiciones: [10] isotropía espacial, conservación de carga y precisión creciente (convergencia) para términos de orden superior.

Los campos obtenidos del solucionador de campos se determinan solo en los puntos de la cuadrícula y no se pueden usar directamente en el motor de partículas para calcular la fuerza que actúa sobre las partículas, sino que deben interpolarse mediante la ponderación de campo :

donde el subíndice etiqueta el punto de la cuadrícula. Para garantizar que las fuerzas que actúan sobre las partículas se obtengan de manera consistente, la forma de calcular macrocantidades a partir de las posiciones de las partículas en los puntos de la cuadrícula e interpolar campos desde los puntos de la cuadrícula a las posiciones de las partículas también debe ser consistente, ya que ambas aparecen en Maxwell. ecuaciones . Por encima de todo, el esquema de interpolación de campos debería conservar el impulso . Esto se puede lograr eligiendo el mismo esquema de ponderación para partículas y campos y asegurando la simetría espacial adecuada (es decir, sin fuerza propia y cumpliendo la ley de acción-reacción ) del solucionador de campos al mismo tiempo [10]

Colisiones

Como se requiere que el solucionador de campo esté libre de fuerzas propias, dentro de una celda el campo generado por una partícula debe disminuir al disminuir la distancia desde la partícula y, por lo tanto, se subestiman las fuerzas entre partículas dentro de las celdas. Esto se puede equilibrar con la ayuda de colisiones de Coulomb entre partículas cargadas. Simular la interacción para cada par de un sistema grande sería computacionalmente demasiado costoso, por lo que se han desarrollado varios métodos de Monte Carlo . Un método muy utilizado es el modelo de colisión binaria , [11] en el que las partículas se agrupan según su celda, luego estas partículas se emparejan aleatoriamente y finalmente los pares colisionan.

En un plasma real, muchas otras reacciones pueden desempeñar un papel, que van desde colisiones elásticas, como las colisiones entre partículas cargadas y neutras, pasando por colisiones inelásticas, como la colisión de ionización electrón-neutro, hasta reacciones químicas; cada uno de ellos requiere un tratamiento separado. La mayoría de los modelos de colisión que manejan colisiones cargadas-neutras utilizan el esquema directo de Monte-Carlo , en el que todas las partículas llevan información sobre su probabilidad de colisión, o el esquema de colisión nula , [12] [13] que no analiza todas las partículas pero En su lugar, utiliza la probabilidad máxima de colisión para cada especie cargada.

Condiciones de precisión y estabilidad.

Como en todo método de simulación, también en PIC, el paso de tiempo y el tamaño de la cuadrícula deben elegirse bien, de modo que los fenómenos de escala de tiempo y longitud de interés se resuelvan adecuadamente en el problema. Además, el paso de tiempo y el tamaño de la cuadrícula afectan la velocidad y precisión del código.

Para una simulación de plasma electrostático utilizando un esquema de integración de tiempo explícito (por ejemplo, salto, que se usa más comúnmente), se deben cumplir dos condiciones importantes con respecto al tamaño de la cuadrícula y el paso de tiempo para garantizar la estabilidad de la solución:

que se puede derivar considerando las oscilaciones armónicas de un plasma unidimensional no magnetizado. Esta última condición es estrictamente requerida, pero consideraciones prácticas relacionadas con la conservación de energía sugieren utilizar una restricción mucho más estricta donde el factor 2 se reemplaza por un número de un orden de magnitud menor. El uso de es típico. [10] [14] No es sorprendente que la escala de tiempo natural en el plasma esté dada por la frecuencia inversa del plasma y la escala de longitud por la longitud de Debye .

Para una simulación explícita de plasma electromagnético, el paso de tiempo también debe satisfacer la condición CFL :

donde , y es la velocidad de la luz.

Aplicaciones

Dentro de la física del plasma, la simulación PIC se ha utilizado con éxito para estudiar las interacciones láser-plasma, la aceleración de electrones y el calentamiento de iones en la ionosfera auroral , la magnetohidrodinámica , la reconexión magnética , así como el gradiente de temperatura de iones y otras microinestabilidades en tokamaks , además de las descargas de vacío . y plasmas polvorientos .

Los modelos híbridos pueden utilizar el método PIC para el tratamiento cinético de algunas especies, mientras que otras especies (que son maxwellianas ) se simulan con un modelo fluido.

Las simulaciones PIC también se han aplicado fuera de la física del plasma a problemas de mecánica de sólidos y fluidos .[15] [16]

Aplicaciones computacionales de partículas electromagnéticas en celdas.

See also

References

  1. ^ F.H. Harlow (1955). "A Machine Calculation Method for Hydrodynamic Problems". Los Alamos Scientific Laboratory report LAMS-1956. {{cite journal}}: Cite journal requires |journal= (help)
  2. ^ Dawson, J.M. (1983). "Particle simulation of plasmas". Reviews of Modern Physics. 55 (2): 403–447. Bibcode:1983RvMP...55..403D. doi:10.1103/RevModPhys.55.403.
  3. ^ Hideo Okuda (1972). "Nonphysical noises and instabilities in plasma simulation due to a spatial grid". Journal of Computational Physics. 10 (3): 475–486. Bibcode:1972JCoPh..10..475O. doi:10.1016/0021-9991(72)90048-4.
  4. ^ Qin, H.; Liu, J.; Xiao, J.; et al. (2016). "Canonical symplectic particle-in-cell method for long-term large-scale simulations of the Vlasov-Maxwell system". Nuclear Fusion. 56 (1): 014001. arXiv:1503.08334. Bibcode:2016NucFu..56a4001Q. doi:10.1088/0029-5515/56/1/014001. S2CID 29190330.
  5. ^ Xiao, J.; Qin, H.; Liu, J.; et al. (2015). "Explicit high-order non-canonical symplectic particle-in-cell algorithms for Vlasov-Maxwell systems". Physics of Plasmas. 22 (11): 12504. arXiv:1510.06972. Bibcode:2015PhPl...22k2504X. doi:10.1063/1.4935904. S2CID 12893515.
  6. ^ Birdsall, Charles K.; A. Bruce Langdon (1985). Plasma Physics via Computer Simulation. McGraw-Hill. ISBN 0-07-005371-5.
  7. ^ Boris, J.P. (November 1970). "Relativistic plasma simulation-optimization of a hybrid code". Proceedings of the 4th Conference on Numerical Simulation of Plasmas. Naval Res. Lab., Washington, D.C. pp. 3–67.
  8. ^ Qin, H.; et al. (2013). "Why is Boris algorithm so good?" (PDF). Physics of Plasmas. 20 (5): 084503. Bibcode:2013PhPl...20h4503Q. doi:10.1063/1.4818428.
  9. ^ Higuera, Adán V.; John R. Cary (2017). "Integración de segundo orden que preserva la estructura de trayectorias relativistas de partículas cargadas en campos electromagnéticos". Física de Plasmas . 24 (5): 052104. Código bibliográfico : 2004JCoPh.196..448N. doi : 10.1016/j.jcp.2003.11.004.
  10. ^ abc Tskhakaya, David (2008). "Capítulo 6: El método de partícula en celda". En Fehské, Holger; Schneider, Ralf; Weiße, Alexander (eds.). Física computacional de muchas partículas . Apuntes de conferencias de física 739. Vol. 1, núm. 739. Springer, Berlín Heidelberg. doi :10.1007/978-3-540-74686-7. ISBN 978-3-540-74685-0.
  11. ^ Takizuka, Tomonor; Abe, Hirotada (1977). "Un modelo de colisión binaria para simulación de plasma con un código de partículas". Revista de Física Computacional . 25 (3): 205–219. Código bibliográfico : 1977JCoPh..25..205T. doi :10.1016/0021-9991(77)90099-7.
  12. ^ Birdsall, CK (1991). "Simulaciones de partículas cargadas de partículas en celdas, además de colisiones de Monte Carlo con átomos neutros, PIC-MCC". Transacciones IEEE sobre ciencia del plasma . 19 (2): 65–85. Código Bib : 1991ITPS...19...65B. doi :10.1109/27.106800. ISSN  0093-3813.
  13. ^ Vahedi, V.; Surendra, M. (1995). "Un modelo de colisión de Monte Carlo para el método de partículas en celda: aplicaciones a descargas de argón y oxígeno". Comunicaciones de Física Informática . 87 (1–2): 179–198. Código Bib : 1995CoPhC..87..179V. doi :10.1016/0010-4655(94)00171-W. ISSN  0010-4655.
  14. ^ Tskhakaya, D.; Matyash, K.; Schneider, R.; Taccogna, F. (2007). "El método de partícula en celda". Contribuciones a la Física del Plasma . 47 (8–9): 563–594. Código Bib : 2007CoPP...47..563T. doi :10.1002/ctpp.200710072. S2CID  221030792.
  15. ^ Liu, GR; MB Liu (2003). Hidrodinámica de partículas suavizadas: un método de partículas sin malla . Científico mundial. ISBN 981-238-456-1.
  16. ^ Byrne, FN; Ellison, MA; Reid, JH (1964). "El método de computación de partículas en celdas para dinámica de fluidos". Métodos Computación. Física . 3 (3): 319–343. Código Bib : 1964SSRv....3..319B. doi :10.1007/BF00230516. S2CID  121512234.
  17. ^ Shalaby, Mohamad; Broderick, Avery E.; Chang, Felipe; Pfrommer, Christoph; Lamberts, Astrid; Puchwein, Ewald (23 de mayo de 2017). "SHARP: un código de partícula en celda relativista de orden espacial superior". La revista astrofísica . 841 (1): 52. arXiv : 1702.04732 . Código Bib : 2017ApJ...841...52S. doi : 10.3847/1538-4357/aa6d13 . S2CID  119073489.
  18. ^ "ALaDyn". ALaDyn . Consultado el 1 de diciembre de 2017 .
  19. ^ "ALaDyn: un código PIC de alta precisión para las ecuaciones de Maxwell-Vlasov". GitHub.com . 18 de noviembre de 2017 . Consultado el 1 de diciembre de 2017 .
  20. ^ "ÉPOCA". época . Consultado el 14 de marzo de 2024 .
  21. ^ "ÉPOCA". GitHub.com . Consultado el 14 de marzo de 2024 .
  22. ^ "Documentación FBPIC - Documentación FBPIC 0.6.0". fbpic.github.io . Consultado el 1 de diciembre de 2017 .
  23. ^ "fbpic: código espectral de partículas en celda cuasi 3D, para CPU y GPU". GitHub.com . 8 de noviembre de 2017 . Consultado el 1 de diciembre de 2017 .
  24. ^ "ATK orbital". Mrcwdc.com . Consultado el 1 de diciembre de 2017 .
  25. ^ "ATK orbital". Mrcwdc.com . Consultado el 1 de diciembre de 2017 .
  26. ^ "OSIRIS de código abierto - OSIRIS". código osiris.github.io . Consultado el 13 de diciembre de 2023 .
  27. ^ "código osiris / osiris: código de partícula en celda OSIRIS". GitHub.com . Consultado el 13 de diciembre de 2023 .
  28. ^ "Piccante". Aladyn.github.io . Consultado el 1 de diciembre de 2017 .
  29. ^ "piccante: un picante código de partículas en celda 3D electromagnético totalmente relativista, masivamente paralelo". GitHub.com . 14 de noviembre de 2017 . Consultado el 1 de diciembre de 2017 .
  30. ^ "PICLas".
  31. ^ "piclas-marco/piclas". GitHub .
  32. ^ "PIConGPU - Simulaciones de partículas en celdas para la era exaescala - Helmholtz-Zentrum Dresden-Rossendorf, HZDR". picongpu.hzdr.de . Consultado el 1 de diciembre de 2017 .
  33. ^ "Física de la radiación computacional / PIConGPU - GitHub". GitHub.com . 28 de noviembre de 2017 . Consultado el 1 de diciembre de 2017 .
  34. ^ "Smilei: un código de partícula en celda para simulación de plasma". Maisondelasimulación.fr . Consultado el 1 de diciembre de 2017 .
  35. ^ "SmileiPIC / Smilei - GitHub". GitHub.com . 29 de octubre de 2019 . Consultado el 29 de octubre de 2019 .
  36. ^ Markidis, Stefano; Lapenta, Giovanni; Rizwan-uddin (17 de octubre de 2009). "Simulaciones de plasma a múltiples escalas con iPIC3D". Matemáticas y Computación en Simulación . 80 (7): 1509. doi :10.1016/j.matcom.2009.08.038.
  37. ^ "iPic3D - GitHub". GitHub.com . 31 de enero de 2020 . Consultado el 31 de enero de 2020 .
  38. ^ Dreher, Matías. "Plasma láser relativista". 2.mpq.mpg.de.Consultado el 1 de diciembre de 2017 .
  39. ^ "Wiki de Tristán v2 | Tristán v2". princetonuniversity.github.io . Consultado el 15 de diciembre de 2022 .
  40. ^ "Página pública de github de Tristan v2". GitHub .
  41. ^ "Módulo QED | Tristán v2". princetonuniversity.github.io . Consultado el 15 de diciembre de 2022 .
  42. ^ "Tristán v2: Citation.md". GitHub .
  43. ^ "VizGrain". esgeetech.com . Consultado el 1 de diciembre de 2017 .
  44. ^ "VPIC". github.com . Consultado el 1 de julio de 2019 .
  45. ^ "LANL/VPIC-GitHub". github.com . Consultado el 29 de octubre de 2019 .
  46. ^ "Tech-X-VSim". Txcorp.com . Consultado el 1 de diciembre de 2017 .
  47. ^ "Deformación". warp.lbl.gov . Consultado el 1 de diciembre de 2017 .
  48. ^ "berkeleylab / Warp-Bitbucket". bitbucket.org . Consultado el 1 de diciembre de 2017 .
  49. ^ "Documentación WarpX". ecp-warpx.github.io . Consultado el 29 de octubre de 2019 .
  50. ^ "ECP-WarpX/WarpX - GitHub". GitHub.org . Consultado el 29 de octubre de 2019 .
  51. ^ "Educational Particle-In-Cell code suite". picksc.idre.ucla.edu. Retrieved 29 October 2019.
  52. ^ "ricardo-fonseca / ZPIC — GitHub". GitHub.org. Retrieved 29 October 2019.

Bibliography

External links