preCICE v3.1.2
|
Radial basis function with compact support. More...
#include <BasisFunctions.hpp>
Public Member Functions | |
CompactThinPlateSplinesC2 (double supportRadius) | |
double | getSupportRadius () const |
double | evaluate (double radius) const |
PRECICE_HOST_DEVICE double | operator() (const double radius, const RadialBasisParameters params) const |
RadialBasisParameters | getFunctionParameters () |
Private Attributes | |
double | _r_inv |
RadialBasisParameters | _params |
Additional Inherited Members | |
Static Public Member Functions inherited from precice::mapping::CompactSupportBase | |
static constexpr bool | hasCompactSupport () |
Static Public Member Functions inherited from precice::mapping::DefiniteFunction< true > | |
static constexpr bool | isStrictlyPositiveDefinite () |
Radial basis function with compact support.
To be used as template parameter for RadialBasisFctMapping. Takes the support radius (> 0.0) on construction.
Evaluates to: 1 - 30*rn^2 - 10*rn^3 + 45*rn^4 - 6*rn^5 - 60*rn^3 * log(rn), where rn is the radius r normalized over the support radius sr: rn = r/sr. To work around the issue of log(0), the equation is formulated differently in the last term.
Definition at line 314 of file BasisFunctions.hpp.
|
inlineexplicit |
|
inline |
|
inline |
Definition at line 347 of file BasisFunctions.hpp.
|
inline |
Definition at line 328 of file BasisFunctions.hpp.
|
inline |
|
private |
Definition at line 354 of file BasisFunctions.hpp.
|
private |
Definition at line 353 of file BasisFunctions.hpp.