Possible printing bug for reduced masses from Hessian calculations
Hi!
I am trying to get the reduced masses from a Hessian calculation at the GFN1-xTB level. I get vastly different valuies compared to using the qcore implementation of the same method. The frequencies and normal modes are in good agreement, however. Comparing to a reference B3LYP/6-31G(d) calculation I had, the value form the xtb implementation also differs substantially, so I think that qcore GFN1-xTB is correct, while xtb GFN1-xTB might be printing the wrong number.
I am wondering if xTB has a printing error, or if there is some kind of hidden conversion factor that I am missing!
The values for the reduced masses for a Hessian calculation for a water molecule are given below:
xtb GFN1-xTB reduced masses [amu]:
2.1533 1.5401 2.1640
qcore GFN1-xTB reduced masses in [amu]:
1.0856 1.0425 1.0863
B6LYP/6-31G(d) values for reference (from an old gaussian calculation) [amu]:
1.0825 1.0454 1.0810
As you can see, the numbers for xtb are very far from the two others.
All input I used is attached here:
water.xyz
3
0 1
O -0.000337398098 0.372284110820 0.000000000000
H -0.783368023921 -0.186855235475 0.000000000000
H 0.783705422019 -0.185428880637 0.000000000000
Qcore input: qcore -s "job := hessian(structure(file='water.xyz') xtb())"
Grimme code input: xtb water.xyz --gfn 1 --hess
xtb version 6.3.3 (7355c4f) compiled by 'conda@14e9545d6667' on 2020-09-17
Entos Qcore version: 0.8.10
Probably a mixup of mass units in the hessian evaluation, which is unfortunately not completely done in atomic units. Should be easy to find and fix.