Converted csettle() to use real/SimdReal template
commitb2226136c5a2ec0ffc36ea3dc4fb1e42028a11f1
authorBerk Hess <hess@kth.se>
Tue, 2 Feb 2016 09:38:11 +0000 (2 10:38 +0100)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Fri, 4 Mar 2016 15:32:19 +0000 (4 16:32 +0100)
tree154ccaf1f4b3e7393eca8596dabd783c5508a4b5
parent42455e034f6274dd625f7f69dce937c3e91b6aad
Converted csettle() to use real/SimdReal template

The csettle() routine for constraining coordinates has been converted
to call a template function that is instantiated with either real or
SimdReal. On Haswell this makes settle a factor 5 faster.
Added reorganized indices to the SETTLE data structure, these are set
by a new function settle_set_constraints analogous to LINCS.
Reorganized the SETTLE initialization.
The settle fatal error no longer report the atom index of (one of the)
problematic water molecule, but the pdb dumps are more useful anyhow.

Change-Id: I61d81ad8a0add6fe234f8c7b5b44dc8c7084ace9
src/gromacs/mdlib/constr.cpp
src/gromacs/mdlib/constr.h
src/gromacs/mdlib/csettle.cpp