Feature #1377

Replica exchange if replicas not in ascendent T

Added by David van der Spoel over 7 years ago. Updated over 4 years ago.

Feedback wanted
Target version:


From gmx-developers

I found that when doing replica exchange, serious problems will happen if temperatures of replicas are not in ascent order. For example, the temperature of replica 1 is 500K while the one in replica 2 is 300K,
then even if the exchange request is denied(as shown in the log file), two copies are still exchanged.
I suggest to modify line 1258~1259:

if( destinations[i] != i)
bAnyReplicaExchanged = TRUE;


if( destinations[i] != re->ind[i])
bAnyReplicaExchanged = TRUE;

because if temperatures of replicas are not in ascent order, re->ind[i] is not equal to i, while in line 978, destinations[i] are initialized as re->ind[i].

redmine-1377.tgz (150 KB) redmine-1377.tgz Script to run remd in normal and reverse T ordering. David van der Spoel, 06/12/2014 05:28 PM

Associated revisions

Revision 4406c454 (diff)
Added by Erik Lindahl over 6 years ago

Disabled replica exchange when T not in order

There are issues when the replica property is not increasing
with the replica index. This patch has a partial fix. But since
there are still issues, unordered replicas now lead to a fatal error.

Fixes #1377.

Change-Id: I272d9831df85fdc18c1b2fe5724cbfc06e73444e


#1 Updated by Gerrit Code Review Bot over 6 years ago

Gerrit received a related patchset '1' for Issue #1377.
Uploader: Erik Lindahl ()
Change-Id: I272d9831df85fdc18c1b2fe5724cbfc06e73444e
Gerrit URL:

#2 Updated by Erik Lindahl over 6 years ago

  • Status changed from New to Fix uploaded

David - please check this fix before the upcoming release if you can; you're probably the one of us with most REMD experience.

#3 Updated by David van der Spoel over 6 years ago

The attached script verifies that the error message about incorrect order of temperature works. It can be used for developing a better solution.

#4 Updated by David van der Spoel over 6 years ago

  • Tracker changed from Bug to Feature
  • Category set to mdrun
  • Status changed from Fix uploaded to Feedback wanted
  • Target version set to 5.x

Once is accepted, the problems associated with a non-ascending T range will be caught by mdrun. Therefore changing this to a feature request, since it would be nice if one could run

mdrun -replex -s *.tpr

#5 Updated by Erik Lindahl over 6 years ago

  • Status changed from Feedback wanted to Resolved
  • % Done changed from 0 to 100

#6 Updated by David van der Spoel over 6 years ago

  • Status changed from Resolved to Feedback wanted

Changing status again, due to my previous comment. We can of course decide not to implement the feature. No strong feelings there, but imagine that one wants to do a large REMD calculation with different reference T and P, it might be rather complicated to sort the tpr files in the right order then.

#7 Updated by Erik Lindahl over 6 years ago

  • Priority changed from Normal to Low

#8 Updated by Mark Abraham over 4 years ago

  • Target version deleted (5.x)

The general case of multi-dimensional replica exchange, or multiple replicas at a control-variable point needs a much more flexible implementation than either requiring sorting on the mdrun command line, or doing it internally. I would much prefer scrapping -multi in favour of -multidir (so the GROMACS code and user organization both become simpler), and an .mdp setting that names the eligible exchange partners somehow. This could be done via something like

exchange-variable = temperature
exchange-scheme = adjacent

for convenience.

Also available in: Atom PDF