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