Skip to main content

simsopt

GitHub codecov DOI

SIMSOPT 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 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

  • 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simsopt-1.11.1.tar.gz (29.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

simsopt-1.11.1-cp313-cp313-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

simsopt-1.11.1-cp313-cp313-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

simsopt-1.11.1-cp313-cp313-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simsopt-1.11.1-cp313-cp313-macosx_10_13_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

simsopt-1.11.1-cp312-cp312-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

simsopt-1.11.1-cp312-cp312-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

simsopt-1.11.1-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simsopt-1.11.1-cp312-cp312-macosx_10_13_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

simsopt-1.11.1-cp311-cp311-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

simsopt-1.11.1-cp311-cp311-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

simsopt-1.11.1-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simsopt-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

simsopt-1.11.1-cp310-cp310-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

simsopt-1.11.1-cp310-cp310-manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

simsopt-1.11.1-cp310-cp310-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

simsopt-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file simsopt-1.11.1.tar.gz.

File metadata

  • Download URL: simsopt-1.11.1.tar.gz
  • Upload date:
  • Size: 29.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for simsopt-1.11.1.tar.gz
Algorithm Hash digest
SHA256 33a39375a73223043ab5ce0f814574474da1842749036c7ad39a6f3ccc295089
MD5 f0e967004a5281b3d684a0bc0e4bfd31
BLAKE2b-256 5b1d477478e110b8aedec5a694bf871efad1b6b5e2a0762473f695db5ff89a2f

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36ed1a59b14bc100df4644cc01e6a223bdd8cab610bd75f44e223321ee2d8ec6
MD5 329794005d43b37393bf287fe62c40c5
BLAKE2b-256 6f066facb57527786b60201f44e9e5cc01456cee847ece7a5591744c8d2f2706

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 27166d3bde668b7341a06ad9a1227db2191bae3b61b40fd94383a450ce66a30d
MD5 02d7e9f2dbb889bcc43b86349a88f8a5
BLAKE2b-256 48cebca052e1a1ba8bc620b263de46872fb022c862dd05a974b5783312d88fb7

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ae258af17291e66cbf75e27ee845b9db1a30d5901c469a95e68bea09f7a6429
MD5 2e8340759f83c8162f18037105b5ff33
BLAKE2b-256 7f9d121e6fb561816c23606019f164bf3e576287b9ac9f976e49834efb4304b7

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 afdbb6f2102e11c649b629295d3429c5238a4005f8d6e83a6bd4d7a71f4041b8
MD5 0d3be920e8cd40d0cc760c349399b8fc
BLAKE2b-256 e49cc96f1b0844d89ef23d314fbd0a0d0d6138123de60b0da9bfc0126feada8f

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4723ca19433dd735e138bf903ba39eb38138b55fef0be810ee1647d4be0c874c
MD5 6a0beb2efb5ac7c6ec96213528d924ca
BLAKE2b-256 c603e58cb108c0eb8a82d9cda6489d524123b018e0856f74653c3d2e15c9eae6

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 61a78c2b644074767809bc7754821df168c87529bb88535001f41dd261dc07c2
MD5 358d0de700cd2cd29a38ce45c8a4aa71
BLAKE2b-256 0e8d212ca87a595ed7902e1d87960cfb894b35cfb61d14dd8a9a5ce6cf899a90

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb988f9a0865b591b405345bb9156018643af5e5e11c60a4f276fa02aee0df9a
MD5 f598c2f66386b1e55764a866ff9c22c5
BLAKE2b-256 1795bae611d95ac5e5961fd7e07e02c4c47d3856359643c12e35f989358a7fa1

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7891b2068886476dd87009cfb286698fe4004ddf83bf52de0606620b0b1f3d4d
MD5 8c0aaef557c40238ada9f1237a2a801e
BLAKE2b-256 b99dd2a6d9ffa3cb05e8563442455f21a058ed3fdc35fa74843f295cb9de3121

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c1e66c56e97b866220f4ebe74488d5b716570b5fe2d8589b4eec808f42eae3aa
MD5 738f83451e54337544db3fefc955d3c0
BLAKE2b-256 7296ee7dae8245cc948c5a757bf130570f930e1999c2c6c8a7e7f9999fba44a8

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a3937c4c7c96ad9d0e2fa2f0eae70f057e12253e565df606454d19662020bcba
MD5 da6d71cd564c1d2c75ab2aeb6327c894
BLAKE2b-256 15ee3758ab0319ea2123795689ae11deec86d388bf31c8171df74c394f0e14df

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ba3b890f83fee52a751f81f83b7783a549ddadb5b59a22f007643cc84b0d4ca
MD5 811e1d5862cf894ba9e161bed1b0ab65
BLAKE2b-256 21768612a4487dd0865b4377316f9ee128ca1e3b00e4008743a7823324344a82

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1abaf9de18656caad4e043a5db2681f9873cba8e867c66d9834b9aaf43ae9113
MD5 f484ff9c96bf547e8d32a7e047b3b7a2
BLAKE2b-256 f2b7fac0adc00a3faeab023dd1c3085b28d15ecde290b1a89c83b4bf30d46cc1

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 01ecafb69368ba6ddf498330596b008cb201f71bce632eb0c6ed46795dddf084
MD5 d6ebd7e5e99a5b48efd9b8edca22bd35
BLAKE2b-256 62d6490510a8058caa01a7c86deb3361befce1e566cbb8f5fd48059707663398

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eb2376b1f3aa9369e9f2ed6c5142cc3a9f640f3ed549bdc51f27564ceb128bec
MD5 6d1c8ef76419803b22cdf365e5dd813f
BLAKE2b-256 7e34abdd0c7552f81fe141e51c611cbe6c94967bdbe5094af9d1136987620cad

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4465afd83fa5f112c4cff8a545e8d934115cb24cfe9b4f8a4826d8cf569a54c9
MD5 fdd8c08e19ef42cf81dcfa4bf8b06419
BLAKE2b-256 c37f41df38da8524442f47c3d7bd4055cb87ae1ed9435eb87ce1b697dc7a5981

See more details on using hashes here.

File details

Details for the file simsopt-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 80d6d7ba7618255c703859f160f961d646a0dfc4ea2200d5c037a70721844964
MD5 05a76a7cbcb48c7f38711ffd80a4452d
BLAKE2b-256 fc26e067cac752b84366bf441626311493f17fe9bda5c09b0ee96d7690fa6d7a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.11.1 This release

17 files

1.11.0

17 files

1.10.6

17 files

1.10.5

17 files

1.10.4

17 files

1.10.3

21 files

1.10.2

21 files

1.10.1

21 files

1.10.0

21 files

1.9.3

21 files

1.9.2

21 files

1.9.1

41 files

1.9.0

41 files

1.8.3

41 files

1.8.2

17 files

1.8.1

17 files

1.6.4

17 files

1.6.3

17 files

1.6.2

17 files

1.6.1

17 files

1.6.0

17 files

1.3.0

17 files

1.2.0

17 files

1.1.1

17 files

1.0.0

17 files

0.20.0

17 files

0.19.0

17 files

0.18.1

17 files

0.18.0

13 files

0.17.1

16 files

0.17.0

16 files

0.16.0

16 files

0.15.1

16 files

0.15.0

16 files

0.14.1

16 files

0.14.0

16 files

0.13.0

16 files

0.12.2

16 files

0.12.1

16 files

0.12.0

12 files

0.11.1

12 files

0.11.0

12 files

0.10.0

8 files

0.9.4

4 files

0.9.2

12 files

0.9.1

12 files

0.9.0

12 files

0.8.0

12 files

0.7.4

12 files

0.7.3

12 files

0.7.2

12 files

0.7.1

12 files

0.7.0

12 files

0.6.1

12 files

0.6.0

10 files

0.5.1

10 files

0.5.0

7 files

0.4.7

7 files

0.4.6

7 files

0.4.5

7 files

0.4.3

7 files

0.4.2

7 files

0.4.0

7 files

0.3.3

7 files

0.3.0

7 files

0.2.3

7 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page