Software

PlasmaFAIR Supported and Assessed Software

GM_Julia

GM_Julia is a zero-dimensional chemistry reaction solver for low-temperature plasmas. It takes a list of reactions, some details on the plasma species, and evolves them in time. These systems can be computationally intensive due to the number of reactions and their disparate timescales: typical chemistry sets in GM_Julia are around 600 reaction equations, with rate coefficients spanning many orders of magnitude. This makes for very numerically stiff systems, requiring specialised solvers. The original author made the decision to use Julia in order to take advantage of OrdinaryDiffEq.jl’s Rosenbrock integrators, designed for stiff systems.

Fortran Tooling Hack Week

RSECon24 featured a satellite event called Back to the Fortran Future which brought together a number of Fortran developers to discuss the challenges facing the community and plan some actionable solutions. The same few problems were raised repeatedly:

FELTOR

FELTOR (Full-F ELectromagnetic code in TORoidal geometry) is a physics simulation package that uses discontinuous galerkin methods to solve plasma physics problems. As a modular system, it has a large range of potential applications, but it is primarily used to investigate plasma turbulence via gyrofluid equations.

FusionDLS

FusionDLS is a Python project that solves for the position of plasma detachment fronts in tokamak divertors. By solving a reduced model, FusionDLS is capable of quickly producing parameter scans over various divertor designs and magnetic geometries to optimise the design of divertors for next-generation devices.

tree-sitter-fortran

Tree-sitter is a popular library for parsing programming languages for syntax highlighting and code navigation in IDEs, websites, and other tools. Although modern Fortran is still widely used in academia, many syntax highlighting packages, for example, have not kept up with the developments in the language, and fail to highlight modern Fortran correctly. A Fortran grammar was already being developed, and was about 60% complete when we started to contribute.