dune-fem
2.4.1-rc
|
implementation of a Dune::Fem::LocalFunction on a FunctionSpace V restircted/prolongated from an other function space W. More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/function/localfunction/converter.hh>
Public Types | |
typedef ToNewDimRangeFunctionSpace< typename HostLocalFunction::FunctionSpaceType, dimRange >::Type | FunctionSpaceType |
typedef HostLocalFunction::EntityType | EntityType |
typedef FunctionSpaceType::DomainType | DomainType |
typedef FunctionSpaceType::RangeType | RangeType |
typedef FunctionSpaceType::JacobianRangeType | JacobianRangeType |
typedef FunctionSpaceType::HessianRangeType | HessianRangeType |
typedef FunctionSpaceType::DomainFieldType | DomainFieldType |
typedef FunctionSpaceType::RangeFieldType | RangeFieldType |
Public Member Functions | |
LocalFunctionConverter (const HostLocalFunction &hostLocalFunction, const Converter &converter=Converter()) | |
LocalFunctionConverter (HostLocalFunction &&hostLocalFunction, const Converter &converter=Converter()) | |
template<class Point > | |
void | evaluate (const Point &p, RangeType &ret) const |
template<class Point > | |
void | jacobian (const Point &p, JacobianRangeType &jac) const |
template<class Point > | |
void | hessian (const Point &p, HessianRangeType &hes) const |
template<class Quadrature , class Vector > | |
void | evaluateQuadrature (const Quadrature &quad, Vector &vector) const |
int | order () const |
const EntityType & | entity () const |
void | init (const EntityType &entity) |
Static Public Attributes | |
static const int | dimRange = decltype( std::declval< Converter >() ( std::declval< HostRangeType >() ) ) ::dimension |
static const int | dimDomain = FunctionSpaceType::dimDomain |
Protected Member Functions | |
template<class QuadratureType , class VectorType > | |
void | evaluateQuadratureImp (const QuadratureType &quadrature, VectorType &values, const RangeType &) const |
template<class QuadratureType , class VectorType > | |
void | evaluateQuadratureImp (const QuadratureType &quadrature, VectorType &values, const JacobianRangeType &) const |
Protected Attributes | |
Converter | converter_ |
implementation of a Dune::Fem::LocalFunction on a FunctionSpace V restircted/prolongated from an other function space W.
The HostLocalFunction is assumed to fulfill the LocalFunctioninterface. Basically the following functions are implemented on the HostLocalFunction:
The template paramter Converter, is used to get the restriction/prolongation onto the space V. Converter is expected to provide the method {Hessian,Jacobian,.}RangeType converter( Host{Hessian,Jacobian,. }RangeType ); which does the acctual mapping onto V. The dimension of the new Range is obtained from the method Convertor::operator( HostRangeType )::dimension.
Users may prescribe how the parameter localFunction is stored by providing a fourth template parameter, the storage policy. Further informations on the storage policy can be found in the file dune/fem/function/common/instationary.hh.
The free-standing function
may be used to conveniently create a new instance of a LocalFunctionConverter. Use
to create an converted local function.
HostLocalFunction | original local function |
Converter | structure which provides the restirction/prolongation from W to V |
StoragePolicy | storage policy |
typedef FunctionSpaceType::DomainFieldType Dune::Fem::LocalFunctionConverter< HostLocalFunction, Converter, Storage >::DomainFieldType |
typedef FunctionSpaceType::DomainType Dune::Fem::LocalFunctionConverter< HostLocalFunction, Converter, Storage >::DomainType |
typedef HostLocalFunction::EntityType Dune::Fem::LocalFunctionConverter< HostLocalFunction, Converter, Storage >::EntityType |
typedef ToNewDimRangeFunctionSpace< typename HostLocalFunction::FunctionSpaceType, dimRange >::Type Dune::Fem::LocalFunctionConverter< HostLocalFunction, Converter, Storage >::FunctionSpaceType |
typedef FunctionSpaceType::HessianRangeType Dune::Fem::LocalFunctionConverter< HostLocalFunction, Converter, Storage >::HessianRangeType |
typedef FunctionSpaceType::JacobianRangeType Dune::Fem::LocalFunctionConverter< HostLocalFunction, Converter, Storage >::JacobianRangeType |
typedef FunctionSpaceType::RangeFieldType Dune::Fem::LocalFunctionConverter< HostLocalFunction, Converter, Storage >::RangeFieldType |
typedef FunctionSpaceType::RangeType Dune::Fem::LocalFunctionConverter< HostLocalFunction, Converter, Storage >::RangeType |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
static |
|
static |