How does Pull code apply potential?

GROMACS version: 2020.1
GROMACS modification: Yes/No
Here post your question

I am trying to calculate position-dependent diffusivity and PMF on a system of probe molecule and slab. As I am expecting harmonic potential should be applied to the probe molecule for keeping desired distance, but not on the slab, I am not sure which group pull code chooses to apply harmonic potential. I am keeping the center layer of slab position restraint.


pull                    = yes
pull_ncoords            = 1         
pull_ngroups            = 2         
pull-nstxout            = 1
pull_group1_name        = SLAB
pull_group2_name        = PROBE
pull_coord1_groups      = 1 2       
pull_coord1_type        = umbrella  
pull_coord1_geometry    = distance  
pull_coord1_dim         = N N Y     
pull_coord1_start       = yes
pull_coord1_rate        = 0.0      
pull_coord1_k           = 2000      

I am wondering if the choice of pull_coord1_groups = 1 2 or 2 1 has any effects on how pull-code chooses to apply harmonic potential.


If you’re applying an external potential that is a quadratic function of the distance between two groups, then the force acts on both groups - that’s Newton’s 3rd law, also easy to see if you use the chain rule to write the actual formula for forces. However, if the slab is restrained, then it obviously won’t be able to move a lot, even when there’s a force acting on it.

With a distance coordinate, there should be no difference in order - distance between A and B is the same as between B and A (that’s part of the definition of a distance metric). In case of projection along a vector, that might change the sign of the projection, although whether it actually does so depends on how the keywords are being parsed in Gromacs.

1 Like