dune-localfunctions  2.2.0
pk.hh
Go to the documentation of this file.
00001 // -*- tab-width: 4; indent-tabs-mode: nil -*-
00002 /* vim: set ai expandtab sw=4 ts=4: */
00003 #ifndef DUNE_PK_LOCALFINITEELEMENT_HH
00004 #define DUNE_PK_LOCALFINITEELEMENT_HH
00005 
00006 #include "p0.hh"
00007 #include "p1.hh"
00008 #include "pk1d.hh"
00009 #include "pk2d.hh"
00010 #include "pk3d.hh"
00011 
00012 namespace Dune
00013 {
00014 
00022     template<class D, class R, int d, int k>
00023     class PkLocalFiniteElement
00024     {
00025         public:
00026             PkLocalFiniteElement()
00027             {}
00028 
00035             PkLocalFiniteElement(const unsigned int vertexmap[k+1])
00036             {}
00037     };
00038 #if 0
00039 
00044     template<class D, class R>
00045     class PkLocalFiniteElement<D, R, 1, 1>
00046         : public P1LocalFiniteElement<D, R, 1>
00047     {
00048         public:
00049             PkLocalFiniteElement()
00050             {}
00051 
00052             PkLocalFiniteElement(const unsigned int vertexmap[2])
00053             {}
00054     };
00055 
00062     template<class D, class R>
00063     class PkLocalFiniteElement<D, R, 1, 0>
00064         : public P0LocalFiniteElement<D, R, 1>
00065     {
00066         public:
00067             PkLocalFiniteElement()
00068             : P0LocalFiniteElement<D,R,1>(GeometryType(0,1))
00069             {}
00070 
00071             PkLocalFiniteElement(const unsigned int vertexmap[2])
00072             {}
00073     };
00074 #endif
00075 
00081     template<class D, class R, int k>
00082     class PkLocalFiniteElement<D, R, 1, k>
00083         : public Pk1DLocalFiniteElement<D, R, k>
00084     {
00085         public:
00086             PkLocalFiniteElement()
00087             {}
00088 
00089             PkLocalFiniteElement(const unsigned int vertexmap[2]):
00090                 Pk1DLocalFiniteElement<D, R, k>(vertexmap)
00091             {}
00092     };
00093 
00100     template<class D, class R, int k>
00101     class PkLocalFiniteElement<D, R, 2, k>
00102         : public Pk2DLocalFiniteElement<D, R, k>
00103     {
00104         public:
00105             PkLocalFiniteElement()
00106             {}
00107 
00108             PkLocalFiniteElement(const unsigned int vertexmap[3]):
00109                 Pk2DLocalFiniteElement<D, R, k>(vertexmap)
00110             {}
00111     };
00112 
00119     template<class D, class R, int k>
00120     class PkLocalFiniteElement<D, R, 3, k>
00121         : public Pk3DLocalFiniteElement<D, R, k>
00122     {
00123         public:
00124             PkLocalFiniteElement()
00125             {}
00126 
00127             PkLocalFiniteElement(const unsigned int vertexmap[4]):
00128                 Pk3DLocalFiniteElement<D, R, k>(vertexmap)
00129             {}
00130     };
00131 
00132 }
00133 
00134 #endif