3 #ifndef DUNE_RT02DLOCALINTERPOLATION_HH 4 #define DUNE_RT02DLOCALINTERPOLATION_HH 21 for (std::size_t i=0; i<sign_.size(); i++)
22 sign_[i] = (s[i]) ? -1.0 : 1.0;
29 n_[2] = {1.0/sqrt(2.0), 1.0/sqrt(2.0)};
30 c_[0] = ( 0.5*n_[0][0] - 1.0*n_[0][1]);
31 c_[1] = (-1.0*n_[1][0] + 0.5*n_[1][1]);
32 c_[2] = ( 0.5*n_[2][0] + 0.5*n_[2][1]);
35 template<
typename F,
typename C>
39 typename F::Traits::RangeType y;
43 for (
int i=0; i<3; i++)
46 out[i] = (y[0]*n_[i][0]+y[1]*n_[i][1])*sign_[i]/c_[i];
52 std::array<typename LB::Traits::RangeFieldType,3> sign_;
54 std::array<typename LB::Traits::DomainType,3> m_;
56 std::array<typename LB::Traits::DomainType,3> n_;
58 std::array<typename LB::Traits::RangeFieldType,3> c_;
RT02DLocalInterpolation(std::bitset< 3 > s=0)
Constructor with given set of edge orientations.
Definition: raviartthomas02dlocalinterpolation.hh:19
void interpolate(const F &f, std::vector< C > &out) const
Definition: raviartthomas02dlocalinterpolation.hh:36
Definition: brezzidouglasmarini1cube2dlocalbasis.hh:15
Definition: raviartthomas02dlocalinterpolation.hh:14