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)
-