- Home
- About DUNE
- Download
- Documentation
- Community
- Development
#include <dune/localfunctions/utility/polynomialbasis.hh>
Classes | |
struct | Convert |
struct | Convert< dummy, DomainVector > |
Public Types | |
typedef CM | CoefficientMatrix |
typedef CoefficientMatrix::Field | StorageField |
typedef LocalBasisTraits< D, dimension, FieldVector< D, dimension >, R, dimRange, FieldVector< R, dimRange > , FieldMatrix< R, dimRange, dimension > > | Traits |
typedef Evaluator::Basis | Basis |
typedef Evaluator::DomainVector | DomainVector |
Public Member Functions | |
PolynomialBasis (const Basis &basis, const CoefficientMatrix &coeffMatrix, unsigned int size) | |
const Basis & | basis () const |
const CoefficientMatrix & | matrix () 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. | |
void | evaluateJacobian (const typename Traits::DomainType &x, std::vector< typename Traits::JacobianType > &out) const |
Evaluate Jacobian of all shape functions. | |
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 Member Functions | |
PolynomialBasis (const PolynomialBasis &other) | |
PolynomialBasis & | operator= (const PolynomialBasis &) |
Protected Attributes | |
const Basis & | basis_ |
const CoefficientMatrix * | coeffMatrix_ |
Evaluator | eval_ |
unsigned int | order_ |
unsigned int | size_ |
This is the basis class for a ''polynomial'' basis, i.e., a basis consisting of linear combiniations of a underlying second basis set. Examples are standard polynomials where the underlying basis is given by the MonomialBasis class. The basis evaluation is given by the matrix vector multiplication between the coefficient matrix and the vector filled by evaluating the underlying basis set. This class is constructed using a reference of the underlying basis and the coefficient matrix. A specialization holding an instance of the coefficient matrix is provided by the class template< class Eval, class CM = SparseCoeffMatrix<typename Eval::Field,Eval::dimRange> > class PolynomialBasisWithMatrix;
B | Basis set with static const int dimension -> dimension of reference element typedef DomainVector -> coordinates in reference element int size(int order) const -> number of basis functions void evaluate( order, x, val ) const int order DomainVector x Container val | |
CM | stroage for coefficience with typedef Field -> field of coefficience static const int dimRange -> coeficience are of type FieldMatrix<Field,dimRange,dimRange> void mult( val, y ) Container val std::vector<RangeVector> y | |
Container | access to basis functions through forward iterator typedef value_type typedef const_iterator const_iterator begin() |
typedef Evaluator::Basis Dune::PolynomialBasis< Eval, CM, D, R >::Basis |
Reimplemented in Dune::PolynomialBasisWithMatrix< Eval, CM, D, R >.
typedef CM Dune::PolynomialBasis< Eval, CM, D, R >::CoefficientMatrix |
Reimplemented in Dune::PolynomialBasisWithMatrix< Eval, CM, D, R >.
typedef Evaluator::DomainVector Dune::PolynomialBasis< Eval, CM, D, R >::DomainVector |
typedef CoefficientMatrix::Field Dune::PolynomialBasis< Eval, CM, D, R >::StorageField |
typedef LocalBasisTraits<D,dimension,FieldVector<D,dimension>, R,dimRange,FieldVector<R,dimRange>, FieldMatrix<R,dimRange,dimension> > Dune::PolynomialBasis< Eval, CM, D, R >::Traits |
Dune::PolynomialBasis< Eval, CM, D, R >::PolynomialBasis | ( | const Basis & | basis, | |
const CoefficientMatrix & | coeffMatrix, | |||
unsigned int | size | |||
) | [inline] |
Dune::PolynomialBasis< Eval, CM, D, R >::PolynomialBasis | ( | const PolynomialBasis< Eval, CM, D, R > & | other | ) | [inline, protected] |
const Basis& Dune::PolynomialBasis< Eval, CM, D, R >::basis | ( | ) | const [inline] |
References Dune::PolynomialBasis< Eval, CM, D, R >::basis_.
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluate | ( | const DVector & | x, | |
F * | values | |||
) | const [inline] |
References Dune::PolynomialBasis< Eval, CM, D, R >::dimension, and Dune::field_cast().
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluate | ( | const DVector & | x, | |
RVector & | values | |||
) | const [inline] |
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluate | ( | const DomainVector & | x, | |
std::vector< FieldVector< Fy, dimRange > > & | values | |||
) | const [inline] |
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluate | ( | const DVector & | x, | |
RVector & | values | |||
) | const [inline] |
References Dune::PolynomialBasis< Eval, CM, D, R >::dimension, and Dune::field_cast().
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluate | ( | const DomainVector & | x, | |
F * | values | |||
) | const [inline] |
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluateFunction | ( | const typename Traits::DomainType & | x, | |
std::vector< typename Traits::RangeType > & | out | |||
) | const [inline] |
Evaluate all shape functions.
References Dune::PolynomialBasis< Eval, CM, D, R >::evaluate(), and Dune::PolynomialBasis< Eval, CM, D, R >::size().
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluateJacobian | ( | const typename Traits::DomainType & | x, | |
std::vector< typename Traits::JacobianType > & | out | |||
) | const [inline] |
Evaluate Jacobian of all shape functions.
References Dune::PolynomialBasis< Eval, CM, D, R >::jacobian(), and Dune::PolynomialBasis< Eval, CM, D, R >::size().
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluateSingle | ( | const DomainVector & | x, | |
std::vector< FieldVector< FieldVector< Fy, LFETensor< Fy, dimension, deriv >::size >, dimRange > > & | values | |||
) | const [inline] |
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluateSingle | ( | const DomainVector & | x, | |
Vector & | values | |||
) | const [inline] |
void Dune::PolynomialBasis< Eval, CM, D, R >::evaluateSingle | ( | const DomainVector & | x, | |
std::vector< FieldVector< LFETensor< Fy, dimension, deriv >, dimRange > > & | values | |||
) | const [inline] |
void Dune::PolynomialBasis< Eval, CM, D, R >::integrate | ( | std::vector< Fy > & | values | ) | const [inline] |
void Dune::PolynomialBasis< Eval, CM, D, R >::jacobian | ( | const DomainVector & | x, | |
std::vector< FieldMatrix< Fy, dimRange, dimension > > & | values | |||
) | const [inline] |
void Dune::PolynomialBasis< Eval, CM, D, R >::jacobian | ( | const DVector & | x, | |
RVector & | values | |||
) | const [inline] |
const CoefficientMatrix& Dune::PolynomialBasis< Eval, CM, D, R >::matrix | ( | ) | const [inline] |
PolynomialBasis& Dune::PolynomialBasis< Eval, CM, D, R >::operator= | ( | const PolynomialBasis< Eval, CM, D, R > & | ) | [protected] |
const unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::order | ( | ) | const [inline] |
References Dune::PolynomialBasis< Eval, CM, D, R >::order_.
const unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::size | ( | ) | const [inline] |
References Dune::PolynomialBasis< Eval, CM, D, R >::size_.
Referenced by Dune::PolynomialBasis< Eval, CM, D, R >::evaluate(), Dune::PolynomialBasis< Eval, CM, D, R >::evaluateFunction(), Dune::PolynomialBasis< Eval, CM, D, R >::evaluateJacobian(), Dune::PolynomialBasis< Eval, CM, D, R >::evaluateSingle(), Dune::PolynomialBasis< Eval, CM, D, R >::integrate(), and Dune::PolynomialBasis< Eval, CM, D, R >::jacobian().
const Basis& Dune::PolynomialBasis< Eval, CM, D, R >::basis_ [protected] |
Referenced by Dune::PolynomialBasis< Eval, CM, D, R >::basis().
const CoefficientMatrix* Dune::PolynomialBasis< Eval, CM, D, R >::coeffMatrix_ [protected] |
const unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::dimension = Evaluator::dimension [static] |
const unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::dimRange = Evaluator::dimRange*CoefficientMatrix::blockSize [static] |
Referenced by Dune::PolynomialBasis< Eval, CM, D, R >::evaluateSingle().
Evaluator Dune::PolynomialBasis< Eval, CM, D, R >::eval_ [mutable, protected] |
unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::order_ [protected] |
Referenced by Dune::PolynomialBasis< Eval, CM, D, R >::order().
unsigned int Dune::PolynomialBasis< Eval, CM, D, R >::size_ [protected] |
Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].