50 lines
1.6 KiB
C++
50 lines
1.6 KiB
C++
#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;
|
|
}
|
|
} |