#include <SwitchingFunction.h>
|
double | calculate (double x, double &df) const |
| Compute the switching function. More...
|
|
double | calculateSqr (double distance2, double &dfunc) const |
| Compute the switching function. More...
|
|
std::string | description () const |
| Returns a string with a description of the switching function. More...
|
|
double | get_d0 () const |
| Returns d0. More...
|
|
double | get_dmax () const |
| Return dmax. More...
|
|
double | get_dmax2 () const |
| Return dmax squared. More...
|
|
double | get_r0 () const |
| Returns r0. More...
|
|
void | set (const std::string &definition, std::string &errormsg) |
| Set an arbitrary switching function. More...
|
|
void | set (int nn, int mm, double r_0, double d_0) |
| Set a "rational" switching function. More...
|
|
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.
◆ 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)
◆ 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_dmax()
double PLMD::SwitchingFunction::get_dmax |
( |
| ) |
const |
◆ get_dmax2()
double PLMD::SwitchingFunction::get_dmax2 |
( |
| ) |
const |
◆ get_r0()
double PLMD::SwitchingFunction::get_r0 |
( |
| ) |
const |
◆ 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
◆ init
bool PLMD::SwitchingFunction::init =false |
|
private |
This is to check that switching function has been initialized.
The documentation for this class was generated from the following files: