Raytrax: ECRH ray tracing in JAX
Raytrax is a Python library for the simulation of Electron Cyclotron Resonance Heating (ECRH) of fusion plasmas. Based on JAX, it features fast computation due to just-in-time (JIT) compilation and allows for automated differentation of its result, making it particularly suited for parameter optimization in fusion power plant design.
Raytrax employs the geometric optics (or WKB) approximation for microwave rays and solves the ray tracing equations to determine the ray trajectory. The energy absorption that determines the heating deposition is calculated relativistically. The physics approach closely follows the Travis1 code.
Raytrax is released under the MIT License. If you use Raytrax in your research, please cite it via Zenodo: doi:10.5281/zenodo.18924104.
Info
Raytrax is currently in an early stage of development. Please expect API changes. The code has not been fully validated against existing ray tracing codes or experimental data yet. See limitations for a list of current limitations.
-
Marushchenko, Nikolai B., Yu Turkin, and Henning Maaßberg. "Ray-tracing code TRAVIS for ECR heating, EC current drive and ECE diagnostic." Computer Physics Communications 185.1 (2014): 165-176. doi:10.1016/j.cpc.2013.09.002 ↩