11 #ifndef HIERARCHICAL_BASIS_HCURL_PRI_H
12 #define HIERARCHICAL_BASIS_HCURL_PRI_H
60 virtual void generateBasis(
double const &u,
double const &v,
double const &w,
61 std::vector<std::vector<double> > &vertexBasis,
62 std::vector<std::vector<double> > &edgeBasis,
63 std::vector<std::vector<double> > &faceBasis,
64 std::vector<std::vector<double> > &bubbleBasis,
65 std::string typeFunction)
67 if(typeFunction ==
"HcurlLegendre") {
70 else if(
"CurlHcurlLegendre" == typeFunction) {
74 throw std::runtime_error(
"unknown typeFunction");
79 orientEdge(
int const &flagOrientation,
int const &edgeNumber,
80 std::vector<std::vector<double> > &edgeBasis,
81 const std::vector<std::vector<double> > &eTablePositiveFlag,
82 const std::vector<std::vector<double> > &eTableNegativeFlag);
84 std::vector<std::vector<double> > &edgeFunctions);
86 int const &flag1,
int const &flag2,
int const &flag3,
int const &faceNumber,
87 const std::vector<std::vector<double> > &quadFaceFunctionsAllOrientation,
88 const std::vector<std::vector<double> > &triFaceFunctionsAllOrientation,
89 std::vector<std::vector<double> > &fTableCopy);
91 virtual void getKeysInfo(std::vector<int> &functionTypeInfo,
92 std::vector<int> &orderInfo);
109 static double dotProduct(
const std::vector<double> &u1,
110 const std::vector<double> &u2);
113 const double &a,
const std::vector<double> &u,
114 std::vector<double> &result);
116 std::vector<double> &result);
119 std::vector<std::vector<double> > &edgeBasis,
120 std::vector<std::vector<double> > &faceBasis,
121 std::vector<std::vector<double> > &bubbleBasis);
125 std::vector<std::vector<double> > &edgeBasis,
126 std::vector<std::vector<double> > &faceBasis,
127 std::vector<std::vector<double> > &bubbleBasis);
128 virtual void orientOneFace(
double const &u,
double const &v,
double const &w,
129 int const &flag1,
int const &flag2,
130 int const &flag3,
int const &faceNumber,
131 std::vector<std::vector<double> > &faceFunctions,
132 std::string typeFunction);