Skip to main content

Framework for optimizing stellarators

Project description

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.

Project details


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.10.5.tar.gz (23.7 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.10.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

simsopt-1.10.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

simsopt-1.10.5-cp313-cp313-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

simsopt-1.10.5-cp313-cp313-macosx_10_13_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

simsopt-1.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

simsopt-1.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

simsopt-1.10.5-cp312-cp312-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

simsopt-1.10.5-cp312-cp312-macosx_10_13_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

simsopt-1.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

simsopt-1.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

simsopt-1.10.5-cp311-cp311-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

simsopt-1.10.5-cp311-cp311-macosx_10_9_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

simsopt-1.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

simsopt-1.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

simsopt-1.10.5-cp310-cp310-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

simsopt-1.10.5-cp310-cp310-macosx_10_9_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: simsopt-1.10.5.tar.gz
  • Upload date:
  • Size: 23.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simsopt-1.10.5.tar.gz
Algorithm Hash digest
SHA256 f8eb3fe136ce40e223e1dfc02af78f9b8971c05d8d4254daa26fe0b3997adbe5
MD5 04eada86a442a9438e4fa4fd8b6ad2c3
BLAKE2b-256 812b363f068fee5df2813e1fe24134c07cc9c89895041d86c4eb78017e0410be

See more details on using hashes here.

File details

Details for the file simsopt-1.10.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.10.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8bb36e8404339f14d2d97c4668bd1762f88f8d42a3365546597e7372cdc8232
MD5 7dcdfda83c38ad90dd124d71bc3e8818
BLAKE2b-256 fa55cf1896ebc6520c12efd142985d1668b17905a1a8d4c9afec51e1dc7d1a72

See more details on using hashes here.

File details

Details for the file simsopt-1.10.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simsopt-1.10.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 768f4259eeab6bd8342e6ed9119793991082f3a19c791bce1ed7b11740e34a8e
MD5 38b6609f5e6ad4e32b8f31c5333bf80d
BLAKE2b-256 0d3d0f66ac9d8628e3b281ab3995ddc8819d00cc295bef7890c466d36d70aa05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.10.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4d8ca38f755e6639a516e3e5f4d3cf1ef0fdd08fbb14ec07b6c117509ae5d601
MD5 81e2f8d04d88112857125df30167cad1
BLAKE2b-256 08ec27b4ceb5fc4b8a4dd5b66c2da73158ee9cfa266c1313de04d54f7f179bc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.10.5-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 86bc8872d688334dc2fca0f47fc5947e995795df280927f4f63f22a1be9b88b7
MD5 0a3d16284a7880802d3d39b2be7aa377
BLAKE2b-256 d92ed37104359ccfad6d39ea5207a97c6b2743f3921cdbbdbfc119b4f55adc71

See more details on using hashes here.

File details

Details for the file simsopt-1.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d859846b851ca3e967ea748cb00dccc5f58e7639d4d56c5268fa26dbe06d84ca
MD5 c8b47128c933935c5697cc2cd15bc988
BLAKE2b-256 e3718215a138777bb348c7201b6d4eee26b95b23b9247d3023fe80b12c491d0c

See more details on using hashes here.

File details

Details for the file simsopt-1.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simsopt-1.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1f2f3b0a854845974fe91567275e8bf0ad214145a633edb30eebe438ba811b36
MD5 34bd8e7f9e38e8dde774334ad449729b
BLAKE2b-256 11c82342c6b6d6161a4974eaa738ae37de2e782ba9926230c044a21dc1c7c467

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.10.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3b3fd847de5fdf49511c6a13a4656ae72960a6957e72e8f96f5c3b89f4be437
MD5 87d93dcecf48c6c9046561a5c540b9ed
BLAKE2b-256 ee5b2876de6765164164b402896ee5cea6d21d0f6ef18203c058efe374636a34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.10.5-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 533946d2fa50c5ba2f103201074388b33a7cb3f7201fdb46bb5b7f60c11fb51d
MD5 cc62116071ed59cb043b9c1f45649cfd
BLAKE2b-256 9078c82ede7ef848bafeca6fb65d3a2a5ba51ed0775b2af5a2f3387bdedad115

See more details on using hashes here.

File details

Details for the file simsopt-1.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e2859527f9c642dc496585c826e0020be89e84667551304e2c46f81bf1b116a
MD5 7870ead78ab3b935bcfd55a57236cd65
BLAKE2b-256 01423218b798504faa91dcdc96b6855e1d7ea3a0601972931cbd94afc3387e9d

See more details on using hashes here.

File details

Details for the file simsopt-1.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simsopt-1.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 40e6a46242af9d7bb276928a9b35c05723e9696ca553a017b673a00bb726758a
MD5 64f3a96d4fdd763f84a3321e82f7f16b
BLAKE2b-256 334e197dafc82ebae731da5374110416d0cef7ed260c9623f8abaa85f57221ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.10.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2834fdc0f3b3a710649ede1823c40c0ae5e2565d4e4000122a393c5290b78078
MD5 5e1d38ef6e2ec70d41bd0534c8a75897
BLAKE2b-256 6cff4e386656f3194f81ea4cf803ecfc93fda9c85b5f9d86cd4da8b2c3cc78a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.10.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 346a90853cfbebc5118f0ff26a27e66503c5c0286a4d6146c1064403abce15f6
MD5 ea394ad40142887d9535624916794449
BLAKE2b-256 4f308d394b4cdcd95e7a4c85f31c581e55734bb0799f61851df8184b440f5a64

See more details on using hashes here.

File details

Details for the file simsopt-1.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 05ab2c764df75ce29e8f599cb017c05a8f9a89f95500b8b49f1862974030858e
MD5 c6dcbfbb7dd4be55283bafd56cceafad
BLAKE2b-256 2ec1c29b7cfb9f1b9ffca24bdeffd155eb7cd00827d2e3cd13bf1cfada69fb35

See more details on using hashes here.

File details

Details for the file simsopt-1.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simsopt-1.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6540f2593ca6f5c6c7182434d49f7ece0f95e4411d76f93b14c02126311917ea
MD5 bec96f2a7010306506eeeec638d615c0
BLAKE2b-256 dea27b2f85c22baa3a22c592cdb9b903d39c8cb469d5aef2fc648ce27eeba8b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.10.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3935d02b8b194e0a30890ee94c02c553c714760efaab83bb7e10387b7af877eb
MD5 ebd437854a88f0dd116fb8fd9a6193c5
BLAKE2b-256 9179fbc8aff1fa94c52f6c407a4f4528c97ecb794cc740f8df7ce94505004362

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.10.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6ab959c1593c7001463ded69cdf1028e4c7cb0d1deb655d9cfb9c52c6f76f297
MD5 2cdd95cf6831a9b0dee07ad5de7a0ba8
BLAKE2b-256 557b5927324358753f364754c300ce0d4f036cb5ed88d6e2782c28e883852aa7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page