Jacobian-Free Newton-Krylov method for multilevel NLTE radiative transfer problems
arXiv:2406.17234 · doi:10.1051/0004-6361/202449963
Abstract
The calculation of the emerging radiation from a model atmosphere requires knowledge of the emissivity and absorption coefficients, which are proportional to the atomic level population densities of the levels involved in each transition. Due to the intricate interdependency of the radiation field and the physical state of the atoms, iterative methods are required in order to calculate the atomic level population densities. A variety of different methods have been proposed to solve this problem, which is known as the Non-Local Thermodynamical Equilibrium (NLTE) problem. In this study we have developed a Jacobian-Free Newton-Krylov method (JFNK) to solve multi-level NLTE radiative transfer problems. Using the Rybicki & Hummer (1992) method as a reference (Rybicki, G. B. & Hummer, D. G. 1992, A&A, 262, 209), our results show that our JFNK solver can achieve up to a factor two speed up when using local approximate operators / preconditioners, while also achieving a lower residual error in the statistical equilibrium equations. Another advantage of this method is that the addition of charge conservation and partial redistribution effects should be straight forward. Our method can help accelerating the calculation of the emerging spectra from numerical models and also the reconstruction of chromospheric datasets through NLTE inversions.
A&A accepted version
References in corpus (5)
- An Open Source, Massively Parallel Code for Non-LTE Synthesis and Inversion of Spectral Lines and Zeeman-induced Stokes Profiles
- Non-equilibrium hydrogen ionization in 2D simulations of the solar atmosphere
- RH 1.5D: a massively parallel code for multi-level radiative transfer with partial frequency redistribution and Zeeman polarisation
- The Lightweaver Framework for NLTE Radiative Transfer in Python
- Numerical solutions to linear transfer problems of polarized radiation II. Krylov methods and matrix-free implementation