pmutt.statmech.vib.QRRHOVib
- class pmutt.statmech.vib.QRRHOVib(vib_wavenumbers, Bav=1e-44, v0=100.0, alpha=4, imaginary_substitute=None)
Bases:
_ModelBase
Vibrational modes using the Quasi Rigid Rotor Harmonic Oscillator approximation. Equations source from:
Li, Y. P.; Gomes, J.; Sharada, S. M.; Bell, A. T.; Head-Gordon, M. J. Phys. Chem. C 2015, 119 (4), 1840–1850.
Grimme, S. Chem. - A Eur. J. 2012, 18 (32), 9955–9964.
- vib_wavenumber
Vibrational wavenumbers (\(\tilde{\nu}\)) in 1/cm
- Type:
list of float
- Bav
Average molecular moment of inertia as a limiting value of small wavenumbers. Default is 1.e-44 kg m2
- Type:
float, optional
- imaginary_substitute
If this value is set, imaginary frequencies are substituted with this value for calculations. Otherwise, imaginary frequencies are ignored. Default is None
- Type:
float, optional
- __init__(vib_wavenumbers, Bav=1e-44, v0=100.0, alpha=4, imaginary_substitute=None)
Methods
__init__
(vib_wavenumbers[, Bav, v0, alpha, ...])from_dict
(json_obj)Recreate an object from the JSON representation.
get_Cp
(units, **kwargs)Calculate the heat capacity (constant P)
get_CpoR
(T)Calculates the dimensionless heat capacity at constant pressure
get_Cv
(units, **kwargs)Calculate the heat capacity (constant V)
get_CvoR
(T)Calculates the dimensionless heat capacity at constant volume
get_F
(units[, T])Calculate the Helmholtz energy
get_FoRT
(T)Calculates the dimensionless Helmholtz energy
get_G
(units[, T])Calculate the Gibbs energy
get_GoRT
(T)Calculates the dimensionless Gibbs energy
get_H
(units[, T])Calculate the enthalpy
get_HoRT
(T)Calculates the dimensionless enthalpy
get_S
(units, **kwargs)Calculate the entropy
get_SoR
(T)Calculates the dimensionless entropy
get_U
(units[, T])Calculate the internal energy
get_UoRT
(T)Calculates the dimensionless internal energy
get_ZPE
()Calculates the zero point energy
get_q
()Calculates the partition function
Prints the wavenumbers that will be used in a thermodynamic calculation.
to_dict
()Represents object as dictionary with JSON-accepted datatypes
Attributes
- classmethod from_dict(json_obj)
Recreate an object from the JSON representation.
- Parameters:
json_obj (dict) – JSON representation
- Returns:
QRRHOVib
- Return type:
QRRHOVib object
- get_Cp(units, **kwargs)
Calculate the heat capacity (constant P)
- get_CpoR(T)
Calculates the dimensionless heat capacity at constant pressure
\(\frac{C_{P}^{qRRHO}} {R} = \frac{C_{V}^{qRRHO}} {R}\)
- get_Cv(units, **kwargs)
Calculate the heat capacity (constant V)
- get_CvoR(T)
Calculates the dimensionless heat capacity at constant volume
\(\frac {C_{v}^{qRRHO}}{R} = \sum_{i}\omega_i\frac{C_{v,i} ^{RRHO}}{R} + \frac{1}{2}(1-\omega_i)\)
\(\frac{C_{v}^{RRHO}}{R} = \sum_{i}\exp \bigg(-\frac{ \Theta_i}{T}\bigg) \bigg(\frac{\Theta_i}{T}\frac{1}{1-\exp(- \frac{\Theta_i}{T})}\bigg)^2\)
- get_F(units, T=298.15, **kwargs)
Calculate the Helmholtz energy
- get_FoRT(T)
Calculates the dimensionless Helmholtz energy
\(\frac{A^{qRRHO}}{RT} = \frac{U^{qRRHO}}{RT}- \frac{S^{qRRHO}}{R}\)
- get_G(units, T=298.15, **kwargs)
Calculate the Gibbs energy
- get_GoRT(T)
Calculates the dimensionless Gibbs energy
\(\frac{G^{qRRHO}}{RT} = \frac{H^{qRRHO}}{RT}- \frac{S^{qRRHO}}{R}\)
- get_H(units, T=298.15, **kwargs)
Calculate the enthalpy
- get_HoRT(T)
Calculates the dimensionless enthalpy
\(\frac{H^{qRRHO}} {RT} = \frac{U^{qRRHO}} {RT}\)
- get_S(units, **kwargs)
Calculate the entropy
- get_SoR(T)
Calculates the dimensionless entropy
\(\frac{S^{qRRHO}}{R}=\sum_i\omega_i\frac{S_i^{H}}{R}+(1- \omega_i)\frac{S_i^{RRHO}}{R}\)
\(\frac {S^{RRHO}_i}{R} = \frac{1}{2} + \log \bigg(\bigg[ \frac{8\pi^3\mu'_ik_BT}{h^2}\bigg]^{\frac{1}{2}}\bigg)\)
\(\frac {S^{H}_i}{R}=\bigg(\frac{\Theta_i}{T}\bigg)\frac{1} {\exp(\frac{\Theta_i}{T})-1}-\log\bigg(1-\exp(\frac{-\Theta_i} {T})\bigg)\)
- get_U(units, T=298.15, **kwargs)
Calculate the internal energy
- get_UoRT(T)
Calculates the dimensionless internal energy
\(\frac {U^{qRRHO}}{RT} = \sum_{i}\omega_i\frac{U^{RRHO}}{RT} + \frac{1}{2}(1-\omega_i)\)
\(\frac {U^{RRHO}_{i}}{RT} = \frac{\Theta_i}{T} \bigg( \frac{1}{2} + \frac{\exp(-\frac{\Theta_i}{T})}{1-\exp(-\frac{ \Theta_i}{T})}\bigg)\)
- get_ZPE()
Calculates the zero point energy
\(ZPE=\frac{1}{2}k_b\sum_i \omega_i\Theta_{V,i}\)
- Returns:
zpe – Zero point energy in eV
- Return type:
- get_q()
Calculates the partition function
- Returns:
q_vib – Vibrational partition function
- Return type:
- print_calc_wavenumbers()
Prints the wavenumbers that will be used in a thermodynamic calculation. If
self.imaginary_substitute
is a float, then imaginary frequencies are replaced with that value. Otherwise, imaginary frequencies are ignored.
- to_dict()
Represents object as dictionary with JSON-accepted datatypes
- Returns:
obj_dict
- Return type:
- property vib_wavenumbers