IMP logo

IMP::atom::ForceSwitch Class Reference


Detailed Description

Smooth interaction scores by switching the derivatives (force switch).

This function leaves the scores unaffected for distances below or equal to min_distance, returns zero for distances above max_distance, and between the two thresholds smoothes the score such that its first derivatives drop linearly, i.e. the score is simply multiplied by

\[ \left\{ \begin{array}{ll} 1 & d \leq d_{min} \\ \frac{(d_{max} - d)^2 (d_{max} + 2d - 3d_{min})} {(d_{max} - d_{min})^3} & d_{min} < d \leq d_{max} \\ 0 & d > d_{max} \\ \end{array} \right. \]

where $d$ is the distance, and $d_{min}$ and $d_{max}$ are the thresholds set in the ForceSwitch constructor.

This behavior is roughly equivalent to CHARMM's force switch nonbonded interaction smoothing (which is also the smoothing mechanism used by MODELLER).

See also:
CoulombPairScore
Inheritance diagram for IMP::atom::ForceSwitch:

Inheritance graph
[legend]

Public Member Functions

 ForceSwitch (double min_distance, double max_distance)
virtual std::string get_type_name () const
virtual ::IMP::VersionInfo get_version_info () const
DerivativePair operator() (double score, double deriv, double distance) const
double operator() (double score, double distance) const

Friends

template<class T >
void IMP::internal::unref (T *)

The documentation for this class was generated from the following files:

Generated on Mon Mar 8 23:08:50 2010 for IMP by doxygen 1.5.8