google-deepmind/torax

TORAX: Tokamak transport simulation in JAX

What it solves

TORAX is a differentiable tokamak core transport simulator. It provides a fast and accurate way to perform forward modelling, pulse-design, trajectory optimization, and controller design for tokamak fusion reactors, avoiding the need to manually derive complex Jacobians for sensitivity analysis.

How it works

Built with Python and JAX, the simulator uses auto-differentiation and code compilation to achieve high performance. It solves coupled partial differential equations (PDEs) for ion and electron heat transport, electron particle transport, and current diffusion using finite-volume-method discretization. It can integrate ML-surrogates of physics models (such as the QLKNN neural network surrogates for turbulent transport) and supports various solver options including linear and nonlinear methods (Newton-Raphson).

Who it’s for

It is designed for researchers and engineers working on nuclear fusion and tokamak plasma physics who need to simulate transport processes and optimize reactor trajectories.

Highlights

  • Differentiable Simulation: Uses JAX for auto-differentiation, enabling gradient-based optimization and sensitivity analysis.
  • ML Integration: Naturally couples with ML-surrogates of physics models to replace expensive traditional calculations.
  • Flexible Physics: Supports coupled PDEs, neoclassical bootstrap current, and various heating and current drive sources.
  • Geometry Support: Handles general geometry via CHEASE, FBT, or EQDSK equilibrium files, including time-dependent geometry.

Related

  • Project
  • Project
  • Project
  • Project
  • Project