The Open FUSION Toolkit (OFT) is a suite of modeling tools, and their underlying finite element framework, for problems in plasma and fusion research and engineering in arbitrary 2D and 3D geometries. The underlying framework and its component tools support the use of variable order finite element methods on unstructured tetrahedral (triangular) or hexahedral (quadralateral) grids.
NOTE: This project is under active development, please watch releases for any new features and breaking changes that may be introduced.
The suite currently includes the following tools:
-
TokaMaker: A time-dependent free-boundary Grad-Shafranov equilibrium code
-
ThinCurr: A 3D thin-wall electromagnetic simulation package
-
MUG: A 2D/3D linear/nonlinear extended MHD simulation package
-
Marklin: A 3D force-free, uniform λ equilibrium solver
Pre-built Python packages are available on PyPI and can be installed using pip install openfusiontoolkit (using a virtual environment is strongly recommended).
Binaries are available for Linux (x86 and arm64) and macOS (x86 and arm64) for each release on GitHub as well as recent commits to main via the CD workflow (see artifacts on each run).
Pre-built container images capable of running Open FUSION Toolkit via python scripts and/or Jupyter notebooks are available on the GitHub Container Registry and can be used by Docker or other container runtimes at ghcr.io/openfusiontoolkit/{base|jupyter|extras} (see registry for available images/tags).
The framework and its components can also be built from source using the instructions provided on the wiki.
NOTE: To use the python interfaces for a binary or source install add the python directory for your installation to your PYTHONPATH environment variable.
Detailed documentation is available online and is also included in the binary packages at /path/to/oft/install/doc/Documentation.html (please note /path/to/oft/install is a placeholder for the actual install path).
See CONTRIBUTING.md for information on how to contribute.
Open FUSION Toolkit code development project, up to version 26.6 Copyright (c) 2023 - 2026, Open FUSION Toolkit team.
Written by Open FUSION Toolkit team and collaborators with Christopher J. Hansen as principle developer. All rights reserved.
