vibrav.vroa.vroa module

class vibrav.vroa.vroa.VROA(config_file, *args, **kwargs)[source]

Bases: object

Main class to run vibrational Raman optical activity calculations.

Required arguments

Argument

Description

Data Type

number_of_nuclei

Number of nuclei in the system.

int

number_of_modes

Number of normal modes in the molecule.

int

incident_frequency

The incident frequency used in the calculation. This should have the same number of elements as the unique labels in the exc_idx column. Expected to be in units of nanometer.

list of float

Default arguments

Argument

Description

Default Value

roa_file

Filepath of the ROA data from the quantum chemistry calculation.

roa.csv

grad_file

Filepath of the gradient data from the quantum chemistry calculation.

grad.csv

Other default arguments are taken care of with the vibrav.core.config.Config class.

static make_complex(df)[source]

Transform the electric dipole-quadrupole polarizability tensor to complex valued.

Parameters:

df (pandas.DataFrame) – Data frame with the three cartesian directions of the electric dipole-quadrupole polarizability tensor.

Returns:

new_df (pandas.DataFrame)

Data frame with the complex

valued tensor.

static raman_int_units(lambda_0, lambda_p, temp=None)[source]

Function to calculate the K_p value as given in equation 2 on J. Chem. Phys. 2007, 127, 134101. We assume the temperature to be 298.15 as a hard coded value. Must get rid of this in future iterations. The final units of the equation are in cm^2/sr which are said to be the units for the Raman intensities.

Note

Input values lambda_0 and lambda_p must be in the units of m \(^{-1}\).

Parameters:
  • lambda_0 (float) – Wavenumber value of the incident light

  • lambda_1 (numpy.array) – Wavenumber values of the vibrational modes

  • temp (float) – Value of the temperature of the experiment

Returns:

kp (numpy.array)

Array with the values of the conversion units of

length lambda_1.shape[0]

vroa(atomic_units=True, temp=None, assume_real=False, print_stdout=False)[source]

VROA method to calculate the VROA back/forwardscatter intensities from the equations given in paper J. Phys. Chem. A 2016, 120, 9740-9748 DOI: 10.1021/acs.jpca.6b09975

Note

The final units of this method is in \(\unicode{xC5}^{4} / amu\). When using atomic_units=False the output values are in \(cm^2 / sr\).

Parameters:
  • atomic_units (bool, optional) – Calculate the intensities in atomic units. Defaults to True.

  • temp (float, optional) – Calculate the boltzmann factors with the specified temperature. Defaults to None which is then converted to 298 K.

  • assume_real (bool, optional) – Assume that the ROA data is not complex valued. The equations will ignore the imaginary contributions. Only recommended for testing purposes. Defaults to False.

  • print_stdout (bool, optional) – Print the progress of the script to stdout. Defaults to False.