Dune::C1BasisInterface< Imp, T > Class Template Reference

Interface for differentiable shape functions on a specific reference element. More...

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

Inheritance diagram for Dune::C1BasisInterface< Imp, T >:
Inheritance graph

List of all members.

Public Types

typedef T Traits
 Export type traits.

Public Member Functions

void evaluateJacobian (const typename Traits::DomainType &in, std::vector< typename Traits::JacobianType > &out) const
 Evaluate jacobian of all shape functions at given position.
template<typename C >
void evaluateJacobianCoeffs (const typename Traits::DomainType &in, const std::vector< C > &coeffs) const
 Evaluate jacobian with given coefficients at given position.
unsigned int size () const
 Number of shape functions.
void evaluateFunction (const typename Traits::DomainType &in, std::vector< typename Traits::RangeType > &out) const
 Evaluate all basis function at given position.
template<typename C >
Traits::RangeType evaluateCoeffs (const typename Traits::DomainType &in, const std::vector< C > &coeffs) const
 Evaluate basis with coefficients at given position.
unsigned int order () const
 Polynomial order of the shape functions.

Detailed Description

template<typename Imp, typename T = BasisTraits<Imp>>
class Dune::C1BasisInterface< Imp, T >

Interface for differentiable shape functions on a specific reference element.

This class represents a set of differentiable shape functions defined on one particular reference element. This interface returns global values.

Template Parameters:
Imp Implementation of the interface used via CRTP.
T Instance of C1LocalBasisTraits providing type information.

Member Typedef Documentation

template<typename Imp, typename T = BasisTraits<Imp>>
typedef T Dune::C1BasisInterface< Imp, T >::Traits

Export type traits.

Reimplemented from Dune::C0BasisInterface< Imp, T >.

Reimplemented in Dune::C1SimpleBasis< LB, Geo >.


Member Function Documentation

template<typename Imp, typename T = BasisTraits<Imp>>
template<typename C >
Traits::RangeType Dune::C0BasisInterface< Imp, T >::evaluateCoeffs ( const typename Traits::DomainType &  in,
const std::vector< C > &  coeffs 
) const [inline, inherited]

Evaluate basis with coefficients at given position.

Evaluates all shape functions at the given (local) position and return the (global) value of the sum weighted with some coefficients.

Note:
This is a default implementation which works by perfoming the weighted sum of the values returned by evaluateFunction().
Template Parameters:
C The type of the coefficients
Parameters:
[in] in Where to evaluate in local (reference element) coordinates.
[in] coeffs The coefficients.
Returns:
The resulting global value.
template<typename Imp, typename T = BasisTraits<Imp>>
void Dune::C0BasisInterface< Imp, T >::evaluateFunction ( const typename Traits::DomainType &  in,
std::vector< typename Traits::RangeType > &  out 
) const [inline, inherited]

Evaluate all basis function at given position.

Evaluates all shape functions at the given (local) position and returns the (global) values in a vector.

Parameters:
[in] in Where to evaluate in local (reference element) coordinates.
[out] out The resulting global values, one per shape function.

Reimplemented in Dune::C0SimpleBasis< LB >, and Dune::C1SimpleBasis< LB, Geo >.

template<typename Imp, typename T = BasisTraits<Imp>>
void Dune::C1BasisInterface< Imp, T >::evaluateJacobian ( const typename Traits::DomainType &  in,
std::vector< typename Traits::JacobianType > &  out 
) const [inline]

Evaluate jacobian of all shape functions at given position.

out[i][j][k] is $\partial_k \hat\phi_j^i $, when $\hat\phi^i $ is the i'th shape function. Note that this are the derivatives of the global values by the global coordinates, evaluated at local coordinates.

Parameters:
[in] in Where to evaluate in local coordinates.
[out] out The result, one jacobian per base function.

Reimplemented in Dune::C1SimpleBasis< LB, Geo >.

template<typename Imp, typename T = BasisTraits<Imp>>
template<typename C >
void Dune::C1BasisInterface< Imp, T >::evaluateJacobianCoeffs ( const typename Traits::DomainType &  in,
const std::vector< C > &  coeffs 
) const [inline]

Evaluate jacobian with given coefficients at given position.

out[j][k] is $\partial_k \hat f_j $, where $f$ is the function given by this basis and the coefficients. Note that this are the derivatives of the global values by the global coordinates, evaluated at local coordinates.

Note:
This is a default implementation which works by perfoming the weighted sum of the values returned by evaluateJacobian().
Template Parameters:
C The type of the coefficients
Parameters:
[in] in Where to evaluate in local (reference element) coordinates.
[in] coeffs The coefficients.
Returns:
The resulting global jacobian.
template<typename Imp, typename T = BasisTraits<Imp>>
unsigned int Dune::C0BasisInterface< Imp, T >::order (  )  const [inline, inherited]

Polynomial order of the shape functions.

Todo:
Gurke!

Reimplemented in Dune::C0SimpleBasis< LB >, and Dune::C1SimpleBasis< LB, Geo >.

template<typename Imp, typename T = BasisTraits<Imp>>
unsigned int Dune::C0BasisInterface< Imp, T >::size (  )  const [inline, inherited]

Number of shape functions.

Reimplemented in Dune::C0SimpleBasis< LB >, and Dune::C1SimpleBasis< LB, Geo >.


The documentation for this class was generated from the following file:
Generated on Sat Apr 24 11:15:35 2010 for dune-localfunctions by  doxygen 1.6.3