Skip to main content

Cherab SOLPS

Cherab add-on module for SOLPS simulations.

This module enables the creation of Cherab plasma objects from SOLPS simulations. Several SOLPS output formats are supported. Please see the examples in the demos directory for an illustration of how to use the module.

Installation

It is recommended to install Cherab in a virtual environment. This will enable installation of packages without modifying the system Python installation, which is particularly important on shared systems. To create a virtual environment, do the following:

python3 -m venv ~/venvs/cherab-venv

After the virtual environment is created, it can be activated by running:

source ~/venvs/cherab-venv/bin/activate

Once activated, cherab-solps and its dependencies can be installed with:

pip install cherab-solps

Building from source

Users

This module depends on the core Cherab framework. Cherab core, and all of its dependencies, are available on PyPI and can be installed using pip.

Recent versions of pip which support PEP 518 will handle this automatically when you run pip install cherab-solps and a binary wheel is not available for your platform or Python version.

For older versions of pip you may need to manually install the build-time dependencies. First, clone this repository, then do:

pip install -r <path-to-cherab-solps>/requirements.txt
pip install <path-to-cherab-solps>

This will pull in cherab-core, raysect numpy and other dependencies, then build and install the SOLPS module.

Developers

Development should be done against the development branch of this repository, and any modifications submitted as pull requests to be merged back into development.

To install the package in editable mode, so that local changes are immediately visible without needing to reinstall, install the project dependencies into your development environment. You should also enable auto rebuilds. From the cherab-solps directory, run:

pip install -r requirements.txt
pip install --no-build-isolation --config-settings=editable.rebuild=true -e .

If you are modifying Cython files these will then be automatically rebuilt and the modified versions used when Python is restarted.

Pure Python files will be automatically included in the distribution as long as they have been added to Git, but if you add any Cython files you will need to add (or modify) a CMakeLists.txt file in the same directory as the new files to ensure these modules are built and included in the distribution. See the existing CMakeLists.txt files for examples of how to do this. Also note that when adding new Cython files you will need to re-run the above pip install command to ensure these new modules will be available in the editable install.

Profiling

It is possible to turn on profiling and line tracing support in the Cython extensions, which may be useful for performance optimisation. These features do incur a performance overhead so they are disabled by default.

To enable function-level profiling after installing the project in editable mode (see above), reinstall it with the following pip command:

pip install --no-build-isolation --config-settings=editable.rebuild=true --config-settings=cmake.define.profile=ON -e <path-to-cherab-solps>

To enable line-by-line profiling, use:

pip install --no-build-isolation --config-settings=editable.rebuild=true --config-settings=cmake.define.line-profile=ON -e <path-to-cherab-solps>

Important: the profile and line-profile settings will persist across subsequent (manual or automatic) rebuilds until they are turned off by running pip install with the corresponding definition set to OFF.

Metadata

Release files for cherab-solps 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cherab-solps 1.3.0
File Size Uploaded
cherab_solps-1.3.0.tar.gz 5.6 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for cherab-solps 1.3.0
File
cherab_solps-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
cherab_solps-1.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
cherab_solps-1.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
cherab_solps-1.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.12+ x86-64, Linux glibc 2.5+ x86-64 Details
cherab_solps-1.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-64, Linux glibc 2.12+ x86-64 Details
cherab_solps-1.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64, Linux glibc 2.5+ x86-64 Details

Total release size: 41.2 MB

Release files / cherab_solps-1.3.0.tar.gz

Download URL cherab_solps-1.3.0.tar.gz
Size 5.6 MB
Tags Source
SHA-256 checksum
How to use checksums
32b211abf915087c9bab254e94bb81a75dcff5fe2fbd2f3dda2dcc003c4c0e3a
BLAKE2b-256 checksum
How to use checksums
5de07ee88d9028ff1665fa8b06bd947c02231e8e2ca047dc438d553458cde272
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

Release files / cherab_solps-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL cherab_solps-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 5.9 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e962edeede47037f0715357b83f465d2053fec8b9200c38f66ecc2365cc36c37
BLAKE2b-256 checksum
How to use checksums
a40b69bc8fa6a464f52f02576a23e10d40e37940aa76e285d99f81426185b596
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

Release files / cherab_solps-1.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL cherab_solps-1.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 5.9 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
72d2149fb5ced989b5e6cc26713fa03e9e9a08dcaa9e9689170789ee695dd6b2
BLAKE2b-256 checksum
How to use checksums
0c467a14fd4b29ddb812ccd447139a35877051b129f937414365ba460e199f6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

Release files / cherab_solps-1.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL cherab_solps-1.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 5.9 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
544d72b79942affa884fe7e38e7d00bd19ded74675cc0ce205e61fe18fa5a416
BLAKE2b-256 checksum
How to use checksums
e4fd93203e0541ee77c5d8eab606248013335342ba9ec0bb2ed9c240c6016018
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

Release files / cherab_solps-1.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL cherab_solps-1.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 5.9 MB
Tags CPython 3.9 Linux glibc 2.12+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
be86292f854af12b42ca0f2f094836fa044114c5637a589fd7e37971ed770793
BLAKE2b-256 checksum
How to use checksums
4e4666f89789061354de74c20f3aa9da8785b15a98a0153bd8d80f1365b6f2b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

Release files / cherab_solps-1.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL cherab_solps-1.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 5.9 MB
Tags CPython 3.8 Linux glibc 2.12+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
c6371856fc1e00e9cd1da046db745ce18e1ad50f3087b7ad0799345e10219c7b
BLAKE2b-256 checksum
How to use checksums
028d299074a976f396bb3e1db620f38d70bfc33be9cc462078bd2a8a370c6693
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

Release files / cherab_solps-1.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl

Download URL cherab_solps-1.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Size 5.9 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
11150e5949ad95cc11a2c464bb6447721a1b17f6c23f623601cebeda421ae5ae
BLAKE2b-256 checksum
How to use checksums
8f26aa58f796c09604cce73b91a75e781ba56445d83f2fb239d0cbe8d6390861
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1
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