35 #ifndef NEKTAR_LIBRARY_COLLECTIONS_IPRODUCT_H
36 #define NEKTAR_LIBRARY_COLLECTIONS_IPRODUCT_H
43 void QuadIProduct(
bool colldir0,
bool colldir1,
int numElmt,
44 int nquad0,
int nquad1,
45 int nmodes0,
int nmodes1,
46 const Array<OneD, const NekDouble> &base0,
47 const Array<OneD, const NekDouble> &base1,
48 const Array<OneD, const NekDouble> &jac,
49 const Array<OneD, const NekDouble> &input,
50 Array<OneD, NekDouble> &output,
51 Array<OneD, NekDouble> &wsp);
53 void TriIProduct(
bool sortTopVertex,
int numElmt,
int nquad0,
54 int nquad1,
int nmodes0,
int nmodes1,
55 const Array<OneD, const NekDouble> &base0,
56 const Array<OneD, const NekDouble> &base1,
57 const Array<OneD, const NekDouble> &jac,
58 const Array<OneD, const NekDouble> &input,
59 Array<OneD, NekDouble> &output,
60 Array<OneD, NekDouble> &wsp);
62 void HexIProduct(
bool colldir0,
bool colldir1,
bool colldir2,
int numElmt,
63 int nquad0,
int nquad1,
int nquad2,
64 int nmodes0,
int nmodes1,
int nmodes2,
65 const Array<OneD, const NekDouble> &base0,
66 const Array<OneD, const NekDouble> &base1,
67 const Array<OneD, const NekDouble> &base2,
68 const Array<OneD, const NekDouble> &jac,
69 const Array<OneD, const NekDouble> &input,
70 Array<OneD, NekDouble> &output,
71 Array<OneD, NekDouble> &wsp);
74 int nquad0,
int nquad1,
int nquad2,
75 int nmodes0,
int nmodes1,
int nmodes2,
76 const Array<OneD, const NekDouble> &base0,
77 const Array<OneD, const NekDouble> &base1,
78 const Array<OneD, const NekDouble> &base2,
79 const Array<OneD, const NekDouble> &jac,
80 const Array<OneD, const NekDouble> &input,
81 Array<OneD, NekDouble> &output,
82 Array<OneD, NekDouble> &wsp);
86 int nquad0,
int nquad1,
int nquad2,
87 int nmodes0,
int nmodes1,
int nmodes2,
88 const Array<OneD, const NekDouble> &base0,
89 const Array<OneD, const NekDouble> &base1,
90 const Array<OneD, const NekDouble> &base2,
91 const Array<OneD, const NekDouble> &jac,
92 const Array<OneD, const NekDouble> &input,
93 Array<OneD, NekDouble> &output,
94 Array<OneD, NekDouble> &wsp);
98 int nquad0,
int nquad1,
int nquad2,
99 int nmodes0,
int nmodes1,
int nmodes2,
100 const Array<OneD, const NekDouble> &base0,
101 const Array<OneD, const NekDouble> &base1,
102 const Array<OneD, const NekDouble> &base2,
103 const Array<OneD, const NekDouble> &jac,
104 const Array<OneD, const NekDouble> &input,
105 Array<OneD, NekDouble> &output,
106 Array<OneD, NekDouble> &wsp);
void TetIProduct(bool sortTopEdge, int numElmt, int nquad0, int nquad1, int nquad2, int nmodes0, int nmodes1, int nmodes2, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp)
void PyrIProduct(bool sortTopVert, int numElmt, int nquad0, int nquad1, int nquad2, int nmodes0, int nmodes1, int nmodes2, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp)
void TriIProduct(bool sortTopVertex, int numElmt, int nquad0, int nquad1, int nmodes0, int nmodes1, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp)
void QuadIProduct(bool colldir0, bool colldir1, int numElmt, int nquad0, int nquad1, int nmodes0, int nmodes1, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp)
void PrismIProduct(bool sortTopVert, int numElmt, int nquad0, int nquad1, int nquad2, int nmodes0, int nmodes1, int nmodes2, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp)
void HexIProduct(bool colldir0, bool colldir1, bool colldir2, int numElmt, int nquad0, int nquad1, int nquad2, int nmodes0, int nmodes1, int nmodes2, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp)
The above copyright notice and this permission notice shall be included.