Rosetta 3.3
Namespaces | Functions
src/numeric/deriv/angle_deriv.hh File Reference

inline function for computing f1/f2 derivatives for a function of a distance More...

#include <numeric/xyzVector.hh>
#include <numeric/conversions.hh>

Namespaces

namespace  numeric
 

A 1D histogram based upon a map structure.


namespace  numeric::deriv

Functions

template<class P >
void numeric::deriv::helper (xyzVector< P > const &M, xyzVector< P > const &w, xyzVector< P > &F1, xyzVector< P > &F2)
template<class P >
void numeric::deriv::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 numeric::deriv::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 numeric::deriv::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 numeric::deriv::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.
template<class P >
void numeric::deriv::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.
template<class P >
void numeric::deriv::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)

Detailed Description

inline function for computing f1/f2 derivatives for a function of a distance

Author:
Phil Bradley did all the hard work deriving the math represented here.
Andrew Leaver-Fay copy-and-pasted Phil's code into this file from the AtomPairConstraint.cc file for general use.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines