Perform operation.
586 unsigned int nPhys =
m_stdExp->GetTotPoints();
588 unsigned int nmodes =
m_stdExp->GetNcoeffs();
589 unsigned int nmax = max(ntot,
m_numElmt*nmodes);
590 Array<OneD, Array<OneD, const NekDouble> > in(3);
591 Array<OneD, NekDouble> output, wsp1;
592 Array<OneD, Array<OneD, NekDouble> > tmp(2);
594 in[0] = entry0; in[1] = entry1; in[2] = entry2;
596 output = (
m_coordim == 2)? entry2: entry3;
598 tmp[0] = wsp; tmp[1] = wsp + nmax;
602 for(
int i = 0; i < 2; ++i)
609 in[j],1, tmp[i], 1, tmp[i],1);
618 m_jac, tmp[0], output, wsp1);
625 m_jac, tmp[1], tmp[0], wsp1);
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< OneD, const NekDouble > m_base1
Array< OneD, const NekDouble > m_base0
Array< OneD, const NekDouble > m_jac
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)
Array< OneD, const NekDouble > m_derbase0
StdRegions::StdExpansionSharedPtr m_stdExp
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.