Repository files navigation

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, raysectnumpy 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.

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

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, raysectnumpy 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.

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

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, raysectnumpy 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.

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

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, raysectnumpy 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.

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

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, raysectnumpy 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.

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

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, raysectnumpy 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.

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

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, raysectnumpy 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.

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

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, raysectnumpy 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.

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages