159599516SKenneth E. Jansen /**********************************************************************/ 259599516SKenneth E. Jansen /* Interpolation points for a tet based on the Chen - Babuska paper. */ 359599516SKenneth E. Jansen /**********************************************************************/ 459599516SKenneth E. Jansen #include <stdio.h> 5*f34e7d5cSCameron Smith #include <stdlib.h> 659599516SKenneth E. Jansen 759599516SKenneth E. Jansen #include <FCMangle.h> 859599516SKenneth E. Jansen 959599516SKenneth E. Jansen typedef double DARR4[4]; 1059599516SKenneth E. Jansen 1159599516SKenneth E. Jansen /* 4-point (p = 1) */ 1259599516SKenneth E. Jansen static double pts4[][4] = 1359599516SKenneth E. Jansen { 1459599516SKenneth E. Jansen {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000}, 1559599516SKenneth E. Jansen {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000}, 1659599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000}, 1759599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000} 1859599516SKenneth E. Jansen }; 1959599516SKenneth E. Jansen 2059599516SKenneth E. Jansen /* 10-point (p = 2) */ 2159599516SKenneth E. Jansen static double pts10[][4] = 2259599516SKenneth E. Jansen { 2359599516SKenneth E. Jansen {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000}, 2459599516SKenneth E. Jansen {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000}, 2559599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000}, 2659599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000}, 2759599516SKenneth E. Jansen {0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000}, 2859599516SKenneth E. Jansen {0.0000000000, 0.5000000000, 0.5000000000, 0.0000000000}, 2959599516SKenneth E. Jansen {0.5000000000, 0.0000000000, 0.5000000000, 0.0000000000}, 3059599516SKenneth E. Jansen {0.5000000000, 0.0000000000, 0.0000000000, 0.5000000000}, 3159599516SKenneth E. Jansen {0.0000000000, 0.5000000000, 0.0000000000, 0.5000000000}, 3259599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.5000000000, 0.5000000000} 3359599516SKenneth E. Jansen }; 3459599516SKenneth E. Jansen 3559599516SKenneth E. Jansen /* 20-point (p = 3) */ 3659599516SKenneth E. Jansen static double pts20[][4] = 3759599516SKenneth E. Jansen { 3859599516SKenneth E. Jansen {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000}, 3959599516SKenneth E. Jansen {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000}, 4059599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000}, 4159599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000}, 4259599516SKenneth E. Jansen {0.7236067977, 0.2763932023, 0.0000000000, 0.0000000000}, 4359599516SKenneth E. Jansen {0.2763932023, 0.7236067977, 0.0000000000, 0.0000000000}, 4459599516SKenneth E. Jansen {0.0000000000, 0.7236067977, 0.2763932023, 0.0000000000}, 4559599516SKenneth E. Jansen {0.0000000000, 0.2763932023, 0.7236067977, 0.0000000000}, 4659599516SKenneth E. Jansen {0.7236067977, 0.0000000000, 0.2763932023, 0.0000000000}, 4759599516SKenneth E. Jansen {0.2763932023, 0.0000000000, 0.7236067977, 0.0000000000}, 4859599516SKenneth E. Jansen {0.7236067977, 0.0000000000, 0.0000000000, 0.2763932023}, 4959599516SKenneth E. Jansen {0.2763932023, 0.0000000000, 0.0000000000, 0.7236067977}, 5059599516SKenneth E. Jansen {0.0000000000, 0.7236067977, 0.0000000000, 0.2763932023}, 5159599516SKenneth E. Jansen {0.0000000000, 0.2763932023, 0.0000000000, 0.7236067977}, 5259599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.7236067977, 0.2763932023}, 5359599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.2763932023, 0.7236067977}, 5459599516SKenneth E. Jansen {0.3333333333, 0.3333333333, 0.3333333333, 0.0000000000}, 5559599516SKenneth E. Jansen {0.3333333333, 0.3333333333, 0.0000000000, 0.3333333333}, 5659599516SKenneth E. Jansen {0.3333333333, 0.0000000000, 0.3333333333, 0.3333333333}, 5759599516SKenneth E. Jansen {0.0000000000, 0.3333333333, 0.3333333333, 0.3333333333} 5859599516SKenneth E. Jansen }; 5959599516SKenneth E. Jansen 6059599516SKenneth E. Jansen /* 35-point (p = 4) */ 6159599516SKenneth E. Jansen static double pts35[][4] = 6259599516SKenneth E. Jansen { 6359599516SKenneth E. Jansen {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000}, 6459599516SKenneth E. Jansen {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000}, 6559599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000}, 6659599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000}, 6759599516SKenneth E. Jansen {0.8273268354, 0.1726731646, 0.0000000000, 0.0000000000}, 6859599516SKenneth E. Jansen {0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000}, 6959599516SKenneth E. Jansen {0.1726731646, 0.8273268354, 0.0000000000, 0.0000000000}, 7059599516SKenneth E. Jansen {0.0000000000, 0.8273268354, 0.1726731646, 0.0000000000}, 7159599516SKenneth E. Jansen {0.0000000000, 0.5000000000, 0.5000000000, 0.0000000000}, 7259599516SKenneth E. Jansen {0.0000000000, 0.1726731646, 0.8273268354, 0.0000000000}, 7359599516SKenneth E. Jansen {0.8273268354, 0.0000000000, 0.1726731646, 0.0000000000}, 7459599516SKenneth E. Jansen {0.5000000000, 0.0000000000, 0.5000000000, 0.0000000000}, 7559599516SKenneth E. Jansen {0.1726731646, 0.0000000000, 0.8273268354, 0.0000000000}, 7659599516SKenneth E. Jansen {0.8273268354, 0.0000000000, 0.0000000000, 0.1726731646}, 7759599516SKenneth E. Jansen {0.5000000000, 0.0000000000, 0.0000000000, 0.5000000000}, 7859599516SKenneth E. Jansen {0.1726731646, 0.0000000000, 0.0000000000, 0.8273268354}, 7959599516SKenneth E. Jansen {0.0000000000, 0.8273268354, 0.0000000000, 0.1726731646}, 8059599516SKenneth E. Jansen {0.0000000000, 0.5000000000, 0.0000000000, 0.5000000000}, 8159599516SKenneth E. Jansen {0.0000000000, 0.1726731646, 0.0000000000, 0.8273268354}, 8259599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.8273268354, 0.1726731646}, 8359599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.5000000000, 0.5000000000}, 8459599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.1726731646, 0.8273268354}, 8559599516SKenneth E. Jansen {0.2165423725, 0.2165423725, 0.5669152550, 0.0000000000}, 8659599516SKenneth E. Jansen {0.2165423725, 0.5669152550, 0.2165423725, 0.0000000000}, 8759599516SKenneth E. Jansen {0.5669152550, 0.2165423725, 0.2165423725, 0.0000000000}, 8859599516SKenneth E. Jansen {0.2165423725, 0.5669152550, 0.0000000000, 0.2165423725}, 8959599516SKenneth E. Jansen {0.5669152550, 0.2165423725, 0.0000000000, 0.2165423725}, 9059599516SKenneth E. Jansen {0.2165423725, 0.2165423725, 0.0000000000, 0.5669152550}, 9159599516SKenneth E. Jansen {0.5669152550, 0.0000000000, 0.2165423725, 0.2165423725}, 9259599516SKenneth E. Jansen {0.2165423725, 0.0000000000, 0.2165423725, 0.5669152550}, 9359599516SKenneth E. Jansen {0.2165423725, 0.0000000000, 0.5669152550, 0.2165423725}, 9459599516SKenneth E. Jansen {0.0000000000, 0.2165423725, 0.2165423725, 0.5669152550}, 9559599516SKenneth E. Jansen {0.0000000000, 0.2165423725, 0.5669152550, 0.2165423725}, 9659599516SKenneth E. Jansen {0.0000000000, 0.5669152550, 0.2165423725, 0.2165423725}, 9759599516SKenneth E. Jansen {0.2500000000, 0.2500000000, 0.2500000000, 0.2500000000} 9859599516SKenneth E. Jansen }; 9959599516SKenneth E. Jansen 10059599516SKenneth E. Jansen /* 56-point (p = 5) */ 10159599516SKenneth E. Jansen static double pts56[][4] = 10259599516SKenneth E. Jansen { 10359599516SKenneth E. Jansen {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000}, 10459599516SKenneth E. Jansen {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000}, 10559599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000}, 10659599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000}, 10759599516SKenneth E. Jansen {0.8825276620, 0.1174723380, 0.0000000000, 0.0000000000}, 10859599516SKenneth E. Jansen {0.6426157582, 0.3573842418, 0.0000000000, 0.0000000000}, 10959599516SKenneth E. Jansen {0.3573842418, 0.6426157582, 0.0000000000, 0.0000000000}, 11059599516SKenneth E. Jansen {0.1174723380, 0.8825276620, 0.0000000000, 0.0000000000}, 11159599516SKenneth E. Jansen {0.0000000000, 0.8825276620, 0.1174723380, 0.0000000000}, 11259599516SKenneth E. Jansen {0.0000000000, 0.6426157582, 0.3573842418, 0.0000000000}, 11359599516SKenneth E. Jansen {0.0000000000, 0.3573842418, 0.6426157582, 0.0000000000}, 11459599516SKenneth E. Jansen {0.0000000000, 0.1174723380, 0.8825276620, 0.0000000000}, 11559599516SKenneth E. Jansen {0.8825276620, 0.0000000000, 0.1174723380, 0.0000000000}, 11659599516SKenneth E. Jansen {0.6426157582, 0.0000000000, 0.3573842418, 0.0000000000}, 11759599516SKenneth E. Jansen {0.3573842418, 0.0000000000, 0.6426157582, 0.0000000000}, 11859599516SKenneth E. Jansen {0.1174723380, 0.0000000000, 0.8825276620, 0.0000000000}, 11959599516SKenneth E. Jansen {0.8825276620, 0.0000000000, 0.0000000000, 0.1174723380}, 12059599516SKenneth E. Jansen {0.6426157582, 0.0000000000, 0.0000000000, 0.3573842418}, 12159599516SKenneth E. Jansen {0.3573842418, 0.0000000000, 0.0000000000, 0.6426157582}, 12259599516SKenneth E. Jansen {0.1174723380, 0.0000000000, 0.0000000000, 0.8825276620}, 12359599516SKenneth E. Jansen {0.0000000000, 0.8825276620, 0.0000000000, 0.1174723380}, 12459599516SKenneth E. Jansen {0.0000000000, 0.6426157582, 0.0000000000, 0.3573842418}, 12559599516SKenneth E. Jansen {0.0000000000, 0.3573842418, 0.0000000000, 0.6426157582}, 12659599516SKenneth E. Jansen {0.0000000000, 0.1174723380, 0.0000000000, 0.8825276620}, 12759599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.8825276620, 0.1174723380}, 12859599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.6426157582, 0.3573842418}, 12959599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.3573842418, 0.6426157582}, 13059599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.1174723380, 0.8825276620}, 13159599516SKenneth E. Jansen {0.1480194978, 0.1480194978, 0.7039610043, 0.0000000000}, 13259599516SKenneth E. Jansen {0.1480194978, 0.7039610043, 0.1480194978, 0.0000000000}, 13359599516SKenneth E. Jansen {0.7039610043, 0.1480194978, 0.1480194978, 0.0000000000}, 13459599516SKenneth E. Jansen {0.4208255904, 0.4208255904, 0.1583488191, 0.0000000000}, 13559599516SKenneth E. Jansen {0.4208255904, 0.1583488191, 0.4208255904, 0.0000000000}, 13659599516SKenneth E. Jansen {0.1583488191, 0.4208255904, 0.4208255904, 0.0000000000}, 13759599516SKenneth E. Jansen {0.1480194978, 0.7039610043, 0.0000000000, 0.1480194978}, 13859599516SKenneth E. Jansen {0.7039610043, 0.1480194978, 0.0000000000, 0.1480194978}, 13959599516SKenneth E. Jansen {0.1480194978, 0.1480194978, 0.0000000000, 0.7039610043}, 14059599516SKenneth E. Jansen {0.4208255904, 0.1583488191, 0.0000000000, 0.4208255904}, 14159599516SKenneth E. Jansen {0.1583488191, 0.4208255904, 0.0000000000, 0.4208255904}, 14259599516SKenneth E. Jansen {0.4208255904, 0.4208255904, 0.0000000000, 0.1583488191}, 14359599516SKenneth E. Jansen {0.7039610043, 0.0000000000, 0.1480194978, 0.1480194978}, 14459599516SKenneth E. Jansen {0.1480194978, 0.0000000000, 0.1480194978, 0.7039610043}, 14559599516SKenneth E. Jansen {0.1480194978, 0.0000000000, 0.7039610043, 0.1480194978}, 14659599516SKenneth E. Jansen {0.1583488191, 0.0000000000, 0.4208255904, 0.4208255904}, 14759599516SKenneth E. Jansen {0.4208255904, 0.0000000000, 0.4208255904, 0.1583488191}, 14859599516SKenneth E. Jansen {0.4208255904, 0.0000000000, 0.1583488191, 0.4208255904}, 14959599516SKenneth E. Jansen {0.0000000000, 0.1480194978, 0.1480194978, 0.7039610043}, 15059599516SKenneth E. Jansen {0.0000000000, 0.1480194978, 0.7039610043, 0.1480194978}, 15159599516SKenneth E. Jansen {0.0000000000, 0.7039610043, 0.1480194978, 0.1480194978}, 15259599516SKenneth E. Jansen {0.0000000000, 0.4208255904, 0.4208255904, 0.1583488191}, 15359599516SKenneth E. Jansen {0.0000000000, 0.4208255904, 0.1583488191, 0.4208255904}, 15459599516SKenneth E. Jansen {0.0000000000, 0.1583488191, 0.4208255904, 0.4208255904}, 15559599516SKenneth E. Jansen {0.1779987615, 0.1779987615, 0.1779987615, 0.4660037155}, 15659599516SKenneth E. Jansen {0.1779987615, 0.1779987615, 0.4660037155, 0.1779987615}, 15759599516SKenneth E. Jansen {0.1779987615, 0.4660037155, 0.1779987615, 0.1779987615}, 15859599516SKenneth E. Jansen {0.4660037155, 0.1779987615, 0.1779987615, 0.1779987615} 15959599516SKenneth E. Jansen }; 16059599516SKenneth E. Jansen 16159599516SKenneth E. Jansen /* 84-point (p = 6) */ 16259599516SKenneth E. Jansen static double pts84[][4] = 16359599516SKenneth E. Jansen { 16459599516SKenneth E. Jansen {1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000}, 16559599516SKenneth E. Jansen {0.0000000000, 1.0000000000, 0.0000000000, 0.0000000000}, 16659599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 1.0000000000, 0.0000000000}, 16759599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.0000000000, 1.0000000000}, 16859599516SKenneth E. Jansen {0.9151119481, 0.0848880519, 0.0000000000, 0.0000000000}, 16959599516SKenneth E. Jansen {0.7344243967, 0.2655756033, 0.0000000000, 0.0000000000}, 17059599516SKenneth E. Jansen {0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000}, 17159599516SKenneth E. Jansen {0.2655756033, 0.7344243967, 0.0000000000, 0.0000000000}, 17259599516SKenneth E. Jansen {0.0848880519, 0.9151119481, 0.0000000000, 0.0000000000}, 17359599516SKenneth E. Jansen {0.0000000000, 0.9151119481, 0.0848880519, 0.0000000000}, 17459599516SKenneth E. Jansen {0.0000000000, 0.7344243967, 0.2655756033, 0.0000000000}, 17559599516SKenneth E. Jansen {0.0000000000, 0.5000000000, 0.5000000000, 0.0000000000}, 17659599516SKenneth E. Jansen {0.0000000000, 0.2655756033, 0.7344243967, 0.0000000000}, 17759599516SKenneth E. Jansen {0.0000000000, 0.0848880519, 0.9151119481, 0.0000000000}, 17859599516SKenneth E. Jansen {0.9151119481, 0.0000000000, 0.0848880519, 0.0000000000}, 17959599516SKenneth E. Jansen {0.7344243967, 0.0000000000, 0.2655756033, 0.0000000000}, 18059599516SKenneth E. Jansen {0.5000000000, 0.0000000000, 0.5000000000, 0.0000000000}, 18159599516SKenneth E. Jansen {0.2655756033, 0.0000000000, 0.7344243967, 0.0000000000}, 18259599516SKenneth E. Jansen {0.0848880519, 0.0000000000, 0.9151119481, 0.0000000000}, 18359599516SKenneth E. Jansen {0.9151119481, 0.0000000000, 0.0000000000, 0.0848880519}, 18459599516SKenneth E. Jansen {0.7344243967, 0.0000000000, 0.0000000000, 0.2655756033}, 18559599516SKenneth E. Jansen {0.5000000000, 0.0000000000, 0.0000000000, 0.5000000000}, 18659599516SKenneth E. Jansen {0.2655756033, 0.0000000000, 0.0000000000, 0.7344243967}, 18759599516SKenneth E. Jansen {0.0848880519, 0.0000000000, 0.0000000000, 0.9151119481}, 18859599516SKenneth E. Jansen {0.0000000000, 0.9151119481, 0.0000000000, 0.0848880519}, 18959599516SKenneth E. Jansen {0.0000000000, 0.7344243967, 0.0000000000, 0.2655756033}, 19059599516SKenneth E. Jansen {0.0000000000, 0.5000000000, 0.0000000000, 0.5000000000}, 19159599516SKenneth E. Jansen {0.0000000000, 0.2655756033, 0.0000000000, 0.7344243967}, 19259599516SKenneth E. Jansen {0.0000000000, 0.0848880519, 0.0000000000, 0.9151119481}, 19359599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.9151119481, 0.0848880519}, 19459599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.7344243967, 0.2655756033}, 19559599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.5000000000, 0.5000000000}, 19659599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.2655756033, 0.7344243967}, 19759599516SKenneth E. Jansen {0.0000000000, 0.0000000000, 0.0848880519, 0.9151119481}, 19859599516SKenneth E. Jansen {0.3162696586, 0.5665493829, 0.1171809585, 0.0000000000}, 19959599516SKenneth E. Jansen {0.5665493829, 0.3162696586, 0.1171809585, 0.0000000000}, 20059599516SKenneth E. Jansen {0.5665493792, 0.1171809548, 0.3162696660, 0.0000000000}, 20159599516SKenneth E. Jansen {0.1171809548, 0.5665493792, 0.3162696660, 0.0000000000}, 20259599516SKenneth E. Jansen {0.1171809641, 0.3162696752, 0.5665493608, 0.0000000000}, 20359599516SKenneth E. Jansen {0.3162696752, 0.1171809641, 0.5665493608, 0.0000000000}, 20459599516SKenneth E. Jansen {0.1063355939, 0.1063355939, 0.7873288122, 0.0000000000}, 20559599516SKenneth E. Jansen {0.1063355939, 0.7873288122, 0.1063355939, 0.0000000000}, 20659599516SKenneth E. Jansen {0.7873288122, 0.1063355939, 0.1063355939, 0.0000000000}, 20759599516SKenneth E. Jansen {0.3333333333, 0.3333333333, 0.3333333333, 0.0000000000}, 20859599516SKenneth E. Jansen {0.5665493829, 0.1171809585, 0.0000000000, 0.3162696586}, 20959599516SKenneth E. Jansen {0.3162696586, 0.1171809585, 0.0000000000, 0.5665493829}, 21059599516SKenneth E. Jansen {0.1171809548, 0.3162696660, 0.0000000000, 0.5665493792}, 21159599516SKenneth E. Jansen {0.5665493792, 0.3162696660, 0.0000000000, 0.1171809548}, 21259599516SKenneth E. Jansen {0.3162696752, 0.5665493608, 0.0000000000, 0.1171809641}, 21359599516SKenneth E. Jansen {0.1171809641, 0.5665493608, 0.0000000000, 0.3162696752}, 21459599516SKenneth E. Jansen {0.1063355939, 0.7873288122, 0.0000000000, 0.1063355939}, 21559599516SKenneth E. Jansen {0.7873288122, 0.1063355939, 0.0000000000, 0.1063355939}, 21659599516SKenneth E. Jansen {0.1063355939, 0.1063355939, 0.0000000000, 0.7873288122}, 21759599516SKenneth E. Jansen {0.3333333333, 0.3333333333, 0.0000000000, 0.3333333333}, 21859599516SKenneth E. Jansen {0.1171809585, 0.0000000000, 0.3162696586, 0.5665493829}, 21959599516SKenneth E. Jansen {0.1171809585, 0.0000000000, 0.5665493829, 0.3162696586}, 22059599516SKenneth E. Jansen {0.3162696660, 0.0000000000, 0.5665493792, 0.1171809548}, 22159599516SKenneth E. Jansen {0.3162696660, 0.0000000000, 0.1171809548, 0.5665493792}, 22259599516SKenneth E. Jansen {0.5665493608, 0.0000000000, 0.1171809641, 0.3162696752}, 22359599516SKenneth E. Jansen {0.5665493608, 0.0000000000, 0.3162696752, 0.1171809641}, 22459599516SKenneth E. Jansen {0.7873288122, 0.0000000000, 0.1063355939, 0.1063355939}, 22559599516SKenneth E. Jansen {0.1063355939, 0.0000000000, 0.1063355939, 0.7873288122}, 22659599516SKenneth E. Jansen {0.1063355939, 0.0000000000, 0.7873288122, 0.1063355939}, 22759599516SKenneth E. Jansen {0.3333333333, 0.0000000000, 0.3333333333, 0.3333333333}, 22859599516SKenneth E. Jansen {0.0000000000, 0.3162696586, 0.5665493829, 0.1171809585}, 22959599516SKenneth E. Jansen {0.0000000000, 0.5665493829, 0.3162696586, 0.1171809585}, 23059599516SKenneth E. Jansen {0.0000000000, 0.5665493792, 0.1171809548, 0.3162696660}, 23159599516SKenneth E. Jansen {0.0000000000, 0.1171809548, 0.5665493792, 0.3162696660}, 23259599516SKenneth E. Jansen {0.0000000000, 0.1171809641, 0.3162696752, 0.5665493608}, 23359599516SKenneth E. Jansen {0.0000000000, 0.3162696752, 0.1171809641, 0.5665493608}, 23459599516SKenneth E. Jansen {0.0000000000, 0.1063355939, 0.1063355939, 0.7873288122}, 23559599516SKenneth E. Jansen {0.0000000000, 0.1063355939, 0.7873288122, 0.1063355939}, 23659599516SKenneth E. Jansen {0.0000000000, 0.7873288122, 0.1063355939, 0.1063355939}, 23759599516SKenneth E. Jansen {0.0000000000, 0.3333333333, 0.3333333333, 0.3333333333}, 23859599516SKenneth E. Jansen {0.3630696293, 0.3630696293, 0.1369303707, 0.1369303707}, 23959599516SKenneth E. Jansen {0.3630696293, 0.1369303707, 0.1369303707, 0.3630696293}, 24059599516SKenneth E. Jansen {0.3630696293, 0.1369303707, 0.3630696293, 0.1369303707}, 24159599516SKenneth E. Jansen {0.1369303707, 0.3630696293, 0.1369303707, 0.3630696293}, 24259599516SKenneth E. Jansen {0.1369303707, 0.1369303707, 0.3630696293, 0.3630696293}, 24359599516SKenneth E. Jansen {0.1369303707, 0.3630696293, 0.3630696293, 0.1369303707}, 24459599516SKenneth E. Jansen {0.1293440398, 0.1293440398, 0.1293440398, 0.6119678806}, 24559599516SKenneth E. Jansen {0.1293440398, 0.1293440398, 0.6119678806, 0.1293440398}, 24659599516SKenneth E. Jansen {0.1293440398, 0.6119678806, 0.1293440398, 0.1293440398}, 24759599516SKenneth E. Jansen {0.6119678806, 0.1293440398, 0.1293440398, 0.1293440398} 24859599516SKenneth E. Jansen }; 24959599516SKenneth E. Jansen 25059599516SKenneth E. Jansen /* return the requested number of interpolation points */ 25159599516SKenneth E. Jansen #define getintpnts FortranCInterface_GLOBAL_(getintpnts, GETINTPNTS) 25259599516SKenneth E. Jansen 25359599516SKenneth E. Jansen void getintpnts(double points[][3], int *npts) 25459599516SKenneth E. Jansen { 25559599516SKenneth E. Jansen int i, j; 25659599516SKenneth E. Jansen DARR4 *pnts; 25759599516SKenneth E. Jansen 25859599516SKenneth E. Jansen switch (*npts){ 25959599516SKenneth E. Jansen case 4: 26059599516SKenneth E. Jansen pnts = pts4; 26159599516SKenneth E. Jansen break; 26259599516SKenneth E. Jansen case 10: 26359599516SKenneth E. Jansen pnts = pts10; 26459599516SKenneth E. Jansen break; 26559599516SKenneth E. Jansen case 20: 26659599516SKenneth E. Jansen pnts = pts20; 26759599516SKenneth E. Jansen break; 26859599516SKenneth E. Jansen case 35: 26959599516SKenneth E. Jansen pnts = pts35; 27059599516SKenneth E. Jansen break; 27159599516SKenneth E. Jansen case 56: 27259599516SKenneth E. Jansen pnts = pts56; 27359599516SKenneth E. Jansen break; 27459599516SKenneth E. Jansen case 84: 27559599516SKenneth E. Jansen pnts = pts84; 27659599516SKenneth E. Jansen break; 27759599516SKenneth E. Jansen default: 27859599516SKenneth E. Jansen fprintf(stderr,"\n%d interpolation points not supported...\n",*npts); 27959599516SKenneth E. Jansen fprintf(stderr,"\ngive {4,10,20,35,56,84}\nexiting...\n"); 28059599516SKenneth E. Jansen exit(-1); 28159599516SKenneth E. Jansen } 28259599516SKenneth E. Jansen 28359599516SKenneth E. Jansen /* copy points to the fortran array */ 28459599516SKenneth E. Jansen for (i=0; i < *npts; i++) { 28559599516SKenneth E. Jansen for (j=0; j < 3; j++) { 28659599516SKenneth E. Jansen points[i][j] = pnts[i][j]; 28759599516SKenneth E. Jansen } 28859599516SKenneth E. Jansen } 28959599516SKenneth E. Jansen 29059599516SKenneth E. Jansen return; 29159599516SKenneth E. Jansen } 29259599516SKenneth E. Jansen 29359599516SKenneth E. Jansen 29459599516SKenneth E. Jansen 295