dune-localfunctions  2.2.1
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Dune::PolynomialBasisWithMatrix< Eval, CM, D, R > Class Template Reference

#include <dune/localfunctions/utility/polynomialbasis.hh>

Inheritance diagram for Dune::PolynomialBasisWithMatrix< Eval, CM, D, R >:
Dune::PolynomialBasis< Eval, CM, D, R >

Public Types

typedef CM CoefficientMatrix
 
typedef Base::Basis Basis
 
typedef CoefficientMatrix::Field StorageField
 
typedef LocalBasisTraits< D,
dimension, FieldVector< D,
dimension >, R, dimRange,
FieldVector< R, dimRange >
, FieldMatrix< R, dimRange,
dimension > > 
Traits
 
typedef Evaluator::DomainVector DomainVector
 

Public Member Functions

 PolynomialBasisWithMatrix (const Basis &basis)
 
template<class Matrix >
void fill (const Matrix &matrix)
 
template<class Matrix >
void fill (const Matrix &matrix, int size)
 
const Basisbasis () const
 
const CoefficientMatrixmatrix () const
 
const unsigned int order () const
 
const unsigned int size () const
 
void evaluateFunction (const typename Traits::DomainType &x, std::vector< typename Traits::RangeType > &out) const
 Evaluate all shape functions. More...
 
void evaluateJacobian (const typename Traits::DomainType &x, std::vector< typename Traits::JacobianType > &out) const
 Evaluate Jacobian of all shape functions. More...
 
template<unsigned int deriv, class F >
void evaluate (const DomainVector &x, F *values) const
 
template<unsigned int deriv, class DVector , class F >
void evaluate (const DVector &x, F *values) const
 
template<unsigned int deriv, class DVector , class RVector >
void evaluate (const DVector &x, RVector &values) const
 
template<class Fy >
void evaluate (const DomainVector &x, std::vector< FieldVector< Fy, dimRange > > &values) const
 
template<class DVector , class RVector >
void evaluate (const DVector &x, RVector &values) const
 
template<unsigned int deriv, class Vector >
void evaluateSingle (const DomainVector &x, Vector &values) const
 
template<unsigned int deriv, class Fy >
void evaluateSingle (const DomainVector &x, std::vector< FieldVector< FieldVector< Fy, LFETensor< Fy, dimension, deriv >::size >, dimRange > > &values) const
 
template<unsigned int deriv, class Fy >
void evaluateSingle (const DomainVector &x, std::vector< FieldVector< LFETensor< Fy, dimension, deriv >, dimRange > > &values) const
 
template<class Fy >
void jacobian (const DomainVector &x, std::vector< FieldMatrix< Fy, dimRange, dimension > > &values) const
 
template<class DVector , class RVector >
void jacobian (const DVector &x, RVector &values) const
 
template<class Fy >
void integrate (std::vector< Fy > &values) const
 

Static Public Attributes

static const unsigned int dimension = Evaluator::dimension
 
static const unsigned int dimRange = Evaluator::dimRange*CoefficientMatrix::blockSize
 

Protected Attributes

const Basisbasis_
 
Evaluator eval_
 
unsigned int order_
 
unsigned int size_
 

Detailed Description

template<class Eval, class CM = SparseCoeffMatrix<typename Eval::Field,Eval::dimRange>, class D = double, class R = double>
class Dune::PolynomialBasisWithMatrix< Eval, CM, D, R >

Specialized version of PolynomialBasis with FieldMatrix for matrix coefficience and std::vector for container type with FieldVector as value type. This class stores the coefficient matrix with can be constructed via the fill method

Member Typedef Documentation

template<class Eval , class CM = SparseCoeffMatrix<typename Eval::Field,Eval::dimRange>, class D = double, class R = double>
typedef Base::Basis Dune::PolynomialBasisWithMatrix< Eval, CM, D, R >::Basis
template<class Eval , class CM = SparseCoeffMatrix<typename Eval::Field,Eval::dimRange>, class D = double, class R = double>
typedef CM Dune::PolynomialBasisWithMatrix< Eval, CM, D, R >::CoefficientMatrix
template<class Eval , class CM , class D = double, class R = double>
typedef Evaluator::DomainVector Dune::PolynomialBasis< Eval, CM, D, R >::DomainVector
inherited
template<class Eval , class CM , class D = double, class R = double>
typedef CoefficientMatrix::Field Dune::PolynomialBasis< Eval, CM, D, R >::StorageField
inherited
template<class Eval , class CM , class D = double, class R = double>
typedef LocalBasisTraits<D,dimension,FieldVector<D,dimension>, R,dimRange,FieldVector<R,dimRange>, FieldMatrix<R,dimRange,dimension> > Dune::PolynomialBasis< Eval, CM, D, R >::Traits
inherited

Constructor & Destructor Documentation

template<class Eval , class CM = SparseCoeffMatrix<typename Eval::Field,Eval::dimRange>, class D = double, class R = double>
Dune::PolynomialBasisWithMatrix< Eval, CM, D, R >::PolynomialBasisWithMatrix ( const Basis basis)
inline

Member Function Documentation

template<class Eval , class CM , class D = double, class R = double>
const Basis& Dune::PolynomialBasis< Eval, CM, D, R >::basis ( ) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
template<unsigned int deriv, class F >
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluate ( const DomainVector x,
F *  values 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
template<unsigned int deriv, class DVector , class F >
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluate ( const DVector &  x,
F *  values 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
template<unsigned int deriv, class DVector , class RVector >
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluate ( const DVector &  x,
RVector &  values 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
template<class Fy >
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluate ( const DomainVector x,
std::vector< FieldVector< Fy, dimRange > > &  values 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
template<class DVector , class RVector >
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluate ( const DVector &  x,
RVector &  values 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluateFunction ( const typename Traits::DomainType x,
std::vector< typename Traits::RangeType > &  out 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluateJacobian ( const typename Traits::DomainType x,
std::vector< typename Traits::JacobianType > &  out 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
template<unsigned int deriv, class Vector >
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluateSingle ( const DomainVector x,
Vector &  values 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
template<unsigned int deriv, class Fy >
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluateSingle ( const DomainVector x,
std::vector< FieldVector< FieldVector< Fy, LFETensor< Fy, dimension, deriv >::size >, dimRange > > &  values 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
template<unsigned int deriv, class Fy >
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluateSingle ( const DomainVector x,
std::vector< FieldVector< LFETensor< Fy, dimension, deriv >, dimRange > > &  values 
) const
inlineinherited
template<class Eval , class CM = SparseCoeffMatrix<typename Eval::Field,Eval::dimRange>, class D = double, class R = double>
template<class Matrix >
void Dune::PolynomialBasisWithMatrix< Eval, CM, D, R >::fill ( const Matrix &  matrix)
inline
template<class Eval , class CM = SparseCoeffMatrix<typename Eval::Field,Eval::dimRange>, class D = double, class R = double>
template<class Matrix >
void Dune::PolynomialBasisWithMatrix< Eval, CM, D, R >::fill ( const Matrix &  matrix,
int  size 
)
inline
template<class Eval , class CM , class D = double, class R = double>
template<class Fy >
void Dune::PolynomialBasis< Eval, CM, D, R >::integrate ( std::vector< Fy > &  values) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
template<class Fy >
void Dune::PolynomialBasis< Eval, CM, D, R >::jacobian ( const DomainVector x,
std::vector< FieldMatrix< Fy, dimRange, dimension > > &  values 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
template<class DVector , class RVector >
void Dune::PolynomialBasis< Eval, CM, D, R >::jacobian ( const DVector &  x,
RVector &  values 
) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
const CoefficientMatrix& Dune::PolynomialBasis< Eval, CM, D, R >::matrix ( ) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
const unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::order ( ) const
inlineinherited
template<class Eval , class CM , class D = double, class R = double>
const unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::size ( ) const
inlineinherited

Member Data Documentation

template<class Eval , class CM , class D = double, class R = double>
const Basis& Dune::PolynomialBasis< Eval, CM, D, R >::basis_
protectedinherited
template<class Eval , class CM , class D = double, class R = double>
const unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::dimension = Evaluator::dimension
staticinherited
template<class Eval , class CM , class D = double, class R = double>
const unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::dimRange = Evaluator::dimRange*CoefficientMatrix::blockSize
staticinherited
template<class Eval , class CM , class D = double, class R = double>
Evaluator Dune::PolynomialBasis< Eval, CM, D, R >::eval_
mutableprotectedinherited
template<class Eval , class CM , class D = double, class R = double>
unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::order_
protectedinherited
template<class Eval , class CM , class D = double, class R = double>
unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::size_
protectedinherited

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