dune-localfunctions
2.2.0
|
00001 #ifndef DUNE_RAVIARTTHOMAS0Q3DLOCALFINITEELEMENT_HH 00002 #define DUNE_RAVIARTTHOMAS0Q3DLOCALFINITEELEMENT_HH 00003 00004 #include <dune/geometry/type.hh> 00005 00006 #include <dune/localfunctions/common/localfiniteelementtraits.hh> 00007 #include "raviartthomas0q3d/raviartthomas0q3dall.hh" 00008 00009 namespace Dune 00010 { 00011 template<class D, class R> 00012 class RT0Q3DLocalFiniteElement 00013 { 00014 public: 00015 typedef LocalFiniteElementTraits<RT0Q3DLocalBasis<D,R>,RT0Q3DLocalCoefficients, 00016 RT0Q3DLocalInterpolation<RT0Q3DLocalBasis<D,R> > > Traits; 00017 00018 RT0Q3DLocalFiniteElement () 00019 { 00020 gt.makeHexahedron(); 00021 } 00022 00023 RT0Q3DLocalFiniteElement (int s) : basis(s), interpolation(s) 00024 { 00025 gt.makeHexahedron(); 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 RT0Q3DLocalBasis<D,R> basis; 00050 RT0Q3DLocalCoefficients coefficients; 00051 RT0Q3DLocalInterpolation<RT0Q3DLocalBasis<D,R> > interpolation; 00052 GeometryType gt; 00053 }; 00054 } 00055 #endif