dune-localfunctions  2.2.0
pyramidp2localcoefficients.hh
Go to the documentation of this file.
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