constraining atomic positions in minima hopping

Christopher Michael Mauney mau... at
Wed Apr 13 20:50:22 UTC 2016

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 

Thanks for your help!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: minhop.inp
Type: chemical/x-gamess-input
Size: 7010 bytes
Desc: not available
URL: <>

More information about the CP2K-user mailing list