A Multiscale Eulerian Vlasov-Rosenbluth-Fokker-Planck Algorithm for Thermonuclear Burning Plasmas
Abstract
Accurate treatment of energetic fusion byproducts in laboratory plasmas often requires a kinetic description, owing to their large birth kinetic energy and long mean-free-paths compared with the characteristic system scale lengths. For example, alpha particles produced by deuterium--tritium fusion reactions are born at high energies (\SI{3.5}{MeV}) and predominantly slow down through interactions with electrons traveling at comparable speeds. As an alpha particle slows, its distribution collapses near the background ion-thermal speed, forming a sharp structure in velocity space. Such sharp features pose numerical challenges in grid-based Eulerian methods: capturing the full alpha-particle energies demands a large velocity domain, while resolving the near-thermal region requires a sufficiently fine mesh. Inspired by the work of Peigney et al.[J. Comput. Phys. 278 (2014)], we present a two-grid approach that splits the alpha-particle distribution into energetic (suprathermal) and ash (thermal) components. A Gaussian-based sink term transfers particles from the energetic population to the ash population as they slow to the thermal regime, and a conservative projection scheme ensures that mass, momentum, and energy of the alpha and ash interactions are preserved. Unlike the formulation of Peigney, our method does not require a strict asymptotic separation of velocity scales, which can, in principle, be arbitrary. We demonstrate the robustness of this approach on challenging multiscale problems, including a surrogate for an igniting inertial confinement fusion capsule.
Keywords
Cite
@article{arxiv.2506.06672,
title = {A Multiscale Eulerian Vlasov-Rosenbluth-Fokker-Planck Algorithm for Thermonuclear Burning Plasmas},
author = {Benjamin L. Reichelt and William T. Taitano and Brett D. Keenan and Luis Chacon and Andrei N. Simakov and Steven E. Anderson and Hans R. Hammer},
journal= {arXiv preprint arXiv:2506.06672},
year = {2025}
}