ramannoodle¶
Facilitates calculation of Raman spectra from first principles calculations.
Subpackages¶
- ramannoodle.dataset
- ramannoodle.dynamics
- ramannoodle.io
- ramannoodle.pmodel
ARTModelInterpolationModelInterpolationModel.add_dof()InterpolationModel.add_dof_from_files()InterpolationModel.add_dof_from_pymatgen()InterpolationModel.calc_polarizabilities()InterpolationModel.get_masked_model()InterpolationModel.unmask()InterpolationModel.cart_basis_vectorsInterpolationModel.interpolationsInterpolationModel.is_dummy_modelInterpolationModel.maskInterpolationModel.ref_polarizabilityInterpolationModel.ref_structure
- Subpackages
- ramannoodle.spectrum
- ramannoodle.structure
ReferenceStructureReferenceStructure.get_atom_indexes()ReferenceStructure.get_cart_direction()ReferenceStructure.get_cart_displacement()ReferenceStructure.get_equivalent_atom_dict()ReferenceStructure.get_equivalent_displacements()ReferenceStructure.get_frac_direction()ReferenceStructure.get_frac_displacement()ReferenceStructure.atomic_numbersReferenceStructure.latticeReferenceStructure.num_atomsReferenceStructure.num_nonequivalent_atomsReferenceStructure.positions
get_ast_displaced_positions()get_displaced_positions()write_ast_displaced_structures()write_displaced_structures()- Submodules
- ramannoodle.structure.utils module
Submodules¶
ramannoodle.abstract module¶
Abstract classes.
- class ramannoodle.abstract.Dynamics¶
Bases:
ABCAbstract class for atomic dynamics.
- abstract get_raman_spectrum(polarizability_model)¶
Calculate a raman spectrum using a polarizability model.
- Parameters:
polarizability_model (
PolarizabilityModel) – Must be compatible with the dynamics.- Return type:
- class ramannoodle.abstract.PolarizabilityModel¶
Bases:
ABCAbstract polarizability model.
- abstract calc_polarizabilities(positions_batch)¶
Return estimated polarizabilities for a batch of fractional positions.
- class ramannoodle.abstract.RamanSpectrum¶
Bases:
ABCAbstract class for Raman spectra.
- abstract measure(orientation='polycrystalline', laser_correction=False, laser_wavelength=522, bose_einstein_correction=False, temperature=300)¶
Calculate and return a raw Raman spectrum.
- Parameters:
orientation (
str|ndarray[Any,dtype[float64]]) – Supports"polycrystalline". Future versions will support arbitrary orientations.laser_correction (
bool) – IfTrue, applies laser-wavelength-dependent intensity correction.laser_wavelength (
float) – (nm) Ignored iflaser_correction == False.bose_einstein_correction (
bool) – IfTrue, applies temperature-dependent Bose Einstein correction.temperature (
float) –Ignored if
bose_einstein_correction == False.
- Return type:
tuple[ndarray[Any,dtype[float64]],ndarray[Any,dtype[float64]]]- Returns:
wavenumbers – (cm-1) Array with shape (M,).
intensities – (arbitrary units) Array with shape (M,).
ramannoodle.constants module¶
Useful globals.
ramannoodle.exceptions module¶
Exceptions, warnings, and related functions.
- exception ramannoodle.exceptions.DOFWarning¶
Bases:
UserWarningA degree of freedom may not have been specified as intended.
- exception ramannoodle.exceptions.IncompatibleStructureException¶
Bases:
ExceptionFile contains structure that is incompatible with the current operation.
- exception ramannoodle.exceptions.InvalidDOFException¶
Bases:
ExceptionA supplied degree of freedom is invalid.
- exception ramannoodle.exceptions.InvalidFileException¶
Bases:
ExceptionFile cannot not be read, likely due to due to invalid or unexpected format.
- exception ramannoodle.exceptions.NoMatchingLineFoundException¶
Bases:
ExceptionNo matching line can be found in file.
- exception ramannoodle.exceptions.UserError¶
Bases:
ExceptionThe user has done something they shouldn’t.
This exception is used sparingly, as (ideally) the structure of the API should dictate what the user should and shouldn’t do.
- ramannoodle.exceptions.get_pymatgen_missing_error()¶
Get error indicating that pymatgen is not installed.
- Return type: