Closed goxeq closed 7 months ago
By "something like this" you mean do an xtb optimization and then a DFT singlpoint on top? If that is what you mean, yes, that is already prepared and for some runtypes already available with the new input format. I need to write the new documentation still...
The input you posted runs for me without issues, may I ask what build did you use for the binary? --dry
should tell you.
Thank you for clarification. I will try to change my code to use the new version after I figure out why it does not work for me yet.
Regarding the segfault: I took the latest latest continuous release. The complete output file is below. By the way, the calculation proceeds normally with the -legacy
option specified.
CREST version : 3.0pre
timestamp : Thu Feb 1 09:41:09 UTC 2024
commit : 4f4cd00
compiled by : 'runner@fv-az1431-468'
Fortran compiler : intel 2021.7.1
C compiler : intel 2021.7.1
build system : meson 1.2.0
Okay, I will cross-check the continuous release with my local build.
The core difference between the >3.0 versions and older ones (or the --legacy
option for that fact) is that the calculation backend replaces xtb
with internal tblite
calculators. A whole bunch of I/O is avoided.
I believe the segfault might have been an issue of the Intel compiler version used in the GitHub workflow build, and I was able to reproduce the error with the continuous release binary. I updated it to 2023.1.0 now, which seems to fix the issue.
The new continuous release build seems to work now for the Diels-Alder adduct. It still does not work for a simple thing like H2 molecule (coordinates below; the --legacy
version does work). Should I create separate issue out of that?
2
hydrogen
H 0. 0. 0.
H 0. 0. 0.77
Nah it's fine no separate issue needed, I'll take a look.
So, does a simple runtype of CREST 3.0 work for you? I.e. running crest input.xyz --sp
or crest input.xyz --opt
for the hydrogen molecule? For me it does with the continuous release.
Running conformational sampling for diatomics is a bit pointless, and the metadynamics might also rip such molecules apart. Sometimes these crash, but I don't really see a point in trying to circumvent it if the energy and gradient evaluation works fine otherwise.
Yes, that works. The conformational sampling for diatomics is indeed pointless. But typically I would use crest as part of a pipeline and it is convenient to be able to handle all species uniformly. Feel free to close this issue.
I am using a version of crest, with a custom wrapper around xtb program in order to refine energies at DFT level. That is: when my wrapper detects that xtb was called with "--opt" keyword, it runs the xtb program and for the final structure it calculates a DFT single point energy.
However, in order to not do redundant calculation, I save all optimization results and the DFT energies in sqlite database. Thus, after the initial xtb optimization, I compare the optimized structure (based on rotation constants) and resulting GFN2 energy to those already stored in the sqlite database and only do the DFT single point if I haven't done it already.
Would something like this be feasible to be implemented with the crest 3.0? With the new
[[calculation.level]]
methodgeneric
, as I read the documentation, this "hack" will no longer be possible as the generic method is only supposed to calculate gradients and not handle the whole optimization.Unfortunately, I was not able to test behavior of the new version yet, because it segfaulted even with a simple input like this (input was just
crest input.xyz
, see input and "output" below).