Execution sequence

Preprocessing and components
  • • Convert equilibrium B-field to standard format (ie. a standard resembling EQDSK)

  • • Convert n-D geometry (NURBS) to opensource format

Initialise
  • • Convert n-D mesh to readable format

  • • Assign boundary conditions to mesh (finite element by finite element)

  • • Validate inputs (eg. Python Cerberus)

  • • Initialise fields, possibly exploiting toroidal symmetry

    • – using sources, calculate with possibly simplified dynamics

    • – semi-analytically (Gaussian in vel. space)

    • – random perturbations

    • – from disk file

    • – from previous calculation

    • – apply operators to field (eg. EQDSK data \(\rightarrow \) B-Equil)

    • – combine vacuum field and B-Equil

  • • Calculate LCFS

  • • Normalise field

  • • Distribute mesh across processors

  • • Distribute particles across processors

Solution
  • • Extra outer loop over parameters (UQ Framework)

  • • Outer loop over time

  • • Inner loop over solver

    • – loop over particles

    • – loop over rays

  • • More deeply nested iteration

  • • Convergence test

  • • Rouletting particles

  • • Particle collision

    • – with geometry

    • – with other particle

  • • Adaptive meshing

  • • Construct surrogates (UQ Framework)

    • – Reduce in n-D (\(n \rightarrow n-1\))

    • – Combine particles

    • – Replace particles by FE

    • – Smoothing

    • – Gyro-averaging

    • – Sparse models for Data Assimilation (via SINDy)

    • – Gaussian Process

    • – Polynomial Chaos Expansion

    • – Active Subspaces

    • – PGD

  • • Connect surrogates (UQ Framework)

Assortment
  • • Calculate HDS from Field geometry data

  • • Intersect triangle with cuboid

  • • Calculate surface normal and tangents, curvatures

  • • Calculate curve tangent and normals, torsion, curvature

  • • Calculate volumes

  • • Locate point in field element geometry data

  • • Select algorithms

  • • Label with physical units, array dimensions, transformations

  • • Increase in n-D (\(n \rightarrow n+1\))

  • • Replace FE by particles

  • • Evaluate FE representation at set of points

Diagnostics
  • • Calculate terms in power balance

Utilities
  • • Format conversion

  • • sorting

Mathematical library operations
  • • FFT (FFTW package)

  • • linear algebra

  • • quadrature

  • • optimisation

  • • geometry transformations on point and tensor

  • • Interpolation STRATEGY to select among

    • – splines (2-D, 3-D)

      • ∗ regular (de Boor)

      • ∗ local

      • ∗ Weiland

    • – Fourier interpolation

    • – rational interpolation

    • – Lagrange interpolation (after Trefethen)