Perform operation.
1027 unsigned int nPhys =
m_stdExp->GetTotPoints();
1029 unsigned int nmodes =
m_stdExp->GetNcoeffs();
1030 unsigned int nmax = max(ntot,
m_numElmt*nmodes);
1031 Array<OneD, Array<OneD, const NekDouble> > in(3);
1032 Array<OneD, NekDouble> output, wsp1;
1033 Array<OneD, Array<OneD, NekDouble> > tmp(3);
1035 in[0] = entry0; in[1] = entry1;
1040 for(
int i = 0; i < 3; ++i)
1042 tmp[i] = wsp + i*nmax;
1083 for(
int i = 0; i < 3; ++i)
1086 for(
int j = 1; j < 3; ++j)
1089 in[j],1, tmp[i], 1, tmp[i],1);
1093 wsp1 = wsp + 3*nmax;
1100 tmp[2].
get() + i*nPhys, 1,
1105 tmp[0].get()+i*nPhys,1,tmp[0].get()+i*nPhys,1);
1109 tmp[0].
get()+i*nPhys,1);
1113 tmp[1].
get()+i*nPhys,1,tmp[1].
get()+i*nPhys,1);
1117 tmp[1].
get()+i*nPhys,1);
1126 m_jac,tmp[0],output,wsp1);
1132 m_jac,tmp[1],tmp[0],wsp1);
1133 Vmath::Vadd(m_numElmt*nmodes,tmp[0],1,output,1,output,1);
1139 m_jac,tmp[2],tmp[0],wsp1);
1140 Vmath::Vadd(m_numElmt*nmodes,tmp[0],1,output,1,output,1);
Array< OneD, NekDouble > m_fac1
void Vvtvp(int n, const T *w, const int incw, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
vvtvp (vector times vector plus vector): z = w*x + y
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)
Array< OneD, const NekDouble > m_jac
Array< OneD, NekDouble > m_fac2
Array< OneD, const NekDouble > m_base2
StdRegions::StdExpansionSharedPtr m_stdExp
Array< OneD, const NekDouble > m_derbase0
Array< OneD, NekDouble > m_fac0
Array< OneD, const NekDouble > m_derbase2
Array< OneD, const NekDouble > m_base1
Array< OneD, NekDouble > m_fac3
Array< OneD, const NekDouble > m_derbase1
Array< TwoD, const NekDouble > m_derivFac
void Vadd(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Add vector z = x+y.
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.
Array< OneD, const NekDouble > m_base0