ParMooN
 All Classes Functions Variables Friends Pages
BF_N_H_RT0_3D.h
1 // ***********************************************************************
2 // Raviart-Thomas element of zero-th order on hexahedra, 3D
3 // ***********************************************************************
4 
5 static void N_H_RT0_3D_Funct(double xi, double eta, double zeta,
6  double *values)
7 {
8  // first component
9  values[0] = 0;
10  values[1] = 0;
11  values[2] = 0.125*(xi+1);
12  values[3] = 0;
13  values[4] = 0.125*(xi-1);
14  values[5] = 0;
15 
16  // second component
17  values[6] = 0;
18  values[7] = 0.125*(eta-1);
19  values[8] = 0;
20  values[9] = 0.125*(eta+1);
21  values[10] = 0;
22  values[11] = 0;
23 
24  // third component
25  values[12] = 0.125*(zeta-1);
26  values[13] = 0;
27  values[14] = 0;
28  values[15] = 0;
29  values[16] = 0;
30  values[17] = 0.125*(zeta+1);
31 }
32 
33 static void N_H_RT0_3D_DeriveXi(double xi, double eta, double zeta,
34  double *values)
35 {
36  // first component
37  values[0] = 0;
38  values[1] = 0;
39  values[2] = 0.125;
40  values[3] = 0;
41  values[4] = 0.125;
42  values[5] = 0;
43 
44  // second component
45  values[6] = 0;
46  values[7] = 0;
47  values[8] = 0;
48  values[9] = 0;
49  values[10] = 0;
50  values[11] = 0;
51 
52  // third component
53  values[12] = 0;
54  values[13] = 0;
55  values[14] = 0;
56  values[15] = 0;
57  values[16] = 0;
58  values[17] = 0;
59 }
60 
61 static void N_H_RT0_3D_DeriveEta(double xi, double eta, double zeta,
62  double *values)
63 {
64  // first component
65  values[0] = 0;
66  values[1] = 0;
67  values[2] = 0;
68  values[3] = 0;
69  values[4] = 0;
70  values[5] = 0;
71 
72  // second component
73  values[6] = 0;
74  values[7] = 0.125;
75  values[8] = 0;
76  values[9] = 0.125;
77  values[10] = 0;
78  values[11] = 0;
79 
80  // third component
81  values[12] = 0;
82  values[13] = 0;
83  values[14] = 0;
84  values[15] = 0;
85  values[16] = 0;
86  values[17] = 0;
87 }
88 
89 static void N_H_RT0_3D_DeriveZeta(double xi, double eta, double zeta,
90  double *values)
91 {
92  // first component
93  values[0] = 0;
94  values[1] = 0;
95  values[2] = 0;
96  values[3] = 0;
97  values[4] = 0;
98  values[5] = 0;
99 
100  // second component
101  values[6] = 0;
102  values[7] = 0;
103  values[8] = 0;
104  values[9] = 0;
105  values[10] = 0;
106  values[11] = 0;
107 
108  // third component
109  values[12] = 0.125;
110  values[13] = 0;
111  values[14] = 0;
112  values[15] = 0;
113  values[16] = 0;
114  values[17] = 0.125;
115 }
116 
117 static void N_H_RT0_3D_DeriveXiXi(double xi, double eta, double zeta,
118  double *values)
119 {
120  for(int i = 0; i < 18; i++)
121  values[i] = 0;
122 }
123 
124 static void N_H_RT0_3D_DeriveXiEta(double xi, double eta, double zeta,
125  double *values)
126 {
127  for(int i = 0; i < 18; i++)
128  values[i] = 0;
129 }
130 
131 static void N_H_RT0_3D_DeriveXiZeta(double xi, double eta, double zeta,
132  double *values)
133 {
134  for(int i = 0; i < 18; i++)
135  values[i] = 0;
136 }
137 
138 static void N_H_RT0_3D_DeriveEtaEta(double xi, double eta, double zeta,
139  double *values)
140 {
141  for(int i = 0; i < 18; i++)
142  values[i] = 0;
143 }
144 
145 static void N_H_RT0_3D_DeriveEtaZeta(double xi, double eta, double zeta,
146  double *values)
147 {
148  for(int i = 0; i < 18; i++)
149  values[i] = 0;
150 }
151 
152 static void N_H_RT0_3D_DeriveZetaZeta(double xi, double eta, double zeta,
153  double *values)
154 {
155  for(int i = 0; i < 18; i++)
156  values[i] = 0;
157 }
158 
159 TBaseFunct3D *BF_N_H_RT0_3D_Obj =
160 new TBaseFunct3D(6, BF_N_H_RT0_3D, BFUnitHexahedron,
161  N_H_RT0_3D_Funct, N_H_RT0_3D_DeriveXi,
162  N_H_RT0_3D_DeriveEta, N_H_RT0_3D_DeriveZeta,
163  N_H_RT0_3D_DeriveXiXi, N_H_RT0_3D_DeriveXiEta,
164  N_H_RT0_3D_DeriveXiZeta, N_H_RT0_3D_DeriveEtaEta,
165  N_H_RT0_3D_DeriveEtaZeta, N_H_RT0_3D_DeriveZetaZeta,
166  1, 1,
167  0, NULL, 3);
Definition: BaseFunct3D.h:27