13#ifndef INTERPOLATION_POLYNOMIAL_COLLECTION_HH
14#define INTERPOLATION_POLYNOMIAL_COLLECTION_HH
27 template<
class InterpolationPolynomial,
template <
typename>
class PolynomialPolicy = Policy::ShapeFunctionSetPolicy>
29 :
private PolynomialPolicy<InterpolationPolynomial>
31 typedef typename InterpolationPolynomial::GridView GridView;
32 typedef typename GridView::template Codim<0>::Entity Entity;
33 typedef typename GridView::template Codim<0>::Iterator CellIterator;
34 typedef PolynomialPolicy<InterpolationPolynomial> Policy;
36 typedef typename InterpolationPolynomial::range_type
ValueType;
59 interpolationPolynomials(gridView.size(0))
61 CellIterator end = gridView.template end<0>();
62 for(CellIterator ci = gridView.template begin<0>(); ci!=end; ++ci) interpolationPolynomials[gridView.indexSet().index(*ci)] = Policy::init(*ci, gridView, params...);
76 return Policy::evaluate( interpolationPolynomials[ gridView.indexSet().index(cell) ], localCoordinate );
80 GridView
const& gridView;
81 std::vector<InterpolationPolynomial> interpolationPolynomials;
82 using PolynomialPolicy<InterpolationPolynomial>::init;
InterpolationPolynomialCollection(InterpolationPolynomialCollection const &)=delete
InterpolationPolynomial::range_type ValueType
ValueType value(Cell const &cell, Dune::FieldVector< typename Cell::Geometry::ctype, Cell::dimension > const &localCoordinate) const
Evaluation.
InterpolationPolynomialCollection(GridView const &gridView_, Parameters const &... params)
Constructor.
InterpolationPolynomialCollection & operator=(InterpolationPolynomialCollection const &)=delete
...for parameter dependent functionals, implements AbstractParameters
typename GridView::template Codim< 0 >::Entity Cell
The type of cells (entities of codimension 0) in the grid view.