17.1.1.20. pysisyphus.partfuncs package

17.1.1.20.1. Submodules

17.1.1.20.2. pysisyphus.partfuncs.driver module

17.1.1.20.3. pysisyphus.partfuncs.partfuncs module

pysisyphus.partfuncs.partfuncs.anharmonic_classic_partfunc(poly, temperature, red_mass_au)[source]

Classical anharmonic partition function.

Eq. (9) in [1].

Parameters:
  • poly (Polynomial) -- 1d-polynomial of arbitrary order used to evaluate the potential at the given coordinates in the numerical integration.

  • temperature (float) -- Temperature in Kelvin.

  • red_mass_au (float) -- Reduced mass of the oscillator in atomic units (NOT in amu!).

Returns:

Classical anharmonic partition function.

Return type:

q_ac

pysisyphus.partfuncs.partfuncs.classical_particle_density(x, poly, temperature, red_mass_au)[source]

Classical particle density.

Eq. (9) in [1].

Parameters:
  • x (float) -- Coordinate x at which the provided polynomial is evaluated.

  • poly (Polynomial) -- 1d-polynomial of arbitrary order used to evaluate the potential at the given coordinates in the numerical integration.

  • temperature (float) -- Temperature in Kelvin.

  • red_mass_au (float) -- Reduced mass of the oscillator in atomic units (NOT in amu!).

Returns:

Classical particle density.

Return type:

rho

pysisyphus.partfuncs.partfuncs.dln_sos_partfunc_dT(eigvals, temperature)[source]

Derivative of the sum-over-states partition function w.r.t. temperature.

d ln(q_aq) / dT.

Parameters:
  • eigvals (ndarray) -- Energy-levels in Hartree.

  • temperature (float) -- Temperature in Kelvin.

Returns:

Derivative of the natural logarithm of the sum-over-states partition function w.r.t. the temperature.

Return type:

dlnqdT

pysisyphus.partfuncs.partfuncs.get_A1(x, deriv1, deriv2, temperature)[source]

Correction term A1 in the Wigner-Kirkwood partition function.

Eq. (6) in [1].

Parameters:
  • x -- Coordinate for which A2 is evaluated.

  • deriv1 (Polynomial) -- First derivative of the potential w.r.t. coordinate x.

  • deriv2 (Polynomial) -- Second derivative of the potential w.r.t. coordinate x.

  • temperature (float) -- Temperature in Kelvin.

Returns:

Coefficient A1.

Return type:

A1

pysisyphus.partfuncs.partfuncs.get_A2(x, deriv1, deriv2, deriv3, deriv4, temperature)[source]

Correction term A2 in the Wigner-Kirkwood partition function.

Eq. (7) in [1].

Parameters:
  • x (float) -- Coordinate for which A2 is evaluated.

  • deriv1 (Polynomial) -- First derivative of the potential w.r.t. coordinate x.

  • deriv2 (Polynomial) -- Second derivative of the potential w.r.t. coordinate x.

  • deriv3 (Polynomial) -- Third derivative of the potential w.r.t. coordinate x.

  • deriv4 (Polynomial) -- Quartic derivative of the potential w.r.t. coordinate x.

  • temperature (float) -- Temperature in Kelvin.

Returns:

Coefficient A2.

Return type:

A2

pysisyphus.partfuncs.partfuncs.harmonic_classic_partfunc(freq_si, temperature)[source]

Classical partition function for a harmonic oscillator.

Eq. (12) in [1].

Parameters:
  • freq_si (float) -- Frequency of the oscillator in s⁻¹.

  • temperature (float) -- Temperature in Kelvin.

Returns:

Classical harmonic partition function.

Return type:

q_hc

pysisyphus.partfuncs.partfuncs.harmonic_quantum_partfunc(freq_si, temperature)[source]

Quantum harmonic partition function w/ bottom-of-well reference.

Eq. (11) in [1].

Parameters:
  • freq_si (float) -- Frequency of the oscillator in s⁻¹.

  • temperature (float) -- Temperature in Kelvin.

Returns:

Quantum harmonic partition function.

Return type:

q_hq

pysisyphus.partfuncs.partfuncs.sos_partfunc(eigvals, temperature)[source]

Sum-over-states partition function.

Eq. (2) in [1]. In contrast to [2] this partition function is not truncated but calculated from all provided eigenvalues. In the literature this approach is sometimes also referred to as "eigenvalue summation."

Parameters:
  • eigvals (ndarray) -- Energy-levels in Hartree.

  • temperature (float) -- Temperature in Kelvin.

Returns:

Sum-over-states partition function.

Return type:

q_sos

pysisyphus.partfuncs.partfuncs.sos_partfunc_trunc(eigvals, temperature, thresh=0.0001)[source]

Truncated sum-over-states partition function.

Eq. (2) in [1].

Parameters:
  • eigvals (ndarray) -- Energy-levels in Hartree.

  • temperature (float) -- Temperature in Kelvin.

  • thresh (default: 0.0001) -- Truncation threshold. When the contribution of an energy level falls below this threshold the calculation of the partition function is terminated.

Returns:

Truncated sum-over-states partition function.

Return type:

q_sos

pysisyphus.partfuncs.partfuncs.wigner_kirkwood_partfunc(poly, temperature, red_mass_au)[source]

Wigner-Kirkwood partition function (WKPF).

Eqs. (5) to (7) and eq. (9) in [1]. For small temperatures, e.g. 50 K and wavenumbers > 90 cm⁻¹ the WKPF is not reliable!

Parameters:
  • poly (Polynomial) -- 1d-polynomial of arbitrary order used to evaluate the potential at the given coordinates in the numerical integration.

  • temperature (float) -- Temperature in Kelvin.

  • red_mass_au (float) -- Reduced mass of the oscillator in atomic units (NOT in amu!).

Return type:

tuple[float, float]

Returns:

  • q_wk -- Wigner-Kirkwood partition function.

  • abserr -- Absolute error of the numerical integration.

17.1.1.20.4. Module contents