[CP2K:7673] constraining atomic positions in minima hopping

Ole Schütt o... at schuett.name
Thu Apr 14 12:37:32 UTC 2016


Hi Christopher,

I documented CP2K's minima hopping implementation in my diploma thesis:
   https://www.cp2k.org/_media/docs:cs_diploma_thesis_schuett.pdf
It also contains a short paragraph about the defragmentation algorithm.

Obviously, this algorithm is very heuristic. I'm not surprised that it 
sometimes fails.

You can of course try to add constrain. The minima hopping will work 
with any force-env you throw at it.

However, I would rather advice you to understand why the defragmentation 
algorithm fails and to improve it somehow.
You can find the code here: 
https://github.com/cp2k/cp2k/blob/master/cp2k/src/swarm/glbopt_worker.F#L278

Regarding the warning: The splines are used to speed up the evaluation 
of force-field terms. I guess you can ignore it if the first geometry 
optimization converges properly. Alternatively, you could also try to 
decrease EMAX_SPLINE to extend the range of the splines.


-Ole


On 2016-04-13 22:50, Christopher Michael Mauney wrote:
> Hello CP2K users,
> 
> I'm a graduate student at Oregon State University.  My work is
> focused on dust formation in astrophysics.  I have a passing
> familiarity with chemistry codes, but my background is limited.
> 
> I am attempting to use minima hopping to determine the ground state
> (or close to it) of silicate molecules.  However, I'm running across
> the issue where the algorithm will fragment the molecule during the
> relaxation step, which leads to huge differences in energies.
> 
> Following the MH algorithm in the code, here is what (I think) is
> happening:
> 
> 1.) Runs the MD step
>    1a.) Using the FIX_FRAGMENTATION flag, if any fragmentation
> happened then CP2K will "reform" the molecule
> 2.) Runs the GEO_OPT step
>    2a.) Here, the system will relax into a fragmented molecule -
> even if it was "fixed" in the previous step, or if the atomic
> positions go beyond the size of the cell.
> 3.) Updates MH parameters (temperature, accept energy, ect.) based on
> the fragmented (and wildly different) molecule.
> 
> I would like to know if/how it's possible in CP2K to constrain the
> system to prevent it from fragmenting in the relaxation step.  For
> instance, I could impart a global spring force on all atoms, or I
> could constrain atom positions to stay within a certain range.
>  There's a lot in CP2K that seems to do something like this, but I
> can't work out how to implement it.
> 
> (Is this something to worry about?  My main concern isn't that the MH
> algorithm gives fragmented molecules - I can sort out the unfragmented
> (= correct) ones afterwords.  I worried, however, that by breaking up
> these molecules the MH algorithm won't work correctly.  Indeed, it
> appears to go a bit crazy after a fragmentation happens. For instance,
> the temperature will reduce to ~0.0 and never rise again, indicating
> that the system has entered into a completely flat, nonphysical energy
> surface.)
> 
> I've attached my input file (being MH, there's a lot of clutter
> involved in turning off of output).  The number of workers and number
> of steps were are changed, but I usually run on several dozens workers
> with ~10^6 MH steps.  The atomic positions are randomly generated but
> done so in a way to maintain reasonable separation between atoms at
> creation.  The current setup should yield a fragmented system within
> ~100 - 1000 steps.
> 
> (Also, if anyone has any advice on the warning:
> 
> ********************************************************************************
> * Value of r in Input =   0.226256 not in the spline range. Using =
>   0.902115 *
> ********************************************************************************
> I would appreciate it.  I've tried playing with the SPLINE parameters
> but I have only the vaguest notions of what these do, so I'm just
> stabbing in the dark.)
> 
> Thanks for your help!
> 
>  --
>  You received this message because you are subscribed to the Google
> Groups "cp2k" group.
>  To unsubscribe from this group and stop receiving emails from it,
> send an email to cp2k+uns... at googlegroups.com.
>  To post to this group, send email to cp... at googlegroups.com.
>  Visit this group at https://groups.google.com/group/cp2k [1].
>  For more options, visit https://groups.google.com/d/optout [2].
> 
> 
> Links:
> ------
> [1] https://groups.google.com/group/cp2k
> [2] https://groups.google.com/d/optout



More information about the CP2K-user mailing list