preCICE v3.1.2
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
precice::mapping::CompactThinPlateSplinesC2 Class Reference

Radial basis function with compact support. More...

#include <BasisFunctions.hpp>

Inheritance diagram for precice::mapping::CompactThinPlateSplinesC2:
[legend]
Collaboration diagram for precice::mapping::CompactThinPlateSplinesC2:
[legend]

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 ()
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ CompactThinPlateSplinesC2()

precice::mapping::CompactThinPlateSplinesC2::CompactThinPlateSplinesC2 ( double supportRadius)
inlineexplicit

Definition at line 317 of file BasisFunctions.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ evaluate()

double precice::mapping::CompactThinPlateSplinesC2::evaluate ( double radius) const
inline

Definition at line 333 of file BasisFunctions.hpp.

Here is the call graph for this function:

◆ getFunctionParameters()

RadialBasisParameters precice::mapping::CompactThinPlateSplinesC2::getFunctionParameters ( )
inline

Definition at line 347 of file BasisFunctions.hpp.

◆ getSupportRadius()

double precice::mapping::CompactThinPlateSplinesC2::getSupportRadius ( ) const
inline

Definition at line 328 of file BasisFunctions.hpp.

◆ operator()()

PRECICE_HOST_DEVICE double precice::mapping::CompactThinPlateSplinesC2::operator() ( const double radius,
const RadialBasisParameters params ) const
inline

Definition at line 338 of file BasisFunctions.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ _params

RadialBasisParameters precice::mapping::CompactThinPlateSplinesC2::_params
private

Definition at line 354 of file BasisFunctions.hpp.

◆ _r_inv

double precice::mapping::CompactThinPlateSplinesC2::_r_inv
private

Definition at line 353 of file BasisFunctions.hpp.


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