I'll let Axel answer this, as fix smd is his code.

Steve

> Dear LAMMPS users,

>

> I have a question about the PMF calculation in SMD. With "fix smd", it can

> give us the accumulated PMF (the sum of pulling forces times displacement).

> If I use this command working on one rigid group in my NVT system with

> constant steering velocity, what's the relation between the output PMF and

> the PMF of the system people usually talk about?

here is what is accumulated into pmf:

pmf += (fx*xn + fy*yn + fz*zn) * v_smd * update->dt;

so it is the integral over time of the force projected

on the pulling/pushing direction. this is done in every

step so a sophisticated numerical integration is not needed.

nevertheless, it is provided primarily for convenience

and debugging. you have access to all kinds of properties

computed during the SMD step and print them to a file and

post-process them as you wish.

> I read Park's paper (J. Chem. Phys. 2004) mentioned in the manual, and found

> that it essentially need the exponential average estimator of <exp(-W/KBT)>

> or the cumulant estimator to get the estimate of PMF(W is the work done on

> the system). Also, they discussed the error of the PMF calculation based on

> different number of trajectories and different sized samplings. Then what

> about here in "fix smd"? Or there is any approximation or something else?

fix smd simply implements the pushing/pulling. the sampling

issues are independent from how you compute the PMF.

of course the pulling/pushing speed matters as well as

the spring constant and how many (uncorrelated!!!) steering

calculations you do.

thus, for any trivial reaction coordinate, umbrella integration

via fix spring might be a competitive alternative, as it is

easy to adapt the sampling for each bin.

i've been working on cleaning up and simplifying the code

last fall, but then could not complete the work since. with

a bit of luck, i might get to it this summer.

in the mean time, just think of it as being implemented pretty

much straight from the paper and don't get confused by r0.

it has to be set to 0.0 for practically anything that i have

come across and will be eliminated in the next version of

fix smd, since it causes more confusion than anything else.

cheers,

axel.