![]() |
Rosetta
3.7
|
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.
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.
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.
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.
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.
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.
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.
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.
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.
References numeric::xyzVector< typename >::cross(), numeric::distance(), numeric::xyzVector< typename >::length(), test.Workshop4test::P, and p2.
|
inline |
References numeric::cross().
|
inline |
References numeric::cross(), and numeric::statistics::w().
Referenced by dihedral_p1_cosine_deriv_first(), dihedral_p2_cosine_deriv_first(), and p1_theta_deriv().
|
inline |
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 |
References demo.D060_Folding::f, helper(), test.Workshop4test::P, and numeric::conversions::radians().
|
inline |
References numeric::dot(), max(), min(), test.Workshop4test::P, and numeric::conversions::radians().
Referenced by angle_p1_p2_p3_deriv().