dune-localfunctions  2.2.0
rannacherturek2d.hh
Go to the documentation of this file.
00001 #ifndef DUNE_RANNACHER_TUREK2DLOCALFINITEELEMENT_HH
00002 #define DUNE_RANNACHER_TUREK2DLOCALFINITEELEMENT_HH
00003 
00004 #include<dune/geometry/type.hh>
00005 
00006 #include <dune/localfunctions/common/localfiniteelementtraits.hh>
00007 
00008 #include "rannacherturek2d/rannacherturek2dlocalbasis.hh"
00009 #include "rannacherturek2d/rannacherturek2dlocalcoefficients.hh"
00010 #include "rannacherturek2d/rannacherturek2dlocalinterpolation.hh"
00011 
00012 namespace Dune {
00013 
00014   template<class D, class R>
00015   class RannacherTurek2DLocalFiniteElement 
00016   {
00017     RannacherTurek2DLocalBasis<D,R> basis;
00018     RannacherTurek2DLocalCoefficients coefficients;
00019     RannacherTurek2DLocalInterpolation<RannacherTurek2DLocalBasis<D,R> > interpolation;
00020     GeometryType gt;
00021 
00022   public:
00023     typedef LocalFiniteElementTraits<
00024       RannacherTurek2DLocalBasis<D,R>,
00025       RannacherTurek2DLocalCoefficients,
00026       RannacherTurek2DLocalInterpolation<RannacherTurek2DLocalBasis<D,R> > > Traits;
00027 
00028     RannacherTurek2DLocalFiniteElement () { gt.makeQuadrilateral(); }
00029 
00030     const typename Traits::LocalBasisType& localBasis () const 
00031     {
00032       return basis;
00033     }
00034   
00035     const typename Traits::LocalCoefficientsType& localCoefficients () const 
00036     {
00037       return coefficients;
00038     }
00039   
00040     const typename Traits::LocalInterpolationType& localInterpolation () const 
00041     {
00042       return interpolation;
00043     }
00044     
00045     GeometryType type () const { return gt; }
00046   };
00047 
00048 } // namespace Dune
00049 
00050 #endif // DUNE_RANNACHER_TUREK2DLOCALFINITEELEMENT_HH