Closed aradi closed 2 years ago
@aradi thanks for reporting! Could it be because we implemented stretched (continuous) Gaussians #755 ?
Can you try to run 2.8.0 after setting export PLUMED_DP2CUTOFF_NOSTRETCH=yes
? If this reproduces the 2.7 calculation, then it is expected.
@GiovanniBussi Thanks for the super quick answer!
It seems, that if set that variable, it reproduces the old behavior. I have 3 quick questions/comments:
no
), it seems to reproduce the old behavior if the variable is set.Thanks in advance!
@GiovanniBussi Thanks for the super quick answer!
It seems, that if set that variable, it reproduces the old behavior. I have 3 quick questions/comments:
- It does not matter, what I set for this variable (I've also tried
no
), it seems to reproduce the old behavior if the variable is set.
Yes, it's expected, there's a simple getenv in the code. This env var is not even documented anywhere, we might remove it, I just used it during the transition for debugging.
- Which behavior is the recommended one? Is the new default behavior the correct one? In this case, we would recalculate our test suites accordingly.
2.8 is doing right. The Gaussians now are truncated and stretched. Before they were just truncated, with a small discontinuity. Technically it is a bug fix, but since it breaks reproducibility we preferred to only apply it to 2.8.
- Is this documented somewhere in the public space? I'd then add a link to it in our documentation, just in case users wonder, why they results are not reproducable with DFTB+ any more.
It's the first point in this changelog. In that document it is just mentioned as a breaking change, more details can be found by following the link to the GitHub issue.
Thanks in advance!
See also these links that I just found: https://github.com/PHOTOX/ABIN/pull/102 https://github.com/PHOTOX/ABIN/issues/83
Other people noticed it already
Thanks once more for the quick response!
Description
Using the attached minimal working example, I get different results in step 2, when I use version 2.7.3 and 2.8.0 of plumed2. Note, the example is in Fortran, but it uses directly the C-interface of plumed. (I was just to lazy to transfer it to a C code, it took me long enough to isolate it from DFTB+, where I discovered the deviance.)
As it was flagged up by our regression test system, I am wondering, which of the two results is the correct one?
How to reproduce
Compile and install the official release as distributed via GitHub, then:
This results in
The differences in the forces are around 1e-7, roughly at the edge of single precision, but that may be just by accident. Unfortunately, during an MD this quickly adds then up and causes significant differences.
System
I've tested, I get the same difference with the Conda packages as well.
plumed.dat.txt test_plumed.f90.txt