dune-localfunctions
2.2.0
|
00001 // -*- tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 // vi: set et ts=2 sw=2 sts=2: 00003 #ifndef DUNE_PYRAMID_P2_LOCALCOEFFICIENTS_HH 00004 #define DUNE_PYRAMID_P2_LOCALCOEFFICIENTS_HH 00005 00006 #include <cstddef> 00007 #include <vector> 00008 00009 #include <dune/localfunctions/common/localkey.hh> 00010 00011 namespace Dune 00012 { 00013 00020 class PyramidP2LocalCoefficients 00021 { 00022 public: 00024 PyramidP2LocalCoefficients () : li(14) 00025 { 00026 // Vertex shape functions 00027 li[0] = LocalKey(0,3,0); 00028 li[1] = LocalKey(1,3,0); 00029 li[2] = LocalKey(2,3,0); 00030 li[3] = LocalKey(3,3,0); 00031 li[4] = LocalKey(4,3,0); 00032 00033 // Edge shape functions 00034 li[5] = LocalKey(0,2,0); 00035 li[6] = LocalKey(1,2,0); 00036 li[7] = LocalKey(2,2,0); 00037 li[8] = LocalKey(3,2,0); 00038 li[9] = LocalKey(4,2,0); 00039 li[10] = LocalKey(5,2,0); 00040 li[11] = LocalKey(6,2,0); 00041 li[12] = LocalKey(7,2,0); 00042 00043 // base face shape function 00044 li[13] = LocalKey(0,1,0); 00045 } 00046 00048 std::size_t size () const 00049 { 00050 return 14; 00051 } 00052 00054 const LocalKey& localKey (std::size_t i) const 00055 { 00056 return li[i]; 00057 } 00058 00059 private: 00060 std::vector<LocalKey> li; 00061 }; 00062 00063 } 00064 00065 #endif