Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final hessian calculation gives wrong degeneracies #387

Open
oboril opened this issue Jan 12, 2025 · 1 comment
Open

Final hessian calculation gives wrong degeneracies #387

oboril opened this issue Jan 12, 2025 · 1 comment
Labels
bug Something isn't working

Comments

@oboril
Copy link

oboril commented Jan 12, 2025

Describe the bug
When using the --prop hess option, the final ensamble has incorrect degeneracies. It seems like the final conformers from the conformer search are passed to the hessian calculation without any degeneracy information (or all degeneracy = 1).

To Reproduce
CREST 3.0.2, xtb 6.6.1 (8d0f1dd)

Command: crest xtb.mol --gfnff --prop hess -T 8

xtb.mol:

Estimated minimal energy conformer (MMFF94 E: 2.79 kcal/mol)
     RDKit          3D

  6  5  0  0  0  0  0  0  0  0999 V2000
   -0.3711   -0.0008   -0.0089 C   0  0  0  0  0  0  0  0  0  0  0  0
    0.9238   -0.5655   -0.1011 O   0  0  0  0  0  0  0  0  0  0  0  0
   -0.5205    0.4087    0.9932 H   0  0  0  0  0  0  0  0  0  0  0  0
   -1.1131   -0.7807   -0.1956 H   0  0  0  0  0  0  0  0  0  0  0  0
   -0.4794    0.7886   -0.7566 H   0  0  0  0  0  0  0  0  0  0  0  0
    1.5603    0.1496    0.0690 H   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  1  3  1  0
  1  4  1  0
  1  5  1  0
  2  6  1  0
M  END

Output:

[...]
--------------------------
 Final Ensemble Information
 --------------------------
[...]
 total number unique points considered further :           3
       Erel/kcal        Etot weight/tot  conformer     set   degen     origin
       1   0.000    -0.76090    0.33334    1.00000       1       3
       2   0.000    -0.76090    0.33333
       3   0.000    -0.76090    0.33333
T /K                                  :   298.15
E lowest                              :    -0.76090
ensemble average energy (kcal)        :    0.000
ensemble entropy (J/mol K, cal/mol K) :    9.134    2.183
ensemble free energy (kcal/mol)       :   -0.651
population of lowest in %             :  100.000
 number of unique conformers for further calc            1
 list of relative energies saved as "crest.energies"

******************************************************************************************
**                     P R O P E R T Y   C A L C U L A T I O N                          **
******************************************************************************************
 writing TMPCONF* Dirs from file "crest_conformers.xyz" ... done.
 ---------------------------------------
 Hessian calculations for all conformers
 ---------------------------------------
[...]
 number of doubles removed by rot/RMSD         :           0
 total number unique points considered further :           1
       Erel/kcal        Etot weight/tot  conformer     set   degen     origin
       1   0.000    -0.73438    1.00000    1.00000       1       1     
T /K                                  :   298.15
E lowest                              :    -0.73438
ensemble average energy (kcal)        :    0.000
ensemble entropy (J/mol K, cal/mol K) :   -0.000   -0.000
ensemble free energy (kcal/mol)       :    0.000
population of lowest in %             :  100.000
 number of unique conformers for further calc            1
 list of relative energies saved as "crest.energies"

The degeneracy clearly does not propagate to the Hessian calculation, nor to the ensable calculation. For example, entropy should be RTln(3) = 9.1 J/mol/K as in the initial block, but the Hessian block shows entropy to be 0.

@oboril oboril added the bug Something isn't working label Jan 12, 2025
@pprcht
Copy link
Contributor

pprcht commented Jan 16, 2025

The final calculation that can be selected with -prop refers to the crest_conformers.xyz file, which does not have the rotamers and hence no degeneracy info. Internally, the degeneracy info is not book-kept, and there is no intention to propagate all information to the -prop run mode.
At some point the -prop routines will be revised to use the newer tblite routines rather than the xtb binary, maybe I will change this printout in that revision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants