dune-localfunctions  2.8.0
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 >:
Inheritance graph

Public Types

typedef CM CoefficientMatrix
 
typedef Base::Basis Basis
 
typedef CoefficientMatrix::Field StorageField
 
typedef LocalBasisTraits< double, dimension, FieldVector< double, dimension >, double, dimRange, FieldVector< double, dimRange >, FieldMatrix< double, dimRange, dimension > > Traits
 
typedef Evaluator::DomainVector DomainVector
 
using HessianFyType = FieldVector< FieldMatrix< Fy, dimension, dimension >, dimRange >
 
using HessianType = HessianFyType< double >
 

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
 
unsigned int order () 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...
 
void evaluateHessian (const typename Traits::DomainType &x, std::vector< HessianType > &out) const
 Evaluate Jacobian of all shape functions. More...
 
void partial (const std::array< unsigned int, dimension > &order, const typename Traits::DomainType &in, std::vector< typename Traits::RangeType > &out) const
 Evaluate partial derivatives of all shape functions. More...
 
void evaluate (const DomainVector &x, F *values) const
 
void evaluate (const DVector &x, F *values) const
 
void evaluate (const DVector &x, RVector &values) const
 
void evaluate (const DomainVector &x, std::vector< FieldVector< Fy, dimRange > > &values) const
 
void evaluate (const DVector &x, RVector &values) const
 
void evaluateSingle (const DomainVector &x, Vector &values) const
 
void evaluateSingle (const DomainVector &x, std::vector< FieldVector< FieldVector< Fy, LFETensor< Fy, dimension, deriv >::size >, dimRange > > &values) const
 
void evaluateSingle (const DomainVector &x, std::vector< FieldVector< LFETensor< Fy, dimension, deriv >, dimRange > > &values) const
 
void jacobian (const DomainVector &x, std::vector< FieldMatrix< Fy, dimRange, dimension > > &values) const
 
void jacobian (const DVector &x, RVector &values) const
 
void hessian (const DomainVector &x, std::vector< HessianFyType< Fy >> &values) const
 
void hessian (const DVector &x, HVector &values) const
 
void integrate (std::vector< Fy > &values) const
 

Static Public Attributes

static const unsigned int dimension
 
static const unsigned int dimRange
 

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

◆ Basis

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

◆ CoefficientMatrix

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

◆ DomainVector

typedef Evaluator::DomainVector Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::DomainVector
inherited

◆ HessianFyType

using Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::HessianFyType = FieldVector<FieldMatrix<Fy,dimension,dimension>,dimRange>
inherited

◆ HessianType

using Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::HessianType = HessianFyType<double >
inherited

◆ StorageField

typedef CoefficientMatrix::Field Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::StorageField
inherited

◆ Traits

typedef LocalBasisTraits<double ,dimension,FieldVector<double ,dimension>, double ,dimRange,FieldVector<double ,dimRange>, FieldMatrix<double ,dimRange,dimension> > Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::Traits
inherited

Constructor & Destructor Documentation

◆ PolynomialBasisWithMatrix()

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

◆ basis()

const Basis& Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::basis ( ) const
inlineinherited

◆ evaluate() [1/5]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluate ( const DomainVector x,
F *  values 
) const
inlineinherited

◆ evaluate() [2/5]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluate ( const DomainVector x,
std::vector< FieldVector< Fy, dimRange > > &  values 
) const
inlineinherited

◆ evaluate() [3/5]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluate ( const DVector &  x,
F *  values 
) const
inlineinherited

◆ evaluate() [4/5]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluate ( const DVector &  x,
RVector &  values 
) const
inlineinherited

◆ evaluate() [5/5]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluate ( const DVector &  x,
RVector &  values 
) const
inlineinherited

◆ evaluateFunction()

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluateFunction ( const typename Traits::DomainType x,
std::vector< typename Traits::RangeType > &  out 
) const
inlineinherited

Evaluate all shape functions.

◆ evaluateHessian()

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluateHessian ( const typename Traits::DomainType x,
std::vector< HessianType > &  out 
) const
inlineinherited

Evaluate Jacobian of all shape functions.

◆ evaluateJacobian()

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluateJacobian ( const typename Traits::DomainType x,
std::vector< typename Traits::JacobianType > &  out 
) const
inlineinherited

Evaluate Jacobian of all shape functions.

◆ evaluateSingle() [1/3]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluateSingle ( const DomainVector x,
std::vector< FieldVector< FieldVector< Fy, LFETensor< Fy, dimension, deriv >::size >, dimRange > > &  values 
) const
inlineinherited

◆ evaluateSingle() [2/3]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluateSingle ( const DomainVector x,
std::vector< FieldVector< LFETensor< Fy, dimension, deriv >, dimRange > > &  values 
) const
inlineinherited

◆ evaluateSingle() [3/3]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::evaluateSingle ( const DomainVector x,
Vector &  values 
) const
inlineinherited

◆ fill() [1/2]

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

◆ fill() [2/2]

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

◆ hessian() [1/2]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::hessian ( const DomainVector x,
std::vector< HessianFyType< Fy >> &  values 
) const
inlineinherited

◆ hessian() [2/2]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::hessian ( const DVector &  x,
HVector &  values 
) const
inlineinherited

◆ integrate()

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::integrate ( std::vector< Fy > &  values) const
inlineinherited

◆ jacobian() [1/2]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::jacobian ( const DomainVector x,
std::vector< FieldMatrix< Fy, dimRange, dimension > > &  values 
) const
inlineinherited

◆ jacobian() [2/2]

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::jacobian ( const DVector &  x,
RVector &  values 
) const
inlineinherited

◆ matrix()

const CoefficientMatrix& Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::matrix ( ) const
inlineinherited

◆ order()

unsigned int Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::order ( ) const
inlineinherited

◆ partial()

void Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::partial ( const std::array< unsigned int, dimension > &  order,
const typename Traits::DomainType in,
std::vector< typename Traits::RangeType > &  out 
) const
inlineinherited

Evaluate partial derivatives of all shape functions.

◆ size()

unsigned int Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::size ( ) const
inlineinherited

Member Data Documentation

◆ basis_

const Basis& Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::basis_
protectedinherited

◆ dimension

const unsigned int Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::dimension
staticinherited

◆ dimRange

const unsigned int Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::dimRange
staticinherited

◆ eval_

Evaluator Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::eval_
mutableprotectedinherited

◆ order_

unsigned int Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::order_
protectedinherited

◆ size_

unsigned int Dune::PolynomialBasis< Eval, SparseCoeffMatrix< typename Eval::Field, Eval::dimRange > , double , double >::size_
protectedinherited

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