Tutorial: NCSX Example¶
This example mirrors the NEO tutorial case based on the NCSX equilibrium. The
input files are in tests/fixtures/ncsx and correspond to the tutorial
workflow. [6]
The large NCSX boozmn file is intentionally not committed in the default
slim checkout. Use NEO_JAX_FETCH_EXTERNAL_FIXTURES=1 or the Python helper
neo_jax.ncsx_boozmn_path(download=True) to populate the local fixture
cache before running the full tutorial case.
Run via CLI¶
cd tests/fixtures/ncsx
export NEO_JAX_FETCH_EXTERNAL_FIXTURES=1
neo-jax ncsx_c09r00_free --boozmn boozmn_ncsx_c09r00_free.nc --verbose
Notes¶
The control file uses a fixed set of 10 surfaces.
The Boozer file is large; GPU acceleration is recommended for full-resolution runs.
The original tutorial output can be used as a reference for validating
epstotacross flux surfaces.For a plotting run and autodiff demo, see
examples/ncsx_epsilon_effective_plot.pyandexamples/ncsx_autodiff_Rmajor_optimization.py.The fast parity fixture uses
neo_in.ncsx_c09r00_free_fast(4 surfaces, 64x64 grid).