FUSE (FUsion Synthesis Engine) is an open-source framework for the integrated design of Fusion Power Plants (FPP). Originally developed by General Atomics, FUSE is now publicly available under the Apache 2.0 license.
Here are some key resources for getting started with FUSE:
FUSE aims to achieve the following objectives:
FUSE is entirely written in Julia and is structured around the following core concepts:
dd
structure, which follows the ITER IMAS ontology.act
parameters.ini
parameters.A diagram illustrating these concepts is provided below:
Hereβs a simple example of setting up and running a FUSE simulation in Julia:
using FUSE
# Obtain `ini` and `act` parameters for a specific use case
ini, act = FUSE.case_parameters(:FPP)
# Initialize the `dd` structure from 0D `ini` parameters
dd = FUSE.init(ini, act)
# Run a stationary plasma actor simulation
FUSE.ActorStationaryPlasma(dd, act)
# Get an overview of the simulation results
FUSE.digest(dd)
Make sure to take a look at the introductory tutorial and examples.
FUSE and its related packages are available through the FuseRegistry. To install:
Add the FuseRegistry and General registries, then install FUSE:
using Pkg
Pkg.Registry.add(RegistrySpec(url="https://github.com/ProjectTorreyPines/FuseRegistry.jl.git"))
Pkg.Registry.add("General")
Pkg.add("FUSE")
Please cite this work as follows:
@article{meneghini2024fuse,
author = {Meneghini, O. and Slendebroek, T. and Lyons, B.C. and McLaughlin, K. and McClenaghan, J. and Stagner, L. and Harvey, J. and Neiser, T.F. and Ghiozzi, A. and Dose, G. and Guterl, J. and Zalzali, A. and Cote, T. and Shi, N. and Weisberg, D. and Smith, S.P. and Grierson, B.A. and Candy, J.},
doi = {10.48550/arXiv.2409.05894},
journal = {arXiv},
title = {{FUSE (Fusion Synthesis Engine): A Next Generation Framework for Integrated Design of Fusion Pilot Plants}},
year = {2024}
}