Dune Core Modules (2.8.0)

Dune::LocalInterpolationVirtualInterface< DomainType, RangeType > Class Template Referenceabstract

virtual base class for a local interpolation More...

#include <dune/localfunctions/common/virtualinterface.hh>

Public Types

using FunctionType = std::function< RangeType(DomainType)>
 type of function to interpolate
 
typedef RangeType::field_type CoefficientType
 type of the coefficient vector in the interpolate method
 

Public Member Functions

virtual void interpolate (const FunctionType &f, std::vector< CoefficientType > &out) const =0
 determine coefficients interpolating a given function More...
 
template<class F , std::enable_if_t< not std::is_base_of< FunctionType, F >::value, int > = 0>
void interpolate (const F &ff, std::vector< CoefficientType > &out) const
 determine coefficients interpolating a given function More...
 
template<class F , class C >
void interpolate (const F &ff, std::vector< C > &out) const
 determine coefficients interpolating a given function More...
 

Detailed Description

template<class DomainType, class RangeType>
class Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >

virtual base class for a local interpolation

This class defines the interface using pure virtual methods. It also contains the interpolate method with function type as template parameter.

Member Function Documentation

◆ interpolate() [1/3]

template<class DomainType , class RangeType >
template<class F , class C >
void Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >::interpolate ( const F &  ff,
std::vector< C > &  out 
) const
inline

determine coefficients interpolating a given function

Parameters
[in]ffFunction instance used to interpolate.
[out]outResulting coefficients vector.

References Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType >::interpolate().

◆ interpolate() [2/3]

template<class DomainType , class RangeType >
template<class F , std::enable_if_t< not std::is_base_of< FunctionType, F >::value, int > = 0>
void Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >::interpolate ( const F &  ff,
std::vector< CoefficientType > &  out 
) const
inline

determine coefficients interpolating a given function

Parameters
[in]ffFunction instance used to interpolate.
[out]outResulting coefficients vector.

References Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType >::interpolate().

◆ interpolate() [3/3]

template<class DomainType , class RangeType >
virtual void Dune::LocalInterpolationVirtualInterface< DomainType, RangeType >::interpolate ( const FunctionType f,
std::vector< CoefficientType > &  out 
) const
pure virtual

determine coefficients interpolating a given function

This is the pure virtual method taking a VirtualFunction.

Parameters
[in]fFunction instance used to interpolate.
[out]outResulting coefficients vector.

Implements Dune::LocalInterpolationVirtualInterfaceBase< DomainType, RangeType >.

Implemented in Dune::LocalInterpolationVirtualImp< DomainType, RangeType, Imp >, and Dune::LocalInterpolationVirtualImp< typename LocalBasisTraits::DomainType, typename LocalBasisTraits::RangeType, typename Imp::Traits::LocalInterpolationType >.


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 22, 23:30, 2024)