Skip to content

Releases: google-deepmind/torax

v0.2.0

19 Nov 10:57
Compare
Choose a tag to compare

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.

v0.1.0

01 May 14:09
Compare
Choose a tag to compare

Initial release of TORAX.