SpinWaveToolkit


NameSpinWaveToolkit JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummarySet of tools useful in spin wave research.
upload_time2025-08-07 10:50:58
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords magnetism physics analytical magnonic spin-wave
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SpinWaveToolkit

> [!WARNING]
> This module needs some updating, which is currently WIP. If you are a contributor, see [CONTRIBUTING GUIDELINES](CONTRIBUTING.md).

## Installation

> [!NOTE]
> Installation with `pip` from PyPI is currently a WIP. We hope it will be available soon.

Currently you can either 
1. install from GitHub via `pip` by typing in the command line
```
py -m pip install https://github.com/CEITECmagnonics/SpinWaveToolkit/tarball/master --user
```
2. or copy the [SpinWaveToolkit][SWTpy] folder to your `site-packages` folder manually. Usually (on Windows machines) located at
```
C:\Users\<user>\AppData\Roaming\Python\Python<python-version>\site-packages
```
for user-installed modules, or at 
```
C:\<python-installation-folder>\Python<python-version>\Lib\site-packages
```
for global modules.

## Dependencies

> [!WARNING]
> This section lacks proof and was not much checked.

The SpinWaveToolkit module is compatible with Python >3.7, and uses the following modules:
- [numpy] >1.20,<2.0
- [scipy] >1.8

## About
This module provides analytical tools in spin-wave physics.

### Classes
`SingleLayer` - Compute spin-wave characteristics in dependance to k-vector for a single layer using an analytical model of Kalinikos and Slavin.

`SingleLayerNumeric` - Compute spin-wave characteristics in dependance to k-vector for a single layer using a numerical approach by Tacchi.

`DoubleLayerNumeric` - Compute spin-wave characteristics in dependance to k-vector for a double layer using a numerical model of Gallardo.

`Material` - Class for magnetic materials used in spin wave research.
    
### Constants
`MU0` - Magnetic permeability of free space.

`NiFe` - Predefined material NiFe (permalloy).

`CoFeB` - Predefined material CoFeB.

`FeNi` - Predefined material FeNi (metastable iron).

`YIG` - Predefined material YIG.
    
### Functions
`wavenumber2wavelength` - Convert wavenumber to wavelength.

`wavelength2wavenumber` - Convert wavelength to wavenumber.

`wrapAngle` - Wrap angle in radians to range `[0, 2*np.pi)`.

`rootsearch` - Search for a root of a continuous function within an interval `[a, b]`.

`bisect` - Simple bisection method of root finding.

`roots` - Find all roots of a continuous function `f(x, *args)` within a given interval `[a, b]`.

### Example
Example of calculation of the dispersion relation `f(k_xi)`, and other important quantities, for the lowest-order mode in a 30 nm thick NiFe (Permalloy) layer.
```Python
import numpy as np
import SpinWaveToolkit as SWT

kxi = np.linspace(1e-6, 150e6, 150)

PyChar = SWT.SingleLayer(Bext=20e-3, kxi=kxi, theta=np.pi/2,
                         phi=np.pi/2, d=30e-9, weff=2e-6,
                         boundary_cond=2, material=SWT.NiFe)
DispPy = PyChar.GetDispersion()*1e-9/(2*np.pi)  # GHz
vgPy = PyChar.GetGroupVelocity()*1e-3  # km/s
lifetimePy = PyChar.GetLifetime()*1e9  # ns
decLen = PyChar.GetDecLen()*1e6  # um
```


[SWTpy]:SpinWaveToolkit
[numpy]:https://numpy.org/
[scipy]:https://scipy.org/


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "SpinWaveToolkit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "Ond\u0159ej Wojewoda <ondrej.wojewoda@ceitec.vutbr.cz>, Jan Kl\u00edma <jan.klima4@vutbr.cz>, Dominik Pavelka <dominik.pavelka@vutbr.cz>, Michal Urb\u00e1nek <michal.urbanek@ceitec.vutbr.cz>",
    "keywords": "magnetism, physics, analytical, magnonic, spin-wave",
    "author": null,
    "author_email": "Ond\u0159ej Wojewoda <ondrej.wojewoda@ceitec.vutbr.cz>",
    "download_url": "https://files.pythonhosted.org/packages/98/80/096e9157006b922af292d147fb3e603b9b6c0cecfe85df66869459aba9a6/spinwavetoolkit-1.0.0.tar.gz",
    "platform": null,
    "description": "# SpinWaveToolkit\r\n\r\n> [!WARNING]\r\n> This module needs some updating, which is currently WIP. If you are a contributor, see [CONTRIBUTING GUIDELINES](CONTRIBUTING.md).\r\n\r\n## Installation\r\n\r\n> [!NOTE]\r\n> Installation with `pip` from PyPI is currently a WIP. We hope it will be available soon.\r\n\r\nCurrently you can either \r\n1. install from GitHub via `pip` by typing in the command line\r\n```\r\npy -m pip install https://github.com/CEITECmagnonics/SpinWaveToolkit/tarball/master --user\r\n```\r\n2. or copy the [SpinWaveToolkit][SWTpy] folder to your `site-packages` folder manually. Usually (on Windows machines) located at\r\n```\r\nC:\\Users\\<user>\\AppData\\Roaming\\Python\\Python<python-version>\\site-packages\r\n```\r\nfor user-installed modules, or at \r\n```\r\nC:\\<python-installation-folder>\\Python<python-version>\\Lib\\site-packages\r\n```\r\nfor global modules.\r\n\r\n## Dependencies\r\n\r\n> [!WARNING]\r\n> This section lacks proof and was not much checked.\r\n\r\nThe SpinWaveToolkit module is compatible with Python >3.7, and uses the following modules:\r\n- [numpy] >1.20,<2.0\r\n- [scipy] >1.8\r\n\r\n## About\r\nThis module provides analytical tools in spin-wave physics.\r\n\r\n### Classes\r\n`SingleLayer` - Compute spin-wave characteristics in dependance to k-vector for a single layer using an analytical model of Kalinikos and Slavin.\r\n\r\n`SingleLayerNumeric` - Compute spin-wave characteristics in dependance to k-vector for a single layer using a numerical approach by Tacchi.\r\n\r\n`DoubleLayerNumeric` - Compute spin-wave characteristics in dependance to k-vector for a double layer using a numerical model of Gallardo.\r\n\r\n`Material` - Class for magnetic materials used in spin wave research.\r\n    \r\n### Constants\r\n`MU0` - Magnetic permeability of free space.\r\n\r\n`NiFe` - Predefined material NiFe (permalloy).\r\n\r\n`CoFeB` - Predefined material CoFeB.\r\n\r\n`FeNi` - Predefined material FeNi (metastable iron).\r\n\r\n`YIG` - Predefined material YIG.\r\n    \r\n### Functions\r\n`wavenumber2wavelength` - Convert wavenumber to wavelength.\r\n\r\n`wavelength2wavenumber` - Convert wavelength to wavenumber.\r\n\r\n`wrapAngle` - Wrap angle in radians to range `[0, 2*np.pi)`.\r\n\r\n`rootsearch` - Search for a root of a continuous function within an interval `[a, b]`.\r\n\r\n`bisect` - Simple bisection method of root finding.\r\n\r\n`roots` - Find all roots of a continuous function `f(x, *args)` within a given interval `[a, b]`.\r\n\r\n### Example\r\nExample of calculation of the dispersion relation `f(k_xi)`, and other important quantities, for the lowest-order mode in a 30 nm thick NiFe (Permalloy) layer.\r\n```Python\r\nimport numpy as np\r\nimport SpinWaveToolkit as SWT\r\n\r\nkxi = np.linspace(1e-6, 150e6, 150)\r\n\r\nPyChar = SWT.SingleLayer(Bext=20e-3, kxi=kxi, theta=np.pi/2,\r\n                         phi=np.pi/2, d=30e-9, weff=2e-6,\r\n                         boundary_cond=2, material=SWT.NiFe)\r\nDispPy = PyChar.GetDispersion()*1e-9/(2*np.pi)  # GHz\r\nvgPy = PyChar.GetGroupVelocity()*1e-3  # km/s\r\nlifetimePy = PyChar.GetLifetime()*1e9  # ns\r\ndecLen = PyChar.GetDecLen()*1e6  # um\r\n```\r\n\r\n\r\n[SWTpy]:SpinWaveToolkit\r\n[numpy]:https://numpy.org/\r\n[scipy]:https://scipy.org/\r\n\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Set of tools useful in spin wave research.",
    "version": "1.0.0",
    "project_urls": {
        "Bug Reports": "https://github.com/CEITECmagnonics/SpinWaveToolkit/issues",
        "Forum": "https://github.com/CEITECmagnonics/SpinWaveToolkit/discussions",
        "Homepage": "https://github.com/CEITECmagnonics/SpinWaveToolkit"
    },
    "split_keywords": [
        "magnetism",
        " physics",
        " analytical",
        " magnonic",
        " spin-wave"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c2d43cca13623416407fbbd2778ba2f0c96a3dfdcb16794814c736877d3163bd",
                "md5": "45f0bfca8fd076736ab41d0c7c2c8357",
                "sha256": "ef5c6a7099f98e4c549d725bfec066e49068603354f5b878122fc958088e953e"
            },
            "downloads": -1,
            "filename": "spinwavetoolkit-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "45f0bfca8fd076736ab41d0c7c2c8357",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 24589,
            "upload_time": "2025-08-07T10:50:55",
            "upload_time_iso_8601": "2025-08-07T10:50:55.604183Z",
            "url": "https://files.pythonhosted.org/packages/c2/d4/3cca13623416407fbbd2778ba2f0c96a3dfdcb16794814c736877d3163bd/spinwavetoolkit-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9880096e9157006b922af292d147fb3e603b9b6c0cecfe85df66869459aba9a6",
                "md5": "9659e7a0b178705d208f7e85dd0c8170",
                "sha256": "25993beb2c99d1663e1b7d8e5386599330fa93b44cae26404e553ae471d497a1"
            },
            "downloads": -1,
            "filename": "spinwavetoolkit-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9659e7a0b178705d208f7e85dd0c8170",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 22096,
            "upload_time": "2025-08-07T10:50:58",
            "upload_time_iso_8601": "2025-08-07T10:50:58.654480Z",
            "url": "https://files.pythonhosted.org/packages/98/80/096e9157006b922af292d147fb3e603b9b6c0cecfe85df66869459aba9a6/spinwavetoolkit-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-07 10:50:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "CEITECmagnonics",
    "github_project": "SpinWaveToolkit",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "spinwavetoolkit"
}
        
Elapsed time: 1.85743s