Perform operation.
243 unsigned int nPhys =
m_stdExp->GetTotPoints();
245 unsigned int nmodes =
m_stdExp->GetNcoeffs();
246 unsigned int nmax = max(ntot,
m_numElmt*nmodes);
247 Array<OneD, Array<OneD, const NekDouble> > in(3);
248 Array<OneD, NekDouble> output, tmp1;
249 Array<OneD, Array<OneD, NekDouble> > tmp(3);
251 in[0] = entry0; in[1] = entry1; in[2] = entry2;
256 for(
int i = 0; i <
m_dim; ++i)
258 tmp[i] = wsp + i*nmax;
262 for(
int i = 0; i <
m_dim; ++i)
269 in[j],1, tmp[i], 1, tmp[i],1);
278 m_stdExp->IProductWRTDerivBase(0,tmp[0]+n*nPhys,
279 tmp1 = output + n*nmodes);
283 for(
int i = 1; i <
m_dim; ++i)
289 m_stdExp->IProductWRTDerivBase(i,tmp[i]+n*nPhys,tmp[0]);
291 tmp1 = output+n*nmodes,1);
Array< TwoD, const NekDouble > m_derivFac
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
StdRegions::StdExpansionSharedPtr m_stdExp
Array< OneD, const NekDouble > m_jac
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.