Skip to main content

Calculate Raman spectra from first-principles calculations.

Project description


PyPI - Version python Tests Coverage Documentation Status 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 or 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.
  2. Install torch-scatter and 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. To use these interfaces, ramannoodle should be installed with the pymatgen options group:

$ pip install ramannoodle[pymatgen]

Tutorials and docs

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.

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
W. O’Leary, M. Grumet, W. Kaiser, T. Bučko, J.L.M. Rupp, D.A. Egger
Journal of the American Chemical Society (2024)
doi: 10.1021/jacs.4c07812

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

ramannoodle-0.5.0.tar.gz (46.9 kB view details)

Uploaded Source

Built Distribution

ramannoodle-0.5.0-py3-none-any.whl (61.6 kB view details)

Uploaded Python 3

File details

Details for the file ramannoodle-0.5.0.tar.gz.

File metadata

  • Download URL: ramannoodle-0.5.0.tar.gz
  • Upload date:
  • Size: 46.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ramannoodle-0.5.0.tar.gz
Algorithm Hash digest
SHA256 91e0b22e4e3e408e810fe95f8cfe9060339f1c6dbdafa831df37073cbfc40a66
MD5 8e4a35c64c0fae4b4351e2c5808998a8
BLAKE2b-256 4e617cf309272770dfceefeb45535ac74c4bf174f86d90ac2b75b40fccc8bfd4

See more details on using hashes here.

File details

Details for the file ramannoodle-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: ramannoodle-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 61.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ramannoodle-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 53a3243870721b3e44f7784baf6ff6d38b581a6246647d350309d9721c2e7f9f
MD5 452b0ebe178ab066a786fa0e24b832c9
BLAKE2b-256 bfc44574b70c524dba5fe40cb71591b71aeadf80b6783143b8ebadac1f28271e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page