ParMooN
 All Classes Functions Variables Friends Pages
NF_C_H_Q4_3D.h
1 /*
2  TNodalFunctional3D(NodalFunctional3D id,
3  int n_allfunctionals, int *n_facefunctionals,
4  int n_pointsall, int *n_pointsface,
5  double *xi, double *eta, double *zeta,
6  double **xiarray, double **etaarray,
7  double **zetaarray,
8  double *t, double *s,
9  DoubleFunctVect *evalall,
10  DoubleFunctVect *evalface);
11 */
12 
13 /* for all functionals */
14 static double NF_C_H_Q4_3D_Xi[125] = {
15  -1.0, -0.5, 0.0, 0.5, 1.0,
16  -1.0, -0.5, 0.0, 0.5, 1.0,
17  -1.0, -0.5, 0.0, 0.5, 1.0,
18  -1.0, -0.5, 0.0, 0.5, 1.0,
19  -1.0, -0.5, 0.0, 0.5, 1.0,
20  -1.0, -0.5, 0.0, 0.5, 1.0,
21  -1.0, -0.5, 0.0, 0.5, 1.0,
22  -1.0, -0.5, 0.0, 0.5, 1.0,
23  -1.0, -0.5, 0.0, 0.5, 1.0,
24  -1.0, -0.5, 0.0, 0.5, 1.0,
25  -1.0, -0.5, 0.0, 0.5, 1.0,
26  -1.0, -0.5, 0.0, 0.5, 1.0,
27  -1.0, -0.5, 0.0, 0.5, 1.0,
28  -1.0, -0.5, 0.0, 0.5, 1.0,
29  -1.0, -0.5, 0.0, 0.5, 1.0,
30  -1.0, -0.5, 0.0, 0.5, 1.0,
31  -1.0, -0.5, 0.0, 0.5, 1.0,
32  -1.0, -0.5, 0.0, 0.5, 1.0,
33  -1.0, -0.5, 0.0, 0.5, 1.0,
34  -1.0, -0.5, 0.0, 0.5, 1.0,
35  -1.0, -0.5, 0.0, 0.5, 1.0,
36  -1.0, -0.5, 0.0, 0.5, 1.0,
37  -1.0, -0.5, 0.0, 0.5, 1.0,
38  -1.0, -0.5, 0.0, 0.5, 1.0,
39  -1.0, -0.5, 0.0, 0.5, 1.0 };
40 static double NF_C_H_Q4_3D_Eta[125] = {
41  -1.0, -1.0, -1.0, -1.0, -1.0,
42  -0.5, -0.5, -0.5, -0.5, -0.5,
43  0.0, 0.0, 0.0, 0.0, 0.0,
44  0.5, 0.5, 0.5, 0.5, 0.5,
45  1.0, 1.0, 1.0, 1.0, 1.0,
46  -1.0, -1.0, -1.0, -1.0, -1.0,
47  -0.5, -0.5, -0.5, -0.5, -0.5,
48  0.0, 0.0, 0.0, 0.0, 0.0,
49  0.5, 0.5, 0.5, 0.5, 0.5,
50  1.0, 1.0, 1.0, 1.0, 1.0,
51  -1.0, -1.0, -1.0, -1.0, -1.0,
52  -0.5, -0.5, -0.5, -0.5, -0.5,
53  0.0, 0.0, 0.0, 0.0, 0.0,
54  0.5, 0.5, 0.5, 0.5, 0.5,
55  1.0, 1.0, 1.0, 1.0, 1.0,
56  -1.0, -1.0, -1.0, -1.0, -1.0,
57  -0.5, -0.5, -0.5, -0.5, -0.5,
58  0.0, 0.0, 0.0, 0.0, 0.0,
59  0.5, 0.5, 0.5, 0.5, 0.5,
60  1.0, 1.0, 1.0, 1.0, 1.0,
61  -1.0, -1.0, -1.0, -1.0, -1.0,
62  -0.5, -0.5, -0.5, -0.5, -0.5,
63  0.0, 0.0, 0.0, 0.0, 0.0,
64  0.5, 0.5, 0.5, 0.5, 0.5,
65  1.0, 1.0, 1.0, 1.0, 1.0 };
66 static double NF_C_H_Q4_3D_Zeta[125] = {
67  -1.0, -1.0, -1.0, -1.0, -1.0,
68  -1.0, -1.0, -1.0, -1.0, -1.0,
69  -1.0, -1.0, -1.0, -1.0, -1.0,
70  -1.0, -1.0, -1.0, -1.0, -1.0,
71  -1.0, -1.0, -1.0, -1.0, -1.0,
72  -0.5, -0.5, -0.5, -0.5, -0.5,
73  -0.5, -0.5, -0.5, -0.5, -0.5,
74  -0.5, -0.5, -0.5, -0.5, -0.5,
75  -0.5, -0.5, -0.5, -0.5, -0.5,
76  -0.5, -0.5, -0.5, -0.5, -0.5,
77  0.0, 0.0, 0.0, 0.0, 0.0,
78  0.0, 0.0, 0.0, 0.0, 0.0,
79  0.0, 0.0, 0.0, 0.0, 0.0,
80  0.0, 0.0, 0.0, 0.0, 0.0,
81  0.0, 0.0, 0.0, 0.0, 0.0,
82  0.5, 0.5, 0.5, 0.5, 0.5,
83  0.5, 0.5, 0.5, 0.5, 0.5,
84  0.5, 0.5, 0.5, 0.5, 0.5,
85  0.5, 0.5, 0.5, 0.5, 0.5,
86  0.5, 0.5, 0.5, 0.5, 0.5,
87  1.0, 1.0, 1.0, 1.0, 1.0,
88  1.0, 1.0, 1.0, 1.0, 1.0,
89  1.0, 1.0, 1.0, 1.0, 1.0,
90  1.0, 1.0, 1.0, 1.0, 1.0,
91  1.0, 1.0, 1.0, 1.0, 1.0 };
92 
93 /* face 0 */
94 static double NF_C_H_Q4_3D_F0_Xi[] = {
95  -1.0000, -0.5000, 0, 0.5000, 1.0000,
96  -1.0000, -0.5000, 0, 0.5000, 1.0000,
97  -1.0000, -0.5000, 0, 0.5000, 1.0000,
98  -1.0000, -0.5000, 0, 0.5000, 1.0000,
99  -1.0000, -0.5000, 0, 0.5000, 1.0000 };
100 
101 static double NF_C_H_Q4_3D_F0_Eta[] = {
102  -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,
103  -0.5000, -0.5000, -0.5000, -0.5000, -0.5000,
104  0, 0, 0, 0, 0,
105  0.5000, 0.5000, 0.5000, 0.5000, 0.5000,
106  1.0000, 1.0000, 1.0000, 1.0000, 1.0000 };
107 
108 static double NF_C_H_Q4_3D_F0_Zeta[] = {
109  -1, -1, -1, -1, -1,
110  -1, -1, -1, -1, -1,
111  -1, -1, -1, -1, -1,
112  -1, -1, -1, -1, -1,
113  -1, -1, -1, -1, -1 };
114 
115 /* face 1 */
116 static double NF_C_H_Q4_3D_F1_Xi[] = {
117  -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,
118  -0.5000, -0.5000, -0.5000, -0.5000, -0.5000,
119  0, 0, 0, 0, 0,
120  0.5000, 0.5000, 0.5000, 0.5000, 0.5000,
121  1.0000, 1.0000, 1.0000, 1.0000, 1.0000 };
122 
123 static double NF_C_H_Q4_3D_F1_Eta[] = {
124  -1, -1, -1, -1, -1,
125  -1, -1, -1, -1, -1,
126  -1, -1, -1, -1, -1,
127  -1, -1, -1, -1, -1,
128  -1, -1, -1, -1, -1 };
129 
130 static double NF_C_H_Q4_3D_F1_Zeta[] = {
131  -1.0000, -0.5000, 0, 0.5000, 1.0000,
132  -1.0000, -0.5000, 0, 0.5000, 1.0000,
133  -1.0000, -0.5000, 0, 0.5000, 1.0000,
134  -1.0000, -0.5000, 0, 0.5000, 1.0000,
135  -1.0000, -0.5000, 0, 0.5000, 1.0000 };
136 
137 
138 /* face 2 */
139 static double NF_C_H_Q4_3D_F2_Xi[] = {
140  1, 1, 1, 1, 1,
141  1, 1, 1, 1, 1,
142  1, 1, 1, 1, 1,
143  1, 1, 1, 1, 1,
144  1, 1, 1, 1, 1 };
145 
146 static double NF_C_H_Q4_3D_F2_Eta[] = {
147  -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,
148  -0.5000, -0.5000, -0.5000, -0.5000, -0.5000,
149  0, 0, 0, 0, 0,
150  0.5000, 0.5000, 0.5000, 0.5000, 0.5000,
151  1.0000, 1.0000, 1.0000, 1.0000, 1.0000 };
152 
153 static double NF_C_H_Q4_3D_F2_Zeta[] = {
154  -1.0000, -0.5000, 0, 0.5000, 1.0000,
155  -1.0000, -0.5000, 0, 0.5000, 1.0000,
156  -1.0000, -0.5000, 0, 0.5000, 1.0000,
157  -1.0000, -0.5000, 0, 0.5000, 1.0000,
158  -1.0000, -0.5000, 0, 0.5000, 1.0000 };
159 
160 
161 /* face 3 */
162 static double NF_C_H_Q4_3D_F3_Xi[] = {
163  1.0000, 1.0000, 1.0000, 1.0000, 1.0000,
164  0.5000, 0.5000, 0.5000, 0.5000, 0.5000,
165  0, 0, 0, 0, 0,
166  -0.5000, -0.5000, -0.5000, -0.5000, -0.5000,
167  -1.0000, -1.0000, -1.0000, -1.0000, -1.0000 };
168 
169 static double NF_C_H_Q4_3D_F3_Eta[] = {
170  1, 1, 1, 1, 1,
171  1, 1, 1, 1, 1,
172  1, 1, 1, 1, 1,
173  1, 1, 1, 1, 1,
174  1, 1, 1, 1, 1 };
175 
176 static double NF_C_H_Q4_3D_F3_Zeta[] = {
177  -1.0000, -0.5000, 0, 0.5000, 1.0000,
178  -1.0000, -0.5000, 0, 0.5000, 1.0000,
179  -1.0000, -0.5000, 0, 0.5000, 1.0000,
180  -1.0000, -0.5000, 0, 0.5000, 1.0000,
181  -1.0000, -0.5000, 0, 0.5000, 1.0000 };
182 
183 
184 /* face 4 */
185 static double NF_C_H_Q4_3D_F4_Xi[] = {
186  -1, -1, -1, -1, -1,
187  -1, -1, -1, -1, -1,
188  -1, -1, -1, -1, -1,
189  -1, -1, -1, -1, -1,
190  -1, -1, -1, -1, -1 };
191 
192 static double NF_C_H_Q4_3D_F4_Eta[] = {
193  -1.0000, -0.5000, 0, 0.5000, 1.0000,
194  -1.0000, -0.5000, 0, 0.5000, 1.0000,
195  -1.0000, -0.5000, 0, 0.5000, 1.0000,
196  -1.0000, -0.5000, 0, 0.5000, 1.0000,
197  -1.0000, -0.5000, 0, 0.5000, 1.0000 };
198 
199 static double NF_C_H_Q4_3D_F4_Zeta[] = {
200  -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,
201  -0.5000, -0.5000, -0.5000, -0.5000, -0.5000,
202  0, 0, 0, 0, 0,
203  0.5000, 0.5000, 0.5000, 0.5000, 0.5000,
204  1.0000, 1.0000, 1.0000, 1.0000, 1.0000 };
205 
206 
207 /* face 5 */
208 static double NF_C_H_Q4_3D_F5_Xi[] = {
209  -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,
210  -0.5000, -0.5000, -0.5000, -0.5000, -0.5000,
211  0, 0, 0, 0, 0,
212  0.5000, 0.5000, 0.5000, 0.5000, 0.5000,
213  1.0000, 1.0000, 1.0000, 1.0000, 1.0000 };
214 
215 static double NF_C_H_Q4_3D_F5_Eta[] = {
216  -1.0000, -0.5000, 0, 0.5000, 1.0000,
217  -1.0000, -0.5000, 0, 0.5000, 1.0000,
218  -1.0000, -0.5000, 0, 0.5000, 1.0000,
219  -1.0000, -0.5000, 0, 0.5000, 1.0000,
220  -1.0000, -0.5000, 0, 0.5000, 1.0000 };
221 
222 static double NF_C_H_Q4_3D_F5_Zeta[] = {
223  1, 1, 1, 1, 1,
224  1, 1, 1, 1, 1,
225  1, 1, 1, 1, 1,
226  1, 1, 1, 1, 1,
227  1, 1, 1, 1, 1 };
228 
229 
230 static double *NF_C_H_Q4_3D_XiArray[6] = {
231  NF_C_H_Q4_3D_F0_Xi,
232  NF_C_H_Q4_3D_F1_Xi,
233  NF_C_H_Q4_3D_F2_Xi,
234  NF_C_H_Q4_3D_F3_Xi,
235  NF_C_H_Q4_3D_F4_Xi,
236  NF_C_H_Q4_3D_F5_Xi };
237 
238 static double *NF_C_H_Q4_3D_EtaArray[6] = {
239  NF_C_H_Q4_3D_F0_Eta,
240  NF_C_H_Q4_3D_F1_Eta,
241  NF_C_H_Q4_3D_F2_Eta,
242  NF_C_H_Q4_3D_F3_Eta,
243  NF_C_H_Q4_3D_F4_Eta,
244  NF_C_H_Q4_3D_F5_Eta };
245 
246 static double *NF_C_H_Q4_3D_ZetaArray[6] = {
247  NF_C_H_Q4_3D_F0_Zeta,
248  NF_C_H_Q4_3D_F1_Zeta,
249  NF_C_H_Q4_3D_F2_Zeta,
250  NF_C_H_Q4_3D_F3_Zeta,
251  NF_C_H_Q4_3D_F4_Zeta,
252  NF_C_H_Q4_3D_F5_Zeta };
253 
254 static double NF_C_H_Q4_3D_T[25] = {
255  0, 0.25, 0.5, 0.75, 1,
256  0, 0.25, 0.5, 0.75, 1,
257  0, 0.25, 0.5, 0.75, 1,
258  0, 0.25, 0.5, 0.75, 1,
259  0, 0.25, 0.5, 0.75, 1 };
260 static double NF_C_H_Q4_3D_S[25] = {
261  0, 0, 0, 0, 0,
262  0.25, 0.25, 0.25, 0.25, 0.25,
263  0.5, 0.5, 0.5, 0.5, 0.5,
264  0.75, 0.75, 0.75, 0.75, 0.75,
265  1, 1, 1, 1, 1 };
266 
267 void NF_C_H_Q4_3D_EvalAll(TCollection *Coll, TBaseCell *Cell,
268  double *PointValues, double *Functionals)
269 {
270  memcpy(Functionals, PointValues, 125*SizeOfDouble);
271 }
272 
273 void NF_C_H_Q4_3D_EvalFace(TCollection *Coll, TBaseCell *Cell, int Joint,
274  double *PointValues, double *Functionals)
275 {
276  memcpy(Functionals, PointValues, 25*SizeOfDouble);
277 }
278 
279 static int NF_C_H_Q4_3D_N_AllFunctionals = 125;
280 static int NF_C_H_Q4_3D_N_PointsAll = 125;
281 static int NF_C_H_Q4_3D_N_FaceFunctionals[] = { 25, 25, 25, 25, 25, 25 };
282 static int NF_C_H_Q4_3D_N_PointsFace[] = { 25, 25, 25, 25, 25, 25 };
283 
284 TNodalFunctional3D *NF_C_H_Q4_3D_Obj = new TNodalFunctional3D
285  (NF_C_H_Q4_3D, NF_C_H_Q4_3D_N_AllFunctionals,
286  NF_C_H_Q4_3D_N_FaceFunctionals, NF_C_H_Q4_3D_N_PointsAll,
287  NF_C_H_Q4_3D_N_PointsFace,
288  NF_C_H_Q4_3D_Xi, NF_C_H_Q4_3D_Eta, NF_C_H_Q4_3D_Zeta,
289  NF_C_H_Q4_3D_XiArray, NF_C_H_Q4_3D_EtaArray,
290  NF_C_H_Q4_3D_ZetaArray,
291  NF_C_H_Q4_3D_T, NF_C_H_Q4_3D_S,
292  NF_C_H_Q4_3D_EvalAll, NF_C_H_Q4_3D_EvalFace);
Definition: NodalFunctional3D.h:21
store cells in an array, used by cell iterators
Definition: Collection.h:18
information for finite element data structure
Definition: BaseCell.h:25