xref: /phasta/phSolver/common/getIntPnts.c (revision 595995161822a203c8467e0e4a253d7bd7d6df32)
1*59599516SKenneth E. Jansen /**********************************************************************/
2*59599516SKenneth E. Jansen /* Interpolation points for a tet based on the Chen - Babuska paper.  */
3*59599516SKenneth E. Jansen /**********************************************************************/
4*59599516SKenneth E. Jansen #include <stdio.h>
5*59599516SKenneth E. Jansen 
6*59599516SKenneth E. Jansen #include <FCMangle.h>
7*59599516SKenneth E. Jansen 
8*59599516SKenneth E. Jansen typedef double DARR4[4];
9*59599516SKenneth E. Jansen 
10*59599516SKenneth E. Jansen /* 4-point (p = 1) */
11*59599516SKenneth E. Jansen static double pts4[][4] =
12*59599516SKenneth E. Jansen {
13*59599516SKenneth E. Jansen   {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
14*59599516SKenneth E. Jansen   {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000},
15*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000},
16*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000}
17*59599516SKenneth E. Jansen };
18*59599516SKenneth E. Jansen 
19*59599516SKenneth E. Jansen /* 10-point (p = 2) */
20*59599516SKenneth E. Jansen static double pts10[][4] =
21*59599516SKenneth E. Jansen {
22*59599516SKenneth E. Jansen   {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
23*59599516SKenneth E. Jansen   {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000},
24*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000},
25*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000},
26*59599516SKenneth E. Jansen   {0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000},
27*59599516SKenneth E. Jansen   {0.0000000000, 0.5000000000, 0.5000000000, 0.0000000000},
28*59599516SKenneth E. Jansen   {0.5000000000, 0.0000000000, 0.5000000000, 0.0000000000},
29*59599516SKenneth E. Jansen   {0.5000000000, 0.0000000000, 0.0000000000, 0.5000000000},
30*59599516SKenneth E. Jansen   {0.0000000000, 0.5000000000, 0.0000000000, 0.5000000000},
31*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.5000000000, 0.5000000000}
32*59599516SKenneth E. Jansen };
33*59599516SKenneth E. Jansen 
34*59599516SKenneth E. Jansen /* 20-point (p = 3) */
35*59599516SKenneth E. Jansen static double pts20[][4] =
36*59599516SKenneth E. Jansen {
37*59599516SKenneth E. Jansen   {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
38*59599516SKenneth E. Jansen   {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000},
39*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000},
40*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000},
41*59599516SKenneth E. Jansen   {0.7236067977, 0.2763932023, 0.0000000000, 0.0000000000},
42*59599516SKenneth E. Jansen   {0.2763932023, 0.7236067977, 0.0000000000, 0.0000000000},
43*59599516SKenneth E. Jansen   {0.0000000000, 0.7236067977, 0.2763932023, 0.0000000000},
44*59599516SKenneth E. Jansen   {0.0000000000, 0.2763932023, 0.7236067977, 0.0000000000},
45*59599516SKenneth E. Jansen   {0.7236067977, 0.0000000000, 0.2763932023, 0.0000000000},
46*59599516SKenneth E. Jansen   {0.2763932023, 0.0000000000, 0.7236067977, 0.0000000000},
47*59599516SKenneth E. Jansen   {0.7236067977, 0.0000000000, 0.0000000000, 0.2763932023},
48*59599516SKenneth E. Jansen   {0.2763932023, 0.0000000000, 0.0000000000, 0.7236067977},
49*59599516SKenneth E. Jansen   {0.0000000000, 0.7236067977, 0.0000000000, 0.2763932023},
50*59599516SKenneth E. Jansen   {0.0000000000, 0.2763932023, 0.0000000000, 0.7236067977},
51*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.7236067977, 0.2763932023},
52*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.2763932023, 0.7236067977},
53*59599516SKenneth E. Jansen   {0.3333333333, 0.3333333333, 0.3333333333, 0.0000000000},
54*59599516SKenneth E. Jansen   {0.3333333333, 0.3333333333, 0.0000000000, 0.3333333333},
55*59599516SKenneth E. Jansen   {0.3333333333, 0.0000000000, 0.3333333333, 0.3333333333},
56*59599516SKenneth E. Jansen   {0.0000000000, 0.3333333333, 0.3333333333, 0.3333333333}
57*59599516SKenneth E. Jansen };
58*59599516SKenneth E. Jansen 
59*59599516SKenneth E. Jansen /* 35-point (p = 4) */
60*59599516SKenneth E. Jansen static double pts35[][4] =
61*59599516SKenneth E. Jansen {
62*59599516SKenneth E. Jansen   {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
63*59599516SKenneth E. Jansen   {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000},
64*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000},
65*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000},
66*59599516SKenneth E. Jansen   {0.8273268354, 0.1726731646, 0.0000000000, 0.0000000000},
67*59599516SKenneth E. Jansen   {0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000},
68*59599516SKenneth E. Jansen   {0.1726731646, 0.8273268354, 0.0000000000, 0.0000000000},
69*59599516SKenneth E. Jansen   {0.0000000000, 0.8273268354, 0.1726731646, 0.0000000000},
70*59599516SKenneth E. Jansen   {0.0000000000, 0.5000000000, 0.5000000000, 0.0000000000},
71*59599516SKenneth E. Jansen   {0.0000000000, 0.1726731646, 0.8273268354, 0.0000000000},
72*59599516SKenneth E. Jansen   {0.8273268354, 0.0000000000, 0.1726731646, 0.0000000000},
73*59599516SKenneth E. Jansen   {0.5000000000, 0.0000000000, 0.5000000000, 0.0000000000},
74*59599516SKenneth E. Jansen   {0.1726731646, 0.0000000000, 0.8273268354, 0.0000000000},
75*59599516SKenneth E. Jansen   {0.8273268354, 0.0000000000, 0.0000000000, 0.1726731646},
76*59599516SKenneth E. Jansen   {0.5000000000, 0.0000000000, 0.0000000000, 0.5000000000},
77*59599516SKenneth E. Jansen   {0.1726731646, 0.0000000000, 0.0000000000, 0.8273268354},
78*59599516SKenneth E. Jansen   {0.0000000000, 0.8273268354, 0.0000000000, 0.1726731646},
79*59599516SKenneth E. Jansen   {0.0000000000, 0.5000000000, 0.0000000000, 0.5000000000},
80*59599516SKenneth E. Jansen   {0.0000000000, 0.1726731646, 0.0000000000, 0.8273268354},
81*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.8273268354, 0.1726731646},
82*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.5000000000, 0.5000000000},
83*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.1726731646, 0.8273268354},
84*59599516SKenneth E. Jansen   {0.2165423725, 0.2165423725, 0.5669152550, 0.0000000000},
85*59599516SKenneth E. Jansen   {0.2165423725, 0.5669152550, 0.2165423725, 0.0000000000},
86*59599516SKenneth E. Jansen   {0.5669152550, 0.2165423725, 0.2165423725, 0.0000000000},
87*59599516SKenneth E. Jansen   {0.2165423725, 0.5669152550, 0.0000000000, 0.2165423725},
88*59599516SKenneth E. Jansen   {0.5669152550, 0.2165423725, 0.0000000000, 0.2165423725},
89*59599516SKenneth E. Jansen   {0.2165423725, 0.2165423725, 0.0000000000, 0.5669152550},
90*59599516SKenneth E. Jansen   {0.5669152550, 0.0000000000, 0.2165423725, 0.2165423725},
91*59599516SKenneth E. Jansen   {0.2165423725, 0.0000000000, 0.2165423725, 0.5669152550},
92*59599516SKenneth E. Jansen   {0.2165423725, 0.0000000000, 0.5669152550, 0.2165423725},
93*59599516SKenneth E. Jansen   {0.0000000000, 0.2165423725, 0.2165423725, 0.5669152550},
94*59599516SKenneth E. Jansen   {0.0000000000, 0.2165423725, 0.5669152550, 0.2165423725},
95*59599516SKenneth E. Jansen   {0.0000000000, 0.5669152550, 0.2165423725, 0.2165423725},
96*59599516SKenneth E. Jansen   {0.2500000000, 0.2500000000, 0.2500000000, 0.2500000000}
97*59599516SKenneth E. Jansen };
98*59599516SKenneth E. Jansen 
99*59599516SKenneth E. Jansen /* 56-point (p = 5) */
100*59599516SKenneth E. Jansen static double pts56[][4] =
101*59599516SKenneth E. Jansen {
102*59599516SKenneth E. Jansen   {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
103*59599516SKenneth E. Jansen   {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000},
104*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000},
105*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000},
106*59599516SKenneth E. Jansen   {0.8825276620, 0.1174723380, 0.0000000000, 0.0000000000},
107*59599516SKenneth E. Jansen   {0.6426157582, 0.3573842418, 0.0000000000, 0.0000000000},
108*59599516SKenneth E. Jansen   {0.3573842418, 0.6426157582, 0.0000000000, 0.0000000000},
109*59599516SKenneth E. Jansen   {0.1174723380, 0.8825276620, 0.0000000000, 0.0000000000},
110*59599516SKenneth E. Jansen   {0.0000000000, 0.8825276620, 0.1174723380, 0.0000000000},
111*59599516SKenneth E. Jansen   {0.0000000000, 0.6426157582, 0.3573842418, 0.0000000000},
112*59599516SKenneth E. Jansen   {0.0000000000, 0.3573842418, 0.6426157582, 0.0000000000},
113*59599516SKenneth E. Jansen   {0.0000000000, 0.1174723380, 0.8825276620, 0.0000000000},
114*59599516SKenneth E. Jansen   {0.8825276620, 0.0000000000, 0.1174723380, 0.0000000000},
115*59599516SKenneth E. Jansen   {0.6426157582, 0.0000000000, 0.3573842418, 0.0000000000},
116*59599516SKenneth E. Jansen   {0.3573842418, 0.0000000000, 0.6426157582, 0.0000000000},
117*59599516SKenneth E. Jansen   {0.1174723380, 0.0000000000, 0.8825276620, 0.0000000000},
118*59599516SKenneth E. Jansen   {0.8825276620, 0.0000000000, 0.0000000000, 0.1174723380},
119*59599516SKenneth E. Jansen   {0.6426157582, 0.0000000000, 0.0000000000, 0.3573842418},
120*59599516SKenneth E. Jansen   {0.3573842418, 0.0000000000, 0.0000000000, 0.6426157582},
121*59599516SKenneth E. Jansen   {0.1174723380, 0.0000000000, 0.0000000000, 0.8825276620},
122*59599516SKenneth E. Jansen   {0.0000000000, 0.8825276620, 0.0000000000, 0.1174723380},
123*59599516SKenneth E. Jansen   {0.0000000000, 0.6426157582, 0.0000000000, 0.3573842418},
124*59599516SKenneth E. Jansen   {0.0000000000, 0.3573842418, 0.0000000000, 0.6426157582},
125*59599516SKenneth E. Jansen   {0.0000000000, 0.1174723380, 0.0000000000, 0.8825276620},
126*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.8825276620, 0.1174723380},
127*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.6426157582, 0.3573842418},
128*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.3573842418, 0.6426157582},
129*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.1174723380, 0.8825276620},
130*59599516SKenneth E. Jansen   {0.1480194978, 0.1480194978, 0.7039610043, 0.0000000000},
131*59599516SKenneth E. Jansen   {0.1480194978, 0.7039610043, 0.1480194978, 0.0000000000},
132*59599516SKenneth E. Jansen   {0.7039610043, 0.1480194978, 0.1480194978, 0.0000000000},
133*59599516SKenneth E. Jansen   {0.4208255904, 0.4208255904, 0.1583488191, 0.0000000000},
134*59599516SKenneth E. Jansen   {0.4208255904, 0.1583488191, 0.4208255904, 0.0000000000},
135*59599516SKenneth E. Jansen   {0.1583488191, 0.4208255904, 0.4208255904, 0.0000000000},
136*59599516SKenneth E. Jansen   {0.1480194978, 0.7039610043, 0.0000000000, 0.1480194978},
137*59599516SKenneth E. Jansen   {0.7039610043, 0.1480194978, 0.0000000000, 0.1480194978},
138*59599516SKenneth E. Jansen   {0.1480194978, 0.1480194978, 0.0000000000, 0.7039610043},
139*59599516SKenneth E. Jansen   {0.4208255904, 0.1583488191, 0.0000000000, 0.4208255904},
140*59599516SKenneth E. Jansen   {0.1583488191, 0.4208255904, 0.0000000000, 0.4208255904},
141*59599516SKenneth E. Jansen   {0.4208255904, 0.4208255904, 0.0000000000, 0.1583488191},
142*59599516SKenneth E. Jansen   {0.7039610043, 0.0000000000, 0.1480194978, 0.1480194978},
143*59599516SKenneth E. Jansen   {0.1480194978, 0.0000000000, 0.1480194978, 0.7039610043},
144*59599516SKenneth E. Jansen   {0.1480194978, 0.0000000000, 0.7039610043, 0.1480194978},
145*59599516SKenneth E. Jansen   {0.1583488191, 0.0000000000, 0.4208255904, 0.4208255904},
146*59599516SKenneth E. Jansen   {0.4208255904, 0.0000000000, 0.4208255904, 0.1583488191},
147*59599516SKenneth E. Jansen   {0.4208255904, 0.0000000000, 0.1583488191, 0.4208255904},
148*59599516SKenneth E. Jansen   {0.0000000000, 0.1480194978, 0.1480194978, 0.7039610043},
149*59599516SKenneth E. Jansen   {0.0000000000, 0.1480194978, 0.7039610043, 0.1480194978},
150*59599516SKenneth E. Jansen   {0.0000000000, 0.7039610043, 0.1480194978, 0.1480194978},
151*59599516SKenneth E. Jansen   {0.0000000000, 0.4208255904, 0.4208255904, 0.1583488191},
152*59599516SKenneth E. Jansen   {0.0000000000, 0.4208255904, 0.1583488191, 0.4208255904},
153*59599516SKenneth E. Jansen   {0.0000000000, 0.1583488191, 0.4208255904, 0.4208255904},
154*59599516SKenneth E. Jansen   {0.1779987615, 0.1779987615, 0.1779987615, 0.4660037155},
155*59599516SKenneth E. Jansen   {0.1779987615, 0.1779987615, 0.4660037155, 0.1779987615},
156*59599516SKenneth E. Jansen   {0.1779987615, 0.4660037155, 0.1779987615, 0.1779987615},
157*59599516SKenneth E. Jansen   {0.4660037155, 0.1779987615, 0.1779987615, 0.1779987615}
158*59599516SKenneth E. Jansen };
159*59599516SKenneth E. Jansen 
160*59599516SKenneth E. Jansen /* 84-point (p = 6) */
161*59599516SKenneth E. Jansen static double pts84[][4] =
162*59599516SKenneth E. Jansen {
163*59599516SKenneth E. Jansen   {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
164*59599516SKenneth E. Jansen   {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000},
165*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000},
166*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000},
167*59599516SKenneth E. Jansen   {0.9151119481, 0.0848880519, 0.0000000000, 0.0000000000},
168*59599516SKenneth E. Jansen   {0.7344243967, 0.2655756033, 0.0000000000, 0.0000000000},
169*59599516SKenneth E. Jansen   {0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000},
170*59599516SKenneth E. Jansen   {0.2655756033, 0.7344243967, 0.0000000000, 0.0000000000},
171*59599516SKenneth E. Jansen   {0.0848880519, 0.9151119481, 0.0000000000, 0.0000000000},
172*59599516SKenneth E. Jansen   {0.0000000000, 0.9151119481, 0.0848880519, 0.0000000000},
173*59599516SKenneth E. Jansen   {0.0000000000, 0.7344243967, 0.2655756033, 0.0000000000},
174*59599516SKenneth E. Jansen   {0.0000000000, 0.5000000000, 0.5000000000, 0.0000000000},
175*59599516SKenneth E. Jansen   {0.0000000000, 0.2655756033, 0.7344243967, 0.0000000000},
176*59599516SKenneth E. Jansen   {0.0000000000, 0.0848880519, 0.9151119481, 0.0000000000},
177*59599516SKenneth E. Jansen   {0.9151119481, 0.0000000000, 0.0848880519, 0.0000000000},
178*59599516SKenneth E. Jansen   {0.7344243967, 0.0000000000, 0.2655756033, 0.0000000000},
179*59599516SKenneth E. Jansen   {0.5000000000, 0.0000000000, 0.5000000000, 0.0000000000},
180*59599516SKenneth E. Jansen   {0.2655756033, 0.0000000000, 0.7344243967, 0.0000000000},
181*59599516SKenneth E. Jansen   {0.0848880519, 0.0000000000, 0.9151119481, 0.0000000000},
182*59599516SKenneth E. Jansen   {0.9151119481, 0.0000000000, 0.0000000000, 0.0848880519},
183*59599516SKenneth E. Jansen   {0.7344243967, 0.0000000000, 0.0000000000, 0.2655756033},
184*59599516SKenneth E. Jansen   {0.5000000000, 0.0000000000, 0.0000000000, 0.5000000000},
185*59599516SKenneth E. Jansen   {0.2655756033, 0.0000000000, 0.0000000000, 0.7344243967},
186*59599516SKenneth E. Jansen   {0.0848880519, 0.0000000000, 0.0000000000, 0.9151119481},
187*59599516SKenneth E. Jansen   {0.0000000000, 0.9151119481, 0.0000000000, 0.0848880519},
188*59599516SKenneth E. Jansen   {0.0000000000, 0.7344243967, 0.0000000000, 0.2655756033},
189*59599516SKenneth E. Jansen   {0.0000000000, 0.5000000000, 0.0000000000, 0.5000000000},
190*59599516SKenneth E. Jansen   {0.0000000000, 0.2655756033, 0.0000000000, 0.7344243967},
191*59599516SKenneth E. Jansen   {0.0000000000, 0.0848880519, 0.0000000000, 0.9151119481},
192*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.9151119481, 0.0848880519},
193*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.7344243967, 0.2655756033},
194*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.5000000000, 0.5000000000},
195*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.2655756033, 0.7344243967},
196*59599516SKenneth E. Jansen   {0.0000000000, 0.0000000000, 0.0848880519, 0.9151119481},
197*59599516SKenneth E. Jansen   {0.3162696586, 0.5665493829, 0.1171809585, 0.0000000000},
198*59599516SKenneth E. Jansen   {0.5665493829, 0.3162696586, 0.1171809585, 0.0000000000},
199*59599516SKenneth E. Jansen   {0.5665493792, 0.1171809548, 0.3162696660, 0.0000000000},
200*59599516SKenneth E. Jansen   {0.1171809548, 0.5665493792, 0.3162696660, 0.0000000000},
201*59599516SKenneth E. Jansen   {0.1171809641, 0.3162696752, 0.5665493608, 0.0000000000},
202*59599516SKenneth E. Jansen   {0.3162696752, 0.1171809641, 0.5665493608, 0.0000000000},
203*59599516SKenneth E. Jansen   {0.1063355939, 0.1063355939, 0.7873288122, 0.0000000000},
204*59599516SKenneth E. Jansen   {0.1063355939, 0.7873288122, 0.1063355939, 0.0000000000},
205*59599516SKenneth E. Jansen   {0.7873288122, 0.1063355939, 0.1063355939, 0.0000000000},
206*59599516SKenneth E. Jansen   {0.3333333333, 0.3333333333, 0.3333333333, 0.0000000000},
207*59599516SKenneth E. Jansen   {0.5665493829, 0.1171809585, 0.0000000000, 0.3162696586},
208*59599516SKenneth E. Jansen   {0.3162696586, 0.1171809585, 0.0000000000, 0.5665493829},
209*59599516SKenneth E. Jansen   {0.1171809548, 0.3162696660, 0.0000000000, 0.5665493792},
210*59599516SKenneth E. Jansen   {0.5665493792, 0.3162696660, 0.0000000000, 0.1171809548},
211*59599516SKenneth E. Jansen   {0.3162696752, 0.5665493608, 0.0000000000, 0.1171809641},
212*59599516SKenneth E. Jansen   {0.1171809641, 0.5665493608, 0.0000000000, 0.3162696752},
213*59599516SKenneth E. Jansen   {0.1063355939, 0.7873288122, 0.0000000000, 0.1063355939},
214*59599516SKenneth E. Jansen   {0.7873288122, 0.1063355939, 0.0000000000, 0.1063355939},
215*59599516SKenneth E. Jansen   {0.1063355939, 0.1063355939, 0.0000000000, 0.7873288122},
216*59599516SKenneth E. Jansen   {0.3333333333, 0.3333333333, 0.0000000000, 0.3333333333},
217*59599516SKenneth E. Jansen   {0.1171809585, 0.0000000000, 0.3162696586, 0.5665493829},
218*59599516SKenneth E. Jansen   {0.1171809585, 0.0000000000, 0.5665493829, 0.3162696586},
219*59599516SKenneth E. Jansen   {0.3162696660, 0.0000000000, 0.5665493792, 0.1171809548},
220*59599516SKenneth E. Jansen   {0.3162696660, 0.0000000000, 0.1171809548, 0.5665493792},
221*59599516SKenneth E. Jansen   {0.5665493608, 0.0000000000, 0.1171809641, 0.3162696752},
222*59599516SKenneth E. Jansen   {0.5665493608, 0.0000000000, 0.3162696752, 0.1171809641},
223*59599516SKenneth E. Jansen   {0.7873288122, 0.0000000000, 0.1063355939, 0.1063355939},
224*59599516SKenneth E. Jansen   {0.1063355939, 0.0000000000, 0.1063355939, 0.7873288122},
225*59599516SKenneth E. Jansen   {0.1063355939, 0.0000000000, 0.7873288122, 0.1063355939},
226*59599516SKenneth E. Jansen   {0.3333333333, 0.0000000000, 0.3333333333, 0.3333333333},
227*59599516SKenneth E. Jansen   {0.0000000000, 0.3162696586, 0.5665493829, 0.1171809585},
228*59599516SKenneth E. Jansen   {0.0000000000, 0.5665493829, 0.3162696586, 0.1171809585},
229*59599516SKenneth E. Jansen   {0.0000000000, 0.5665493792, 0.1171809548, 0.3162696660},
230*59599516SKenneth E. Jansen   {0.0000000000, 0.1171809548, 0.5665493792, 0.3162696660},
231*59599516SKenneth E. Jansen   {0.0000000000, 0.1171809641, 0.3162696752, 0.5665493608},
232*59599516SKenneth E. Jansen   {0.0000000000, 0.3162696752, 0.1171809641, 0.5665493608},
233*59599516SKenneth E. Jansen   {0.0000000000, 0.1063355939, 0.1063355939, 0.7873288122},
234*59599516SKenneth E. Jansen   {0.0000000000, 0.1063355939, 0.7873288122, 0.1063355939},
235*59599516SKenneth E. Jansen   {0.0000000000, 0.7873288122, 0.1063355939, 0.1063355939},
236*59599516SKenneth E. Jansen   {0.0000000000, 0.3333333333, 0.3333333333, 0.3333333333},
237*59599516SKenneth E. Jansen   {0.3630696293, 0.3630696293, 0.1369303707, 0.1369303707},
238*59599516SKenneth E. Jansen   {0.3630696293, 0.1369303707, 0.1369303707, 0.3630696293},
239*59599516SKenneth E. Jansen   {0.3630696293, 0.1369303707, 0.3630696293, 0.1369303707},
240*59599516SKenneth E. Jansen   {0.1369303707, 0.3630696293, 0.1369303707, 0.3630696293},
241*59599516SKenneth E. Jansen   {0.1369303707, 0.1369303707, 0.3630696293, 0.3630696293},
242*59599516SKenneth E. Jansen   {0.1369303707, 0.3630696293, 0.3630696293, 0.1369303707},
243*59599516SKenneth E. Jansen   {0.1293440398, 0.1293440398, 0.1293440398, 0.6119678806},
244*59599516SKenneth E. Jansen   {0.1293440398, 0.1293440398, 0.6119678806, 0.1293440398},
245*59599516SKenneth E. Jansen   {0.1293440398, 0.6119678806, 0.1293440398, 0.1293440398},
246*59599516SKenneth E. Jansen   {0.6119678806, 0.1293440398, 0.1293440398, 0.1293440398}
247*59599516SKenneth E. Jansen };
248*59599516SKenneth E. Jansen 
249*59599516SKenneth E. Jansen /* return the requested number of interpolation points */
250*59599516SKenneth E. Jansen #define getintpnts FortranCInterface_GLOBAL_(getintpnts, GETINTPNTS)
251*59599516SKenneth E. Jansen 
252*59599516SKenneth E. Jansen void getintpnts(double points[][3], int *npts)
253*59599516SKenneth E. Jansen {
254*59599516SKenneth E. Jansen   int   i, j;
255*59599516SKenneth E. Jansen   DARR4 *pnts;
256*59599516SKenneth E. Jansen 
257*59599516SKenneth E. Jansen   switch (*npts){
258*59599516SKenneth E. Jansen   case 4:
259*59599516SKenneth E. Jansen     pnts = pts4;
260*59599516SKenneth E. Jansen     break;
261*59599516SKenneth E. Jansen   case 10:
262*59599516SKenneth E. Jansen     pnts = pts10;
263*59599516SKenneth E. Jansen     break;
264*59599516SKenneth E. Jansen   case 20:
265*59599516SKenneth E. Jansen     pnts = pts20;
266*59599516SKenneth E. Jansen     break;
267*59599516SKenneth E. Jansen   case 35:
268*59599516SKenneth E. Jansen     pnts = pts35;
269*59599516SKenneth E. Jansen     break;
270*59599516SKenneth E. Jansen   case 56:
271*59599516SKenneth E. Jansen     pnts = pts56;
272*59599516SKenneth E. Jansen     break;
273*59599516SKenneth E. Jansen   case 84:
274*59599516SKenneth E. Jansen     pnts = pts84;
275*59599516SKenneth E. Jansen     break;
276*59599516SKenneth E. Jansen   default:
277*59599516SKenneth E. Jansen     fprintf(stderr,"\n%d interpolation points not supported...\n",*npts);
278*59599516SKenneth E. Jansen     fprintf(stderr,"\ngive {4,10,20,35,56,84}\nexiting...\n");
279*59599516SKenneth E. Jansen     exit(-1);
280*59599516SKenneth E. Jansen   }
281*59599516SKenneth E. Jansen 
282*59599516SKenneth E. Jansen   /* copy points to the fortran array */
283*59599516SKenneth E. Jansen   for (i=0; i < *npts; i++) {
284*59599516SKenneth E. Jansen     for (j=0; j < 3; j++) {
285*59599516SKenneth E. Jansen       points[i][j] = pnts[i][j];
286*59599516SKenneth E. Jansen     }
287*59599516SKenneth E. Jansen   }
288*59599516SKenneth E. Jansen 
289*59599516SKenneth E. Jansen   return;
290*59599516SKenneth E. Jansen }
291*59599516SKenneth E. Jansen 
292*59599516SKenneth E. Jansen 
293*59599516SKenneth E. Jansen 
294