# atoms moving with distanceZ colvar

Hi,

I found that when I use distanceZ colvar variable in simple nve + langevin intergration
all atoms in simulation box move in certain direction (for example, along x-axis if axis (1, 0, 0) is defined in distanceZ).
How can I avoid spurious atoms moving?

P.S.
in.lammps file contain this lines, no deformation was subjected to simulation box
fix 1 all nve
fix 2 all langevin 300. 300. 5.0 \${num}
fix 3 all colvars disl.colvars
run 1000

disl.colvars: no matter how many distanceZ is defined in colvar. I put there just two with componentCoeff -1 and 1,
but this spurious atoms moving is happening if there is one distanceZ component.

colvar {
name one
width 0.2
lowerBoundary -3.5
upperBoundary 3.5
distanceZ {
componentCoeff 1 #opposite direction displacement
axis (1, 0, 0) # orientation is along x
main {
atomNumbers { 26505 26506 }
}
ref { dummyAtom (0, 0, 0)}
}

distanceZ {
#77 atoms
componentCoeff -1 #positive direction displacement
axis (1, 0, 0) # orientation is along x
main {
atomNumbers { 26501 26502 }
}
ref {dummyAtom (0, 0, 0) }
}

}

metadynamics {
name meta
colvars one
hillWeight 0.05
newHillFrequency 1000
}

Regards,
Bryukhanov Ilya

Hi,

I found that when I use distanceZ colvar variable in simple nve + langevin
intergration
all atoms in simulation box move in certain direction (for example, along
x-axis if axis (1, 0, 0) is defined in distanceZ).
How can I avoid spurious atoms moving?

i think you are misunderstanding what this collective variable does
(or what collective variables do in general).
you add a bias to the configured coordinate component, but you do not
modify any other motion.
if you don't want your atoms to move in those dimensions (which would
be rather strange, i might add), then you have to implement that
restriction outside of colvars. how to (partially) immobilze atoms is
a frequent discussion topic on this mailing list.

axel.

Hello Ilya, applying restraints on individual atoms is not very appropriate for collective variables, as their name implies.

If you do want to put a restraint on the center of mass of a group of atoms, collectively, simply define additional distanceZ variables with different axes than the z axis.

Giacomo

Thanks for the answers!

As I understand from colvar theory, bias act only on those atoms which is defined in colvar.
So I expect only colvar atoms to move significantly along defind axis (not all atoms).
But all (!) atoms in the system are moving with constant velocity (plus thermal fluctuation)
along x-axis during my simulation (attached avi).

Giacomo, the idea was to choose colvar variable to reflect relatively displacement
of two adjacent atom’s group along x-axis. (I choose only two atoms numbers for example,
usually there are more than 70 atoms in main { atomNumbers { … } } subgroup). So I
choose componentCoeff 1 and -1 for different distanceZ component.
But all atoms in the simulation box step every time along the axis.

Ilya

atoms moving.avi (473 KB)

Thanks for the answers!

As I understand from colvar theory, bias act only on those atoms which is
defined in colvar.
So I expect only colvar atoms to move significantly along defind axis (not
all atoms).
But all (!) atoms in the system are moving with constant velocity (plus
thermal fluctuation)
along x-axis during my simulation (attached avi).

Giacomo, the idea was to choose colvar variable to reflect relatively
displacement
of two adjacent atom's group along x-axis. (I choose only two atoms numbers
for example,
usually there are more than 70 atoms in main { atomNumbers { .. } }
subgroup). So I
choose componentCoeff 1 and -1 for different distanceZ component.
But all atoms in the simulation box step every time along the axis.

that could have several reasons: bad initialization, bad choice of
collective variable, bad choice of simulation setup, inconsistent or
too aggressive simulation parameters and so on.

not much to see from the movie.

axel.

Hi!

I send you my input files where I observe spurious atoms moving
(I use AlCu.adp potential from library).

It only happens when I use “fix 1 all colvars disl.colvars” command.

I found that atoms move sufficient distance along some line within 10^6 steps.
Could you explain such effect?

algp2.data (4.56 MB)

disl.colvars (780 Bytes)

in.disl (1.44 KB)

If the error happens within 10^6 steps, you gotta narrow it down to a snapshot where the error can be reproduced more quickly. That means, save the state file very often and with different file names, so that you can resume the calculation from right before the error occurs.