Freegsnke

Latest version: v1.0

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.0.0

Version 1.0.0 release of FreeGSNKE.

Capabilities

All the below listed capabilities involve solving the Grad-Shafranov equation for tokamak equilibria.

- **Evolutive forward**: Solve simultaneously for the plasma equilibrium, poloidal field currents, passive structure currents, and total plasma current over time from an initial equilibrium using user-defined time-dependent poloidal field coil voltages and plasma current density profile parameters.
- **Static forward**: Solve for the plasma using defined poloidal field coil currents, passive structure currents, and plasma current density profiles.
- **Static inverse**: Solve for poloidal field coil currents using user-defined constraints (e.g. isoflux and X-point locations) and plasma current density profiles for a desired plasma equilibrium shape.

Supported tokamak geometry elements

- Active poloidal field coils.
- Passive conducting structures.
- Wall contours.
- Limiter contours.
- Magnetic diagnostic probes.

Examples notebooks

Notebooks demonstrating FreeGSNKE functionality are contained in the `examples/` directory. As of v1.0.0, these consist of:

- `example0 - build_tokamak_machine.ipynb`: How to create the machine description files required to begin solving for Grad-Shafranov equilibria.
- `example1 - static_inverse_solve_MASTU.ipynb`: How to use FreeGSNKE to solve static inverse free-boundary Grad-Shafranov (GS) problems.
- `example2 - static_forward_solve_MASTU.ipynb`: How to use FreeGSNKE to solve static forward free-boundary Grad-Shafranov (GS) problems.
- `example3 - extracting_equilibrium_quantites.ipynb`: How to access different results stored (or calculated using methods) in the `eq` and `profiles` objects.
- `example4 - using_magnetic_probes.ipynb`: How to set up and use magnetics probes.
- `example5 - evolutive_forward_solve.ipynb`: How to simulate the (time-dependent) evolution of Grad-Shafranov (GS) equilibria. In particular, a vertical displacement event (VDE).
- `example6a - static_forward_MASTU_solves_from_magnetics_only_data.ipynb`: How to carry out static forward Grad-Shafranov equilibrium solves for MAST-U shots using FreeGSNKE. (Note: requires UDA client).
- `example6b - static_forward_MASTU_solves_from_magnetics_and_MSE_data.ipynb`: As above but including motional Stark effect (MSE) reconstructions from EFIT++. (Note: requires UDA client).
- `example7 - static_inverse_solve_SPARC.ipynb`: Demonstrates inverse free-boundary equilibrium solutions for a SPARC-like tokamak.
- `example8 - static_inverse_solve_ITER.ipynb`: Demonstrates inverse free-boundary equilibrium solutions for a ITER-like tokamak.

More details in published papers

More details of FreeGSNKE's structure, capabilities, verification and uses can be found in the following published, peer-reviewed papers:

- N. C. Amorisco et al, "FreeGSNKE: A Python-based dynamic free-boundary toroidal plasma equilibrium solver", Physics of Plasmas, 31, 042517 (2024). DOI: [10.1063/5.0188467](https://doi.org/10.1063/5.0188467).
- K. Pentland et al, "Validation of the static forward Grad-Shafranov equilibrium solvers in FreeGSNKE and Fiesta using EFIT++ reconstructions from MAST-U", Physica Scripta 100, 025608 (2024). DOI: [10.1088/1402-4896/ada192](https://doi.org/10.1088/1402-4896/ada192).
- A. Agnello et al, "Emulation techniques for scenario and classical control design of tokamak plasmas", Physics of Plasmas, 31, 043091 (2024). DOI: [10.1063/5.0187822](https://doi.org/10.1063/5.0187822).

Links

Releases

Has known vulnerabilities

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.