dune-localfunctions
2.7.0
|
Go to the documentation of this file.
3 #ifndef DUNE_DEFAULTBASISFACTORY_HH
4 #define DUNE_DEFAULTBASISFACTORY_HH
7 #include <dune/common/exceptions.hh>
30 template<
class PreBFactory,
31 class InterpolFactory,
32 unsigned int dim,
unsigned int dimR,
34 class PreBasisKeyExtractor = Identity >
37 static const unsigned int dimension = dim;
38 static const unsigned int dimRange = dimR;
42 typedef typename PreBasisFactory::Object
PreBasis;
52 template <
unsigned int dd,
class FF>
53 struct EvaluationBasisFactory
59 template<
class Topology >
62 const typename PreBasisFactory::Key preBasisKey = PreBasisKeyExtractor::apply(key);
63 const PreBasis *preBasis = PreBasisFactory::template create<Topology>( preBasisKey );
64 const Interpolation *interpol = InterpolationFactory::template create<Topology>( key );
67 const MonomialBasis *monomialBasis = MonomialBasisFactory::template create< Topology >( preBasis->order() );
71 basis->
fill( matrix );
73 InterpolationFactory::release(interpol);
74 PreBasisFactory::release(preBasis);
88 #endif // #ifndef DUNE_DEFAULTBASISFACTORY_HH
InterpolationFactory::Key Key
Definition: defaultbasisfactory.hh:59
void fill(const Matrix &matrix)
Definition: polynomialbasis.hh:353
static Object * create(const Key &key)
Definition: defaultbasisfactory.hh:68
PreBFactory PreBasisFactory
Definition: defaultbasisfactory.hh:49
MonomialBasisFactory::Object MonomialBasis
Definition: defaultbasisfactory.hh:54
Definition: bdfmcube.hh:15
static T apply(const T &t)
Definition: defaultbasisfactory.hh:16
PreBasisFactory::template EvaluationBasisFactory< dd, FF >::Type Type
Definition: defaultbasisfactory.hh:64
const typedef VirtualMonomialBasis< dimension, F > Object
Definition: monomialbasis.hh:821
StandardEvaluator< MonomialBasis > Evaluator
Definition: defaultbasisfactory.hh:55
PolynomialBasisWithMatrix< Evaluator, SparseCoeffMatrix< SF, dimRange > > Basis
Definition: defaultbasisfactory.hh:56
Definition: basisevaluator.hh:127
SF StorageField
Definition: defaultbasisfactory.hh:47
const typedef Basis Object
Definition: defaultbasisfactory.hh:58
Definition: basismatrix.hh:25
InterpolationFactory::Object Interpolation
Definition: defaultbasisfactory.hh:52
PreBasisFactory::Object PreBasis
Definition: defaultbasisfactory.hh:50
Definition: defaultbasisfactory.hh:13
CF ComputeField
Definition: defaultbasisfactory.hh:48
Definition: monomialbasis.hh:73
static void release(Object *object)
release the object returned by the create methods
Definition: defaultbasisfactory.hh:87
static const unsigned int dimRange
Definition: defaultbasisfactory.hh:46
InterpolFactory InterpolationFactory
Definition: defaultbasisfactory.hh:51
static const unsigned int dimension
Definition: defaultbasisfactory.hh:45
LagrangePointSetFactory::Key Key
Definition: lagrange/interpolation.hh:103
static void release(Object *object)
Definition: monomialbasis.hh:834
PreBasisFactory::template EvaluationBasisFactory< dim, SF >::Type MonomialBasisFactory
Definition: defaultbasisfactory.hh:53
Definition: defaultbasisfactory.hh:35
Definition: polynomialbasis.hh:333