[gmx-users] mdrun in gmx 4.5.1: how to reprogram periodic boundary conditions?

Mark Abraham Mark.Abraham at anu.edu.au
Tue Nov 9 15:49:26 CET 2010

On 10/11/2010 1:32 AM, Adam Herbst wrote:
> Hi,
> I'd like to modify how the periodic boundary conditions are 
> implemented when simulating a box with mdrun (the md integrator). 
>  Specifically, with two lipid bilayer membranes in the box, I'd like 
> to make it possible for water molecules to move from the space between 
> the membranes to the space outside them.

I don't understand how that would work in concert with 3D PBC. It sounds 
like you want water to "tunnel" across the membrane...

>  I know that the function stack looks something like: main() [mdrun.c] 
> -> mdrunner() [runner.c] -> do_md() [md.c].  Also, it says in the 
> programmer's guide 
> (http://www.gromacs.org/Developer_Zone/Programming_Guide/Programmer's_Guide#home 
> <http://www.gromacs.org/Developer_Zone/Programming_Guide/Programmer%27s_Guide#home>) 
> that do_force() [sim_util.c] or dd_partition_system() [domdec.c] take 
> care of periodic boundary conditions, depending on whether MPI/domain 
> decomposition are enabled.  I verified with printf statements that the 
> do_force() function is being executed in every step of my simulation. 
>  And in the code for these functions I see things that look relevant, 
> but I can't seem to find exactly where it says that, e.g., an atom 
> going out one side of the box should come back in the other side.  Is 
> anyone familiar with this?  Thanks a lot,

PBC are only relevant where distances are being computed, so GROMACS 
only cares during (off the top of my head) domain decomposition, 
neighbourlist construction, bonded interactions, constraints, and maybe 
load-balancing. Admittedly, that's half the code... There's no "one true 
simulation cell" either, so there's no single place in the code that 
"takes care of PBC".


More information about the gromacs.org_gmx-users mailing list