Question about fix smd

Dear All,

I want to pull a I atom out of a surface using steered MD simulation. The initial position of I atom along the pulling direction (z axis) is 73.0, and the commands for SMD is:

group I id 1676
group rest subtract all I

velocity rest zero linear
fix mom rest momentum 1 linear 1 1 1

variable K equal 3000
variable vel equal -0.00001
variable z equal 95.0

fix pull I smd cvel K {vel} tether NULL NULL $z 0.0

variable F equal f_pull[4]
variable r0 equal f_pull[5]
variable r equal f_pull[6]
variable PMF equal f_pull[7]
fix PMF all print 1000 “{F} {r0} {r} {PMF}” file PMF.profile

fix npt rest npt temp $T $T 100 x 1 1 500 y 1 1 500
run 2000000

In PMF output file, however, the value of F and PMF are extremely large. And r0 is not equal to r. In addition, I also check the motion of such I atom, and it doesn’t move.

I cannot find any possible reason for such problem. Hope you can give me some comments and suggestions.

Best,

MC

Dear All,

I want to pull a I atom out of a surface using steered MD simulation. The
initial position of I atom along the pulling direction (z axis) is 73.0,
and the commands for SMD is:

group I id 1676
group rest subtract all I

velocity rest zero linear
fix mom rest momentum 1 linear 1 1 1

variable K equal 3000
variable vel equal -0.00001
variable z equal 95.0

​​
fix pull I smd cvel K {vel} tether NULL NULL $z 0.0

variable F equal f_pull[4]
variable r0 equal f_pull[5]
variable r equal f_pull[6]
variable PMF equal f_pull[7]
fix PMF all print 1000 "\{F\} {r0} \{r\} {PMF}" file PMF.profile

fix npt rest npt temp $T $T 100 x 1 1 500 y 1 1 500
run 2000000

In PMF output file, however, the value of F and PMF are extremely large.
And r0 is not equal to r. In addition, I also check the motion of such I
atom, and it doesn't move.

I cannot find any possible reason for such problem. Hope you can give me
some comments and suggestions.

the way fix smd is implemented (as an adapted version of fix spring), ​you
don't want to pull toward a point​ but rather away from a point.

thus try the following and change the sign of the velocity:


fix pull I smd cvel K {vel} tether NULL NULL $(xcm(pull,z)) 0.0

​also, your velocity seems rather small.

why don't you try a simple system with fix nve and just two atoms (one of
which kept immobile) for testing what are the right settings for fix smd
are?

... and finally, the usual complaints:
- you don't say which version of LAMMPS and on what platform you are using
- your input is incomplete, thus you force people to guess

axel.