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.
Metadata
Release files for simsopt 1.11.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| simsopt-1.11.1.tar.gz | 29.8 MB | Without provenance | Details |
Built distributions (wheels)
Total release size: 54.5 MB
Release files / simsopt-1.11.1.tar.gz
| Download URL | simsopt-1.11.1.tar.gz |
|---|---|
| Size | 29.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
33a39375a73223043ab5ce0f814574474da1842749036c7ad39a6f3ccc295089
|
|
BLAKE2b-256 checksum How to use checksums |
5b1d477478e110b8aedec5a694bf871efad1b6b5e2a0762473f695db5ff89a2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | simsopt-1.11.1-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
36ed1a59b14bc100df4644cc01e6a223bdd8cab610bd75f44e223321ee2d8ec6
|
|
BLAKE2b-256 checksum How to use checksums |
6f066facb57527786b60201f44e9e5cc01456cee847ece7a5591744c8d2f2706
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | simsopt-1.11.1-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
27166d3bde668b7341a06ad9a1227db2191bae3b61b40fd94383a450ce66a30d
|
|
BLAKE2b-256 checksum How to use checksums |
48cebca052e1a1ba8bc620b263de46872fb022c862dd05a974b5783312d88fb7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | simsopt-1.11.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6ae258af17291e66cbf75e27ee845b9db1a30d5901c469a95e68bea09f7a6429
|
|
BLAKE2b-256 checksum How to use checksums |
7f9d121e6fb561816c23606019f164bf3e576287b9ac9f976e49834efb4304b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | simsopt-1.11.1-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
afdbb6f2102e11c649b629295d3429c5238a4005f8d6e83a6bd4d7a71f4041b8
|
|
BLAKE2b-256 checksum How to use checksums |
e49cc96f1b0844d89ef23d314fbd0a0d0d6138123de60b0da9bfc0126feada8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | simsopt-1.11.1-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
4723ca19433dd735e138bf903ba39eb38138b55fef0be810ee1647d4be0c874c
|
|
BLAKE2b-256 checksum How to use checksums |
c603e58cb108c0eb8a82d9cda6489d524123b018e0856f74653c3d2e15c9eae6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | simsopt-1.11.1-cp312-cp312-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
61a78c2b644074767809bc7754821df168c87529bb88535001f41dd261dc07c2
|
|
BLAKE2b-256 checksum How to use checksums |
0e8d212ca87a595ed7902e1d87960cfb894b35cfb61d14dd8a9a5ce6cf899a90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | simsopt-1.11.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
eb988f9a0865b591b405345bb9156018643af5e5e11c60a4f276fa02aee0df9a
|
|
BLAKE2b-256 checksum How to use checksums |
1795bae611d95ac5e5961fd7e07e02c4c47d3856359643c12e35f989358a7fa1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | simsopt-1.11.1-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
7891b2068886476dd87009cfb286698fe4004ddf83bf52de0606620b0b1f3d4d
|
|
BLAKE2b-256 checksum How to use checksums |
b99dd2a6d9ffa3cb05e8563442455f21a058ed3fdc35fa74843f295cb9de3121
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | simsopt-1.11.1-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c1e66c56e97b866220f4ebe74488d5b716570b5fe2d8589b4eec808f42eae3aa
|
|
BLAKE2b-256 checksum How to use checksums |
7296ee7dae8245cc948c5a757bf130570f930e1999c2c6c8a7e7f9999fba44a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | simsopt-1.11.1-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
a3937c4c7c96ad9d0e2fa2f0eae70f057e12253e565df606454d19662020bcba
|
|
BLAKE2b-256 checksum How to use checksums |
15ee3758ab0319ea2123795689ae11deec86d388bf31c8171df74c394f0e14df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | simsopt-1.11.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5ba3b890f83fee52a751f81f83b7783a549ddadb5b59a22f007643cc84b0d4ca
|
|
BLAKE2b-256 checksum How to use checksums |
21768612a4487dd0865b4377316f9ee128ca1e3b00e4008743a7823324344a82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | simsopt-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
1abaf9de18656caad4e043a5db2681f9873cba8e867c66d9834b9aaf43ae9113
|
|
BLAKE2b-256 checksum How to use checksums |
f2b7fac0adc00a3faeab023dd1c3085b28d15ecde290b1a89c83b4bf30d46cc1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | simsopt-1.11.1-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
01ecafb69368ba6ddf498330596b008cb201f71bce632eb0c6ed46795dddf084
|
|
BLAKE2b-256 checksum How to use checksums |
62d6490510a8058caa01a7c86deb3361befce1e566cbb8f5fd48059707663398
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp310-cp310-manylinux_2_28_aarch64.whl
| Download URL | simsopt-1.11.1-cp310-cp310-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
eb2376b1f3aa9369e9f2ed6c5142cc3a9f640f3ed549bdc51f27564ceb128bec
|
|
BLAKE2b-256 checksum How to use checksums |
7e34abdd0c7552f81fe141e51c611cbe6c94967bdbe5094af9d1136987620cad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | simsopt-1.11.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4465afd83fa5f112c4cff8a545e8d934115cb24cfe9b4f8a4826d8cf569a54c9
|
|
BLAKE2b-256 checksum How to use checksums |
c37f41df38da8524442f47c3d7bd4055cb87ae1ed9435eb87ce1b697dc7a5981
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / simsopt-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | simsopt-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
80d6d7ba7618255c703859f160f961d646a0dfc4ea2200d5c037a70721844964
|
|
BLAKE2b-256 checksum How to use checksums |
fc26e067cac752b84366bf441626311493f17fe9bda5c09b0ee96d7690fa6d7a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for simsopt 1.11.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.