fix spring command to get a desired equilibrium separation between two groups of atoms

Hello Everyone,

I have recently started using LAMMPS. My system consists two single wall carbon nanotubes in aqueous dispersion.
I am carrying out Umbrella Sampling simulations (using fix spring) at varying separations (7-18 angstrom) along x-axis between the two tubes. I am using CHARMM force field. Simulation time is 10 ns.

I am using the following fix spring command:

fix 1 cnt1 spring couple cnt2 0.5 1.0 0.0 0.0 18

where cnt1 and cnt2 are the two groups of atoms and R0 is 18 angstrom and spring constant = 0.5
I start at a separation of 18 angstrom between the tubes and then attach the spring. I want the equilibrium separation along x-axis between the two tubes to be 18 angstrom after attaching the spring. Then eventually I unfix the spring and again fix it for a smaller separation (17, 16 , 15,…,7 angstrom)

At 18 angstrom separation, the average centre to centre distance between the tubes remains around 18 angstroms. However, at lower separations, the average distance between the tubes are around 14 angstroms (even if I’m specifying it to be 7 angstrom by fix spring command). But X component of the displacement vector remains around the value I’m specifying.

Lammps manual says, " The groups are coupled together by a spring that is at equilibrium when the two groups are displaced by a vector x,y,z with respect to each other and at a distance R0 from that displacement. Note that x,y,z is the equilibrium displacement of group-ID2 relative to the fix group. Thus (1,1,0) is a different spring than (-1,-1,0). "

My question:

Does that mean the separation between the two groups will be magnitude of the x,y,z vector + R0 ?
How should I use the fix spring command so that the equilibrium separation (along x-axis) will be R0?

Another relevant information is: I’m also trying to restrict the motion of the two tubes only along x-axis. But they moves along y and z too. May be that’s why I’m getting a value where y and z components of the displacement vector are also contributing. If so, is there a way two restrict the motion of the two tubes only along x-axis? I am planning to use velocity command to make velocity along y and z axis to be zero. Is this a correct way to do that?

I would really appreciate if any one can help me on this.

Thank you in advance, for your time and consideration in answering my query.

regards,
Nabaneeta

Hello Everyone,

I have recently started using LAMMPS. My system consists two single wall
carbon nanotubes in aqueous dispersion.
I am carrying out Umbrella Sampling simulations (using fix spring) at
varying separations (7-18 angstrom) along x-axis between the two tubes. I am
using CHARMM force field. Simulation time is 10 ns.

I am using the following fix spring command:

fix 1 cnt1 spring couple cnt2 0.5 1.0 0.0 0.0 18

where cnt1 and cnt2 are the two groups of atoms and R0 is 18 angstrom and
spring constant = 0.5

i don't think you are using the correct fix parameters here.
i would try the following instead:

fix 1 cnt1 spring couple cnt2 0.5 18.0 0.0 0.0 0.0

the documentation may be a bit misleading, but the
x,y,z vector is the displacement of the equilibrium point
and the radius R0 is an *additional, fixed* distance that
the coupled object would be away from the equilibrium point.
this distance is not subject to any restraint force, so
the restrained object would rotate on a sphere of diameter
R0 around the reference point.

I start at a separation of 18 angstrom between the tubes and then attach the
spring. I want the equilibrium separation along x-axis between the two tubes
to be 18 angstrom after attaching the spring. Then eventually I unfix the
spring and again fix it for a smaller separation (17, 16 , 15,........,7
angstrom)

At 18 angstrom separation, the average centre to centre distance between the
tubes remains around 18 angstroms. However, at lower separations, the
average distance between the tubes are around 14 angstroms (even if I'm
specifying it to be 7 angstrom by fix spring command). But X component of
the displacement vector remains around the value I'm specifying.

Lammps manual says, " The groups are coupled together by a spring that is at
equilibrium when the two groups are displaced by a vector x,y,z with respect
to each other and at a distance R0 from that displacement. Note that x,y,z
is the equilibrium displacement of group-ID2 relative to the fix group. Thus
(1,1,0) is a different spring than (-1,-1,0). "

My question:

Does that mean the separation between the two groups will be magnitude of
the x,y,z vector + R0 ?

no. the separation between the two groups is a sphere of radius R0
around the tip of the x,y,z vector.

How should I use the fix spring command so that the equilibrium separation
(along x-axis) will be R0?

no. you want R0 to be 0.0. and then use an x,y,z vector of 18.0 0.0 0.0.

and even that may not be exactly what you want, since you are only
restraining the center of mass. you probably want to apply *two*
spring fixes, each attached to the corresponding ends of the nanotubes
and move them in sync (assuming that you want to maintain that the
two nano tubes remain parallel and must not shift).

otherwise, you probably want to use a vector of 18.0 NULL NULL to only
restrain the x-direction and leave everything else free.

Another relevant information is: I'm also trying to restrict the motion of
the two tubes only along x-axis. But they moves along y and z too. May be
that's why I'm getting a value where y and z components of the displacement
vector are also contributing. If so, is there a way two restrict the motion
of the two tubes only along x-axis? I am planning to use velocity command to
make velocity along y and z axis to be zero. Is this a correct way to do
that?

that is not easy to say. it depends on exactly what kind of potential of mean
force you want to accumulate. or rather what your collective variable is.
apropos, you may want to have a look at the colvars module
http://lammps.sandia.gov/doc/fix_colvars.html
as an alternate approach to do free energy calculations, including umbrella
sampling. it supports a selection of collective variables beyond a simple
spring between the center of mass of two groups and one of them may be
more suited to your needs.

cheers,
    axel.

Thank you very much for your answer. It explained a lot of things and cleared many doubts.
I’ll try to implement your suggestions.

Thanks and regards,
Nabaneeta