Perform operation.
707 unsigned int nPhys =
m_stdExp->GetTotPoints();
709 unsigned int nmodes =
m_stdExp->GetNcoeffs();
710 unsigned int nmax = max(ntot,
m_numElmt*nmodes);
711 Array<OneD, Array<OneD, const NekDouble> > in(3);
712 Array<OneD, NekDouble> output, wsp1;
713 Array<OneD, Array<OneD, NekDouble> > tmp(2);
715 in[0] = entry0; in[1] = entry1; in[2] = entry2;
717 output = (
m_coordim == 2)? entry2: entry3;
719 tmp[0] = wsp; tmp[1] = wsp + nmax;
742 for(
int i = 0; i < 2; ++i)
749 in[j],1, tmp[i], 1, tmp[i],1);
758 tmp[0].
get()+i*nPhys,1);
762 tmp[0].
get()+i*nPhys,1,tmp[0].
get()+i*nPhys,1);
768 m_jac, tmp[0], output, wsp1);
773 m_jac, tmp[1], tmp[0], wsp1);
775 Vmath::Vadd(m_numElmt*nmodes,tmp[0],1,output,1,output,1);
Array< OneD, NekDouble > m_fac0
Array< OneD, const NekDouble > m_derbase1
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
Array< TwoD, const NekDouble > m_derivFac
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)
Array< OneD, const NekDouble > m_derbase0
Array< OneD, const NekDouble > m_jac
Array< OneD, const NekDouble > m_base0
StdRegions::StdExpansionSharedPtr m_stdExp
Array< OneD, NekDouble > m_fac1
Array< OneD, const NekDouble > m_base1
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.