flat bottom position restraints work incorrectly with domain decomposition + OpenMP
when using something like this:
[ position_restraints ]
1 2 5 0.1 1000
then the run continues fine but it is clearly not doing things correctly with e.g. mdrun -dd 4 1 1 (whether explicit or by default). However, it appears to be OK with -dd 1 1 4 . Similarly, if position_restraints g=3 then -dd 4 1 1 would be the only way to get sensible dynamics.
The other way to get things to work correctly is e.g. -ntmpi 1 so there is no such decomposition.
Files attached can reproduce the problem within a minute of simulation on a single contemporary node. With g=5 and restraints on lipid phosphorus atoms, -dd 1 1 4 gives a sensible bilayer but -dd 4 1 1 gives lipids that move a lot in x and -dd 1 4 1 gives lipids that move a lot in y. You have to visualize the trajectory but it is an obvious macroscopic feature.
Not sure if this affects other geometries for flat bottom position restraints.
#2 Updated by Berk Hess over 3 years ago
- Status changed from New to In Progress
- Assignee set to Berk Hess
- Target version changed from 2016 to 5.1.3
This is a bug with fbposres+MPI+OpenMP, reference coordinates get mixed up. It's also an issue when the DD and fbposres dimensions match, but in your case it's less obvious, I guess because the z-coordinates are similar.
#5 Updated by Berk Hess over 3 years ago
- Subject changed from 1D flat bottom position restraints do not work when domain decomposition exists along any dimension other than the restrained dimension to flat bottom position restraints work incorrectly with domain decomposition + OpenMP
- Status changed from In Progress to Fix uploaded