dune-localfunctions
2.2.0
|
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