Rosetta
|
Functions | |
template<class P > | |
void | helper (xyzVector< P > const &M, xyzVector< P > const &w, xyzVector< P > &F1, xyzVector< P > &F2) |
template<class P > | |
void | p1_theta_deriv (xyzVector< P > const &p1, xyzVector< P > const &p2, xyzVector< P > const &p3, xyzVector< P > &F1, xyzVector< P > &F2) |
template<class P > | |
void | x_and_dtheta_dx (xyzVector< P > const &v1, xyzVector< P > const &v2, P const n1, P const n2, P &x, P &dtheta_dx) |
template<class P > | |
void | p1_theta_deriv (xyzVector< P > const &p1, xyzVector< P > const &v1, xyzVector< P > const &v2, P const n1, P const n2, P const x, P const dtheta_dx, xyzVector< P > &F1, xyzVector< P > &F2) |
template<class P > | |
void | angle_p1_deriv (xyzVector< P > const &p1, xyzVector< P > const &p2, xyzVector< P > const &p3, P &theta, xyzVector< P > &f1, xyzVector< P > &f2) |
compute f1/f2 atom derivative vectors for the first point defining an angle. Templated on the precision of the coordinates being represented. Returns the angle, theta, defined by p1->p2->p3, which should be used to evaluate dE_dtheta. dE_dtheta should then be multiplied into both derivative vectors that are returned. The values of the output variables f1 and f2 are overwritten. Theta is computed in radians. More... | |
template<class P > | |
void | angle_p2_deriv (xyzVector< P > const &p1, xyzVector< P > const &p2, xyzVector< P > const &p3, P &theta, xyzVector< P > &f1, xyzVector< P > &f2) |
compute f1/f2 atom derivative vectors for the middle point defining an angle. Templated on the precision of the coordinates being represented. Returns the angle, theta, defined by p1->p2->p3, which should be used to evaluate the dfunc. dE_dtheta should then be multiplied into both derivative vectors that are returned. The values of the output variables f1 and f2 are overwritten. Theta is computed in radians. More... | |
template<class P > | |
void | angle_p1_p2_p3_deriv (xyzVector< P > const &p1, xyzVector< P > const &p2, xyzVector< P > const &p3, P &theta, xyzVector< P > &f1_p1, xyzVector< P > &f2_p1, xyzVector< P > &f1_p2, xyzVector< P > &f2_p2, xyzVector< P > &f1_p3, xyzVector< P > &f2_p3) |
template<class P > | |
void | helper (xyzVector< P > const &M, xyzVector< P > const &v, xyzVector< P > const &w, xyzVector< P > &F1, xyzVector< P > &F2) |
template<class P > | |
void | dihedral_deriv_second (xyzVector< P > const &p1, xyzVector< P > const &p2, xyzVector< P > const &p3, xyzVector< P > const &p4, P x, P &theta, xyzVector< P > &F1, xyzVector< P > &F2) |
Whether computing the f1/f2 derivatives for a function of a dihedral for the end points (p1 or p4) or the middle points (p2 or p3), the second half of the computation is the same. This "second" function expects the F1 and F2 arrays to have been partially computed, as well as the cosine of the angle theta. It scales the F1 and F2 vectors by dtheta_dthetaU * dthetaU_dx. More... | |
template<class P > | |
void | dihedral_p1_cosine_deriv_first (xyzVector< P > const &p1, xyzVector< P > const &p2, xyzVector< P > const &p3, xyzVector< P > const &p4, P &x, bool &colinearity_flag, xyzVector< P > &F1, xyzVector< P > &F2) |
The first half of the computation of the f1/f2 derivatives for an end point of a dihedral. The values in the output-parameter vectors F1 and F2 are overwritten. The cosine of the dihedral theta is returned in the output parameter x. More... | |
template<class P > | |
void | dihedral_p1_cosine_deriv (xyzVector< P > const &p1, xyzVector< P > const &p2, xyzVector< P > const &p3, xyzVector< P > const &p4, P &theta, xyzVector< P > &f1, xyzVector< P > &f2) |
compute f1/f2 atom derivative vectors for one of the two end points defining a dihedral angle for some function F. Templated on the precision of the coordinates being represented. Returns the dihedral angle, theta, defined by p1->p2->p3->p4, which should be used to evaluate the derivative of the function F. dF_dtheta should then be multiplied into both derivative vectors that are returned. The values of the output variables f1 and f2 are overwritten. Theta is computed in radians. More... | |
template<class P > | |
void | dihedral_p2_cosine_deriv_first (xyzVector< P > const &p1, xyzVector< P > const &p2, xyzVector< P > const &p3, xyzVector< P > const &p4, P &x, bool &colinearity_flag, xyzVector< P > &F1, xyzVector< P > &F2) |
The first half of the computation of the f1/f2 derivatives for a central point of a dihedral. The values in the output-parameter vectors F1 and F2 are overwritten. The cosine of the dihedral theta is returned in the output parameter x. More... | |
template<class P > | |
void | dihedral_p2_cosine_deriv (xyzVector< P > const &p1, xyzVector< P > const &p2, xyzVector< P > const &p3, xyzVector< P > const &p4, P &theta, xyzVector< P > &f1, xyzVector< P > &f2) |
compute f1/f2 atom derivative vectors for one of the two middle points defining a dihedral angle for some function F. Templated on the precision of the coordinates being represented. Returns the dihedral angle, theta, defined by p1->p2->p3->p4, which should be used to evaluate the derivative of the function F. dF_dtheta should then be multiplied into both derivative vectors that are returned. The values of the output variables f1 and f2 are overwritten. Theta is computed in radians. More... | |
template<class P > | |
void | distance_f1_f2_deriv (xyzVector< P > const &p1, xyzVector< P > const &p2, P &distance, xyzVector< P > &f1, xyzVector< P > &f2) |
Compute the f1/f2 derivative vectors for point p1 for a function F of the distance between p1 and p2. This function returns the distance which should be used to evaluate dF_ddist. dF_ddist should then be multiplied into both f1 and f2. The values of the output variables f1 and f2 are overwritten. More... | |
|
inline |
compute f1/f2 atom derivative vectors for the first point defining an angle. Templated on the precision of the coordinates being represented. Returns the angle, theta, defined by p1->p2->p3, which should be used to evaluate dE_dtheta. dE_dtheta should then be multiplied into both derivative vectors that are returned. The values of the output variables f1 and f2 are overwritten. Theta is computed in radians.
Definition at line 282 of file angle_deriv.hh.
References numeric::arccos(), utility::io::oc::cout, numeric::dot(), numeric::xyzVector< typename >::length(), test.Workshop4test::P, p1_theta_deriv(), and loops_kic::tol.
|
inline |
useful for computing all three f1/f2 derivative vectors simultaneously. Basically a small refactoring / copy and pasting of the above code.
Definition at line 403 of file angle_deriv.hh.
References numeric::arccos(), numeric::dot(), numeric::xyzVector< typename >::length(), test.Workshop4test::P, p1_theta_deriv(), loops_kic::tol, and x_and_dtheta_dx().
|
inline |
compute f1/f2 atom derivative vectors for the middle point defining an angle. Templated on the precision of the coordinates being represented. Returns the angle, theta, defined by p1->p2->p3, which should be used to evaluate the dfunc. dE_dtheta should then be multiplied into both derivative vectors that are returned. The values of the output variables f1 and f2 are overwritten. Theta is computed in radians.
Definition at line 339 of file angle_deriv.hh.
References ObjexxFCL::abs(), numeric::arccos(), numeric::cross(), numeric::dot(), numeric::xyzVector< typename >::length(), test.Workshop4test::P, p1_theta_deriv(), and loops_kic::tol.
|
inline |
Whether computing the f1/f2 derivatives for a function of a dihedral for the end points (p1 or p4) or the middle points (p2 or p3), the second half of the computation is the same. This "second" function expects the F1 and F2 arrays to have been partially computed, as well as the cosine of the angle theta. It scales the F1 and F2 vectors by dtheta_dthetaU * dthetaU_dx.
Definition at line 70 of file dihedral_deriv.hh.
References ObjexxFCL::abs(), numeric::arccos(), ASSERT_ONLY, numeric::dihedral_radians(), max(), min(), test.Workshop4test::P, and numeric::conversions::radians().
Referenced by dihedral_p1_cosine_deriv(), and dihedral_p2_cosine_deriv().
|
inline |
compute f1/f2 atom derivative vectors for one of the two end points defining a dihedral angle for some function F. Templated on the precision of the coordinates being represented. Returns the dihedral angle, theta, defined by p1->p2->p3->p4, which should be used to evaluate the derivative of the function F. dF_dtheta should then be multiplied into both derivative vectors that are returned. The values of the output variables f1 and f2 are overwritten. Theta is computed in radians.
compute f1/f2 atom derivative vectors for one of the two middle points defining a dihedral angle for some function F. Templated on the precision of the coordinates being represented. Returns the dihedral angle, theta, defined by p1->p2->p3->p4, which should be used to evaluate the derivative of the function F. dF_dtheta should then be multiplied into both derivative vectors that are returned. The values of the output variables f1 and f2 are overwritten. Theta is computed in radians.
Definition at line 188 of file dihedral_deriv.hh.
References dihedral_deriv_second(), dihedral_p1_cosine_deriv_first(), test.Workshop4test::P, and x().
|
inline |
The first half of the computation of the f1/f2 derivatives for an end point of a dihedral. The values in the output-parameter vectors F1 and F2 are overwritten. The cosine of the dihedral theta is returned in the output parameter x.
Definition at line 115 of file dihedral_deriv.hh.
References ObjexxFCL::abs(), numeric::cross(), numeric::dot(), demo.D060_Folding::f, helper(), numeric::xyzVector< typename >::length(), and test.Workshop4test::P.
Referenced by dihedral_p1_cosine_deriv().
|
inline |
compute f1/f2 atom derivative vectors for one of the two middle points defining a dihedral angle for some function F. Templated on the precision of the coordinates being represented. Returns the dihedral angle, theta, defined by p1->p2->p3->p4, which should be used to evaluate the derivative of the function F. dF_dtheta should then be multiplied into both derivative vectors that are returned. The values of the output variables f1 and f2 are overwritten. Theta is computed in radians.
Definition at line 314 of file dihedral_deriv.hh.
References dihedral_deriv_second(), dihedral_p2_cosine_deriv_first(), test.Workshop4test::P, and x().
|
inline |
The first half of the computation of the f1/f2 derivatives for a central point of a dihedral. The values in the output-parameter vectors F1 and F2 are overwritten. The cosine of the dihedral theta is returned in the output parameter x.
Definition at line 214 of file dihedral_deriv.hh.
References ObjexxFCL::abs(), numeric::cross(), numeric::dot(), demo.D060_Folding::f, helper(), numeric::xyzVector< typename >::length(), and test.Workshop4test::P.
Referenced by dihedral_p2_cosine_deriv().
|
inline |
Compute the f1/f2 derivative vectors for point p1 for a function F of the distance between p1 and p2. This function returns the distance which should be used to evaluate dF_ddist. dF_ddist should then be multiplied into both f1 and f2. The values of the output variables f1 and f2 are overwritten.
Definition at line 31 of file distance_deriv.hh.
References numeric::xyzVector< typename >::cross(), numeric::distance(), numeric::xyzVector< typename >::length(), test.Workshop4test::P, and p2.
|
inline |
Definition at line 46 of file dihedral_deriv.hh.
References numeric::cross().
|
inline |
Definition at line 49 of file angle_deriv.hh.
References numeric::cross(), and numeric::statistics::w().
Referenced by dihedral_p1_cosine_deriv_first(), dihedral_p2_cosine_deriv_first(), and p1_theta_deriv().
|
inline |
Definition at line 67 of file angle_deriv.hh.
References ObjexxFCL::abs(), ASSERT_ONLY, numeric::cross(), numeric::dot(), demo.D060_Folding::f, helper(), numeric::xyzVector< typename >::length(), max(), min(), numeric::xyzVector< typename >::normalized(), test.Workshop4test::P, numeric::conversions::radians(), and x().
Referenced by angle_p1_deriv(), angle_p1_p2_p3_deriv(), and angle_p2_deriv().
|
inline |
Definition at line 193 of file angle_deriv.hh.
References demo.D060_Folding::f, helper(), test.Workshop4test::P, and numeric::conversions::radians().
|
inline |
Definition at line 157 of file angle_deriv.hh.
References numeric::dot(), max(), min(), test.Workshop4test::P, and numeric::conversions::radians().
Referenced by angle_p1_p2_p3_deriv().