dune-localfunctions  2.2.1
prismp2localcoefficients.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil -*-
2 #ifndef DUNE_PRISM_P2_LOCALCOEFFICIENTS_HH
3 #define DUNE_PRISM_P2_LOCALCOEFFICIENTS_HH
4 
5 #include <cstddef>
6 #include <vector>
7 
9 
10 namespace Dune
11 {
12 
20  {
21  public:
24  {
25  // Vertex shape functions
26  li[0] = LocalKey(0,3,0);
27  li[1] = LocalKey(1,3,0);
28  li[2] = LocalKey(2,3,0);
29  li[3] = LocalKey(3,3,0);
30  li[4] = LocalKey(4,3,0);
31  li[5] = LocalKey(5,3,0);
32 
33  // Edge shape functions
34  li[6] = LocalKey(0,2,0);
35  li[7] = LocalKey(1,2,0);
36  li[8] = LocalKey(2,2,0);
37  li[9] = LocalKey(3,2,0);
38  li[10] = LocalKey(4,2,0);
39  li[11] = LocalKey(5,2,0);
40  li[12] = LocalKey(6,2,0);
41  li[13] = LocalKey(7,2,0);
42  li[14] = LocalKey(8,2,0);
43 
44  // Quadrilateral sides shape functions
45  li[15] = LocalKey(0,1,0);
46  li[16] = LocalKey(1,1,0);
47  li[17] = LocalKey(2,1,0);
48  }
49 
51  std::size_t size () const
52  {
53  return 18;
54  }
55 
57  const LocalKey& localKey (std::size_t i) const
58  {
59  return li[i];
60  }
61 
62  private:
63  std::vector<LocalKey> li;
64  };
65 
66 }
67 
68 #endif