<div align="center">
<img width="200" src="docs/source/_static/logo_dark.png#gh-dark-mode-only">
<img width="200" src="docs/source/_static/logo.png#gh-light-mode-only">
</div>
-------
 [](https://www.python.org)   [](https://ramannoodle.readthedocs.io/en/latest/?badge=latest) [](https://opensource.org/license/mit)
## About
**Ramannoodle** is a Python API for efficiently calculating Raman spectra from first principles calculations. Ramannoodle supports molecular-dynamics- and phonon-based Raman calculations. It includes interfaces with VASP but can easily be used with other codes using IO from external libraries, such as [pymatgen](https://pymatgen.org/) or [ase](https://wiki.fysik.dtu.dk/ase/).
Ramannoodle aims to be:
1. **EFFICIENT**
Ramannoodle provides `PolarizabilityModel`'s to reduce the required number of first-principles polarizability calculations.
2. **FLEXIBLE**
Ramannoodle provides a simple, object-oriented API that makes calculations a breeze while offering plenty of flexibility to carry out advanced analyses and add new functionality.
3. **TRANSPARENT**
Ramannoodle is designed to give the user a good understanding of what is being calculated at varying levels of abstraction.
## Installation
The base version of ramannoodle can be installed with pip:
```
$ pip install ramannoodle
```
Ramannoodle's machine learning modules are implemented with PyTorch. To use these modules:
1. Install [PyTorch](https://pytorch.org/get-started/locally/).
2. Install [torch-scatter](https://pypi.org/project/torch-scatter/) and [torch-sparse](https://pypi.org/project/torch-sparse/) corresponding to the PyTorch version/implementation.
3. Install ramannoodle using the `torch` options group.
For example, installation on a Linux system using PyTorch 2.4.1 (cpu implementation) is done as follows:
```
$ pip install torch==2.4.1+cpu --index-url https://download.pytorch.org/whl/cpu
$ pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-2.4.0+cpu.html
$ pip install ramannoodle[torch]
```
Ramannoodle includes interfaces with [pymatgen](https://pymatgen.org/). To use these interfaces, ramannoodle should be installed with the `pymatgen` options group:
```
$ pip install ramannoodle[pymatgen]
```
## Tutorials and docs
[https://ramannoodle.readthedocs.io/](https://ramannoodle.readthedocs.io/)
## Contributing
Contributions in the form of bug reports, feature suggestions, and pull requests are always welcome! Those contributing code should check out the [dev guide](https://ramannoodle.readthedocs.io/en/latest/development.html).
## Citing
To acknowledge use of ramannoodle, please cite
>> **Rapid Characterization of Point Defects in Solid-State Ion Conductors Using Raman Spectroscopy, Machine-Learning Force Fields, and Atomic Raman Tensors** <br>
W. O’Leary, M. Grumet, W. Kaiser, T. Bučko, J.L.M. Rupp, D.A. Egger <br>
Journal of the American Chemical Society (2024) <br>
doi: [10.1021/jacs.4c07812](https://pubs.acs.org/doi/10.1021/jacs.4c07812)
Raw data
{
"_id": null,
"home_page": null,
"name": "ramannoodle",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "raman, spectrum, vasp, dft, phonons, molecular, dynamics, polarizability",
"author": null,
"author_email": "Willis O'Leary <wolearyc@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/4e/61/7cf309272770dfceefeb45535ac74c4bf174f86d90ac2b75b40fccc8bfd4/ramannoodle-0.5.0.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <img width=\"200\" src=\"docs/source/_static/logo_dark.png#gh-dark-mode-only\">\n <img width=\"200\" src=\"docs/source/_static/logo.png#gh-light-mode-only\">\n</div>\n\n-------\n [](https://www.python.org)   [](https://ramannoodle.readthedocs.io/en/latest/?badge=latest) [](https://opensource.org/license/mit)\n\n## About\n\n**Ramannoodle** is a Python API for efficiently calculating Raman spectra from first principles calculations. Ramannoodle supports molecular-dynamics- and phonon-based Raman calculations. It includes interfaces with VASP but can easily be used with other codes using IO from external libraries, such as [pymatgen](https://pymatgen.org/) or [ase](https://wiki.fysik.dtu.dk/ase/).\n\nRamannoodle aims to be:\n\n1. **EFFICIENT**\n\n Ramannoodle provides `PolarizabilityModel`'s to reduce the required number of first-principles polarizability calculations.\n\n2. **FLEXIBLE**\n\n Ramannoodle provides a simple, object-oriented API that makes calculations a breeze while offering plenty of flexibility to carry out advanced analyses and add new functionality.\n\n3. **TRANSPARENT**\n\n Ramannoodle is designed to give the user a good understanding of what is being calculated at varying levels of abstraction.\n\n## Installation\n\nThe base version of ramannoodle can be installed with pip:\n\n```\n$ pip install ramannoodle\n```\n\nRamannoodle's machine learning modules are implemented with PyTorch. To use these modules:\n1. Install [PyTorch](https://pytorch.org/get-started/locally/).\n2. Install [torch-scatter](https://pypi.org/project/torch-scatter/) and [torch-sparse](https://pypi.org/project/torch-sparse/) corresponding to the PyTorch version/implementation.\n3. Install ramannoodle using the `torch` options group.\n\nFor example, installation on a Linux system using PyTorch 2.4.1 (cpu implementation) is done as follows:\n\n```\n$ pip install torch==2.4.1+cpu --index-url https://download.pytorch.org/whl/cpu\n$ pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-2.4.0+cpu.html\n$ pip install ramannoodle[torch]\n```\n\nRamannoodle includes interfaces with [pymatgen](https://pymatgen.org/). To use these interfaces, ramannoodle should be installed with the `pymatgen` options group:\n\n```\n$ pip install ramannoodle[pymatgen]\n```\n\n## Tutorials and docs\n\n[https://ramannoodle.readthedocs.io/](https://ramannoodle.readthedocs.io/)\n\n## Contributing\n\nContributions in the form of bug reports, feature suggestions, and pull requests are always welcome! Those contributing code should check out the [dev guide](https://ramannoodle.readthedocs.io/en/latest/development.html).\n\n## Citing\n\nTo acknowledge use of ramannoodle, please cite\n\n>> **Rapid Characterization of Point Defects in Solid-State Ion Conductors Using Raman Spectroscopy, Machine-Learning Force Fields, and Atomic Raman Tensors** <br>\n W. O\u2019Leary, M. Grumet, W. Kaiser, T. Bu\u010dko, J.L.M. Rupp, D.A. Egger <br>\n Journal of the American Chemical Society (2024) <br>\n doi: [10.1021/jacs.4c07812](https://pubs.acs.org/doi/10.1021/jacs.4c07812)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Calculate Raman spectra from first-principles calculations.",
"version": "0.5.0",
"project_urls": {
"Documentation": "https://ramannoodle.readthedocs.io/en/latest/",
"Issues": "https://github.com/wolearyc/ramannoodle/issues",
"Repository": "https://github.com/wolearyc/ramannoodle"
},
"split_keywords": [
"raman",
" spectrum",
" vasp",
" dft",
" phonons",
" molecular",
" dynamics",
" polarizability"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bfc44574b70c524dba5fe40cb71591b71aeadf80b6783143b8ebadac1f28271e",
"md5": "452b0ebe178ab066a786fa0e24b832c9",
"sha256": "53a3243870721b3e44f7784baf6ff6d38b581a6246647d350309d9721c2e7f9f"
},
"downloads": -1,
"filename": "ramannoodle-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "452b0ebe178ab066a786fa0e24b832c9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 61635,
"upload_time": "2024-10-04T01:11:58",
"upload_time_iso_8601": "2024-10-04T01:11:58.950437Z",
"url": "https://files.pythonhosted.org/packages/bf/c4/4574b70c524dba5fe40cb71591b71aeadf80b6783143b8ebadac1f28271e/ramannoodle-0.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4e617cf309272770dfceefeb45535ac74c4bf174f86d90ac2b75b40fccc8bfd4",
"md5": "8e4a35c64c0fae4b4351e2c5808998a8",
"sha256": "91e0b22e4e3e408e810fe95f8cfe9060339f1c6dbdafa831df37073cbfc40a66"
},
"downloads": -1,
"filename": "ramannoodle-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "8e4a35c64c0fae4b4351e2c5808998a8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 46884,
"upload_time": "2024-10-04T01:12:00",
"upload_time_iso_8601": "2024-10-04T01:12:00.071082Z",
"url": "https://files.pythonhosted.org/packages/4e/61/7cf309272770dfceefeb45535ac74c4bf174f86d90ac2b75b40fccc8bfd4/ramannoodle-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-04 01:12:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wolearyc",
"github_project": "ramannoodle",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ramannoodle"
}