simsopt
is a framework for optimizing
stellarators.
The high-level routines of simsopt
are in python, with calls to C++
or fortran where needed for performance. Several types of components
are included:
The design of simsopt
is guided by several principles:
simsopt
objective function is a standard python
function that can be plotted, passed to optimization packages
outside of simsopt
, etc.simsopt
is fully open-source, and anyone is welcome to use it, make
suggestions, and contribute.
Several methods are available for installing simsopt
. One
recommended approach is to use pip:
pip install simsopt
For detailed installation instructions on some specific systems, see
the wiki.
Also, a Docker container is available with simsopt
and its components pre-installed, which
can be started using
docker run -it --rm hiddensymmetries/simsopt
More installation options, instructions for the Docker container, and other information can be found in the main simsopt documentation here.
Some of the physics modules with compiled code reside in separate repositories. These separate modules include
If you use simsopt
in your research, kindly cite the code using
this reference:
[1] M Landreman, B Medasani, F Wechsung, A Giuliani, R Jorge, and C Zhu, "SIMSOPT: A flexible framework for stellarator optimization", J. Open Source Software 6, 3525 (2021).
See also the simsopt publications page.
We gratefully acknowledge funding from the Simons Foundation's Hidden symmetries and fusion energy project.