Go to the documentation of this file.
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 const int face =
ig.indexInInside();
33 auto face_refelem = referenceElement(
ig.geometry());
34 const auto ip = face_refelem.position(0,0);
35 if (
p.isNeumann(
ig,ip)) {
36 typename T::RowType empty;
37 trafo[lfs.dofIndex(face)]=empty;
45 #endif // DUNE_PDELAB_CONSTRAINTS_RAVIARTTHOMAS0_HH
@ doSkeleton
Definition: raviartthomas0.hh:19
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
@ doVolume
Definition: raviartthomas0.hh:19
const IG & ig
Definition: constraints.hh:148
Neumann Constraints construction, as needed for RT0.
Definition: raviartthomas0.hh:16
void boundary(const P &p, const IG &ig, const LFS &lfs, T &trafo) const
boundary constraints
Definition: raviartthomas0.hh:30
@ doProcessor
Definition: raviartthomas0.hh:18
@ doBoundary
Definition: raviartthomas0.hh:18
const P & p
Definition: constraints.hh:147