dune-localfunctions
2.2.0
|
00001 #ifndef DUNE_LOCALFUNCTIONS_RAVIARTTHOMAS1Q3DLOCALFINITEELEMENT_HH 00002 #define DUNE_LOCALFUNCTIONS_RAVIARTTHOMAS1Q3DLOCALFINITEELEMENT_HH 00003 00004 #include <dune/geometry/type.hh> 00005 00006 #include "../common/localfiniteelementtraits.hh" 00007 #include "raviartthomas1q3d/raviartthomas1q3dlocalbasis.hh" 00008 #include "raviartthomas1q3d/raviartthomas1q3dlocalcoefficients.hh" 00009 #include "raviartthomas1q3d/raviartthomas1q3dlocalinterpolation.hh" 00010 00011 namespace Dune 00012 { 00019 template<class D, class R> 00020 class RT1Q3DLocalFiniteElement 00021 { 00022 00023 public: 00024 typedef LocalFiniteElementTraits<RT1Q3DLocalBasis<D,R>,RT1Q3DLocalCoefficients, 00025 RT1Q3DLocalInterpolation<RT1Q3DLocalBasis<D,R> > > Traits; 00026 00028 RT1Q3DLocalFiniteElement () 00029 { 00030 gt.makeHexahedron(); 00031 } 00032 00038 RT1Q3DLocalFiniteElement (int s) : basis(s), interpolation(s) 00039 { 00040 gt.makeHexahedron(); 00041 } 00042 00043 const typename Traits::LocalBasisType& localBasis () const 00044 { 00045 return basis; 00046 } 00047 00048 const typename Traits::LocalCoefficientsType& localCoefficients () const 00049 { 00050 return coefficients; 00051 } 00052 00053 const typename Traits::LocalInterpolationType& localInterpolation () const 00054 { 00055 return interpolation; 00056 } 00057 00058 GeometryType type () const 00059 { 00060 return gt; 00061 } 00062 00063 private: 00064 RT1Q3DLocalBasis<D,R> basis; 00065 RT1Q3DLocalCoefficients coefficients; 00066 RT1Q3DLocalInterpolation<RT1Q3DLocalBasis<D,R> > interpolation; 00067 GeometryType gt; 00068 }; 00069 } 00070 #endif // DUNE_LOCALFUNCTIONS_RAVIARTTHOMAS1Q3DLOCALFINITEELEMENT_HH