rmgpy.kinetics.Eckart¶
- class rmgpy.kinetics.Eckart(frequency, E0_reac, E0_TS, E0_prod=None)¶
A tunneling model based on the Eckart model. The attributes are:
Attribute
Description
frequency
The imaginary frequency of the transition state
E0_reac
The ground-state energy of the reactants
E0_TS
The ground-state energy of the transition state
E0_prod
The ground-state energy of the products
If E0_prod is not given, it is assumed to be the same as the reactants; this results in the so-called “symmetric” Eckart model. Providing E0_prod, and thereby using the “asymmetric” Eckart model, is the recommended approach.
The Eckart tunneling model is based around a potential of the form
\[V(x) = \frac{\hbar^2}{2m} \left[ \frac{A e^x}{1 + e^x} + \frac{B e^x}{\left( 1 + e^x \right)^2} \right]\]where \(x\) represents the reaction coordinate and \(A\) and \(B\) are parameters. The potential is symmetric if \(A = 0\) and asymmetric if \(A \ne 0\). If we add the constraint \(\left| B \right| > \left| A \right|\) then the potential has a maximum at
\[x_\mathrm{max} = \ln \left( \frac{B + A}{B - A} \right)\]\[V(x_\mathrm{max}) = \frac{\hbar^2}{2m} \frac{(A + B)^2}{4B}\]The one-dimensional Schrodinger equation with the Eckart potential is analytically solvable. The resulting microcanonical tunneling factor \(\kappa(E)\) is a function of the total energy of the molecular system:
\[\kappa(E) = 1 - \frac{\cosh (2 \pi a - 2 \pi b) + \cosh (2 \pi d)}{\cosh (2 \pi a + 2 \pi b) + \cosh (2 \pi d)}\]where
\[2 \pi a = \frac{2 \sqrt{\alpha_1 \xi}}{\alpha_1^{-1/2} + \alpha_2^{-1/2}}\]\[2 \pi b = \frac{2 \sqrt{\left| (\xi - 1) \alpha_1 + \alpha_2 \right|}}{\alpha_1^{-1/2} + \alpha_2^{-1/2}}\]\[2 \pi d = 2 \sqrt{\left| \alpha_1 \alpha_2 - 4 \pi^2 / 16 \right|}\]\[\alpha_1 = 2 \pi \frac{\Delta V_1}{h \left| \nu_\mathrm{TS} \right|}\]\[\alpha_2 = 2 \pi \frac{\Delta V_2}{h \left| \nu_\mathrm{TS} \right|}\]\[\xi = \frac{E}{\Delta V_1}\]\(\Delta V_1\) and \(\Delta V_2\) are the thermal energy difference between the transition state and the reactants and products, respectively; \(\nu_\mathrm{TS}\) is the negative frequency, \(h\) is the Planck constant.
Applying a Laplace transform gives the canonical tunneling factor as a function of temperature \(T\) (expressed as \(\beta \equiv 1 / k_\mathrm{B} T\)):
\[\kappa(T) = e^{\beta \Delta V_1} \int_0^\infty \kappa(E) e^{- \beta E} \ dE\]If product data is not available, then it is assumed that \(\alpha_2 \approx \alpha_1\).
The Eckart correction requires information about the reactants as well as the transition state. For best results, information about the products should also be given. (The former is called the symmetric Eckart correction, the latter the asymmetric Eckart correction.) This extra information allows the Eckart correction to generally give a better result than the Wigner correction.
- E0_TS¶
The ground-state energy of the transition state.
- E0_prod¶
The ground-state energy of the products.
- E0_reac¶
The ground-state energy of the reactants.
- calculate_tunneling_factor(self, double T) double ¶
Calculate and return the value of the Eckart tunneling correction for the reaction at the temperature T in K.
- calculate_tunneling_function(self, ndarray Elist) ndarray ¶
Calculate and return the value of the Eckart tunneling function for the reaction at the energies e_list in J/mol.
- frequency¶
The negative frequency along the reaction coordinate.