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:
-
EFFICIENT
Ramannoodle provides
PolarizabilityModel
's to reduce the required number of first-principles polarizability calculations. -
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.
-
TRANSPARENT
Ramannoodle is designed to give the user a good understanding of what is being calculated at varying levels of abstraction.
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:
- Install PyTorch.
- Install torch-scatter and torch-sparse corresponding to the PyTorch version/implementation.
- 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]
https://ramannoodle.readthedocs.io/
Contributions in the form of bug reports, feature suggestions, and pull requests are always welcome! Those contributing code should check out the dev guide.
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