SMD in tether mode

In my system, I’m pulling a molecule (M) from one site (A) to another (B) and measuring the free energy barrier from the potential of mean force/accumulated work courtesy of the SMD code in tether mode.

While I was checking the PMF, I noticed that when the molecule deviates significantly from a straight-line path between A and B so that the vector MB and AB are almost perpendicular, the PMF stops changing in value.

In fix_smd.cpp, it looks like the spring force is projected on AB (computed once at the start), and not MB (always changing). Looking at the code in the couple section, the projection is done on MB. Is this the expected behavior of SMD in tether mode? For instance, if the path between A and B is circuitous, should the direction of the projection update every timestep to reflect the actual work of the spring?

Thanks,

Brian

In my system, I'm pulling a molecule (M) from one site (A) to another (B)
and measuring the free energy barrier from the potential of mean
force/accumulated work courtesy of the SMD code in tether mode.

While I was checking the PMF, I noticed that when the molecule deviates
significantly from a straight-line path between A and B so that the vector
MB and AB are almost perpendicular, the PMF stops changing in value.

this sounds like you didn't use fix smd correctly.

In fix_smd.cpp, it looks like the spring force is projected on AB (computed
once at the start), and not MB (always changing). Looking at the code in the
couple section, the projection is done on MB. Is this the expected behavior
of SMD in tether mode? For instance, if the path between A and B is
circuitous, should the direction of the projection update every timestep to
reflect the actual work of the spring?

the straight line between A and B *is* your reaction coordinate and
thus you do want the force projected on that so that you can integrate
over it to get the PMF. if your molecule M (or rather its COM)
deviates far from it, then you are not doing the SMD right. either the
force constant is off, or some other parameter (r0??) is wrong.

axel.

My SMD parameters seem correct; r0 is 0.0 and the force is 1000 in real units.

To clarify the description of my system, I’m pulling molecule M along the surface of a narrow 1-dimensional pore to get surface diffusion barriers. Sometimes M desorbs from the surface and adsorbs on an opposite wall, but eventually it is pulled to site B. The surface of the pore is corrugated, so a straight line path between A and B is not possible. It seems like the reaction coordinate in this system should be the distance between M and B.

Should tether be used only in systems with reaction coordinates that are linear? The description on the website doesn’t mention this.

Thanks,

Brian

My SMD parameters seem correct; r0 is 0.0 and the force is 1000 in real
units.

To clarify the description of my system, I'm pulling molecule M along the
surface of a narrow 1-dimensional pore to get surface diffusion barriers.
Sometimes M desorbs from the surface and adsorbs on an opposite wall, but
eventually it is pulled to site B. The surface of the pore is corrugated, so

this is certainly a tricky system for SMD. you'll have to be very
careful with your pulling speed and will have to average over many
pulls to get reasonably converged results. it might be better to do
one quick SMD pull and collect a sufficient number of snapshots

a straight line path between A and B is not possible. It seems like the
reaction coordinate in this system should be the distance between M and B.

no. that would not make sense. a better approach would be to pull not
with a point as target but a plane. so you should make sure that your
AB vector is collinear with with either the x-, y- or z-axis and then
use NULL for the other two directions and thus don't restrain those.
the first input example on the fix smd doc is showing a pull along the
z-direction only.

Should tether be used only in systems with reaction coordinates that are
linear? The description on the website doesn't mention this.

the website only explains the practical use of the command in LAMMPS.
it doesn't teach you how to do an SMD run. for that you'll have to
study the relevant literature on collective variables and free energy
calculations. the LAMMPS manual is not a replacement for that. it
expects users to make informed choices and simply explains which
choices are available. sorry.

axel.