3 #ifndef DUNE_DUAL_P1_LOCALINTERPOLATION_HH
4 #define DUNE_DUAL_P1_LOCALINTERPOLATION_HH
10 template<
int dim,
class LB>
15 template<
typename F,
typename C>
18 typename LB::Traits::RangeType y;
19 typename LB::Traits::DomainType x;
22 std::vector<C> p1Interpolation(dim+1);
25 for (
int i=0; i<dim; i++)
27 f.evaluate(x,y); p1Interpolation[0] = y;
30 for (
int i=0; i<dim; i++) {
31 for (
int j=0; j<dim; j++)
34 f.evaluate(x,y); p1Interpolation[i+1] = y;
40 for (
int i=0; i<dim+1; i++) {
41 out[i] = 2*p1Interpolation[i]/(dim+2) ;
43 for (
int j=0; j<i; j++)
44 out[i] += p1Interpolation[j]/(dim+2);
46 for (
int j=i+1; j<=dim; j++)
47 out[i] += p1Interpolation[j]/(dim+2);
void interpolate(const F &f, std::vector< C > &out) const
Local interpolation of a function.
Definition: dualp1localinterpolation.hh:16
Definition: brezzidouglasmarini1cube2dlocalbasis.hh:14
Definition: dualp1localinterpolation.hh:11