36 #ifndef NEKTAR_LIBRARY_COLLECTIONS_IPRODUCT_H
37 #define NEKTAR_LIBRARY_COLLECTIONS_IPRODUCT_H
44 void QuadIProduct(
bool colldir0,
bool colldir1,
int numElmt,
45 int nquad0,
int nquad1,
46 int nmodes0,
int nmodes1,
47 const Array<OneD, const NekDouble> &base0,
48 const Array<OneD, const NekDouble> &base1,
49 const Array<OneD, const NekDouble> &jac,
50 const Array<OneD, const NekDouble> &input,
51 Array<OneD, NekDouble> &output,
52 Array<OneD, NekDouble> &wsp);
54 void TriIProduct(
bool sortTopVertex,
int numElmt,
int nquad0,
55 int nquad1,
int nmodes0,
int nmodes1,
56 const Array<OneD, const NekDouble> &base0,
57 const Array<OneD, const NekDouble> &base1,
58 const Array<OneD, const NekDouble> &jac,
59 const Array<OneD, const NekDouble> &input,
60 Array<OneD, NekDouble> &output,
61 Array<OneD, NekDouble> &wsp);
63 void HexIProduct(
bool colldir0,
bool colldir1,
bool colldir2,
int numElmt,
64 int nquad0,
int nquad1,
int nquad2,
65 int nmodes0,
int nmodes1,
int nmodes2,
66 const Array<OneD, const NekDouble> &base0,
67 const Array<OneD, const NekDouble> &base1,
68 const Array<OneD, const NekDouble> &base2,
69 const Array<OneD, const NekDouble> &jac,
70 const Array<OneD, const NekDouble> &input,
71 Array<OneD, NekDouble> &output,
72 Array<OneD, NekDouble> &wsp);
75 int nquad0,
int nquad1,
int nquad2,
76 int nmodes0,
int nmodes1,
int nmodes2,
77 const Array<OneD, const NekDouble> &base0,
78 const Array<OneD, const NekDouble> &base1,
79 const Array<OneD, const NekDouble> &base2,
80 const Array<OneD, const NekDouble> &jac,
81 const Array<OneD, const NekDouble> &input,
82 Array<OneD, NekDouble> &output,
83 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);
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)
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 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 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 PrismIProduct(bool sortTopVertex, 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)