Feature #1377
Replica exchange if replicas not in ascendent T
Description
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;
into
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].
Associated revisions
History
#1 Updated by Gerrit Code Review Bot over 6 years ago
Gerrit received a related patchset '1' for Issue #1377.
Uploader: Erik Lindahl (erik@kth.se)
Change-Id: I272d9831df85fdc18c1b2fe5724cbfc06e73444e
Gerrit URL: https://gerrit.gromacs.org/3574
#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
- File redmine-1377.tgz redmine-1377.tgz added
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 https://gerrit.gromacs.org/#/c/3574/ 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
Applied in changeset 4406c454582db94df45f2d37d46acc8d092e10bf.
#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.
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