IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
|
Smooth interaction scores by switching the derivatives (force switch). More...
#include <IMP/atom/smoothing_functions.h>
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
\[ \begin{cases} 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{cases} \]
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).
Definition at line 72 of file smoothing_functions.h.
Public Member Functions | |
ForceSwitch (double min_distance, double max_distance) | |
virtual std::string | get_type_name () const override |
virtual ::IMP::VersionInfo | get_version_info () const override |
Get information about the module and version of the object. More... | |
double | operator() (double score, double distance) const override |
Smooth the score at a given distance. More... | |
DerivativePair | operator() (double score, double deriv, double distance) const override |
Smooth the score and its first derivative at a given distance. More... | |
Public Member Functions inherited from IMP::Object | |
virtual void | clear_caches () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 120 of file smoothing_functions.h.
|
overridevirtual |
Smooth the score at a given distance.
Implements IMP::atom::SmoothingFunction.
Definition at line 107 of file smoothing_functions.h.
|
overridevirtual |
Smooth the score and its first derivative at a given distance.
Implements IMP::atom::SmoothingFunction.
Definition at line 112 of file smoothing_functions.h.