36#ifndef NEKTAR_LIBRARY_COLLECTIONS_LINEARADVECTIONDIFFUSIONREACTION_H
37#define NEKTAR_LIBRARY_COLLECTIONS_LINEARADVECTIONDIFFUSIONREACTION_H
44void QuadIProduct(
bool colldir0,
bool colldir1,
int numElmt,
int nquad0,
45 int nquad1,
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, Array<OneD, NekDouble> &wsp);
52void TriIProduct(
bool sortTopVertex,
int numElmt,
int nquad0,
int nquad1,
53 int nmodes0,
int nmodes1,
54 const Array<OneD, const NekDouble> &base0,
55 const Array<OneD, const NekDouble> &base1,
56 const Array<OneD, const NekDouble> &jac,
57 const Array<OneD, const NekDouble> &input,
58 Array<OneD, NekDouble> &output, Array<OneD, NekDouble> &wsp);
60void HexIProduct(
bool colldir0,
bool colldir1,
bool colldir2,
int numElmt,
61 int nquad0,
int nquad1,
int nquad2,
int nmodes0,
int nmodes1,
62 int nmodes2,
const Array<OneD, const NekDouble> &base0,
63 const Array<OneD, const NekDouble> &base1,
64 const Array<OneD, const NekDouble> &base2,
65 const Array<OneD, const NekDouble> &jac,
66 const Array<OneD, const NekDouble> &input,
67 Array<OneD, NekDouble> &output, Array<OneD, NekDouble> &wsp);
69void PrismIProduct(
bool sortTopVert,
int numElmt,
int nquad0,
int nquad1,
70 int nquad2,
int nmodes0,
int nmodes1,
int nmodes2,
71 const Array<OneD, const NekDouble> &base0,
72 const Array<OneD, const NekDouble> &base1,
73 const Array<OneD, const NekDouble> &base2,
74 const Array<OneD, const NekDouble> &jac,
75 const Array<OneD, const NekDouble> &input,
76 Array<OneD, NekDouble> &output, Array<OneD, NekDouble> &wsp);
78void PyrIProduct(
bool sortTopVert,
int numElmt,
int nquad0,
int nquad1,
79 int nquad2,
int nmodes0,
int nmodes1,
int nmodes2,
80 const Array<OneD, const NekDouble> &base0,
81 const Array<OneD, const NekDouble> &base1,
82 const Array<OneD, const NekDouble> &base2,
83 const Array<OneD, const NekDouble> &jac,
84 const Array<OneD, const NekDouble> &input,
85 Array<OneD, NekDouble> &output, Array<OneD, NekDouble> &wsp);
87void TetIProduct(
bool sortTopEdge,
int numElmt,
int nquad0,
int nquad1,
88 int nquad2,
int nmodes0,
int nmodes1,
int nmodes2,
89 const Array<OneD, const NekDouble> &base0,
90 const Array<OneD, const NekDouble> &base1,
91 const Array<OneD, const NekDouble> &base2,
92 const Array<OneD, const NekDouble> &jac,
93 const Array<OneD, const NekDouble> &input,
94 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)