XIAN-FEM-2026June/3D opticsfem-master/function/BF_Tetrahedron.cpp

44 lines
986 B
C++

#include"BF.h"
void BF_Tetrahedron_Nedelec(BF_INPUT)
{
switch (order)
{
case 1:
switch (numBF)
{
case 1: o(0) = -v; o(1) = u; o(2) = 0.; break; //12
case 2: o(0) = -w; o(1) = 0.; o(2) = u; break; //13
case 3: o(0) = -1+v+w; o(1) = -u; o(2) = -u; break; //14
case 4: o(0) = 0.; o(1) = -w; o(2) = v; break; //23
case 5: o(0) = -v; o(1) = -1+u+w; o(2) = -v; break; //24
case 6: o(0) = -w; o(1) = -w; o(2) = -1+u+v; break; //34
default: break;
}
break;
default:
break;
}
}
void BF_Tetrahedron_Curl_Nedelec(BF_INPUT)
{
switch (order)
{
case 1:
switch (numBF)
{
case 1: o(0) = 0.; o(1) = 0.; o(2) = 2.; break; //12
case 2: o(0) = 0.; o(1) = -2.; o(2) = 0.; break; //13
case 3: o(0) = 0.; o(1) = 2.; o(2) = -2.; break; //14
case 4: o(0) = 2.; o(1) = 0.; o(2) = 0.; break; //23
case 5: o(0) = -2.; o(1) = 0.; o(2) = 2.; break; //24
case 6: o(0) = 2.; o(1) = -2.; o(2) = 0.; break; //34
default:
break;
}
break;
default:
break;
}
}