Releases: google-deepmind/torax
Releases · google-deepmind/torax
v0.2.0
Upcoming API Changes: The next major release of TORAX will include significant API updates, including changes to the configuration structure, a transition to a hierarchical xarray DataTree output format, and variable renaming for improved consistency. This release (v0.2.0) provides a stable version for users who wish to continue development with the current API.
TORAX improvements since v0.1.0 (highlights)
-
Physics Model Improvements:
- Added Gaussian smoothing option for transport models.
- Implemented support for spatially varying Zeff profiles.
- Integrated a neural network wrapper for the Toric ICRH ML-surrogate model (using Flax).
- Added Bremsstrahlung radiation sink.
- Added BohmGyroBohm transport model.
- Implemented ECCD with Lin-Liu current drive formula.
-
Geometry Input Extensions:
- Added support for MEQ (FBT) geometry input.
- Enabled EQDSK geometry input with flux-surface averaging.
- Implemented support for time-dependent geometries:
- Support for multiple geometry files or bundled FBT files (via liuqe meqlpack).
- Calculation of time-dependent
phibdot
term in governing equations.
-
Configuration and Sim object construction improvements
- Enabled flexible input of prescribed data using Python primitives, NumPy, and xarray.
- Expanded support for prescribing time-dependent profiles, including core profiles and sources.
- Significantly improved simulation setup speed by pre-interpolating input arrays and preparing time interpolation providers.
- Enhanced the methodology for Ip scaling, supporting both parameter-based and geometry file-based definitions.
-
Developer Quality of Life:
- Redesigned source management for improved modularity and easier integration of new sources.
- Restructured transport_models to increase modularity, simplify new model integration, and reduce redundant code.
- Enhanced type safety with array typing and typeguard annotations.
- Implemented helper scripts for managing and updating simulation integration tests.
- Divided
SimulationStepFn
into distinct phases, enabling external modification of dynamic runtime parameters at each simulation step.
-
Bugfixes:
- Corrected QLKNN magnetic shear calculation.
- Fixed Coulomb constant calculation.
- Resolved issues with impurity density and boundary condition updates.
- Fixed a bug in external current profile updates.
-
Extended Outputs:
- Added stepper numeric outputs, including error codes and iteration counts.
- Expanded post-processed outputs, such as integrated currents, sources, fusion gain, and pressure.
- Added output of the plasma current profile calculated from the poloidal flux.
-
Documentation:
- Significantly expanded documentation, covering physics models, solver details, code structure, and developer guides.
- Improved docstrings and comments for enhanced code readability.
-
Miscellaneous:
- Enabled nightly and pull request-triggered unit tests in CI.
- Added a JAX profiler (optional, flag-activated) for performance analysis.
- Implemented a configurable, data-driven plotting library.
- Implemented various performance optimizations, including solver improvements and JIT compilation of simulation setup.
- Enabled JAX persistent cache for faster execution.
- Added support for restarting simulations from arbitrary time points using existing TORAX output files.
- Modified governing equations for consistency with normalized toroidal flux as the radial coordinate.
- Improved various equation calculations, including q-profile and current calculations.