11 #ifndef HIERARCHICAL_BASIS_HCURL_BRICK_H
12 #define HIERARCHICAL_BASIS_HCURL_BRICK_H
52 virtual void generateBasis(
double const &u,
double const &v,
double const &w,
53 std::vector<std::vector<double> > &vertexBasis,
54 std::vector<std::vector<double> > &edgeBasis,
55 std::vector<std::vector<double> > &faceBasis,
56 std::vector<std::vector<double> > &bubbleBasis,
57 std::string typeFunction)
59 if(typeFunction ==
"HcurlLegendre") {
62 else if(
"CurlHcurlLegendre" == typeFunction) {
66 throw std::runtime_error(
"unknown typeFunction");
70 orientEdge(
int const &flagOrientation,
int const &edgeNumber,
71 std::vector<std::vector<double> > &edgeBasis,
72 const std::vector<std::vector<double> > &eTablePositiveFlag,
73 const std::vector<std::vector<double> > &eTableNegativeFlag);
75 std::vector<std::vector<double> > &edgeFunctions);
77 int const &flag1,
int const &flag2,
int const &flag3,
int const &faceNumber,
78 const std::vector<std::vector<double> > &quadFaceFunctionsAllOrientation,
79 const std::vector<std::vector<double> > &triFaceFunctionsAllOrientation,
80 std::vector<std::vector<double> > &fTableCopy);
81 virtual void getKeysInfo(std::vector<int> &functionTypeInfo,
82 std::vector<int> &orderInfo);
104 std::vector<std::vector<double> > &edgeBasis,
105 std::vector<std::vector<double> > &faceBasis,
106 std::vector<std::vector<double> > &bubbleBasis);
109 std::vector<std::vector<double> > &edgeBasis,
110 std::vector<std::vector<double> > &faceBasis,
111 std::vector<std::vector<double> > &bubbleBasis);
112 virtual void orientOneFace(
double const &u,
double const &v,
double const &w,
113 int const &flag1,
int const &flag2,
114 int const &flag3,
int const &faceNumber,
115 std::vector<std::vector<double> > &faceFunctions,
116 std::string typeFunction);