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.0.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.0-cp313-cp313-manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

simsopt-1.11.0-cp312-cp312-manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

simsopt-1.11.0-cp311-cp311-manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

simsopt-1.11.0-cp310-cp310-manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

simsopt-1.11.0-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.0.tar.gz.

File metadata

  • Download URL: simsopt-1.11.0.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.0.tar.gz
Algorithm Hash digest
SHA256 37ffc6bd6db0c6e89264118239be00e52a0d81664dd2b9c0b47c9f47d88242ac
MD5 3b23ca62d9cc7d7449ace9bde46bfc22
BLAKE2b-256 9b1edff20d3cb8be2298421b0bb6f9c636151231bfe4f9d5fa616e0811d3bcd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cf926013aaaa25410334ddff3f7493e491cbd1b0019e11032fa6ea5b117f2eca
MD5 1590bf242826988e251bddc0fb1f029c
BLAKE2b-256 a682a6afbcc9f8bb59f4f79ed1afc433746126e6c739d80811d36343ae03e3b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b2f6995267efc7a878332222fb536ac5ff7cd04358cd3f740aa5bc58870eb354
MD5 f4a5fc1082f50560d25c682aff795722
BLAKE2b-256 143437c51d0c4b1c58eb7e866647cfa9065a741809b4503bf60b121fb4e74aaa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7cb82c52230481f3a8f92cbf9c894dbe215f144e2e1297d77bc44145d346270b
MD5 c24ec037d6824399b83d5d752ce22afd
BLAKE2b-256 26612db571314189e54c22831fe15ac5d8690debeb9c514126732935e7c7ba6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d26e273504e69518e72605cea46b4b99b15bb475c7fbd9c8554f0287088b8788
MD5 44c555527a364bd96cc99139b3e19ff1
BLAKE2b-256 fc87bce1b4f69ea175dec8c12b7bd631781c922319956791eeab30d8ed1af89b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be08eea12ecd5d501aaf42cb22f47b0ace545d994a3a665c09bd41215387bd56
MD5 b372c97193b13f1ec095281552920dab
BLAKE2b-256 981a6d2994b571e717e63b300bdb9c1841aa2311333c338267504c493ca30f94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 de0a1442ee8a0bb5991c9fe49b28649196b91b44f2b2c786e84477cdf8b7af96
MD5 d23d8f49dacfbc283a8c700a028324c6
BLAKE2b-256 72f0960fc928e261579cc5eadc3be067730920a31671c818f2c14dd45787eac0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbf8ba02c829bd8b419bff6dcef74ab3b52963a1b89af47f7f083c355ba4a1bf
MD5 36c8dd5090b9a8b04a89d270c84b892a
BLAKE2b-256 c6df5e2481cdc78d91e2b6f82cdd3696655c4d7e09cb95d9f9466a650aa60e51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f1ba2dabb106b4714c39beac004fcb2d804b67c3868a2f8264aa2fd4baf57701
MD5 7b20dd63bf3dfd4062d14ebed03c20ba
BLAKE2b-256 7bdf4bbfc8754163c6cdb3e99a1da2231fafa3ecf966bffd041d10523570e480

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 857ca80017a80ffd5706ee3621b71c911f549ca6018acddefae385d839f66907
MD5 c118aa30d57b7a268aa9130463dd20b7
BLAKE2b-256 f66e1e8e9a586ee3e49c81c824c08e73cc0d5d52fc27cdfc239093ee58f9f20f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b8ad0b96fd8ea117361abdd1fa99c7f7d1556b1d9e5f77fe15bcc56f21480b2a
MD5 eacb1f94fb8551db84b699bac2d56bef
BLAKE2b-256 14f0f0f1872fe8776d10248038fedfd14db4f90277bc439957b7d0508519c33c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bb91ba42496afd365ebbb7a1f6271fd002fd1500146d8eff22f63659aee74b79
MD5 b38a378c93ee5cf3759450dff2b284a5
BLAKE2b-256 7ebb149e2d5c77864b7bb667a0df4a2297944d2d1727723038928053b5062659

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 46db7f9e9afcdeb7a686526e08d4d81ed308543dadfc47ada7de03ecd322109e
MD5 82c103e1ae3f65175c350be5f59b8550
BLAKE2b-256 feceb09c652b16127d736e644b01caf77aed211f1b5075e4a3b90cd402aab4ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f55dc3293ef378d70147c473e2ef9ee78a29015a41c6b3d0af821ad868b75adb
MD5 d0f3a6d4157bc4cfc2cd1f31f0f96998
BLAKE2b-256 467fad0c846f31032bae841b3faed039e7f8160946f082d01e5404b6ae9f2af9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c79f7849667c9ec3064958b329365d050206d776a498f7f6d52b0b7a9458db57
MD5 adfcee7ee7ae243eab62044a901ce3f8
BLAKE2b-256 59272f7559b3163852fd951a8ea5fcc730719687b781f5f36d92cfeae4f5573d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a48e5bebefedb3ad0b74918460cf356d71bad1c817ddfb20159ef4ef6a9324cb
MD5 4a356cc4d7c0262eee48089b30716d16
BLAKE2b-256 65722cc118fa307371254562d749dedcb02188f7927b1dea9fa3852c70e062ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simsopt-1.11.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d5df988ac33b2aaa98ab5587e6deafaa605f6e73ed7be78f04ae17511d177056
MD5 61d8e8082a6d9a5e5cdf1659b4974fb9
BLAKE2b-256 c79070b45309e74527da3d3097deb0da33dbf602c25df5857ee021cfa9f91338

See more details on using hashes here.

Release history Release notifications | RSS feed

1.11.1

17 files

This release

1.11.0 This release

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