ParMooN
 All Classes Functions Variables Friends Pages
BF_C_H_UL1_3DMeanValue.h
1 // ***********************************************************************
2 // Q1 + bubble element for LPS, conforming, 3D
3 // Author : Sashi
4 // History: 25.06.2011
5 // ***********************************************************************
6 
7 static void C_H_UL1_3D_Funct(double xi, double eta, double zeta,
8  double *values)
9 {
10 
11  double t1, t2, t3, t4, t7, t9, t12, t14, t15, t17, t18, t22,t23, t27, t31;
12 
13  t1 = 1.0-xi;
14  t2 = 1.0-eta;
15  t3 = t1*t2;
16  t4 = 1.0-zeta;
17  t7 = xi*xi;
18  t9 = eta*eta;
19  t12 = zeta*zeta;
20  t14 = (1.0-t7)*(1.0-t9)*(1.0-t12);
21  t15 = 0.4218750001384277*t14;
22  t17 = 1.0+xi;
23  t18 = t17*t2;
24  t22 = 1.0+eta;
25  t23 = t1*t22;
26  t27 = t17*t22;
27  t31 = 1.0+zeta;
28 
29  values[0] = 0.125*t3*t4-t15;
30  values[1] = 0.125*t18*t4-t15;
31  values[2] = 0.125*t23*t4-t15;
32  values[3] = 0.125*t27*t4-t15;
33  values[4] = 0.125*t3*t31-t15;
34  values[5] = 0.125*t18*t31-t15;
35  values[6] = 0.125*t23*t31-t15;
36  values[7] = 0.125*t27*t31-t15;
37  values[8] = 0.4218750002438965*t14;
38 }
39 
40 static void C_H_UL1_3D_DeriveXi(double xi, double eta, double zeta,
41  double *values)
42 {
43  double t1, t2, t3, t5, t8, t10, t11, t15,t16, t21, t22, t27;
44 
45  t1 = 1.0-eta;
46  t2 = 1.0-zeta;
47  t3 = t1*t2;
48  t5 = eta*eta;
49  t8 = zeta*zeta;
50  t10 = xi*(1.0-t5)*(1.0-t8);
51  t11 = 0.8437500002768554*t10;
52  t15 = 1.0+eta;
53  t16 = t15*t2;
54  t21 = 1.0+zeta;
55  t22 = t1*t21;
56  t27 = t15*t21;
57 
58  values[0] = -0.125*t3+t11;
59  values[1] = 0.125*t3+t11;
60  values[2] = -0.125*t16+t11;
61  values[3] = 0.125*t16+t11;
62  values[4] = -0.125*t22+t11;
63  values[5] = 0.125*t22+t11;
64  values[6] = -0.125*t27+t11;
65  values[7] = 0.125*t27+t11;
66  values[8] = -0.8437500004877929*t10;
67 
68 }
69 
70 static void C_H_UL1_3D_DeriveEta(double xi, double eta, double zeta,
71  double *values)
72 {
73  double t1,t2, t3, t5, t8,t10, t11, t13, t14, t21, t22,t25;
74 
75  t1 = 1.0-xi;
76  t2 = 1.0-zeta;
77  t3 = t1*t2;
78  t5 = xi*xi;
79  t8 = zeta*zeta;
80  t10 = (1.0-t5)*eta*(1.0-t8);
81  t11 = 0.8437500002768554*t10;
82  t13 = 1.0+xi;
83  t14 = t13*t2;
84  t21 = 1.0+zeta;
85  t22 = t1*t21;
86  t25 = t13*t21;
87 
88  values[0] = -0.125*t3+t11;
89  values[1] = -0.125*t14+t11;
90  values[2] = 0.125*t3+t11;
91  values[3] = 0.125*t14+t11;
92  values[4] = -0.125*t22+t11;
93  values[5] = -0.125*t25+t11;
94  values[6] = 0.125*t22+t11;
95  values[7] = 0.125*t25+t11;
96  values[8] = -0.8437500004877929*t10;
97 
98 }
99 
100 static void C_H_UL1_3D_DeriveZeta(double xi, double eta, double zeta,
101  double *values)
102 {
103  double t1, t2, t3, t5, t7, t10, t11,t13, t14, t17, t18, t21;
104 
105  t1 = 1.0-xi;
106  t2 = 1.0-eta;
107  t3 = t1*t2;
108  t5 = xi*xi;
109  t7 = eta*eta;
110  t10 = (1.0-t5)*(1.0-t7)*zeta;
111  t11 = 0.8437500002768554*t10;
112  t13 = 1.0+xi;
113  t14 = t13*t2;
114  t17 = 1.0+eta;
115  t18 = t1*t17;
116  t21 = t13*t17;
117 
118  values[0] = -0.125*t3+t11;
119  values[1] = -0.125*t14+t11;
120  values[2] = -0.125*t18+t11;
121  values[3] = -0.125*t21+t11;
122  values[4] = 0.125*t3+t11;
123  values[5] = 0.125*t14+t11;
124  values[6] = 0.125*t18+t11;
125  values[7] = 0.125*t21+t11;
126  values[8] = -0.8437500004877929*t10;
127 
128 }
129 
130 static void C_H_UL1_3D_DeriveXiXi(double xi, double eta, double zeta,
131  double *values)
132 {
133  double t1, t3, t5, t6;
134 
135  t1 = eta*eta;
136  t3 = zeta*zeta;
137  t5 = (1.0-t1)*(1.0-t3);
138  t6 = 0.8437500002768554*t5;
139 
140  values[0] = t6;
141  values[1] = t6;
142  values[2] = t6;
143  values[3] = t6;
144  values[4] = t6;
145  values[5] = t6;
146  values[6] = t6;
147  values[7] = t6;
148  values[8] = -0.8437500004877929*t5;
149 }
150 
151 static void C_H_UL1_3D_DeriveXiEta(double xi, double eta, double zeta,
152  double *values)
153 {
154  double t1, t3, t5, t6, t7, t8, t9, t10, t11;
155 
156  t1 = 0.125*zeta;
157  t3 = zeta*zeta;
158  t5 = xi*eta*(1.0-t3);
159  t6 = 0.1687500000553711E1*t5;
160  t7 = 0.125-t1-t6;
161  t8 = 0.125*zeta;
162  t9 = -0.125+t8-t6;
163  t10 = 0.125+t8-t6;
164  t11 = -0.125-t1-t6;
165 
166  values[0] = t7;
167  values[1] = t9;
168  values[2] = t9;
169  values[3] = t7;
170  values[4] = t10;
171  values[5] = t11;
172  values[6] = t11;
173  values[7] = t10;
174  values[8] = 0.1687500000975586E1*t5;
175 }
176 
177 static void C_H_UL1_3D_DeriveXiZeta(double xi, double eta, double zeta,
178  double *values)
179 {
180  double t1, t2, t5, t6, t7, t8, t9,t10, t11 ;
181 
182  t1 = 0.125*eta;
183  t2 = eta*eta;
184  t5 = xi*(1.0-t2)*zeta;
185  t6 = 0.1687500000553711E1*t5;
186  t7 = 0.125-t1-t6;
187  t8 = 0.125*eta;
188  t9 = -0.125+t8-t6;
189  t10 = 0.125+t8-t6;
190  t11 = -0.125-t1-t6;
191 
192 
193  values[0] = t7;
194  values[1] = t9;
195  values[2] = t10;
196  values[3] = t11;
197  values[4] = t9;
198  values[5] = t7;
199  values[6] = t11;
200  values[7] = t10;
201  values[8] = 0.1687500000975586E1*t5;
202 
203 
204 }
205 
206 static void C_H_UL1_3D_DeriveEtaEta(double xi, double eta, double zeta,
207  double *values)
208 {
209  double t1, t3, t5, t6;
210 
211  t1 = xi*xi;
212  t3 = zeta*zeta;
213  t5 = (1.0-t1)*(1.0-t3);
214  t6 = 0.8437500002768554*t5;
215 
216  values[0] = t6;
217  values[1] = t6;
218  values[2] = t6;
219  values[3] = t6;
220  values[4] = t6;
221  values[5] = t6;
222  values[6] = t6;
223  values[7] = t6;
224  values[8] = -0.8437500004877929*t5;
225 }
226 
227 static void C_H_UL1_3D_DeriveEtaZeta(double xi, double eta, double zeta,
228  double *values)
229 {
230  double t1, t2, t5, t6,t7, t8,t9, t10, t11 ;
231 
232  t1 = 0.125*xi;
233  t2 = xi*xi;
234  t5 = (1.0-t2)*eta*zeta;
235  t6 = 0.1687500000553711E1*t5;
236  t7 = 0.125-t1-t6;
237  t8 = 0.125*xi;
238  t9 = 0.125+t8-t6;
239  t10 = -0.125+t8-t6;
240  t11 = -0.125-t1-t6;
241 
242  values[0] = t7;
243  values[1] = t9;
244  values[2] = t10;
245  values[3] = t11;
246  values[4] = t10;
247  values[5] = t11;
248  values[6] = t7;
249  values[7] = t9;
250  values[8] = 0.1687500000975586E1*t5;
251 }
252 
253 static void C_H_UL1_3D_DeriveZetaZeta(double xi, double eta, double zeta,
254  double *values)
255 {
256  double t1, t3, t5, t6;
257 
258  t1 = xi*xi;
259  t3 = eta*eta;
260  t5 = (1.0-t1)*(1.0-t3);
261  t6 = 0.8437500002768554*t5;
262 
263  values[0] = t6;
264  values[1] = t6;
265  values[2] = t6;
266  values[3] = t6;
267  values[4] = t6;
268  values[5] = t6;
269  values[6] = t6;
270  values[7] = t6;
271  values[8] = -0.8437500004877929*t5;
272 
273 }
274 
275 TBaseFunct3D *BF_C_H_UL1_3D_Obj =
276 new TBaseFunct3D(9, BF_C_H_UL1_3D, BFUnitHexahedron,
277  C_H_UL1_3D_Funct, C_H_UL1_3D_DeriveXi,
278  C_H_UL1_3D_DeriveEta, C_H_UL1_3D_DeriveZeta,
279  C_H_UL1_3D_DeriveXiXi, C_H_UL1_3D_DeriveXiEta,
280  C_H_UL1_3D_DeriveXiZeta, C_H_UL1_3D_DeriveEtaEta,
281  C_H_UL1_3D_DeriveEtaZeta, C_H_UL1_3D_DeriveZetaZeta,
282  2, 1,
283  0, NULL);
Definition: BaseFunct3D.h:27