Skip to content

About

FUSE (Fusion Synthesis Engine) for steady-state power-plant design studies. Fork of ProjectTorreyPines/FUSE.jl split at v1.1.5; releases 1.1.5+design.N (CHANGELOG.md). Plots and PAM are optional.

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Repository files navigation

Note

About this fork. FUSE_Design is a public, stable version of FUSE focused on fusion power-plant design: steady-state whole-facility studies and constrained multi-objective optimization (CMOOP), rather than the time-dependent, digital-twin direction of upstream ProjectTorreyPines/FUSE.jl.

Installing the design stack

using Pkg
Pkg.Registry.add(url="https://github.com/TimSlendebroek/FuseRegistry.jl")
Pkg.add([PackageSpec(url="https://github.com/TimSlendebroek/$repo.jl", rev=rev) for (repo, rev) in (
    ("FUSE_Design", "v1.1.5+design.2"), ("IMAS_Design", "v7.1.8+design.2"), ("IMASdd_Design", "v8.5.2"),
    ("EPEDNN_Design", "fa309f066afe"), ("TurbulentTransport_Design", "v1.2.17"), ("TGLF", "b8fd35ad3015"),
    ("FRESCO", "v0.7.3+design.1"), ("TGLFEP", "v2.0.14+design.1"), ("TroyonBetaNN", "v1.1.0+design.1"))])

FUSE.jl

FUSE (FUsion Synthesis Engine) is an open-source framework for integrated simulations of fusion devices. Originally developed by General Atomics, FUSE is now publicly available under the Apache 2.0 license.

The figure below is a sneakpeak of the models implemented in FUSE: FUSE capabilities

Resources

Here are some key resources for getting started with FUSE:

Objectives

FUSE aims to achieve the following objectives:

  • ⚡ Provide a highly efficient, modular framework that tightly couples models across different domains.
  • 🧩 Integrate plasma physics, engineering, control, balance of plant, and costing systems.
  • 🤖 Leverage machine learning to overcome the typical fidelity/speed tradeoff in simulations.
  • ⏱️ Support both stationary and time-dependent simulations.
  • 💻 Harness parallelism and high-performance computing (HPC) for large-scale studies.
  • 🎯 Perform multi-objective constrained optimization to explore design tradeoffs.
  • 🔍 Enable comprehensive sensitivity analysis and uncertainty quantification.

Basic Concepts

FUSE is entirely written in Julia and is structured around the following core concepts:

  1. 📂 Data storage: All data is stored in the dd structure, which follows the ITER IMAS ontology.
  2. 🧠 Actors: The core components of FUSE simulations are physics and engineering actors.
  3. 🕹️ Control: Actor functionality is governed by act parameters.
  4. 🚀 Initialization: The data structure can be initialized from 0D ini parameters.
  5. 🔧 Use cases: FUSE includes templates for various machines (e.g., FPP, ITER, ARC).
  6. 🔄 Studies: Studies pre-bake commonly used functionalities, typically involving multiple FUSE simulations (eg. database generation or multi objective optimizations).
  7. 🌍 Interoperability: FUSE interfaces via dd with existing modeling tools like OMFIT/OMAS and the IMAS ecosystem.

A diagram illustrating these concepts is provided below: FUSE Diagram

Usage Example

Here’s a simple example of setting up and running a FUSE simulation in Julia:

using FUSE
using Plots # FUSE.digest plots; in this fork Plots is loaded only on request

# 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.

Installation

This design fork: see Installing the design stack above. Upstream FUSE: follow these installation instructions.

Citation

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

About

FUSE (Fusion Synthesis Engine) for steady-state power-plant design studies. Fork of ProjectTorreyPines/FUSE.jl split at v1.1.5; releases 1.1.5+design.N (CHANGELOG.md). Plots and PAM are optional.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages