#include"BF.h" void BF_Prism_Nedelec(BF_INPUT) { switch (order) { case 1: switch (numBF) { case 1: o(0) = (1. - v) * (1. - w) / 2.; o(1) = u * (1. - w) / 2.; o(2) = 0.; break; //12 case 2: o(0) = v * (1. - w) / 2.; o(1) = (1. - u) * (1. - w) / 2.; o(2) = 0.; break; //13 case 3: o(0) = 0.; o(1) = 0.; o(2) = (1. - u - v) / 2.; break; //14 case 4: o(0) = -v * (1. - w) / 2.; o(1) = u * (1. - w) / 2.; o(2) = 0.; break; //23 case 5: o(0) = 0.; o(1) = 0.; o(2) = u / 2.; break; //25 case 6: o(0) = 0.; o(1) = 0.; o(2) = v / 2.; break; //36 case 7: o(0) = (1. - v) * (1. + w) / 2.; o(1) = u * (1. + w) / 2.; o(2) = 0.; break; //45 case 8: o(0) = v * (1. + w) / 2.; o(1) = (1. - u) * (1. + w) / 2.; o(2) = 0.; break; //46 case 9: o(0) = -v * (1. + w) / 2.; o(1) = u * (1. + w) / 2.; o(2) = 0.; break; //56 default: break; } break; default: break; } } void BF_Prism_Curl_Nedelec(BF_INPUT) { switch (order) { case 1: switch (numBF) { case 1: o(0) = u / 2.; o(1) = (v - 1.) / 2.; o(2) = 1. - w; break; //12 case 2: o(0) = (1. - u) / 2; o(1) = -v / 2.; o(2) = w - 1.; break; //13 case 3: o(0) = -1. / 2.; o(1) = 1. / 2.; o(2) = 0.; break; //14 case 4: o(0) = u / 2.; o(1) = v / 2.; o(2) = 1. - w; break; //23 case 5: o(0) = 0.; o(1) = -1. / 2.; o(2) = 0.; break; //25 case 6: o(0) = 0.5; o(1) = 0.; o(2) = 0.; break; //36 case 7: o(0) = -u / 2.; o(1) = (1. - v) / 2.; o(2) = 1. + w; break; //45 case 8: o(0) = (u - 1.) / 2.; o(1) = v / 2.; o(2) = -1. - w; break; //46 case 9: o(0) = -u / 2.; o(1) = -v / 2.; o(2) = 1. + w; break; //56 default: break; } break; default: break; } }