wrong values accumulated to dvdlambda in SHAKE with FE calcs - Redmine #2434
commit:513813b514 refactored bshakef() to remove the use of lam as a
temporary iteration variable. This was wrong, but worked fine for non-FE
calcs. FE calcs will have accumulated arbitrary values to dvdlambda.
This could have been prevented in many ways, including declaring the
original parameter as
real *const lagr
and having SHAKE tests that cover a wider scope than cshake().
*(from redmine: issue id 2434, created on 2018-03-02 by mark.j.abraham, closed on 2018-03-06)*
* Relations:
* relates #2423
* Changesets:
* Revision 33093601ff229ed8c8a40e73866a7ff351e8963b by Mark Abraham on 2018-03-06T13:07:48Z:
```
Fixed dvdlambda for SHAKE + FE
Garbage values have been accumulated to dvdlambda whenever SHAKE was
used.
Refactoring in 513813b514 removed the lam variable. Previously, it was
used as a temporary iteration variable over SHAKE blocks, but that
refactoring to use the main variable changed the logic of the
following loop.
Fixes #2434
Change-Id: Ia9642f50358ab31ec98f8317f7a1dcda8622a9f1
```
* Revision 17967ef521ab9df97b59e6e71997f8cc69916e79 by Berk Hess on 2019-05-23T13:50:45Z:
```
Fix SHAKE dH/dlambda contributions
The constraint contributions to dH/dlambda would be incorrect
with more than one SHAKE block.
Refs #2434 abd #2879
Change-Id: I0cb30a9f61893ce57d76bac34e7352fe307efe4e
```
issue