[gmx-users] indexing atoms *Altering code

toma0052 toma0052 at umn.edu
Fri Dec 1 00:01:05 CET 2006

     Thank you for the response.  Being that Fortran is much more my
language of choice than C, I was wondering if someone could point me in the
right direction as far as modifying the C code to do what I want.  It is my
understanding that an mdrun begins by making a neighbor list, computing the
forces, globally summing the forces, and then updating the positions and
velocities.  So I am assuming that, just after globally summing the forces,
I can run an if statement  over all of the solvent molecules testing
whether their z-coordinate is within certain bounds, and if so, simply add
Fsum = Fsum + Fext.  My question is, where do I do this?  Do I have to do
it in multiple files?  Where are those files stored in Gromacs?  Is it the
mdrun.h and force.h files that I need to modify?  Sorry if this should be
obvious, but again, my C skills are not the best.

Thank you,

On 29 Nov 2006, Mark Abraham wrote:
> toma0052 wrote:
> > Hello,
> >      I am wondering about a response I got a while ago about indexing
> > atoms.  I am not very familiar with awk, but it seems like a fairly
> > way to search through a .gro file and find the solvent molecules with a
> > particular z-coordinate range, as I need for my simulation.  My
> > however, concerns  implementing this into an md run.  I would like to
> > an acceleration to solvent molecules that are within a certain distance
> > from a lipid bilayer.  However, if the solvent molecules diffuse too
> > away during the md run, I no longer want them to have an acceleration. 
> > Therefore, it appears that at every time step I need to perform a check
> > see which solvent molecules are close enough to warrant an
> > So, is there a way that I can incorporate the awk file such that it
> > and creates a particular index group at every time step?  If not, is
> > some other way that I can check at each time step (or every several
> > steps) which solvent molecules have a particular z-coordinate and give
> > an acceleration?
> I presume you've read the relevant manual sections. If there's nothing 
> useful there, the only way to do something like this would be to get 
> inside the C code, loop over all solvent molecules after do_force to 
> check for their position, and then adjust the force on them accordingly.
> Mark
> _______________________________________________
> gmx-users mailing list    gmx-users at gromacs.org
> http://www.gromacs.org/mailman/listinfo/gmx-users
> Please don't post (un)subscribe requests to the list. Use the 
> www interface or send it to gmx-users-request at gromacs.org.
> Can't post? Read http://www.gromacs.org/mailing_lists/users.php

More information about the gromacs.org_gmx-users mailing list