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.