SIMSOPT
SIMSOPT: A flexible framework for stellarator optimization - Published in JOSS (2021)
Science Score: 98.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
19 of 61 committers (31.1%) from academic institutions -
✓Institutional organization owner
Organization hiddensymmetries has institutional domain (hiddensymmetries.princeton.edu) -
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Keywords from Contributors
Repository
Simons Stellarator Optimizer Code
Basic Info
- Host: GitHub
- Owner: hiddenSymmetries
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://simsopt.readthedocs.io
- Size: 480 MB
Statistics
- Stars: 117
- Watchers: 6
- Forks: 66
- Open Issues: 52
- Releases: 62
Topics
Metadata Files
README.md
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.
- Efficient implementations of the Biot-Savart law and other magnetic field representations, including derivatives.
- Tools for parallelized finite-difference gradient calculations.
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
simsoptobjective function is a standard python function that can be plotted, passed to optimization packages outside ofsimsopt, 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
- VMEC, for MHD equilibrium.
- SPEC, for MHD equilibrium.
- booz_xform, for Boozer coordinates.
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.
Owner
- Name: The Hidden Symmetries and Fusion Energy Collaboration
- Login: hiddenSymmetries
- Kind: organization
- Website: https://hiddensymmetries.princeton.edu/
- Repositories: 7
- Profile: https://github.com/hiddenSymmetries
JOSS Publication
SIMSOPT: A flexible framework for stellarator optimization
Authors
Institute for Research in Electronics and Applied Physics, University of Maryland, College Park
Tags
Python plasma plasma physics magnetohydrodynamics optimization stellarator fusion energyGitHub Events
Total
- Create event: 74
- Release event: 10
- Issues event: 24
- Watch event: 24
- Delete event: 19
- Issue comment event: 235
- Push event: 502
- Gollum event: 17
- Pull request review comment event: 442
- Pull request review event: 449
- Pull request event: 114
- Fork event: 19
Last Year
- Create event: 74
- Release event: 10
- Issues event: 24
- Watch event: 25
- Delete event: 19
- Issue comment event: 235
- Push event: 502
- Gollum event: 17
- Pull request review comment event: 442
- Pull request review event: 449
- Pull request event: 114
- Fork event: 19
Committers
Last synced: 6 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Bharat Medasani | m****r@g****m | 1,349 |
| Matt Landreman | m****d@u****u | 589 |
| Florian Wechsung | f****g@g****m | 582 |
| Andrew Giuliani | g****i@c****u | 248 |
| Elizabeth | e****l@u****u | 229 |
| Alan Kaptanoglu | a****o@u****u | 175 |
| Rogerio Jorge | r****e@i****t | 152 |
| Andrew Giuliani | a****i@f****g | 131 |
| Kenneth Hammond | k****d@p****v | 100 |
| Chris | c****t@e****h | 80 |
| Antoine Baillod | a****d@e****h | 71 |
| Stefan Buller | s****r@u****u | 32 |
| Siena Hurwitz | s****z@u****u | 26 |
| Paul Huslage | p****e@g****m | 26 |
| Misha Padidar | m****4@c****u | 25 |
| MigMadeira | m****a@t****t | 25 |
| tmqian | t****n@p****v | 22 |
| Alex Wiedman | a****x@w****g | 21 |
| Caoxiang Zhu | c****u@p****v | 17 |
| Caoxiang Zhu | z****g@g****m | 14 |
| mishapadidar | m****4@g****m | 14 |
| Jake Halpern | j****n@p****u | 11 |
| Miguel Pereira | m****3@g****m | 9 |
| Alan Kaptanoglu | a****u@A****l | 9 |
| Aaron Bader | a****r@t****m | 7 |
| Matt Landreman | m****n@t****m | 7 |
| Jason Smoniewski | s****i@g****m | 6 |
| Alan Kaptanoglu | a****u@A****l | 6 |
| Philipp Jurasic | p****c@t****e | 5 |
| mattland | m****d@p****n | 4 |
| and 31 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 71
- Total pull requests: 354
- Average time to close issues: 4 months
- Average time to close pull requests: 28 days
- Total issue authors: 33
- Total pull request authors: 36
- Average comments per issue: 1.99
- Average comments per pull request: 2.38
- Merged pull requests: 255
- Bot issues: 0
- Bot pull requests: 2
Past Year
- Issues: 18
- Pull requests: 143
- Average time to close issues: about 2 months
- Average time to close pull requests: 8 days
- Issue authors: 12
- Pull request authors: 20
- Average comments per issue: 0.33
- Average comments per pull request: 1.94
- Merged pull requests: 76
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- smiet (12)
- mbkumar (10)
- landreman (8)
- abaillod (4)
- eguiraud-pf (2)
- RalfMackenbach (2)
- andrewgiuliani (2)
- zhucaoxiang (2)
- daringli (2)
- akaptano (2)
- Siwanta (2)
- florianwechsung (2)
- DMCXE (1)
- mrtnkb (1)
- duhongfei86 (1)
Pull Request Authors
- mbkumar (68)
- landreman (59)
- smiet (29)
- andrewgiuliani (26)
- daringli (23)
- rogeriojorge (19)
- akaptano (18)
- florianwechsung (17)
- mishapadidar (15)
- missing-user (15)
- ejpaul (6)
- kchammond (6)
- smhurwitz (5)
- jhalpern30 (4)
- abaillod (4)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 5,772 last-month
- Total docker downloads: 10
- Total dependent packages: 1
- Total dependent repositories: 1
- Total versions: 59
- Total maintainers: 2
pypi.org: simsopt
Framework for optimizing stellarators
- Homepage: https://github.com/hiddenSymmetries/simsopt
- Documentation: https://simsopt.readthedocs.io
- License: MIT License
-
Latest release: 1.10.1
published 5 months ago
Rankings
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- codecov/codecov-action v3 composite
- actions/checkout v3 composite
- conda-incubator/setup-miniconda v2 composite
- actions/checkout v3 composite
- docker/build-push-action v3 composite
- docker/login-action v2 composite
- docker/setup-buildx-action v2 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- codecov/codecov-action v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- eWaterCycle/setup-singularity v7 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- pypa/cibuildwheel v2.11.4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- sphinx *
- sphinx-autodoc-napoleon-typehints *
- sphinx-rtd-theme >=1.0,<2.0
- sphinxcontrib-napoleon *
- Deprecated >=1.2.10
- f90nml *
- jax >=0.2.5
- jaxlib >=0.1.56
- monty >=2021.6.10
- nptyping >=1.3.0
- numpy >=1.19.4
- pyevtk *
- randomgen *
- ruamel.yaml *
- scipy >=1.5.4
- setuptools_scm >=6.0
- sympy *
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite