35#ifndef NEKTAR_LIBRARY_COLLECTIONS_HELMHOLTZ_H
36#define NEKTAR_LIBRARY_COLLECTIONS_HELMHOLTZ_H
43void QuadIProduct(
bool colldir0,
bool colldir1,
int numElmt,
int nquad0,
44 int nquad1,
int nmodes0,
int nmodes1,
45 const Array<OneD, const NekDouble> &base0,
46 const Array<OneD, const NekDouble> &base1,
47 const Array<OneD, const NekDouble> &jac,
48 const Array<OneD, const NekDouble> &input,
49 Array<OneD, NekDouble> &output, Array<OneD, NekDouble> &wsp);
51void TriIProduct(
bool sortTopVertex,
int numElmt,
int nquad0,
int nquad1,
52 int nmodes0,
int nmodes1,
53 const Array<OneD, const NekDouble> &base0,
54 const Array<OneD, const NekDouble> &base1,
55 const Array<OneD, const NekDouble> &jac,
56 const Array<OneD, const NekDouble> &input,
57 Array<OneD, NekDouble> &output, Array<OneD, NekDouble> &wsp);
59void HexIProduct(
bool colldir0,
bool colldir1,
bool colldir2,
int numElmt,
60 int nquad0,
int nquad1,
int nquad2,
int nmodes0,
int nmodes1,
61 int nmodes2,
const Array<OneD, const NekDouble> &base0,
62 const Array<OneD, const NekDouble> &base1,
63 const Array<OneD, const NekDouble> &base2,
64 const Array<OneD, const NekDouble> &jac,
65 const Array<OneD, const NekDouble> &input,
66 Array<OneD, NekDouble> &output, Array<OneD, NekDouble> &wsp);
68void PrismIProduct(
bool sortTopVert,
int numElmt,
int nquad0,
int nquad1,
69 int nquad2,
int nmodes0,
int nmodes1,
int nmodes2,
70 const Array<OneD, const NekDouble> &base0,
71 const Array<OneD, const NekDouble> &base1,
72 const Array<OneD, const NekDouble> &base2,
73 const Array<OneD, const NekDouble> &jac,
74 const Array<OneD, const NekDouble> &input,
75 Array<OneD, NekDouble> &output, Array<OneD, NekDouble> &wsp);
77void PyrIProduct(
bool sortTopVert,
int numElmt,
int nquad0,
int nquad1,
78 int nquad2,
int nmodes0,
int nmodes1,
int nmodes2,
79 const Array<OneD, const NekDouble> &base0,
80 const Array<OneD, const NekDouble> &base1,
81 const Array<OneD, const NekDouble> &base2,
82 const Array<OneD, const NekDouble> &jac,
83 const Array<OneD, const NekDouble> &input,
84 Array<OneD, NekDouble> &output, Array<OneD, NekDouble> &wsp);
86void TetIProduct(
bool sortTopEdge,
int numElmt,
int nquad0,
int nquad1,
87 int nquad2,
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, 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)