colvars: moving harmonic restraint is not moving

Hello

I ran out of ideas and need help or a kick...

I am trying to run steered molecular dynamics using colvars module. Physical problem is simple, I need to measure the work done during enforced separation of two groups of atoms, group1 and group2. I use:

/fix clv //all//colvars //name//.clv output //name/

in the lammps input script to call the colvars module

The file name.clv contains the following commands:

/colvarsTrajFrequency 1000
colvarsRestartFrequency 2000
colvar {
name dist
distance {
group1 {atomNumbersRange 339-370}
group2 {atomNumbersRange 1-28 653-685 }
}
harmonic {
name dist
colvars dist
forceConstant 10.0
centers 15.0
targetCenters 70.0
targetNumSteps 1000000
outputAccumulatedWork on
outputCenters on
}/

And the name.colvars.traj is listed at the end of this message. As seen the problem is following: neither dist nor x0_dist increase with the increasing time/no.of.steps. Also, the accumulated work oscillates around some value and actually does not change. There is no steering in the run - atomic structure of the system does not change at all after the simulation. But it should, the group1 and group2 should be separated by the distance 70.0 and this should correspond to quite large work value W_dist. What my in.clv file is lacking and what should I do in order to get the moving restraint xo_dist increasing in time?

Thanks in advance
Tomasz

# step dist x0_dist W_dist
2000000 1.54453595729358e+01 1.50000000000000e+01 0.00000000000000e+00
2001000 1.49574345083001e+01 1.50000000000000e+01 4.48288255036900e-03
2002000 1.50388028571813e+01 1.50000000000000e+01 1.50270736650945e-03
2003000 1.50032020317752e+01 1.50000000000000e+01 1.76507655823022e-03
2004000 1.50050803471851e+01 1.50000000000000e+01 -6.96671282054158e-03
2005000 1.50213786487915e+01 1.50000000000000e+01 -4.11777748314209e-03
2006000 1.50069200248487e+01 1.50000000000000e+01 -1.23622223943314e-03
2007000 1.50348453020054e+01 1.50000000000000e+01 -6.37962942703343e-03
2008000 1.50116907153015e+01 1.50000000000000e+01 -1.02731226276915e-02
2009000 1.50232066542286e+01 1.50000000000000e+01 -1.31297057577577e-02
2010000 1.48768462683686e+01 1.50000000000000e+01 -1.02078270119776e-02
2011000 1.50115629698715e+01 1.50000000000000e+01 -1.59387961168445e-02
2012000 1.48996748175293e+01 1.50000000000000e+01 -9.05858394432651e-03
2013000 1.49436966291309e+01 1.50000000000000e+01 -1.00219858515597e-02
2014000 1.49187420115587e+01 1.50000000000000e+01 -6.39501527429317e-03

.....

Hi Tomasz, two questions:

  1. Which versions of LAMMPS and Colvars are you using?
  2. Is 2000000 the first step in your simulation? In that case, targetNumSteps = 1000000 is already passed, unfortunately, and won’t have an effect. You should be able to use reset_timestep, and not load a state file for Colvars.

Giacomo

Hello Giacomo,

Thank you for reply !

Hi Tomasz, two questions:
1) Which versions of LAMMPS and Colvars are you using?

It is 16 Mar 2018, but currently it does not matter :wink:

2) Is 2000000 the first step in your simulation? In that case, targetNumSteps = 1000000 is already passed, unfortunately, and won't have an effect. You should be able to use reset_timestep, and not load a state file for Colvars.

Giacomo

Yes, you are right... After resetting the timestep everything works perfectly. I needed a kick, indeed.

Thanks again and best regards
Tomasz