ramannoodle.dynamics¶
Classes representing atomic motions, for example phonons and trajectories.
- class ramannoodle.dynamics.Phonons(ref_positions, wavenumbers, displacements)¶
Bases:
DynamicsHarmonic lattice vibrations.
A phonon can be represented by a wavenumber and corresponding atomic displacement. The wavenumbers are the eigenvalues of the system’s dynamical matrix, while the atomic displacements are the eigenvectors of the dynamical matrix divided by the square root of the atomic masses.
- Parameters:
- get_raman_spectrum(polarizability_model)¶
Calculate a raman spectrum using a polarizability model.
- Parameters:
polarizability_model (
PolarizabilityModel) – Must be compatible with phonons.- Return type:
- property displacements: ndarray[Any, dtype[float64]]¶
Get (a copy of) displacements.
- Returns:
(fractional) Array with shape (M,N,3) where M is the number of phonons and N is the number of atoms.
- class ramannoodle.dynamics.Trajectory(positions_ts, timestep)¶
Bases:
Dynamics,Sequence[ndarray[Any,dtype[float64]]]Molecular dynamics trajectory.
A trajectory is represented as a positions time series (
positions_ts) and a timestep.- Parameters:
- get_raman_spectrum(polarizability_model)¶
Calculate a raman spectrum using a polarizability model.
- Parameters:
polarizability_model (
PolarizabilityModel) – Must be compatible with the trajectory.- Return type: