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.9.3.tar.gz (23.6 MB view details)

Uploaded Source

Built Distributions

simsopt-1.9.3-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.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

simsopt-1.9.3-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.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

simsopt-1.9.3-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.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

simsopt-1.9.3-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.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

simsopt-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

simsopt-1.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

simsopt-1.9.3-cp39-cp39-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

simsopt-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for simsopt-1.9.3.tar.gz
Algorithm Hash digest
SHA256 eb6f1a996a1a7c6cee5325c1c433bd4b48e51f41dd0940359c7662d6bc744ac1
MD5 3da5621e58f35e544a9003e825296f0a
BLAKE2b-256 a6311ab154bb45517fc69d196efe5ebd3085ba600c3bba8b48d0e41ab8d51f2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4039463c99f221e4fa2c779349cceb64ba858921f5ec7665cb36612c7febe239
MD5 3ecc29c6985ebc05bff4c34ba93184f2
BLAKE2b-256 d51825e4492209494786afc146e167a9c5e1a9d05c23b4a8eac6801cb305bd59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 19359b1fccc969305e6cc33555df1a1fec1d3e1693e13c8b94c9b479532eb3ad
MD5 043f1a01d5dcb94c717a5a5189760476
BLAKE2b-256 6007ea35f76f2f9c1064cf198139d071557b1684c4b1770ddfd1deaea70b103b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4710de232754b8f3358cd261f2196f7a34a89abce700f85029017ea11ffb3c05
MD5 43eea8d03ea457fae9c41ea6d6e456f2
BLAKE2b-256 4d2f81ba6e458d887978f5fadce1ed875a079c7bf9552cef21f9dc93081507e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 60fbc5f6b88fb051f6afe21609c474ca77a506613d549124cb6bbe5fc5d9cee0
MD5 95abf81a75bfb3b35bb6f4f1be8864c3
BLAKE2b-256 ccde5f4042506ede291dd6507da976a240a76b5f768ce5f7ce46f1fbdb7e4325

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd3d00f7e6f78aff34358717a7c6d4f0adacb1516be0f9ce77b9f1a088743434
MD5 9a044f1239dcf98a02f66813d5d7cfa3
BLAKE2b-256 45e404fc051f4d2cb3bacf9e2b38e0934e8f4fa59b7b938287bee5770d841f24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5cba01de1ad0c55e8b5f2345242059e2f50119a4c94fbae0ed170b91f7fafbd8
MD5 1c65f83f1e69d414219a3ec679e7dc33
BLAKE2b-256 39da9629652f0e1975120b4f5818d0d2f604eece0b3eac7f039bdf47847948bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f724f43589e9eb88a1096a2d1373e5060935f11831447418a7068c6a1df3be08
MD5 4782143bb97d0972266ba0c19dbf56a9
BLAKE2b-256 d329b6c8ca46aca678df0bbb378c6071498202a18beabadb3838d71fa2fec996

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7acb7d2ca3ffd17c57ba299aad020d9e55d2e5dfaa20a26416f7ceab5fa6de66
MD5 586a40ddca92451b0010bf2c5c8e89c4
BLAKE2b-256 4dbc0aa4ab46da91b3c4c30200bf3fc6c11d22ed2ce3a21360b5d711ff6a7285

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f9cc1dbb08b2553b387fb31a0fc999f122550a801f729084a185816ede7e65d
MD5 d6c072ffb84199dd00998f293faaa8f3
BLAKE2b-256 f2631a79666985ceef0f7fffd07f8fdb6fa9ace210010dffab91807faf50da05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c40329bbc641cbacc5760820835393564deb8c5b03369855d197e583c57d18f9
MD5 840c423fc8e653a32015d3d87a05b0ec
BLAKE2b-256 c7bfe39647d930e6d3474d0554e87f7bdce848d7647a3337d10eff00c9830e38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39942608c28b6ec5fd0ab3532641f4465ab520cd0bf1614f76c3474605953f6a
MD5 cb338958c4c95dc128571bea906af1da
BLAKE2b-256 0ae9e3dfe58da094fe24a466037208f48513ca197bc0228f7e460c2c587ecb93

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ae99e2c919618d289eed9b6b640ce767de651025be79844793b718a591fa0896
MD5 8186ea2bca15beabfd83f7ccda9b353c
BLAKE2b-256 6e266b1b83721fe9eff778297a53792e56fff87735f7f84a86134999ac29672c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 61c424c4f3953b54ab29705ce7f8d2bea8705310e992d0c6ced06ca9e8767a41
MD5 679c8292cf0a39cbe6988c590fa4f982
BLAKE2b-256 fc911bd2b4809935b65db0065887cb4419250ea0b81f75d2633a49cd100a1e69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c8b9162970cc80147d86c1f160375c964a3d14a1f952ead2b97f74acb413eb76
MD5 e71b395e3baee1217688326025567344
BLAKE2b-256 39370a59171fc6ca162ab23c08a12288b1c54a001e55cd85f0bda6929ab337ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fab77cb0ce2468b3e08c454b7afa523848aff0b3e01e476f8feaf7580dda35a9
MD5 c2a5bdf04eb3e62894c62281b794521e
BLAKE2b-256 8d8041217d2da07862f56644c889de403ec224590b4613b43ce6a0783b3a0d28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 20e5950f68a20e5e58eb102412299ee2d219c58eaa0033377f9071083cb26819
MD5 3afacae3927eeddbc4a898857e0c719f
BLAKE2b-256 7c6bb04808e8bc8e97f785bed6d070736231c5cca300c6087812369590bd8a65

See more details on using hashes here.

File details

Details for the file simsopt-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 35da744c1c5bd550de5c3603d0a79fa35bd358010d6d57b5db32ea3e6e3e28f6
MD5 1481c25bf8822421b5cfcb107992e9a0
BLAKE2b-256 38a06d4be83fd3579c12074c7a07e28340751a061c0b0ecde2c60a0ce1946f49

See more details on using hashes here.

File details

Details for the file simsopt-1.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for simsopt-1.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 16b0eacf8278e13be9b67a992557984bcca47e610269b7af13638bad7bfc7467
MD5 27e20a7cbd037978797043598aaba64c
BLAKE2b-256 bd1d7b0e074198079804e7a5673bbd0d4a5b8e71cdbc6e3e061b0c1a4cbf2b94

See more details on using hashes here.

File details

Details for the file simsopt-1.9.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simsopt-1.9.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ddb7c2d380cbdb2295c5aaa7527bd5cad1f2363f76806b6e730d860f13d0d4a6
MD5 8a4509cb859f26b361a782261f56cfba
BLAKE2b-256 229b8c8efc330ed37cb3774e3dc81dbfe408947775f8a4cc471f647a1cc460f0

See more details on using hashes here.

File details

Details for the file simsopt-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for simsopt-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 21f19e6ddcaf2d4dc9510df8f167b148250a3d60199d5287b233d755bf3c37d9
MD5 a0b81c172e231934db260379d0526601
BLAKE2b-256 fb43a22f1aac6acb09a2785b07b12bd0d1f5f00420538da867e1c97bb45964b4

See more details on using hashes here.

Supported by

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