Small class to compute switching functions.
More...
#include <SwitchingFunction.h>
Small class to compute switching functions.
Switching functions are created using set() and then can be used with function calculate() or calculateSqr(). Since this is typically computed on a distance vector, the second all (calculateSqr()) allows to skip the calculation of a square root in some case, thus potentially increasing performances.
◆ SwitchingFunction() [1/3]
| PLMD::SwitchingFunction::SwitchingFunction |
( |
| ) |
|
|
default |
◆ SwitchingFunction() [2/3]
◆ SwitchingFunction() [3/3]
◆ ~SwitchingFunction()
| PLMD::SwitchingFunction::~SwitchingFunction |
( |
| ) |
|
|
default |
◆ calculate()
| double PLMD::SwitchingFunction::calculate |
( |
double | x, |
|
|
double & | df ) const |
Compute the switching function.
Returns s(x). df will be set to the value of the derivative of the switching function _divided_by_x
◆ calculateSqr()
| double PLMD::SwitchingFunction::calculateSqr |
( |
double | distance2, |
|
|
double & | dfunc ) const |
Compute the switching function.
Returns \( s(\sqrt{x})\) . df will be set to the \( \frac{1}{\sqrt{x}}\frac{ds}{d\sqrt{x}}= 2 \frac{ds}{dx}\) (same as calculate()). The advantage is that in some case the expensive square root can be avoided (namely for rational functions, if nn and mm are even and d0 is zero)
◆ copyFunction()
◆ description()
| std::string PLMD::SwitchingFunction::description |
( |
| ) |
const |
Returns a string with a description of the switching function.
◆ get_d0()
| double PLMD::SwitchingFunction::get_d0 |
( |
| ) |
const |
◆ get_data()
Return the settings of the switching function.
◆ get_dmax()
| double PLMD::SwitchingFunction::get_dmax |
( |
| ) |
const |
◆ get_dmax2()
| double PLMD::SwitchingFunction::get_dmax2 |
( |
| ) |
const |
◆ get_r0()
| double PLMD::SwitchingFunction::get_r0 |
( |
| ) |
const |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ registerKeywords()
| void PLMD::SwitchingFunction::registerKeywords |
( |
Keywords & | keys | ) |
|
|
static |
◆ set() [1/2]
| void PLMD::SwitchingFunction::set |
( |
const std::string & | definition, |
|
|
std::string & | errormsg ) |
Set an arbitrary switching function.
Parse the string in definition and possibly returns errors in the errormsg string
◆ set() [2/2]
| void PLMD::SwitchingFunction::set |
( |
int | nn, |
|
|
int | mm, |
|
|
double | r_0, |
|
|
double | d_0 ) |
Set a "rational" switching function.
Notice that a d_max is set automatically to a value such that f(d_max)=0.00001.
◆ function
The documentation for this class was generated from the following files: