11 #ifndef HIERARCHICAL_BASIS_HCURL_QUAD_H
12 #define HIERARCHICAL_BASIS_HCURL_QUAD_H
41 virtual void generateBasis(
double const &u,
double const &v,
double const &w,
42 std::vector<std::vector<double> > &vertexBasis,
43 std::vector<std::vector<double> > &edgeBasis,
44 std::vector<std::vector<double> > &faceBasis,
45 std::vector<std::vector<double> > &bubbleBasis,
46 std::string typeFunction)
48 if(typeFunction ==
"HcurlLegendre") {
51 else if(
"CurlHcurlLegendre" == typeFunction) {
55 throw std::runtime_error(
"unknown typeFunction");
59 orientEdge(
int const &flagOrientation,
int const &edgeNumber,
60 std::vector<std::vector<double> > &edgeBasis,
61 const std::vector<std::vector<double> > &eTablePositiveFlag,
62 const std::vector<std::vector<double> > &eTableNegativeFlag);
65 std::vector<std::vector<double> > &edgeFunctions);
67 int const &flag1,
int const &flag2,
int const &flag3,
int const &faceNumber,
68 const std::vector<std::vector<double> > &quadFaceFunctionsAllOrientation,
69 const std::vector<std::vector<double> > &triFaceFunctionsAllOrientation,
70 std::vector<std::vector<double> > &fTableCopy);
72 virtual void getKeysInfo(std::vector<int> &functionTypeInfo,
73 std::vector<int> &orderInfo);
88 std::vector<std::vector<double> > &edgeBasis,
89 std::vector<std::vector<double> > &faceBasis,
90 std::vector<std::vector<double> > &bubbleBasis);
93 std::vector<std::vector<double> > &edgeBasis,
94 std::vector<std::vector<double> > &faceBasis,
95 std::vector<std::vector<double> > &bubbleBasis);
96 virtual void orientOneFace(
double const &u,
double const &v,
double const &w,
97 int const &flag1,
int const &flag2,
98 int const &flag3,
int const &faceNumber,
99 std::vector<std::vector<double> > &faceFunctions,
100 std::string typeFunction);