Frequency differences between code versions

Hi all,

I have three versions of Psi4 that I have been running the same frequency calculation on: v. 1.5 (Git: Rev {HEAD} e9f4d6d) and v. 1.7 (Git: Rev {HEAD} 6ce35a5), and v. 1.8.2. Using 1.5, I obtain all real vibrational values, while for the two newer versions I obtain a low imaginary frequency. This involves molecules containing iodine. Below is an example input of such a molecule. In every case that I checked, the frequencies computed with 1.5 are real, while those using the more resent version have at least one imaginary. This input structures are coming from CCSD(T)/aVQZ structures ( This holds true for the def2-TZVPD basis sets and also for aug-cc-pvtz-pp (for iodine and with aug-cc-pvtz being used for first-row atoms).

I also read an earlier but (Fix Hessian bug by andysim · Pull Request #903 · psi4/psi4 · GitHub) that might be related to this due to the higher orbitals.

Best regards,

memory 40.0 Gb

molecule ClINCH {
0 1
Cl 0.0 0.0 2.364566962438
I 0.0 0.0 0.033760138718
N 0.0 -0.0 -2.737148074274
C 0.0 0.0 -3.901433318069
H 0.0 0.0 -4.969829463279
set globals {
geom_maxiter 200
reference rhf
g_convergence gau_tight
basis def2-TZVPD
freeze_core true
frequencies(‘mp2’, dertype=‘energy’, return_wfn=True)

Are you using dertype='energy' with the more recent versions (the ones giving imaginary frequencies?

Numerical Hessians can run into issues of numerical stability (especially finite-difference by energy; especially low frequency modes). I found the example you shared to be unstable - changing the finite-difference stencil or step size also results in large changes in the frequencies.

When using finite-difference of gradients (only available with ECPs in recent versions), I find the results for the example you shared are much more stable.

Thanks for the feedback.

Yes, I just confirmed that I used dertype='energy' with v 1.7.

I did not consider altering any of the default parameters, so I appreciate the suggestions. If I identified the correct parameters for what you mentioned, I tried DISP_SIZE 0.007, and ended up obtaining all real frequencies using v. 1.7. I also separately tried POINTS 5, and obtained an imaginary vibration but with a different magnitude.

Let me also clarify a statement I made earlier - the original structures are coming from CCSD(T)/aVQZ. However, I reoptimize them at the levels that I am investigating (e.g., MP2/def2-TZVPD) prior to the frequency analysis.

Again, thanks - I appreciate it. This helps me consider my approach and how to interpret the results.