dune-localfunctions
2.1.1
|
00001 #ifndef DUNE_RAVIARTTHOMAS0Q2DLOCALFINITEELEMENT_HH 00002 #define DUNE_RAVIARTTHOMAS0Q2DLOCALFINITEELEMENT_HH 00003 00004 #include <dune/common/geometrytype.hh> 00005 00006 #include <dune/localfunctions/common/localfiniteelementtraits.hh> 00007 #include "raviartthomas0q2d/raviartthomas0q2dall.hh" 00008 00009 namespace Dune 00010 { 00011 template<class D, class R> 00012 class RT0Q2DLocalFiniteElement 00013 { 00014 public: 00015 typedef LocalFiniteElementTraits<RT0Q2DLocalBasis<D,R>,RT0Q2DLocalCoefficients, 00016 RT0Q2DLocalInterpolation<RT0Q2DLocalBasis<D,R> > > Traits; 00017 00018 RT0Q2DLocalFiniteElement () 00019 { 00020 gt.makeQuadrilateral(); 00021 } 00022 00023 RT0Q2DLocalFiniteElement (int s) : basis(s), interpolation(s) 00024 { 00025 gt.makeQuadrilateral(); 00026 } 00027 00028 const typename Traits::LocalBasisType& localBasis () const 00029 { 00030 return basis; 00031 } 00032 00033 const typename Traits::LocalCoefficientsType& localCoefficients () const 00034 { 00035 return coefficients; 00036 } 00037 00038 const typename Traits::LocalInterpolationType& localInterpolation () const 00039 { 00040 return interpolation; 00041 } 00042 00043 GeometryType type () const 00044 { 00045 return gt; 00046 } 00047 00048 private: 00049 RT0Q2DLocalBasis<D,R> basis; 00050 RT0Q2DLocalCoefficients coefficients; 00051 RT0Q2DLocalInterpolation<RT0Q2DLocalBasis<D,R> > interpolation; 00052 GeometryType gt; 00053 }; 00054 } 00055 #endif