git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12650 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2014-10-28 19:53:17 +00:00
parent 7cea65198f
commit 51a148df16
18 changed files with 632 additions and 274 deletions

View File

@ -725,7 +725,7 @@ colvar::rmsd::rmsd (std::string const &conf)
return;
}
if (atoms.ref_pos_group != NULL) {
if (atoms.ref_pos_group != NULL && b_Jacobian_derivative) {
cvm::log ("The option \"refPositionsGroup\" (alternative group for fitting) was enabled: "
"Jacobian derivatives of the RMSD will not be calculated.\n");
b_Jacobian_derivative = false;
@ -788,10 +788,21 @@ colvar::rmsd::rmsd (std::string const &conf)
atoms.ref_pos = ref_pos;
atoms.center_ref_pos();
cvm::log ("This is a standard minimum RMSD, derivatives of the optimal rotation "
"will not be computed as they cancel out in the gradients.");
atoms.b_fit_gradients = false;
}
if (atoms.b_rotate) {
// TODO: finer-grained control of this would require exposing a
// "request_Jacobian_derivative()" method to the colvar, and the same
// from the colvar to biases
// TODO: this should not be enabled here anyway, as it is not specific of the
// component - instead it should be decided in a generic way by the atom group
// request the calculation of the derivatives of the rotation defined by the atom group
atoms.rot.request_group1_gradients (atoms.size());
// request derivatives of optimal rotation wrt reference coordinates for Jacobian:
// this is only required for ABF, but we do both groups here for better caching
atoms.rot.request_group2_gradients (atoms.size());
}
}