Acidity calculation#
(This page is still under construction) We refer to paper for detailed description.[Cheng et al., 2009, Mangold et al., 2011]
The pKa of a species \(\ce{AH}\) in aqueous solution is defined as
The full expression for \(\mathrm{p}K_a\) is
Calculate Dummy Insertion Free Energy#
\(\Delta A_{\ce{Ad}}\) is dummy inerstion free energy corresponding to
To calculate \(\Delta A_{\ce{Ad}}\), you need calculate \(\ce{Ad-}\) the vibrational frequency of mode i for dummy in gas phase. And save the frequncies as numpy array. Note that the unit of frequencies must be \(cm^{-1}\). This function is straightforward implementation using eq.26 in reference.[Mangold et al., 2011]
from ectoolkits.analysis.acidity import get_dummy_insert_fe
import numpy as np
# the frequencies you calculated from gas phase molecules
frequencies_list = np.array([440, 1182, 2290])
get_dummy_insert_fe(frequencies_list, T=298)
these frequencies are taken from reference [Mangold et al., 2011] for the arginine molecule
The following output is
> 0.315428
We also implemented function for obtaining \(\Delta A_{\ce{H2Od}}\), since \(\Delta A_{\ce{H2Od}}\) has a special formula for correction, as described in reference.[Cheng et al., 2009] To obtain the \(\Delta A_{\ce{H2Od}}\), use the following code,
from ectoolkits.analysis.acidity import get_dummy_insert_fe_hydronium
get_dummy_insert_fe_hydronium()
You will obtain 0.334
eV as the result, which is actually a constant.
Calculate Quantum Correction Free Energy#
\(\Delta A_{\mathrm{qc}} (\ce{AH})\) is Nuclear Quantum Effects which are expected to be significant for proton. To calculate it, one need calculate vibrational frequencies for a gas phase molecule \(\ce{AH}\). The units of frequencies must be \(cm^{-1}\)
from ectoolkits.analysis.acidity import get_quantum_correction
import numpy as np
# the frequencies you calculated from gas phase molecules
# these frequencies are taken from reference [2] for the arginine molecule.
frequencies_list = np.array([263, 1204, 3340])
get_quantum_correction(frequencies_list, T=298)
The following output is
> 0.175
We also implemented function for obtaining \(\Delta A_{\mathrm{qc}}(\ce{H3O+})\), since \(\Delta A_{\mathrm{qc}}(\ce{H3O+})\) has a special formula for correction, as described in reference.[Mangold et al., 2011] To obtain the \(\Delta A_{\mathrm{qc}}(\ce{H3O+})\), use the following code,
from ectoolkits.analysis.acidity import get_quantum_correction_hydronium
get_quantum_correction_hydronium()
You will obtain 0.192
eV as the result, which is actually a constant.