5#ifndef DUNE_DEFAULTBASISFACTORY_HH
6#define DUNE_DEFAULTBASISFACTORY_HH
9#include <dune/common/exceptions.hh>
32 template<
class PreBFactory,
33 class InterpolFactory,
34 unsigned int dim,
unsigned int dimR,
36 class PreBasisKeyExtractor = Identity >
44 typedef typename PreBasisFactory::Object
PreBasis;
53 typedef typename InterpolationFactory::Key
Key;
54 template <
unsigned int dd,
class FF>
61 template< GeometryType::Id geometryId >
64 const typename PreBasisFactory::Key preBasisKey = PreBasisKeyExtractor::apply(key);
65 const PreBasis *preBasis = PreBasisFactory::template create<geometryId>( preBasisKey );
66 const Interpolation *interpol = InterpolationFactory::template create<geometryId>( key );
69 const MonomialBasis *monomialBasis = MonomialBasisFactory::template create< geometryId >( preBasis->order() );
73 basis->
fill( matrix );
75 InterpolationFactory::release(interpol);
76 PreBasisFactory::release(preBasis);
Definition bdfmcube.hh:18
Definition basisevaluator.hh:131
Definition basismatrix.hh:27
Definition defaultbasisfactory.hh:16
static T apply(const T &t)
Definition defaultbasisfactory.hh:18
Definition defaultbasisfactory.hh:38
InterpolationFactory::Object Interpolation
Definition defaultbasisfactory.hh:46
static const unsigned int dimRange
Definition defaultbasisfactory.hh:40
static void release(Object *object)
release the object returned by the create methods
Definition defaultbasisfactory.hh:81
CF ComputeField
Definition defaultbasisfactory.hh:42
PreBFactory PreBasisFactory
Definition defaultbasisfactory.hh:43
InterpolationFactory::Key Key
Definition defaultbasisfactory.hh:53
static const unsigned int dimension
Definition defaultbasisfactory.hh:39
static Object * create(const Key &key)
Definition defaultbasisfactory.hh:62
SF StorageField
Definition defaultbasisfactory.hh:41
MonomialBasisFactory::Object MonomialBasis
Definition defaultbasisfactory.hh:48
PreBasisFactory::Object PreBasis
Definition defaultbasisfactory.hh:44
const Basis Object
Definition defaultbasisfactory.hh:52
StandardEvaluator< MonomialBasis > Evaluator
Definition defaultbasisfactory.hh:49
InterpolFactory InterpolationFactory
Definition defaultbasisfactory.hh:45
PreBasisFactory::template EvaluationBasisFactory< dim, SF >::Type MonomialBasisFactory
Definition defaultbasisfactory.hh:47
PolynomialBasisWithMatrix< Evaluator, SparseCoeffMatrix< SF, dimRange > > Basis
Definition defaultbasisfactory.hh:50
Definition defaultbasisfactory.hh:56
PreBasisFactory::template EvaluationBasisFactory< dd, FF >::Type Type
Definition defaultbasisfactory.hh:58
Definition monomialbasis.hh:612
static void release(Object *object)
Definition monomialbasis.hh:769
Definition polynomialbasis.hh:348
void fill(const Matrix &matrix)
Definition polynomialbasis.hh:366