Framework for optimizing stellarators
Project description
simsopt
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:
- Interfaces to physics codes, e.g. for MHD equilibrium.
- Tools for defining objective functions and parameter spaces for optimization.
- Geometric objects that are important for stellarators - surfaces and curves - with several available parameterizations.
- An efficient implementation of the Biot-Savart law, including derivatives.
- Tools for parallelized finite-difference gradient calculations.
Some of the physics modules with compiled code reside in separate repositories. These separate modules include
- VMEC, for MHD equilibrium.
- SPEC, for MHD equilibrium. (This repository is private.)
- booz_xform, for Boozer coordinates and quasisymmetry.
The design of simsopt
is guided by several principles:
- Thorough unit testing, regression testing, and continuous integration.
- Extensibility: It should be possible to add new codes and terms to the objective function without editing modules that already work, i.e. the open-closed principle. This is because any edits to working code can potentially introduce bugs.
- Modularity: Physics modules that are not needed for your optimization problem do not need to be installed. For instance, to optimize SPEC equilibria, the VMEC module need not be installed.
- Flexibility: The components used to define an objective function can
be re-used for applications other than standard optimization. For
instance, a
simsopt
objective function is a standard python function that can be plotted, passed to optimization packages outside ofsimsopt
, etc.
We gratefully acknowledge funding from the Simons Foundation's Hidden
symmetries and fusion energy
project. simsopt
is fully
open-source, and anyone is welcome to make suggestions, contribute,
and use.
simsopt
is one of several available systems for stellarator
optimization. Others include STELLOPT,
ROSE, and
LASSO.
Several methods are available for installing simsopt
. One
recommended approach is to first clone the repository using
git clone https://github.com/hiddenSymmetries/simsopt.git
Then install the package to your local python environment with
cd simsopt
pip install -e .
For more installation options and other information, see the main simsopt documentation here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for simsopt-0.2.3-cp39-cp39-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58dc711065889c761be6a48df0bba410384702fe4d064f6d0605c647cc380859 |
|
MD5 | 965cbe492cab2fc7939115881439e374 |
|
BLAKE2b-256 | 045eb208e1eff42653e0a988861973776d77c94361187ae6499fdedaffe6bffe |
Hashes for simsopt-0.2.3-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1bb8363a663e24120df91ec6a91f6484d624d96b34d5802becd08cd3530d005 |
|
MD5 | 5695e180302b2b4c2253e08c31fa1d77 |
|
BLAKE2b-256 | af4aba081f19d920bc3daf694095363e4fb34e9ffbe5bd2684f98d17255c8a22 |
Hashes for simsopt-0.2.3-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3384d6511498f6ac0f9abca46533e46ab571a2105cc8423a2680dd4ce3fd2a48 |
|
MD5 | f72e94de112d060f443b777e5cbb360c |
|
BLAKE2b-256 | 5612d373c8d2f549ed027569396851ce6692a7df10fb87c458b0774b5b19211d |
Hashes for simsopt-0.2.3-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c41d7ed78f97ddfd440bb957b76675f4ced24f6b2f98c2366b4e9887fefc7a6 |
|
MD5 | 67a136a37f75e1b011b9fea32f8b95a2 |
|
BLAKE2b-256 | 7ab5175daa02d10e328d6d2f9a7a0f6e33ccdc5b47f196d4c3c9ed49fc85c8f1 |
Hashes for simsopt-0.2.3-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9a403d3d853d47158b18ffe47003e396beb4a81475cf6d3263991a4e105b3dd |
|
MD5 | de8115e0a221bf9f61f5e5846993ea34 |
|
BLAKE2b-256 | 94389b40dc7666a7e0f05dc4a3b66b435984a49b3a398e893f4b4bc23006f13d |
Hashes for simsopt-0.2.3-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a0c2aa88c54cd5b7ff89cc8626fd3ce5f0e6e7850eef5d65dba199e6c4eeafb |
|
MD5 | f9a1d27dc65fb15b150b6a656632e040 |
|
BLAKE2b-256 | d0aa5ef8aed85b2ec8af1ad0b079168171443849d2fbd1d3d77d93f33f521bae |