This project aims at developing a surrogate model based on a feed-forward neural network for the quasilinear gyrokinetic code
Conversely, using the quasilinear approximation, QuaLiKiz can be used to evaluate radial profiles of the fluxes in hours on several CPU-cores. While a powerful tool, this is still a costly one for applications such as integrated modeling and flight simulators, which are crucial for tokamak operation.
In order to accelerate further the repeated evaluations of QuaLiKiz required to find the plasma state by optimisation methods, the surrogate model QLKNN has been trained on a dataset generated by QuaLiKiz. The resulting model is able to perform on evaluation of the fluxes in a second on one CPU-core.
The original
During this task, it was found that QuaLiKiz often produced incorrect predictions in the extreme range of temperature and density gradients, necessitating extensive curating of the data. Further inquiry revealed that QuaLiKiz was not capturing the most unstable mode in this parameter range. A modification in the implementation resolved this issue, yielded a significantly healthier dataset, and improved the range of application of QuaLiKiz.
Training of the neural network for QuaLiKiz-edge was then carried out successfully (see figure for illustration). Implementation of the surrogate model for integrated modelling in QLKNN-Fortran is ongoing.
Contact person for the project:
The Sparselizard open-source C++ finite element library provides a framework for numerical implementation of multiphysics systems and domain-decomposition capabilities for high-performance computing. The collaboration aimed to take advantage of these for numerical simulation of models describing the scrape-off layer (SOL) plasma.
As a first step, the one-dimensional isothermal fluid approximation for SOL plasma was implemented and successfully validated with analytical solutions. Successively, a diffusive neutral model was implemented so that the neutral and particle source are determined in a self-consistent manner. The self-consistency was further extended by implementing the energy conservation equation to calculate the plasma temperature profile in the SOL. The implementation makes use of Newton linearization to address the nonlinearity of the system and subsequently a Newton iterative solver. Finally, energy equation was added before the end of this task.
The contact person for the project:
Material research has a significant impact on the design of future devices. This study, therefore, will support the development of future components for fusion machines.
In the current state we are creating an efficient surrogate model for the analysis of materials with vacancies in them. By vacancies we mean atoms missing from the structure. With that we estimate the difference in energy required for a dislocation to happen when compared to a full material. That is, with no vacancies. Since there is a large number of configurations possible, this easily becomes intractable with traditional approaches. This project makes use of state of the art descriptors for the structures as well as machine learning techniques.
Once this stage is concluded, we expect to be able to use the results for more complex dislocation types. For now we focus on straight dislocations. We also hope to apply the knowledge to expand the estimates to also include different atom types instead of vacancies. This would allow us to study the properties of alloys for systems not achievable with traditional methods.
Contact person for the project:
Our efforts within the group has been concentrated on High Performance Computing and the utilization of Super-Computers at CSC - It center for Science that hosts some of the most powerful computers in Europe. Another specialization is Fortran code optimization and parallelization.
DREAM code development
In collaboration with Åbo Akademi University a QuadSolver for the non-linear solver implementation in DREAM was finished. The problem behind this originates from the PETSc solvers used in DREAM being incapable of converging, and thus finding solutions, for the Newton-Raphson non-linear implementation into DREAM. After constructing and testing a quadruple-precision solver it was observed that this solves the problem. A master-student, Andreas Salminen, was employed, under the supervision of Prof. Jan Westerholm at Åbo Akademi, to construct a CUDA-language QuadSolver to be used on GPUs. The code was completed and is ready to be implemented in DREAM.
High performance data compression
Together with Prof. Keijo Heljanko we tested compression schemes with data we got from TSVV-13. For some of the data good compression was achieved (from about 2.3 GB to 0.8-0.9 GB). After reporting back our test results, it was concluded that no further work was needed for this task.
Eirene support
As a part of his PhD work, MSc Oskar Lappi has been developing the Eiron code, which is intended as a scaled-down version of a fundamentally new algorithm implementation in EIRENE. Jan Åström has been functioning as one of Oskar’s supervisors for his thesis. MIGRAINE code development
The MIGRAINE code has been in need of speeding up computations. To tackle this problem, a research project was set up on a CSC computer. After porting, test running and profiling, a straightforward parallelization scheme using MPI was implemented. The code was run up to roughly 1000 computer cores with close to perfect scalability, and thus almost 1000 times faster than the original serial code. In addition, a highly effective code optimization opportunity was discovered in the core of the code. This reduced computation further by about 92-93% and removed a bottleneck in L3 cache thus allowing for the close to perfect scaling mentioned above.
LAMMPS-tabGAP optimization
The tabGAP implementation into the LAMMPS MD-code considerably improves the quality of the result compared to standard MD. The drawback is that the code becomes roughly 10 times slower. In order to improve performance, we did some compiler options, and mathematical-function optimization. Together with a manual AVX implementation in the core of the code, done at Åbo Akademi, we were able to improve the code's performance by about a factor 3.
PlasMod Grad-Shafranov solver rewrite
The e3m.f90 used with the BLUMIRA code computes an analytical solution to the Grad-Shafranov equation that is theoretically given in the form of an integral equation. A rewriting of the outdated and unnecessarily complicated code was performed. The code structure has been clarified, and redundant computations have been removed shrinking the length of the code by about 25%.
Ravetime diffusion simulator
The Ravetime code simulates particle diffusion in solid materials and it is applied to fusion reactor materials. The code is based on an ODE (Ordinary Differential Equation) solver and is programmed with object-oriented Fortran. The code has been parallelized in one version with OpenMP and in another version with MPI.
MEMENTO linear solver problem
MEMENTO solves the incompressible resistive thermoelectric magneto-hydrodynamic equations in the magnetostatic limit for uniform materials, together with the heat convection-diffusion equation. The code was suffering from non-convergent linear solver problems. Suitable solutions were found using e.g. Idrs(4)+ILU1 or BiCGStab(2)+ILU1.
LAMMPS-tabGAP for GPUs
The TabGAP implementation into the LAMMPS MD-code considerably improves the quality of the result compared to standard MD. The drawback is that the code becomes roughly 10 times slower. In order to improve the performance, we developed in cooperation with Åbo Akademi University and Helsinki University a tabGap implementation for GPUs that can be utilized together with LAMMPS/kokkos which allow LAMMPS with TabGAP to be run entirely on GPUs.
Euterpe
During the spring, efforts were made to port the Euterpe code to LUMI. The Euterpe version we worked with is a Fortran code with OpenACC offloads to GPUs. After sevral efforts with Cray compiler, including waiting over the summer for new and updated compiler versions, it was concluded that the Euterpe cannot be run on LUMI in its current form and with the compilers available on LUMI for Fortan/OpenACC.
ORB5
Porting of the ORB5 code to the LUMI computer was ongoing during 2025 as a cooperation with the ACH and CSC. The code is written in Fortran with OpenMP offload to GPUs. The Flang compilers are under development and porting of this type of code s still a challenge, but there has been steady development and there is a good collaboration with the ORB5 code developer, CSC, the ACH and compiler developers. The situation has been slowly improving, and some milestone could be reached as ORB5 compiles and runs on LUMI. The main problem remain however the codes computational efficiency on LUMIs AMD GPUs
Work flows
There has been an effort to implement better work flow schemes for fusion applications, in particular, on HPC platforms. An overview of available workflow was presented to the ACH group and a pilot effort to improve the workflow for TabGAP and LAMPPS has been concluded.
Domain decomposition structure for SDTrimSP
SDtrimSP is a Fortran code for simulating sputtering. The code is highly optimized from a physics point of view, but it suffers to some extent from an old-fashioned parallelization scheme. A new code base with a proper domain decomposition was developed and tested with ‘physics’ from the Iradina code. Good scalability was found and SDTrimSP memory limitations could be relaxed.
ModCR
The ModCR code was suffering from a ‘NaN’ problem. This was diagnosed to insufficient decimal precision. By replacing ‘Double precision’ with ‘Quadruple precision’ the problem vanished.
Contact person for the project:
Magnetic confinement fusion research is characterized by expensive experiments, limited and noisy diagnostic information, and computationally costly physics models with uncertain, phenomenological input parameters. In such an environment, scientists conduct hypothesis testing based on limited information, and quantification of uncertainties would be central to assess the degree of belief on the inferred conclusions. However, the conventional approach of manually fitting the free parameters of the computational models in validation or experiment interpretation tasks leads to untraceable uncertainties. Bayesian inference (BI) algorithms provides a principled approach to quantify the uncertainty, as a probability distribution, for the state of the investigated system or hypothesis validity, given the available information. When operating with computationally costly models or limited experimental resources, data-efficiency is key to maximizing the information gain in establishing this probability distribution. Such efficiency can be achieved by combining Bayesian optimization (BO) with the overall BI task. BO is a powerful framework for data-efficient global optimization of costly, non-convex functions, without access to first- or second-order derivatives. On the one hand, BO uses BI to build a statistical approximation in the space of functions that represents the costly model, leveraging the Bayesian quantification of uncertainty over functions to efficiently refine the approximation where needed. On the other hand, the overall BI task is focused on establishing posterior probability distributions over the uncertain state of the investigated system or hypothesis. This project investigates application of BI and BO to accelerate validation of predictive models for fusion plasmas. The work was presented in numerous meetings and conferences and published in Journal of Plasma Physics as well as in non-reviewed conference papers (IAEA-FEC 2023, EPS 2024). The main capabitilities developed through this work package were implemented in the Enchanted-surrogates software package to provide a scalable framework to apply these features in validation of scientific models:
Contact person for the project:
Eiron is a toy model of a Monte Carlo neutral particle transport solver created to study the performance characteristics of different parallel algorithms that could be applied to EIRENE, a feature complete neutral particle transport solver used by the fusion community. EIRENE has trouble scaling to new problem sizes and needs a reorganization of its design in order to do so. Eiron is a modular reimplementation of the core structures of EIRENE using modern software development practices.
Eiron is a toy model of a Monte Carlo neutral particle transport solver created to study the performance characteristics of different parallel algorithms that could be applied to EIRENE, a feature complete neutral particle transport solver used by the fusion community. EIRENE has trouble scaling to new problem sizes and needs a reorganization of its design in order to do so. Eiron is a modular reimplementation of the core structures of EIRENE using modern software development practices.
Eiron has limitations as a neutral particle transport solver: it only works on a structured 2D grid, variances aren't calculated, and collision rates are simple. Eiron provides multiple parallel algorithms with a focus on domain decomposition. A deterministic random number generator ensures that all algorithms produce an equivalent result.
For domain decomposition, Eiron splits the grid into subdomains and assigns subdomains to processing elements. Domain decomposition is shown to have superlinear strong scaling and good weak scaling. An article on the domain decomposition work is currently in review, a preprint is available at
As the ACH Finland ends in december 2025, work continues to port the existing algorithms to GPUs, as well as implement more accurate physics models under the EUROfusion ACH IPP-Garching. The Eiron software is available at
Contact person for the project:
There are many aspects of plasma turbulence and transport that remain a mystery. Understanding the motion of the plasma under certain tokamak device scenarios is key to reducing the transport losses that is a major reduction to fusion performance. The Gyrokinetic vlasov equations are a set of differential equations that describes the evolution of charged particle distributions within a magnetic field. GENE uses numerical techniques to solve the Gyrokinetic vlasov equations and can simulate many turbulent and transport phenomena. In order to understand the phenomena within real tokamak devices the turbulence and transport driving plasma properties can be measured and inserted into GENE as an input. These measurements come with experimental errors which limits the accuracy of GENE and the uncertainty needs to be quantified. By treating GENE as a black box and scanning over the uncertainty of the measured quantities it is possible to deduce the uncertainty of GENE's outputs. There are many implementations of black box forward UQ and the main requirements for GENE is that it can data efficiently resolve sharp changes in the output and perform well in 12 dimensions. SG++ is a promising implementation of sparse grids with a hierarchical basis function surrogate that natively supports actively searching for discontinuities and higher dimensionalities. Gaussian Process Regression is a rigorous and successful surrogate that can be adapted to employ an active sampling procedure that also searches for discontinuities. When both methods were tested a limitation of SG++ was discovered. When SG++ is applied to high dimensional functions that do not tend to 0 at the domain boundaries it requires modified basis functions for some of the points to extrapolate to the boundaries. In high dimensions this extrapolation is unstable and can lead to wild predictions of the surrogate. This is a known issue and furthur study could explore the data driven version of SG++ which was designed to overcome this problem. When Gaussian Process Regression was tested it performed well in 12 dimensions. In less than 1000 samples the GPR surrogate was able to achieve a root mean square error of approximately 0.01 on a test set 2000 large. 0.01 was the set precision of GENE and so it could not have performed better. As GPR kernels are distance based, it is expected that in higher dimensionalities the distance will lose meaning and it will cease to function, For future study in higher dimensions the data driven SG++ method can be tested and GPR can be combined with dimensionality reduction.
Contact person for the project: