ensemble-averaged distance restraints is probably broken - Redmine #1117
This feature predates a lot of parallelism implementations and (IIRC) the REMD implementation (with which it shares the use of -multi), so the assumptions under which it was written are probably broken by now. I suspect, but cannot test, that it does not work with more than one process per simulation.
If this isn’t important functionality for anyone, it might not make the cut for 5.0
(from redmine: issue id 1117, created on 2013-01-13 by mark.j.abraham, closed on 2017-12-11)
- Relations:
- relates #1971 (closed)
- relates #1989 (closed)
- relates #408 (closed)
- relates #2029 (closed)
- parent #1500 (closed)
- Changesets:
- Revision 64600020 by Mark Abraham on 2013-01-13T23:21:57Z:
Updated code checks with distance restraints
Ensemble-averaged distance restraints require -multi, and it is
also reasonable to do REMD with distance restraints, which also
requires -multi. So checks for the ensemble-averaging case need
to be more sensitive to their context.
In fact, ensemble-averaging is probably functional only with PD and
one processor per system, since that was probably all that was
available when it was built.
Fixes #613, refs #1117
Change-Id: Ia6f1bb4eb82eab3c7c249638cd3a5a5d1f707132
- Revision c1364cf4 by Berk Hess on 2016-09-16T08:04:42Z:
Made distance restraints work with threads and DD
The NMR distance restraints use several buffers for summing distances
that were indexed based on the index of the thread+domain local ilist
force atoms. This gives incorrect results with OpenMP and/or domain
decomposition. Using the type index for the restraint and a domain-
local, but not thread-local index for the pair resolves these issues.
The are now only two limitations left:
* Time-averaged restraint don't work with DD.
* Multiple copies of molecules in the same system without ensemble
averaging does not work with DD.
Fixes #1117.
Fixes #1989.
Fixes #2029.
Change-Id: Ic51230aa19a4640caca29a7d7ff471e30a3d9f09