11 #ifndef HIERARCHICAL_BASIS_H1_BRICK_H
12 #define HIERARCHICAL_BASIS_H1_BRICK_H
54 virtual void generateBasis(
double const &u,
double const &v,
double const &w,
55 std::vector<double> &vertexBasis,
56 std::vector<double> &edgeBasis,
57 std::vector<double> &faceBasis,
58 std::vector<double> &bubbleBasis);
59 virtual void generateBasis(
double const &u,
double const &v,
double const &w,
60 std::vector<std::vector<double> > &vertexBasis,
61 std::vector<std::vector<double> > &edgeBasis,
62 std::vector<std::vector<double> > &faceBasis,
63 std::vector<std::vector<double> > &bubbleBasis,
64 std::string typeFunction =
"GradH1Legendre")
70 virtual void orientEdge(
int const &flagOrientation,
int const &edgeNumber,
71 std::vector<double> &edgeFunctions,
72 const std::vector<double> &eTablePositiveFlag,
73 const std::vector<double> &eTableNegativeFlag);
75 orientEdge(
int const &flagOrientation,
int const &edgeNumber,
76 std::vector<std::vector<double> > &edgeBasis,
77 const std::vector<std::vector<double> > &eTablePositiveFlag,
78 const std::vector<std::vector<double> > &eTableNegativeFlag);
83 std::vector<std::vector<double> > &edgeFunctions);
86 orientFace(
int const &flag1,
int const &flag2,
int const &flag3,
87 int const &faceNumber,
88 const std::vector<double> &quadFaceFunctionsAllOrientation,
89 const std::vector<double> &triFaceFunctionsAllOrientation,
90 std::vector<double> &fTableCopy);
93 int const &flag1,
int const &flag2,
int const &flag3,
int const &faceNumber,
94 const std::vector<std::vector<double> > &quadFaceFunctionsAllOrientation,
95 const std::vector<std::vector<double> > &triFaceFunctionsAllOrientation,
96 std::vector<std::vector<double> > &fTableCopy);
97 virtual void getKeysInfo(std::vector<int> &functionTypeInfo,
98 std::vector<int> &orderInfo);
113 inline void _someProduct(
double const &u,
double const &v,
double const &w,
114 std::vector<double> &product,
115 std::vector<double> &lambda);
118 std::vector<double> &product,
119 std::vector<std::vector<double> > &gradientProduct,
120 std::vector<double> &lambda,
121 std::vector<std::vector<double> >
125 std::vector<std::vector<double> > &gradientVertex,
126 std::vector<std::vector<double> > &gradientEdge,
127 std::vector<std::vector<double> > &gradientFace,
128 std::vector<std::vector<double> > &gradientBubble);
129 virtual void orientOneFace(
double const &u,
double const &v,
double const &w,
130 int const &flag1,
int const &flag2,
131 int const &flag3,
int const &faceNumber,
132 std::vector<double> &faceBasis);
133 virtual void orientOneFace(
double const &u,
double const &v,
double const &w,
134 int const &flag1,
int const &flag2,
135 int const &flag3,
int const &faceNumber,
136 std::vector<std::vector<double> > &faceFunctions,
137 std::string typeFunction =
"GradH1Legendre");