Juliacon 2024

FUSE.jl: the power of Julia for the fusion industry
2024-07-10 , For Loop (3.2)

FUSE.jl is a framework developed in Julia that integrates first-principle, machine-learning, and reduced models to enable comprehensive self-consistent simulations for fusion power plant design. Multi-objective high performance computing (HPC) optimization is used to identify designs that minimize cost while maximizing several physics, engineering, and control performance metrics. Accessible via a web portal and API, attendees learn about FUSE's and Julia's innovative role in fusion energy.


Delivering fusion energy, with its promise of providing a clean and virtually limitless power source, is one of the most compelling scientific and engineering challenges of our time. Julia has enabled a transformation in integrated modeling for fusion device design from a disconnected multi-language approach to a unified framework called the FUsion Synthesis Engine (FUSE).

In this talk we introduce FUSE, a framework developed to support General Atomics’ and others’ fusion power plant designs. FUSE has been developed with the purpose of going beyond traditional low dimensionality methods by integrating first-principle, machine-learning, and reduced models in comprehensive self-consistent simulations. FUSE was developed from the ground up exclusively in Julia, with a focus on computational efficiency and scalability

Traditional fusion device design methods start with low-fidelity simplified analytical models to identify an operational point that is then further refined with high-fidelity iterative analyses. This approach inevitably leads to design modifications that are hard to integrate in a unified framework because the design process is slow, costly and only allows for the in-depth study of one design at the time. The fusion community typically relies on loosely-coupled, file-based models from various scales and languages. Transitioning to Julia creates a unified ecosystem, enhancing model and data structure retention in memory. This shift results in a 1000-fold speed increase compared to earlier integrated modeling frameworks. Beyond accelerated simulations, adopting Julia significantly improves maintenance, documentation, testing, and deployment of FUSE.

FUSE leverages the ITER IMAS data structure standard to facilitate effective data exchange among its various models. This approach not only enables the framework to be modular, allowing for the execution of models of varying fidelity across a broad range of domains, but also ensures its direct applicability to ITER and numerous other tokamak fusion experiments that have adopted the IMAS standard.

One of the most prominent features of FUSE lies in its capability to run both stationary and time-dependent simulations. Dynamics are efficiently modeled by coupling physics models that take into consideration the separation of time and spatial scales that naturally occur in a fusion plasma. Other processes, like the dynamics of the thermal conversion systems, which include a network of heat exchangers, turbines, compressors, and generators, rely on the ModelingToolkit.jl package.

When used for fusion power plant design, a multi-objective optimization approach is utilized to efficiently explore designs that meet the stringent requirements of fusion energy generation but also adhere to economic and practical constraints. This optimization process identifies solutions that strike the best balance between cost and performance, covering the diverse domains of physics, engineering, and control systems.

FUSE is currently a proprietary framework and outside of the development team, access to the tool is granted via a web portal and REST API, also written in Julia. This approach eases the barrier to entry for engineers looking to optimize a fusion power plant design, as well as to developers interested in including some of the leading-edge features of FUSE in their own software via its API.

Attendees at JuliaCon will delve into FUSE's architecture and understand its practical applications in fusion power plant design via technical demonstrations. The session will also cover how developers and users can leverage and build upon FUSE.

I'm deeply involved in the world of fusion energy research, where I mainly focus on modeling entire facilities and crafting the frameworks that hold it all together. I'm not just behind the scenes – I'm also hands-on with FUSE.jl and related packages, both developing and using them. It's an exciting field where there's always something new to learn and explore!