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