77 Array<OneD, NekDouble> &coords_0,
78 Array<OneD, NekDouble> &coords_1,
79 Array<OneD, NekDouble> &coords_2)
87 const Array<OneD, const NekDouble>& inarray,
88 Array<OneD, NekDouble> &outarray)
90 int nquad =
m_base[0]->GetNumPoints();
92 if(
m_base[0]->Collocation())
99 #ifdef NEKTAR_USING_DIRECT_BLAS_CALLS
101 Blas::Dgemv(
'N',nquad,
m_base[0]->GetNumModes(),1.0, (
m_base[0]->GetBdata()).
get(),
102 nquad,&inarray[0],1,0.0,&outarray[0],1);
104 #else //NEKTAR_USING_DIRECT_BLAS_CALLS
111 #endif //NEKTAR_USING_DIRECT_BLAS_CALLS
118 Array<OneD, NekDouble> &outarray)
120 if(
m_base[0]->Collocation())
140 const Array<OneD, const NekDouble>& inarray,
141 Array<OneD, NekDouble> &outarray)
143 if(
m_base[0]->Collocation())
166 ASSERTL0(
false,
"This type of FwdTrans is not defined for this shapex type");
169 fill(outarray.get(), outarray.get()+
m_ncoeffs, 0.0 );
190 Blas::Dgemv(
'N',nInteriorDofs,nInteriorDofs,1.0, &(matsys->GetPtr())[0],
191 nInteriorDofs,tmp1.get()+offset,1,0.0,outarray.get()+offset,1);
199 Array<OneD, NekDouble> &outarray)
206 const Array<OneD, const NekDouble>& inarray,
207 Array<OneD, NekDouble> &outarray,
210 int nquad =
m_base[0]->GetNumPoints();
211 Array<OneD, NekDouble> tmp(nquad);
212 Array<OneD, const NekDouble> z =
m_base[0]->GetZ();
213 Array<OneD, const NekDouble> w =
m_base[0]->GetW();
217 if(coll_check&&
m_base[0]->Collocation())
223 Blas::Dgemv(
'T',nquad,
m_ncoeffs,1.0,base.get(),nquad,
224 &tmp[0],1,0.0,outarray.get(),1);
229 Array<OneD, NekDouble> &outarray)
236 const Array<OneD, const NekDouble>& inarray,
237 Array<OneD, NekDouble> & outarray)
239 ASSERTL1(dir >= 0 && dir < 1,
"input dir is out of range");
244 const Array<OneD, const NekDouble>& inarray,
245 Array<OneD, NekDouble> &outarray)
266 (*Mat) = Imass*Iprod;