[gmx-users] confout.gro contains PBC-broken molecules after EM in parallel with domain decomposition

chris.neale at utoronto.ca chris.neale at utoronto.ca
Sun Jan 10 00:16:44 CET 2010

Good idea Justin. I have posted as bug 386.

-- original message --

On 1/9/10 1:44 PM, chris.neale at utoronto.ca wrote:
> Hi Justin,
> I can confirm that I see that code snippet in my md.c code, although my
> tests indicate that this is not the end of the story.
> I have now taken the output .gro, ran it through trjconv -pbc mol and
> then ran mdrun again under a variety of conditions:
> 1. EM(steep) mdrun_mpi NP=8 -dd (BROKEN) *ran twice*
> 2. EM(steep) mdrun_mpi NP=8 -pd (whole)
> 3. EM(steep) mdrun NP=1 (whole)
> 4. MD mdrun_mpi NP=8 -dd (whole)
> 5. MD mdrun_mpi NP=8 -pd (whole)
> 6. MD mdrun NP=1 (whole)
> 7. EM(cg) mdrun_mpi NP=8 -dd (BROKEN)
> 8. EM(l-bfgs) mdrun_mpi NP=8 -dd (n/a)
> error: Cannot do parallel L-BFGS Minimization - yet.
> The tests above were with nsteps=500, so I ran one more steep EM with
> mdrun_mpi NP=8 -dd and found that confout.gro was indeed broken over PBC
> even with only a single step (nsteps=1).
> Justin: Can you confirm that you can run a steep EM under mdrun_mpi NP=8
> with domain decomposition and obtain a confout.gro that is not broken
> over PBC?

Indeed, you're quite right.  The few systems I had at hand when I  
posted earlier
were all proteins in water, so nothing was crossing PBC.  My lipid systems
indeed are still broken after EM.

It looks like the confout writing was fixed in mdrun.c, but perhaps  
not for the
minimization routines?  Would this be in minimize.c?  I tried looking through
the source a bit, but couldn't come up with a fix.  Too much of a novice :)
Maybe this one is worth a bugzilla?  Probably one of the developers could fix
this in about half a heartbeat.


> Thank you,
> Chris.
> On 1/9/10 11:25 AM, chris.neale at utoronto.ca wrote:
>> Hi Justin,
>> I just double checked and certainly the confout.gro from my EM run in
>> parallel with domain decomposition in mdrun is broken over periodic
>> boundaries.
>> I'm running gromacs-4.0.5 on a nehalem under openmpi. Here is my .mdp
>> file
> That's really weird. None of my 4.0.x runs have had that problem. Now, I
> am no
> C expert, but I found the following in md.c (taken from the 4.0.5 source):
> fprintf(stderr,"\nWriting final coordinates.\n");
> if (ir->ePBC != epbcNONE && !ir->bPeriodicMols && DOMAINDECOMP(cr)) {
> /* Make molecules whole only for confout writing */
> do_pbc_mtop(fplog,ir->ePBC,state->box,top_global,state_global->x);
> ...after which confout.gro is written.
> There are no such lines in the 4.0 source, so I think this was added
> over the
> course of later development.
> I don't know what's going on with your system(s); maybe we should
> continue any
> other discussion in a new thread, so we don't hijack this one :) There
> are also
> several entries in the list archive where users have spotted broken
> frames in
> the trajectory, but an intact confout.gro.
> -Justin


More information about the gromacs.org_gmx-users mailing list