Skip to main content

Python package for creating stellarator geometry

Project description

SBGeom

SBGeom is a package for creating parametric stellarator geometry from VMEC files and filament coils.

Current features:

  • Flux surfaces position including beyond the last closed flux surface
  • Constant $\phi$ radial extension from last closed flux surface
  • Discrete and fourier coils position and tangent
  • Meshing of surfaces inside the plasma
  • Meshing of surfaces outside the plasma by specifying a distance from the last closed flux surface
  • Fourier transforming surfaces outside the plasma using equal-arclength parametrisation and non-equidistant surfaces
  • Finite build coils using rotation-minimized frames
  • Fourier transforming discrete coil filaments using equal-arclength parametrisation
  • Meshing of watertight surfaces
  • Meshing of layered geometries using tetrahedrons

Documentation at the moment only available at https://s1668021.pages.tue.nl/sbgeom_v2/index.html (requires TU/e account).

Installation

Linux

Linux wheels are available on PyPi:

pip install sbgeom

For manual compilation, see below.

Windows and MacOS

No wheels are available. Compilation can be done by first cloning Eigen3 and setting the environment variable as :

git clone https://gitlab.com/libeigen/eigen.git
export EIGEN3_INCLUDE_DIR=$PWD/eigen/

Nanobind is used for binding generation:

pip install nanobind

Some C++20 features are used, so a compatible compiler is required. Then, install using

pip install .

TODO

This package was developed solely to satisfy the requirements I had at that time, and thus, some desirable features are not present. Some features that could be especially useful include:

  • Ports, divertors, intra-coil support structures
  • Automated DAGMC conversions

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

sbgeom-0.0.6.tar.gz (61.7 MB view details)

Uploaded Source

Built Distributions

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

sbgeom-0.0.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (346.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

sbgeom-0.0.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (346.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

sbgeom-0.0.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (345.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

sbgeom-0.0.6-cp312-cp312-musllinux_1_2_x86_64.whl (901.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

sbgeom-0.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

sbgeom-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl (902.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

sbgeom-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

sbgeom-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl (902.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

sbgeom-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

sbgeom-0.0.6-cp39-cp39-musllinux_1_2_x86_64.whl (902.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

sbgeom-0.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

sbgeom-0.0.6-cp38-cp38-musllinux_1_2_x86_64.whl (902.0 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

sbgeom-0.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file sbgeom-0.0.6.tar.gz.

File metadata

  • Download URL: sbgeom-0.0.6.tar.gz
  • Upload date:
  • Size: 61.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for sbgeom-0.0.6.tar.gz
Algorithm Hash digest
SHA256 4f1707fc50c8c6469d492d836686b0a0675cee06be0b505636c801a578b023ae
MD5 cde49f994d8ae157615083f547f88f08
BLAKE2b-256 e67264e8dd7c9b5a7b8c73ad74293753759cb810e68b596a066d2d5fe0abdc80

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8646bbc54c5c19225b57964f9d472163c5bc2197952c824cb58a0e04f3e55b12
MD5 4e1c69c415283ff9fbd5516417a51905
BLAKE2b-256 7c3df9b629fec0449132303a53b328bda28290ee22c6cb33c790e51072662808

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f1a6865eb8db23378576c69a7db1031e69246cf234cb9586a1a1e67c92bbc575
MD5 05d6ffd9010dbd58522ed3be447d2e6c
BLAKE2b-256 0e046ba16b5487acbe46a99be9e0e4e04715e7f93d35df1351f5dde555ba87f4

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d45786118fc1a5ec22bea50c73ec33f6d287a631db540086c3a91e23dd125def
MD5 01725ec6d20d7b4483a1e05ffa0484c1
BLAKE2b-256 d3648498d6d12e9a5a81cd03fa55cd84574ae6244cff6df19123df7d4576f86b

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 99074a2b2ca9affb4db8e0815ec4680acabe607a93273b7144584ada21266ad7
MD5 f5091108b1b1d7f3b52c3eaf09866b37
BLAKE2b-256 562e7e82671e2f9342b98756c5fc9af00defa4eb2b3e5c8241fb855c96f434c0

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b8ba879673fa8bfefd381d486177bea7cd7de2456ccac0180db77b00a900683
MD5 ac5f43fcec091892c75c8de1fcaa85e2
BLAKE2b-256 58a5e8c07a601dc21ebb5d5fe3d4da771126c0a884e6bbb96808adc1c04ada82

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2e0c70e24fa3d99d5918935e5a2d46633c5c687408e152975890b56dc86ac76e
MD5 65e0109688bd372dcffbcb15e784179f
BLAKE2b-256 0c277cd6c14c29073e90e97e41430787f7712f4b5fdb6ae86b40fa885e494cc7

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01954e45e09bf8d0db10fa7e2512e138eec3f8454ec921b1593a44115665f389
MD5 258435b305294fa89246defdf87afd57
BLAKE2b-256 65ad324165b160e9e7b1def82e4a96b4d89647e7bd98462c9c36aa2c068a6b4e

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5d376955a93afb7ca957c6810d05364fa7c0b117570ca680d483b61c94e32dc6
MD5 fb91f40951ec9da4599b9d3c83d1feba
BLAKE2b-256 32b12b8a0034b5a0a3b07b8971c5717df885078b1f9996149f4ff883a4ee3641

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b8dfe879d7bad7cdd448b3a3fc6d5db67c73ed2cb1ef4e747007962ac4d0257
MD5 1d75374c4cadebb42e1ce7bab1f281d3
BLAKE2b-256 3e2482ca90d8b9ff7f6498f7275501dfe927cf900f9f58c4e9b22112c6ea16e1

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0d4946ffb2b51ac9ca1361ddff254252917055db4210f735d589c8b98b87d5e8
MD5 f430d88c495c85975c4be113d1761067
BLAKE2b-256 f143d27ad18ab0cff1a1b5c610b4a7dd42810c2c7b1b2d21f9b073db9e3690b6

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 14c1e44670ca3244962bf37a84eb1dfc98b339c057d5afed5daf8e85c7fb6aed
MD5 c8d51522ba890cfcf4aff6e528e72277
BLAKE2b-256 ecb4f4aaa1ca14fa2c8d8a9e069c4736704c78cc93d9a82921f7ffcb28501897

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 50d3fb7dbb166ba7dd3bf5b8637f865e7a78c143924d6dc72f778e3265410125
MD5 218e4f866a2b052e50ea60e6b70e9041
BLAKE2b-256 3981f147d13a2c10d86fe5ac5b76c6a6855ccc4a379942be91e8798e7883acc9

See more details on using hashes here.

File details

Details for the file sbgeom-0.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sbgeom-0.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 808a7c323d5d05492a90515cfd34aa87a97718b63353f9cbc8f5c1ef35453f86
MD5 542a3b5649c7a3eaaa445b3e1559bf2b
BLAKE2b-256 891b0e3bfc10e5bd733f051dfd7973cba9d4e0317adeb924463d9e1aebdf3975

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