Fast Auxiliary Space Preconditioning  1.8.4 Feb/15/2016
quadrature.c
Go to the documentation of this file.
1 
6 #include <stdio.h>
7 
8 #include "fasp.h"
9 #include "fasp_functs.h"
10 
11 /*---------------------------------*/
12 /*-- Public Functions --*/
13 /*---------------------------------*/
14 
31 void fasp_quad2d (const INT num_qp,
32  const INT ncoor,
33  REAL (*quad)[3])
34 {
35  if (num_qp<=0) fasp_chkerr(ERROR_QUAD_TYPE, __FUNCTION__);
36 
37  if (ncoor!=2) fasp_chkerr(ERROR_QUAD_DIM, __FUNCTION__);
38 
39  switch (num_qp) {
40  case 1: // 1-point Gauss rule
41  quad[0][0] = 1.0/3;
42  quad[0][1] = 1.0/3;
43  quad[0][2] = 0.5000000000000000000000000;
44  break;
45  case 0: // 3-point mid-point rule
46  quad[0][0] = 0.5000000000000000000000000;
47  quad[0][1] = 0.5000000000000000000000000;
48  quad[0][2] = 0.1666666666666666666666667;
49 
50  quad[1][0] = 0.0000000000000000000000000;
51  quad[1][1] = 0.5000000000000000000000000;
52  quad[1][2] = 0.1666666666666666666666667;
53 
54  quad[2][0] = 0.5000000000000000000000000;
55  quad[2][1] = 0.0000000000000000000000000;
56  quad[2][2] = 0.1666666666666666666666667;
57  break;
58  case 3: // 3-point Lagrange rule
59  quad[0][0] = 1.0000000000000000000000000;
60  quad[0][1] = 0.0000000000000000000000000;
61  quad[0][2] = 0.1666666666666666666666667;
62 
63  quad[1][0] = 0.0000000000000000000000000;
64  quad[1][1] = 1.0000000000000000000000000;
65  quad[1][2] = 0.1666666666666666666666667;
66 
67  quad[2][0] = 0.0000000000000000000000000;
68  quad[2][1] = 0.0000000000000000000000000;
69  quad[2][2] = 0.1666666666666666666666667;
70  break;
71  case 6: // 6-point Newton-Cotes rule
72  quad[0][0] = 1;
73  quad[0][1] = 0;
74  quad[0][2] = 1.0/24;
75 
76  quad[1][0] = 0;
77  quad[1][1] = 1;
78  quad[1][2] = 1.0/24;
79 
80  quad[2][0] = 0;
81  quad[2][1] = 0;
82  quad[2][2] = 1.0/24;
83 
84  quad[3][0] = 0.5;
85  quad[3][1] = 0.5;
86  quad[3][2] = 0.125;
87 
88  quad[4][0] = 0;
89  quad[4][1] = 0.5;
90  quad[4][2] = 0.125;
91 
92  quad[5][0] = 0.5;
93  quad[5][1] = 0;
94  quad[5][2] = 0.125;
95  break;
96  case 7: // 7-point Newton-Cotes rule
97  quad[0][0] = 1;
98  quad[0][1] = 0;
99  quad[0][2] = 1.0/18;
100 
101  quad[1][0] = 0;
102  quad[1][1] = 1;
103  quad[1][2] = 1.0/18;
104 
105  quad[2][0] = 0;
106  quad[2][1] = 0;
107  quad[2][2] = 1.0/18;
108 
109  quad[3][0] = 0.5;
110  quad[3][1] = 0.5;
111  quad[3][2] = 1.0/18;
112 
113  quad[4][0] = 0;
114  quad[4][1] = 0.5;
115  quad[4][2] = 1.0/18;
116 
117  quad[5][0] = 0.5;
118  quad[5][1] = 0;
119  quad[5][2] = 1.0/18;
120 
121  quad[6][0] = 1.0/3;
122  quad[6][1] = 1.0/3;
123  quad[6][2] = 1.0/6;
124  break;
125  case 15: // 15-point Lagrange rule
126  quad[0][0] = 1;
127  quad[0][1] = 0;
128  quad[0][2] = 1.0/96;
129 
130  quad[1][0] = 0;
131  quad[1][1] = 1;
132  quad[1][2] = 1.0/96;
133 
134  quad[2][0] = 0;
135  quad[2][1] = 0;
136  quad[2][2] = 1.0/96;
137 
138  quad[3][0] = 0.75;
139  quad[3][1] = 0.25;
140  quad[3][2] = 1.0/32;
141 
142  quad[4][0] = 0.5;
143  quad[4][1] = 0.5;
144  quad[4][2] = 1.0/32;
145 
146  quad[5][0] = 0.25;
147  quad[5][1] = 0.75;
148  quad[5][2] = 1.0/32;
149 
150  quad[6][0] = 0;
151  quad[6][1] = 0.75;
152  quad[6][2] = 1.0/32;
153 
154  quad[7][0] = 0;
155  quad[7][1] = 0.5;
156  quad[7][2] = 1.0/32;
157 
158  quad[8][0] = 0;
159  quad[8][1] = 0.25;
160  quad[8][2] = 1.0/32;
161 
162  quad[9][0] = 0.25;
163  quad[9][1] = 0;
164  quad[9][2] = 1.0/32;
165 
166  quad[10][0] = 0.5;
167  quad[10][1] = 0;
168  quad[10][2] = 1.0/32;
169 
170  quad[11][0] = 0.75;
171  quad[11][1] = 0;
172  quad[11][2] = 1.0/32;
173 
174  quad[12][0] = 0.5;
175  quad[12][1] = 0.25;
176  quad[12][2] = 1.0/16;
177 
178  quad[13][0] = 0.25;
179  quad[13][1] = 0.5;
180  quad[13][2] = 1.0/16;
181 
182  quad[14][0] = 0.25;
183  quad[14][1] = 0.25;
184  quad[14][2] = 1.0/16;
185  break;
186  default:
187  fasp_chkerr(ERROR_QUAD_TYPE, __FUNCTION__);
188  break;
189  }
190 
191  return;
192 }
193 
210 void fasp_gauss2d (const INT num_qp,
211  const INT ncoor,
212  REAL (*gauss)[3])
213 {
214  if(num_qp<=0) fasp_chkerr(ERROR_QUAD_TYPE, __FUNCTION__);
215 
216  if(ncoor!=2) fasp_chkerr(ERROR_QUAD_DIM, __FUNCTION__);
217 
218  switch (num_qp) {
219  case 1: // 1-point Gauss rule
220  gauss[0][0] = 1.0/3;
221  gauss[0][1] = 1.0/3;
222  gauss[0][2] = 0.5000000000000000000000000;
223  break;
224  case 3: // 3-point Gauss rule
225  gauss[0][0] = 0.1666666666666666666666667;
226  gauss[0][1] = 0.1666666666666666666666667;
227  gauss[0][2] = 0.1666666666666666666666667;
228 
229  gauss[1][0] = 0.1666666666666666666666667;
230  gauss[1][1] = 0.6666666666666666666666667;
231  gauss[1][2] = 0.1666666666666666666666667;
232 
233  gauss[2][0] = 0.6666666666666666666666667;
234  gauss[2][1] = 0.1666666666666666666666667;
235  gauss[2][2] = 0.1666666666666666666666667;
236  break;
237  case 4: // 4-point Gauss rule
238  gauss[0][0] = 0.7503111022260811817747560e-01;
239  gauss[0][1] = 0.6449489742783178098197284e+00;
240  gauss[0][2] = 0.9097930912801141530281550e-01;
241 
242  gauss[1][0] = 0.2800199154990740720027960e+00;
243  gauss[1][1] = 0.6449489742783178098197284e+00;
244  gauss[1][2] = 0.9097930912801141530281550e-01;
245 
246  gauss[2][0] = 0.1785587282636164231170351e+00;
247  gauss[2][1] = 0.1550510257216821901802716e+00;
248  gauss[2][2] = 0.1590206908719885846971845e+00;
249 
250  gauss[3][0] = 0.6663902460147013867026933e+00;
251  gauss[3][1] = 0.1550510257216821901802716e+00;
252  gauss[3][2] = 0.1590206908719885846971845e+00;
253  break;
254  case 9: // 9-point Gauss rule
255  gauss[0][0] = 0.2393113228708061896738275e-01;
256  gauss[0][1] = 0.7876594617608470560252419e+00;
257  gauss[0][2] = 0.1939638330595947848163369e-01;
258 
259  gauss[1][0] = 0.1061702691195764719873791e+00;
260  gauss[1][1] = 0.7876594617608470560252419e+00;
261  gauss[1][2] = 0.3103421328953516557061390e-01;
262 
263  gauss[2][0] = 0.1884094059520723250073754e+00;
264  gauss[2][1] = 0.7876594617608470560252419e+00;
265  gauss[2][2] = 0.1939638330595947848163369e-01;
266 
267  gauss[3][0] = 0.6655406783916450412865057e-01;
268  gauss[3][1] = 0.4094668644407347108649263e+00;
269  gauss[3][2] = 0.6367808509988506852608905e-01;
270 
271  gauss[4][0] = 0.2952665677796326445675369e+00;
272  gauss[4][1] = 0.4094668644407347108649263e+00;
273  gauss[4][2] = 0.1018849361598161096417425e+00;
274 
275  gauss[5][0] = 0.5239790677201007850064232e+00;
276  gauss[5][1] = 0.4094668644407347108649263e+00;
277  gauss[5][2] = 0.6367808509988506852608905e-01;
278 
279  gauss[6][0] = 0.1027176548096262680160926e+00;
280  gauss[6][1] = 0.8858795951270394739554614e-01;
281  gauss[6][2] = 0.5581442048304434188116615e-01;
282 
283  gauss[7][0] = 0.4557060202436480263022269e+00;
284  gauss[7][1] = 0.8858795951270394739554614e-01;
285  gauss[7][2] = 0.8930307277287094700986584e-01;
286 
287  gauss[8][0] = 0.8086943856776697845883612e+00;
288  gauss[8][1] = 0.8858795951270394739554614e-01;
289  gauss[8][2] = 0.5581442048304434188116615e-01;
290  break;
291  case 16: // 16-point Gauss rule
292  gauss[0][0] = 0.9703785126946112175961724e-02;
293  gauss[0][1] = 0.8602401356562194478479129e+00;
294  gauss[0][2] = 0.5423225910525254453528332e-02;
295 
296  gauss[1][0] = 0.4612207990645204861943693e-01;
297  gauss[1][1] = 0.8602401356562194478479129e+00;
298  gauss[1][2] = 0.1016725956447878663340924e-01;
299 
300  gauss[2][0] = 0.9363778443732850353265015e-01;
301  gauss[2][1] = 0.8602401356562194478479129e+00;
302  gauss[2][2] = 0.1016725956447878663340924e-01;
303 
304  gauss[3][0] = 0.1300560792168344399761254e+00;
305  gauss[3][1] = 0.8602401356562194478479129e+00;
306  gauss[3][2] = 0.5423225910525254453528332e-02;
307 
308  gauss[4][0] = 0.2891208422438901271682135e-01;
309  gauss[4][1] = 0.5835904323689168200566977e+00;
310  gauss[4][2] = 0.2258404928236993135842135e-01;
311 
312  gauss[5][0] = 0.1374191041345743684268067e+00;
313  gauss[5][1] = 0.5835904323689168200566977e+00;
314  gauss[5][2] = 0.4233972452174628905480675e-01;
315 
316  gauss[6][0] = 0.2789904634965088115164956e+00;
317  gauss[6][1] = 0.5835904323689168200566977e+00;
318  gauss[6][2] = 0.4233972452174628905480675e-01;
319 
320  gauss[7][0] = 0.3874974834066941672264810e+00;
321  gauss[7][1] = 0.5835904323689168200566977e+00;
322  gauss[7][2] = 0.2258404928236993135842135e-01;
323 
324  gauss[8][0] = 0.5021012321136977210504381e-01;
325  gauss[8][1] = 0.2768430136381238276800460e+00;
326  gauss[8][2] = 0.3538806789808594616389450e-01;
327 
328  gauss[9][0] = 0.2386486597314429209541046e+00;
329  gauss[9][1] = 0.2768430136381238276800460e+00;
330  gauss[9][2] = 0.6634421610704973423180774e-01;
331 
332  gauss[10][0] = 0.4845083266304332513658494e+00;
333  gauss[10][1] = 0.2768430136381238276800460e+00;
334  gauss[10][2] = 0.6634421610704973423180774e-01;
335 
336  gauss[11][0] = 0.6729468631505064002149102e+00;
337  gauss[11][1] = 0.2768430136381238276800460e+00;
338  gauss[11][2] = 0.3538806789808594616389450e-01;
339 
340  gauss[12][0] = 0.6546699455501446386445480e-01;
341  gauss[12][1] = 0.5710419611451768219312119e-01;
342  gauss[12][2] = 0.2356836819338233236742181e-01;
343 
344  gauss[13][0] = 0.3111645522443570344411343e+00;
345  gauss[13][1] = 0.5710419611451768219312119e-01;
346  gauss[13][2] = 0.4418508852236172573671028e-01;
347 
348  gauss[14][0] = 0.6317312516411252833657445e+00;
349  gauss[14][1] = 0.5710419611451768219312119e-01;
350  gauss[14][2] = 0.4418508852236172573671028e-01;
351 
352  gauss[15][0] = 0.8774288093304678539424240e+00;
353  gauss[15][1] = 0.5710419611451768219312119e-01;
354  gauss[15][2] = 0.2356836819338233236742181e-01;
355  break;
356  case 0: // 16-point Gauss rule by Young-Ju
357  gauss[0][0] = 5.710419640e-2;
358  gauss[0][1] = 6.546699187e-2;
359  gauss[0][2] = 2.356836864e-2;
360 
361  gauss[1][0] = 2.768430114e-1;
362  gauss[1][1] = 5.021012132e-2;
363  gauss[1][2] = 3.538806860e-2;
364 
365  gauss[2][0] = 5.835904479e-1;
366  gauss[2][1] = 2.891208197e-2;
367  gauss[2][2] = 2.258404870e-2;
368 
369  gauss[3][0] = 8.602401614e-1;
370  gauss[3][1] = 9.703829427e-3;
371  gauss[3][2] = 5.423225927e-3;
372 
373  gauss[4][0] = 5.710419640e-2;
374  gauss[4][1] = 3.111645635e-1;
375  gauss[4][2] = 4.418508789e-2;
376 
377  gauss[5][0] = 2.768430114e-1;
378  gauss[5][1] = 2.386486692e-1;
379  gauss[5][2] = 6.634421523e-2;
380 
381  gauss[6][0] = 5.835904479e-1;
382  gauss[6][1] = 1.374191040e-1;
383  gauss[6][2] = 4.233972202e-2;
384 
385  gauss[7][0] = 8.602401614e-1;
386  gauss[7][1] = 4.612207309e-2;
387  gauss[7][2] = 1.016725926e-2;
388 
389  gauss[8][0] = 5.710419640e-2;
390  gauss[8][1] = 6.317312682e-1;
391  gauss[8][2] = 4.418508789e-2;
392 
393  gauss[9][0] = 2.768430114e-1;
394  gauss[9][1] = 4.845083410e-1;
395  gauss[9][2] = 6.634421523e-2;
396 
397  gauss[10][0] = 5.835904479e-1;
398  gauss[10][1] = 2.789904605e-1;
399  gauss[10][2] = 4.233972202e-2;
400 
401  gauss[11][0] = 8.602401614e-1;
402  gauss[11][1] = 9.363776966e-2;
403  gauss[11][2] = 1.016725926e-2;
404 
405  gauss[12][0] = 5.710419640e-2;
406  gauss[12][1] = 8.774288117e-1;
407  gauss[12][2] = 2.356836864e-2;
408 
409  gauss[13][0] = 2.768430114e-1;
410  gauss[13][1] = 6.729468673e-1;
411  gauss[13][2] = 3.538806860e-2;
412 
413  gauss[14][0] = 5.835904479e-1;
414  gauss[14][1] = 3.874974701e-1;
415  gauss[14][2] = 2.258404870e-2;
416 
417  gauss[15][0] = 8.602401614e-1;
418  gauss[15][1] = 1.300560556e-1;
419  gauss[15][2] = 5.423225927e-3;
420  break;
421  case 25: // 25-point Gauss rule
422  gauss[0][0] = 0.4622288465046428525209780e-02;
423  gauss[0][1] = 0.9014649142011735738765011e+00;
424  gauss[0][2] = 0.1865552166877838436183754e-02;
425 
426  gauss[1][0] = 0.2273848306376403459813202e-01;
427  gauss[1][1] = 0.9014649142011735738765011e+00;
428  gauss[1][2] = 0.3768701695327620376776386e-02;
429 
430  gauss[2][0] = 0.4926754289941321306174945e-01;
431  gauss[2][1] = 0.9014649142011735738765011e+00;
432  gauss[2][2] = 0.4479406797281358559372037e-02;
433 
434  gauss[3][0] = 0.7579660273506239152536687e-01;
435  gauss[3][1] = 0.9014649142011735738765011e+00;
436  gauss[3][2] = 0.3768701695327620376776386e-02;
437 
438  gauss[4][0] = 0.9391279733377999759828912e-01;
439  gauss[4][1] = 0.9014649142011735738765011e+00;
440  gauss[4][2] = 0.1865552166877838436183754e-02;
441 
442  gauss[5][0] = 0.1428579439557138533782080e-01;
443  gauss[5][1] = 0.6954642733536360945146148e+00;
444  gauss[5][2] = 0.8755499182163831736919008e-02;
445 
446  gauss[6][0] = 0.7027629200828172118339338e-01;
447  gauss[6][1] = 0.6954642733536360945146148e+00;
448  gauss[6][2] = 0.1768745211048346587741866e-01;
449 
450  gauss[7][0] = 0.1522678633231819527426926e+00;
451  gauss[7][1] = 0.6954642733536360945146148e+00;
452  gauss[7][2] = 0.2102296748732207512195789e-01;
453 
454  gauss[8][0] = 0.2342594346380821843019918e+00;
455  gauss[8][1] = 0.6954642733536360945146148e+00;
456  gauss[8][2] = 0.1768745211048346587741866e-01;
457 
458  gauss[9][0] = 0.2902499322507925201475644e+00;
459  gauss[9][1] = 0.6954642733536360945146148e+00;
460  gauss[9][2] = 0.8755499182163831736919008e-02;
461 
462  gauss[10][0] = 0.2636464494447091747928250e-01;
463  gauss[10][1] = 0.4379748102473861440050125e+00;
464  gauss[10][2] = 0.1734150643136570012831098e-01;
465 
466  gauss[11][0] = 0.1296959367822541214837999e+00;
467  gauss[11][1] = 0.4379748102473861440050125e+00;
468  gauss[11][2] = 0.3503250450337172031698701e-01;
469 
470  gauss[12][0] = 0.2810125948763069279974937e+00;
471  gauss[12][1] = 0.4379748102473861440050125e+00;
472  gauss[12][2] = 0.4163896521519496780744188e-01;
473 
474  gauss[13][0] = 0.4323292529703597345111876e+00;
475  gauss[13][1] = 0.4379748102473861440050125e+00;
476  gauss[13][2] = 0.3503250450337172031698701e-01;
477 
478  gauss[14][0] = 0.5356605448081429385157050e+00;
479  gauss[14][1] = 0.4379748102473861440050125e+00;
480  gauss[14][2]= 0.1734150643136570012831098e-01;
481 
482  gauss[15][0] = 0.3762125234511119174727219e-01;
483  gauss[15][1] = 0.1980134178736081725357921e+00;
484  gauss[15][2] = 0.1980408313204735378039807e-01;
485 
486  gauss[16][0] = 0.1850707102673894331855753e+00;
487  gauss[16][1] = 0.1980134178736081725357921e+00;
488  gauss[16][2] = 0.4000728738616042409551254e-01;
489 
490  gauss[17][0] = 0.4009932910631959137321039e+00;
491  gauss[17][1] = 0.1980134178736081725357921e+00;
492  gauss[17][2] = 0.4755189705795400973985440e-01;
493 
494  gauss[18][0] = 0.6169158718590023942786325e+00;
495  gauss[18][1] = 0.1980134178736081725357921e+00;
496  gauss[18][2] = 0.4000728738616042409551254e-01;
497 
498  gauss[19][0] = 0.7643653297812806357169357e+00;
499  gauss[19][1] = 0.1980134178736081725357921e+00;
500  gauss[19][2] = 0.1980408313204735378039807e-01;
501 
502  gauss[20][0] = 0.4504259356980372309546899e-01;
503  gauss[20][1] = 0.3980985705146874234080669e-01;
504  gauss[20][2] = 0.1146508035159254779675419e-01;
505 
506  gauss[21][0] = 0.2215786095523792017723069e+00;
507  gauss[21][1] = 0.3980985705146874234080669e-01;
508  gauss[21][2] = 0.2316122192949838634362829e-01;
509 
510  gauss[22][0] = 0.4800950714742656288295967e+00;
511  gauss[22][1] = 0.3980985705146874234080669e-01;
512  gauss[22][2] = 0.2752898566446981099359601e-01;
513 
514  gauss[23][0] = 0.7386115333961520558868864e+00;
515  gauss[23][1] = 0.3980985705146874234080669e-01;
516  gauss[23][2] = 0.2316122192949838634362829e-01;
517 
518  gauss[24][0] = 0.9151475493787275345637243e+00;
519  gauss[24][1] = 0.3980985705146874234080669e-01;
520  gauss[24][2] = 0.1146508035159254779675419e-01;
521  break;
522  case 36: // 36-point Gauss rule
523  gauss[0][0] = 0.2466697152670243054005080e-02;
524  gauss[0][1] = 0.9269456713197411148518740e+00;
525  gauss[0][2] = 0.7485425612363183140950521e-03;
526 
527  gauss[1][0] = 0.1237506041744003817266408e-01;
528  gauss[1][1] = 0.9269456713197411148518740e+00;
529  gauss[1][2] = 0.1576221754023588582963184e-02;
530 
531  gauss[2][0] = 0.2781108211536058069826929e-01;
532  gauss[2][1] = 0.9269456713197411148518740e+00;
533  gauss[2][2] = 0.2044386591544858980950415e-02;
534 
535  gauss[3][0] = 0.4524324656489830444985675e-01;
536  gauss[3][1] = 0.9269456713197411148518740e+00;
537  gauss[3][2] = 0.2044386591544858980950415e-02;
538 
539  gauss[4][0] = 0.6067926826281884697546196e-01;
540  gauss[4][1] = 0.9269456713197411148518740e+00;
541  gauss[4][2] = 0.1576221754023588582963184e-02;
542 
543  gauss[5][0] = 0.7058763152758864209412095e-01;
544  gauss[5][1] = 0.9269456713197411148518740e+00;
545  gauss[5][2] = 0.7485425612363183140950521e-03;
546 
547  gauss[6][0] = 0.7791874701286432033793818e-02;
548  gauss[6][1] = 0.7692338620300545009168834e+00;
549  gauss[6][2] = 0.3765298212691672929234314e-02;
550 
551  gauss[7][0] = 0.3909070073282424404541472e-01;
552  gauss[7][1] = 0.7692338620300545009168834e+00;
553  gauss[7][2] = 0.7928667333796484710025645e-02;
554 
555  gauss[8][0] = 0.8785045497599719116592015e-01;
556  gauss[8][1] = 0.7692338620300545009168834e+00;
557  gauss[8][2] = 0.1028361722876633011482835e-01;
558 
559  gauss[9][0] = 0.1429156829939483079171965e+00;
560  gauss[9][1] = 0.7692338620300545009168834e+00;
561  gauss[9][2] = 0.1028361722876633011482835e-01;
562 
563  gauss[10][0] = 0.1916754372371212550377019e+00;
564  gauss[10][1] = 0.7692338620300545009168834e+00;
565  gauss[10][2] = 0.7928667333796484710025645e-02;
566 
567  gauss[11][0] = 0.2229742632686590670493228e+00;
568  gauss[11][1] = 0.7692338620300545009168834e+00;
569  gauss[11][2] = 0.3765298212691672929234314e-02;
570 
571  gauss[12][0] = 0.1490156336667116035714823e-01;
572  gauss[12][1] = 0.5586715187715501320813933e+00;
573  gauss[12][2] = 0.8451535796943121648933723e-02;
574 
575  gauss[13][0] = 0.7475897346264909767772818e-01;
576  gauss[13][1] = 0.5586715187715501320813933e+00;
577  gauss[13][2] = 0.1779657599702627725499296e-01;
578 
579  gauss[14][0] = 0.1680095191211918575326299e+00;
580  gauss[14][1] = 0.5586715187715501320813933e+00;
581  gauss[14][2] = 0.2308246365135823315636558e-01;
582 
583  gauss[15][0] = 0.2733189621072580103859768e+00;
584  gauss[15][1] = 0.5586715187715501320813933e+00;
585  gauss[15][2] = 0.2308246365135823315636558e-01;
586 
587  gauss[16][0] = 0.3665695077658007702408785e+00;
588  gauss[16][1] = 0.5586715187715501320813933e+00;
589  gauss[16][2] = 0.1779657599702627725499296e-01;
590 
591  gauss[17][0] = 0.4264269178617787075614584e+00;
592  gauss[17][1] = 0.5586715187715501320813933e+00;
593  gauss[17][2] = 0.8451535796943121648933723e-02;
594 
595  gauss[18][0] = 0.2238687297803063445050099e-01;
596  gauss[18][1] = 0.3369846902811542990970530e+00;
597  gauss[18][2] = 0.1206060640426510907696060e-01;
598 
599  gauss[19][0] = 0.1123116817809536957220250e+00;
600  gauss[19][1] = 0.3369846902811542990970530e+00;
601  gauss[19][2] = 0.2539627158904765582035844e-01;
602 
603  gauss[20][0] = 0.2524035680765180133752919e+00;
604  gauss[20][1] = 0.3369846902811542990970530e+00;
605  gauss[20][2] = 0.3293939890078669916221938e-01;
606 
607  gauss[21][0] = 0.4106117416423276875276552e+00;
608  gauss[21][1] = 0.3369846902811542990970530e+00;
609  gauss[21][2] = 0.3293939890078669916221938e-01;
610 
611  gauss[22][0] = 0.5507036279378920051809220e+00;
612  gauss[22][1] = 0.3369846902811542990970530e+00;
613  gauss[22][2] = 0.2539627158904765582035844e-01;
614 
615  gauss[23][0] = 0.6406284367408150664524460e+00;
616  gauss[23][1] = 0.3369846902811542990970530e+00;
617  gauss[23][2] = 0.1206060640426510907696060e-01;
618 
619  gauss[24][0] = 0.2876533301255912843698113e-01;
620  gauss[24][1] = 0.1480785996684842918499769e+00;
621  gauss[24][2] = 0.1161087476699751443083611e-01;
622 
623  gauss[25][0] = 0.1443114869504166464557392e+00;
624  gauss[25][1] = 0.1480785996684842918499769e+00;
625  gauss[25][2] = 0.2444926225805781423674754e-01;
626 
627  gauss[26][0] = 0.3243183045887760364106504e+00;
628  gauss[26][1] = 0.1480785996684842918499769e+00;
629  gauss[26][2] = 0.3171111159070397975276155e-01;
630 
631  gauss[27][0] = 0.5276030957427396717393727e+00;
632  gauss[27][1] = 0.1480785996684842918499769e+00;
633  gauss[27][2] = 0.3171111159070397975276155e-01;
634 
635  gauss[28][0] = 0.7076099133810990616942839e+00;
636  gauss[28][1] = 0.1480785996684842918499769e+00;
637  gauss[28][2] = 0.2444926225805781423674754e-01;
638 
639  gauss[29][0] = 0.8231560673189565797130420e+00;
640  gauss[29][1] = 0.1480785996684842918499769e+00;
641  gauss[29][2] = 0.1161087476699751443083611e-01;
642 
643  gauss[30][0] = 0.3277536661445989520154516e-01;
644  gauss[30][1] = 0.2931642715978489197205028e-01;
645  gauss[30][2] = 0.6194265352658849860014235e-02;
646 
647  gauss[31][0] = 0.1644292415948274481657064e+00;
648  gauss[31][1] = 0.2931642715978489197205028e-01;
649  gauss[31][2] = 0.1304339433008283128737061e-01;
650 
651  gauss[32][0] = 0.3695299243723766991833510e+00;
652  gauss[32][1] = 0.2931642715978489197205028e-01;
653  gauss[32][2] = 0.1691750568001266068034231e-01;
654 
655  gauss[33][0] = 0.6011536484678384088445987e+00;
656  gauss[33][1] = 0.2931642715978489197205028e-01;
657  gauss[33][2] = 0.1691750568001266068034231e-01;
658 
659  gauss[34][0] = 0.8062543312453876598622433e+00;
660  gauss[34][1] = 0.2931642715978489197205028e-01;
661  gauss[34][2] = 0.1304339433008283128737061e-01;
662 
663  gauss[35][0] = 0.9379082062257552128264046e+00;
664  gauss[35][1] = 0.2931642715978489197205028e-01;
665  gauss[35][2] = 0.6194265352658849860014235e-02;
666  break;
667  case 49: // 49-point Gauss rule
668  gauss[0][0] = 0.1431659581332948445688999e-02;
669  gauss[0][1] = 0.9437374394630778535343478e+00;
670  gauss[0][2] = 0.3375907567113747844459523e-03;
671 
672  gauss[1][0] = 0.7271058658560282492949164e-02;
673  gauss[1][1] = 0.9437374394630778535343478e+00;
674  gauss[1][2] = 0.7292426106515660112115446e-03;
675 
676  gauss[2][0] = 0.1671433656946750295425480e-01;
677  gauss[2][1] = 0.9437374394630778535343478e+00;
678  gauss[2][2] = 0.9955000916249671892041120e-03;
679 
680  gauss[3][0] = 0.2813128026846107323282610e-01;
681  gauss[3][1] = 0.9437374394630778535343478e+00;
682  gauss[3][2] = 0.1089695284831588119968157e-02;
683 
684  gauss[4][0] = 0.3954822396745464351139739e-01;
685  gauss[4][1] = 0.9437374394630778535343478e+00;
686  gauss[4][2] = 0.9955000916249671892041120e-03;
687 
688  gauss[5][0] = 0.4899150187836186397270303e-01;
689  gauss[5][1] = 0.9437374394630778535343478e+00;
690  gauss[5][2] = 0.7292426106515660112115446e-03;
691 
692  gauss[6][0] = 0.5483090095558919801996319e-01;
693  gauss[6][1] = 0.9437374394630778535343478e+00;
694  gauss[6][2] = 0.3375907567113747844459523e-03;
695 
696  gauss[7][0] = 0.4586412541637882763079511e-02;
697  gauss[7][1] = 0.8197593082631076350124201e+00;
698  gauss[7][2] = 0.1774485071438049608442658e-02;
699 
700  gauss[8][0] = 0.2329329894998979644828858e-01;
701  gauss[8][1] = 0.8197593082631076350124201e+00;
702  gauss[8][2] = 0.3833132573484684075609282e-02;
703 
704  gauss[9][0] = 0.5354544045728325221282914e-01;
705  gauss[9][1] = 0.8197593082631076350124201e+00;
706  gauss[9][2] = 0.5232667115687632726379401e-02;
707 
708  gauss[10][0] = 0.9012034586844618249378997e-01;
709  gauss[10][1] = 0.8197593082631076350124201e+00;
710  gauss[10][2] = 0.5727787200652742623468366e-02;
711 
712  gauss[11][0] = 0.1266952512796091127747508e+00;
713  gauss[11][1] = 0.8197593082631076350124201e+00;
714  gauss[11][2] = 0.5232667115687632726379401e-02;
715 
716  gauss[12][0] = 0.1569473927869025685392914e+00;
717  gauss[12][1] = 0.8197593082631076350124201e+00;
718  gauss[12][2] = 0.3833132573484684075609282e-02;
719 
720  gauss[13][0] = 0.1756542791952544822245004e+00;
721  gauss[13][1] = 0.8197593082631076350124201e+00;
722  gauss[13][2] = 0.1774485071438049608442658e-02;
723 
724  gauss[14][0] = 0.8972904006716703697492974e-02;
725  gauss[14][1] = 0.6473752828868303626260922e+00;
726  gauss[14][2] = 0.4297910087982423247056434e-02;
727 
728  gauss[15][0] = 0.4557124628029494113490578e-01;
729  gauss[15][1] = 0.6473752828868303626260922e+00;
730  gauss[15][2] = 0.9284078756888546352613518e-02;
731 
732  gauss[16][0] = 0.1047568427084817262927626e+00;
733  gauss[16][1] = 0.6473752828868303626260922e+00;
734  gauss[16][2] = 0.1267383600209279954896470e-01;
735 
736  gauss[17][0] = 0.1763123585565848186869539e+00;
737  gauss[17][1] = 0.6473752828868303626260922e+00;
738  gauss[17][2] = 0.1387304677156393168637868e-01;
739 
740  gauss[18][0] = 0.2478678744046879110811452e+00;
741  gauss[18][1] = 0.6473752828868303626260922e+00;
742  gauss[18][2] = 0.1267383600209279954896470e-01;
743 
744  gauss[19][0] = 0.3070534708328746962390020e+00;
745  gauss[19][1] = 0.6473752828868303626260922e+00;
746  gauss[19][2] = 0.9284078756888546352613518e-02;
747 
748  gauss[20][0] = 0.3436518131064529336764148e+00;
749  gauss[20][1] = 0.6473752828868303626260922e+00;
750  gauss[20][2] = 0.4297910087982423247056434e-02;
751 
752  gauss[21][0] = 0.1392289515659608599518407e-01;
753  gauss[21][1] = 0.4528463736694446169985514e+00;
754  gauss[21][2] = 0.6935542753734072742362389e-02;
755 
756  gauss[22][0] = 0.7071107454632530338118497e-01;
757  gauss[22][1] = 0.4528463736694446169985514e+00;
758  gauss[22][2] = 0.1498172921938941357190799e-01;
759 
760  gauss[23][0] = 0.1625469900128696646167676e+00;
761  gauss[23][1] = 0.4528463736694446169985514e+00;
762  gauss[23][2] = 0.2045178462250981418417614e-01;
763 
764  gauss[24][0] = 0.2735768131652776915007243e+00;
765  gauss[24][1] = 0.4528463736694446169985514e+00;
766  gauss[24][2] = 0.2238695250460706899401921e-01;
767 
768  gauss[25][0] = 0.3846066363176857183846809e+00;
769  gauss[25][1] = 0.4528463736694446169985514e+00;
770  gauss[25][2] = 0.2045178462250981418417614e-01;
771 
772  gauss[26][0] = 0.4764425517842300796202636e+00;
773  gauss[26][1] = 0.4528463736694446169985514e+00;
774  gauss[26][2] = 0.1498172921938941357190799e-01;
775 
776  gauss[27][0] = 0.5332307311739592970062645e+00;
777  gauss[27][1] = 0.4528463736694446169985514e+00;
778  gauss[27][2] = 0.6935542753734072742362389e-02;
779 
780  gauss[28][0] = 0.1868274434884273534596982e-01;
781  gauss[28][1] = 0.2657898227845894684767894e+00;
782  gauss[28][2] = 0.8247603013529574038759331e-02;
783 
784  gauss[29][0] = 0.9488521701286283095347225e-01;
785  gauss[29][1] = 0.2657898227845894684767894e+00;
786  gauss[29][2] = 0.1781596040067579543578056e-01;
787 
788  gauss[30][0] = 0.2181172683502983220175448e+00;
789  gauss[30][1] = 0.2657898227845894684767894e+00;
790  gauss[30][2] = 0.2432083637489711574352285e-01;
791 
792  gauss[31][0] = 0.3671050886077052657616053e+00;
793  gauss[31][1] = 0.2657898227845894684767894e+00;
794  gauss[31][2] = 0.2662209772138335648260900e-01;
795 
796  gauss[32][0] = 0.5160929088651122095056658e+00;
797  gauss[32][1] = 0.2657898227845894684767894e+00;
798  gauss[32][2] = 0.2432083637489711574352285e-01;
799 
800  gauss[33][0] = 0.6393249602025477005697384e+00;
801  gauss[33][1] = 0.2657898227845894684767894e+00;
802  gauss[33][2] = 0.1781596040067579543578056e-01;
803 
804  gauss[34][0] = 0.7155274328665677961772408e+00;
805  gauss[34][1] = 0.2657898227845894684767894e+00;
806  gauss[34][2] = 0.8247603013529574038759331e-02;
807 
808  gauss[35][0] = 0.2252791561566364109969225e-01;
809  gauss[35][1] = 0.1146790531609042319096402e+00;
810  gauss[35][2] = 0.7154643779096141969509067e-02;
811 
812  gauss[36][0] = 0.1144139277467613129097319e+00;
813  gauss[36][1] = 0.1146790531609042319096402e+00;
814  gauss[36][2] = 0.1545501766273406746103162e-01;
815 
816  gauss[37][0] = 0.2630088665758011781230588e+00;
817  gauss[37][1] = 0.1146790531609042319096402e+00;
818  gauss[37][2] = 0.2109787781815243944540462e-01;
819 
820  gauss[38][0] = 0.4426604734195478840451799e+00;
821  gauss[38][1] = 0.1146790531609042319096402e+00;
822  gauss[38][2] = 0.2309417967090930466923013e-01;
823 
824  gauss[39][0] = 0.6223120802632945899673009e+00;
825  gauss[39][1] = 0.1146790531609042319096402e+00;
826  gauss[39][2] = 0.2109787781815243944540462e-01;
827 
828  gauss[40][0] = 0.7709070190923344551806278e+00;
829  gauss[40][1] = 0.1146790531609042319096402e+00;
830  gauss[40][2] = 0.1545501766273406746103162e-01;
831 
832  gauss[41][0] = 0.8627930312234321269906675e+00;
833  gauss[41][1] = 0.1146790531609042319096402e+00;
834  gauss[41][2] = 0.7154643779096141969509067e-02;
835 
836  gauss[42][0] = 0.2487403237606075687067163e-01;
837  gauss[42][1] = 0.2247938643871249810882550e-01;
838  gauss[42][2] = 0.3623466079725786927077026e-02;
839 
840  gauss[43][0] = 0.1263292970196692449335864e+00;
841  gauss[43][1] = 0.2247938643871249810882550e-01;
842  gauss[43][2] = 0.7827186648495094067212433e-02;
843 
844  gauss[44][0] = 0.2903993060879903088904502e+00;
845  gauss[44][1] = 0.2247938643871249810882550e-01;
846  gauss[44][2] = 0.1068501060131496739994062e-01;
847 
848  gauss[45][0] = 0.4887603067806437509455873e+00;
849  gauss[45][1] = 0.2247938643871249810882550e-01;
850  gauss[45][2] = 0.1169603676441935436310196e-01;
851 
852  gauss[46][0] = 0.6871213074732971930007243e+00;
853  gauss[46][1] = 0.2247938643871249810882550e-01;
854  gauss[46][2] = 0.1068501060131496739994062e-01;
855 
856  gauss[47][0] = 0.8511913165416182569575881e+00;
857  gauss[47][1] = 0.2247938643871249810882550e-01;
858  gauss[47][2] = 0.7827186648495094067212433e-02;
859 
860  gauss[48][0] = 0.9526465811852267450205029e+00;
861  gauss[48][1] = 0.2247938643871249810882550e-01;
862  gauss[48][2] = 0.3623466079725786927077026e-02;
863  break;
864  default:
865  fasp_chkerr(ERROR_QUAD_TYPE, __FUNCTION__);
866  break;
867  }
868 
869  return;
870 }
871 
872 /*---------------------------------*/
873 /*-- End of File --*/
874 /*---------------------------------*/
void fasp_chkerr(const SHORT status, const char *fctname)
Check error status and print out error messages before quit.
Definition: message.c:199
#define REAL
Definition: fasp.h:67
#define ERROR_QUAD_TYPE
Definition: fasp_const.h:57
#define ERROR_QUAD_DIM
Definition: fasp_const.h:58
#define INT
Definition: fasp.h:64
Main header file for FASP.
void fasp_gauss2d(const INT num_qp, const INT ncoor, REAL(*gauss)[3])
Initialize Gauss quadrature points and weights.
Definition: quadrature.c:210
void fasp_quad2d(const INT num_qp, const INT ncoor, REAL(*quad)[3])
Initialize Lagrange quadrature points and weights.
Definition: quadrature.c:31