Quantum Mechanics

haot.wavenumber_to_electronvolt(wavenumber_cm)[source]

Convert wavenumber [cm^-1] to energy in Joules [J].

haot.wavenumber_to_joules(wavenumber_cm)[source]

Convert wavenumber [cm^-1] to energy in electron volts [eV].

haot.molar_mass_to_kilogram(molar_mass_gmol)[source]

Convert molar mass [g/mol] to mass [kg].

haot.zero_point_energy(molecule)[source]

Calculates zero-point energy (ZPE) using spectroscopy constants for diatomic molecules

Parameters:

molecule (string) – NO+, N2+, O2+, NO, N2, O2

Reference:

Experimental Vibrational Zero-Point Energies: Diatomic Molecules doi.org/10.1063/1.2436891

Returns:

zero point energy [cm^-1]

Return type:

zpe (float)

haot.vibrational_partition_function(vibrational_number, temperature_K, molecule)[source]

Calculates the vibrational partition function base in the harmonic terms only for diatomic molecules.

Parameters:
  • vibrational_number (int) – vibrational quantum number

  • temperature_K (float)

  • molecule (string) – NO+, N2+, O2+, NO, N2, O2

Returns:

vibrational partition function

Return type:

z_vib (float)

haot.rotational_partition_function(rotational_number, temperature_K, molecule)[source]

Calculates the rotational partition function base in the harmonic terms only for diatomic molecules.

Parameters:
  • rotational_number (int) – rotational quantum number

  • temperature_K (float)

  • molecule (string) – NO+, N2+, O2+, NO, N2, O2

Returns:

rotational partition function

Return type:

z_rot (float)

haot.born_oppenheimer_partition_function(vibrational_number, rotational_number, temperature_K, molecule)[source]

Calculates the partition function using the Born-Oppenheimer approximation

haot.potential_dunham_coef_012(molecule)[source]

Calculates the 0th, 1st, and 2nd Dunham potential coefficients. Using: Ogilvie (https://doi.org/10.1016/0022-2852(76)90323-4) and Herschbach (https://doi.org/10.1063/1.1731952).

haot.potential_dunham_coeff_m(a_1, a_2, m)[source]

Calculates the higher order Dunham potential coefficients, using Morizadeh work (https://doi.org/10.1016/j.theochem.2003.12.003).

haot.boltzman_factor(temperature_K, molecule, vibrational_number=None, rotational_number=None, born_opp_flag=False)[source]

Calculates the Boltzman factor at a given vibrational_number and/or rotational_number. If the born_opp_flag is provided, it will calculate the total energy using the Born-Oppenheimer approximation

haot.distribution_function(temperature_K, molecule, vibrational_number=None, rotational_number=None, born_opp_flag=False)[source]

Compute the population distribution function.

haot.born_oppenheimer_approximation(vibrational_number, rotational_number, molecule)[source]

Calculates the energy at a rotational and vibrational quantum number, using the Born-Oppenheimer approximation.

haot.vibrational_energy_k(vibrational_number, molecule)[source]

Calculates the vibrational energy at a given vibrational quantum number, using for the harmonic terms

haot.rotational_energy_k(rotational_number, molecule)[source]

Calculates the rotational energy at a given rotational quantum number, using for the harmonic terms

haot.reduced_mass_kg(molecule_1, molecule_2)[source]

Calculates the molar reduced mass and returns it in kg of two elements

haot.tranlational_energy(principal_number_x, principal_number_y, principal_number_z)[source]