2 #ifndef DUNE_PDELAB_CONSTRAINTS_RAVIARTTHOMAS0_HH 3 #define DUNE_PDELAB_CONSTRAINTS_RAVIARTTHOMAS0_HH 5 #include<dune/typetree/typetree.hh> 7 #include<dune/common/exceptions.hh> 8 #include<dune/geometry/referenceelements.hh> 9 #include<dune/geometry/type.hh> 29 template<
typename P,
typename IG,
typename LFS,
typename T>
30 void boundary (
const P&
p,
const IG&
ig,
const LFS& lfs, T& trafo)
const 32 typedef typename IG::ctype DT;
33 const int dim = IG::dimension;
34 const int face = ig.indexInInside();
35 const Dune::ReferenceElement<DT,dim-1> &
36 face_refelem = Dune::ReferenceElements<DT,dim-1>::general(ig.geometry().type());
37 const FieldVector<DT, dim-1> ip = face_refelem.position(0,0);
38 if (p.isNeumann(ig,ip)) {
39 typename T::RowType empty;
40 trafo[lfs.dofIndex(face)]=empty;
48 #endif // DUNE_PDELAB_CONSTRAINTS_RAVIARTTHOMAS0_HH static const int dim
Definition: adaptivity.hh:83
Definition: raviartthomas0.hh:18
const IG & ig
Definition: constraints.hh:148
Definition: raviartthomas0.hh:19
For backward compatibility – Do not use this!
Definition: adaptivity.hh:27
void boundary(const P &p, const IG &ig, const LFS &lfs, T &trafo) const
boundary constraints
Definition: raviartthomas0.hh:30
Neumann Constraints construction, as needed for RT0.
Definition: raviartthomas0.hh:16
Definition: raviartthomas0.hh:18
Definition: raviartthomas0.hh:19
const P & p
Definition: constraints.hh:147