ZimmermanGroup / pyGSM

Thermal and photochemical reaction path optimization and discovery
MIT License
50 stars 26 forks source link

Stop growing string iterations when eignevector following starts #57

Open shoubhikraj opened 4 months ago

shoubhikraj commented 4 months ago

Hi,

I have been using pyGSM for a benchmark, and from reading the output file and parts of the code what I understood is that after the DE-GSM string converges a certain threshold for all images (5 * CONV_TOL ? I am not sure), a TS search is started from the climbing image. However, the program then continues to minimise all other images while the TS search happens.

Is there any way to turn this off? I imagine minimising all images is good if one is interested in the minimum energy path, but if one is only interested in the TS, then this is not needed. So what I am essentially asking is, how do I separate the DE-GSM part and the TS optimisation part? So that essentially, after the DE-GSM, with the climbing image is converged, only the TS optimisation is done. (It is possible take the climbing image geometry and start an optimisation with Hessian in a separate package. However, this means the approximate Hessian that is built up from DE-GSM path is lost - and I am not sure how to get pyGSM to output the approximate Hessian at the climbing image)

Thanks in advance, SRM

joshkamm commented 3 months ago

Sorry for the delay. The original author of pyGSM graduated and hasn't had time to maintain it recently so I'm trying to help out when I can.

I could be wrong but I'm under the impression that the climbing image is an intermediate stage where the other nodes are still being optimized, but then during the exact TS search phase only the TS node is optimized.

I mostly call pyGSM as a library directly from python which allows me to recombine functionality how I want so I'm less familiar with the default workflows through the command line interface.