dune-localfunctions
2.2.0
|
00001 #ifndef DUNE_LOCALFUNCTIONS_RAVIARTTHOMAS12DLOCALFINITEELEMENT_HH 00002 #define DUNE_LOCALFUNCTIONS_RAVIARTTHOMAS12DLOCALFINITEELEMENT_HH 00003 00004 #include <dune/geometry/type.hh> 00005 00006 #include "../common/localfiniteelementtraits.hh" 00007 #include "raviartthomas12d/raviartthomas12dlocalbasis.hh" 00008 #include "raviartthomas12d/raviartthomas12dlocalcoefficients.hh" 00009 #include "raviartthomas12d/raviartthomas12dlocalinterpolation.hh" 00010 00011 namespace Dune 00012 { 00013 00020 template<class D, class R> 00021 class RT12DLocalFiniteElement 00022 { 00023 00024 public: 00025 typedef LocalFiniteElementTraits<RT12DLocalBasis<D,R>,RT12DLocalCoefficients, 00026 RT12DLocalInterpolation<RT12DLocalBasis<D,R> > > Traits; 00027 00029 RT12DLocalFiniteElement () 00030 { 00031 gt.makeTriangle(); 00032 } 00033 00039 RT12DLocalFiniteElement (int s) : basis(s), interpolation(s) 00040 { 00041 gt.makeTriangle(); 00042 } 00043 00044 const typename Traits::LocalBasisType& localBasis () const 00045 { 00046 return basis; 00047 } 00048 00049 const typename Traits::LocalCoefficientsType& localCoefficients () const 00050 { 00051 return coefficients; 00052 } 00053 00054 const typename Traits::LocalInterpolationType& localInterpolation () const 00055 { 00056 return interpolation; 00057 } 00058 00059 GeometryType type () const 00060 { 00061 return gt; 00062 } 00063 00064 private: 00065 RT12DLocalBasis<D,R> basis; 00066 RT12DLocalCoefficients coefficients; 00067 RT12DLocalInterpolation<RT12DLocalBasis<D,R> > interpolation; 00068 GeometryType gt; 00069 }; 00070 } 00071 00072 #endif // DUNE_LOCALFUNCTIONS_RAVIARTTHOMAS12DLOCALFINITEELEMENT_HH