88 bool returnval =
false;
121 int nquad0 =
m_base[0]->GetNumPoints();
122 Array<OneD, NekDouble> tmp(nquad0);
123 Array<OneD, const NekDouble> z =
m_base[0]->GetZ();
124 Array<OneD, const NekDouble> w0 =
m_base[0]->GetW();
152 Array<OneD, NekDouble> &out_d0,
153 Array<OneD, NekDouble> &out_d1,
154 Array<OneD, NekDouble> &out_d2)
161 const Array<OneD, const NekDouble>& inarray,
162 Array<OneD, NekDouble> &outarray)
164 ASSERTL1(dir==0,
"input dir is out of range");
170 const Array<OneD, const NekDouble>& inarray,
171 Array<OneD, NekDouble> &out_d0,
172 Array<OneD, NekDouble> &out_d1,
173 Array<OneD, NekDouble> &out_d2)
181 const Array<OneD, const NekDouble>& inarray,
182 Array<OneD, NekDouble> &outarray)
184 ASSERTL1(dir==0,
"input dir is out of range");
215 const Array<OneD, const NekDouble>& inarray,
216 Array<OneD, NekDouble> &outarray)
218 int nquad =
m_base[0]->GetNumPoints();
220 if(
m_base[0]->Collocation())
227 #ifdef NEKTAR_USING_DIRECT_BLAS_CALLS
229 Blas::Dgemv(
'N',nquad,
m_base[0]->GetNumModes(),1.0, (
m_base[0]->GetBdata()).
get(),
230 nquad,&inarray[0],1,0.0,&outarray[0],1);
232 #else //NEKTAR_USING_DIRECT_BLAS_CALLS
239 #endif //NEKTAR_USING_DIRECT_BLAS_CALLS
264 Array<OneD, NekDouble> &outarray)
266 if(
m_base[0]->Collocation())
286 const Array<OneD, const NekDouble>& inarray,
287 Array<OneD, NekDouble> &outarray)
289 if(
m_base[0]->Collocation())
318 ASSERTL0(
false,
"This type of FwdTrans is not defined for this expansion type");
321 fill(outarray.get(), outarray.get()+
m_ncoeffs, 0.0 );
345 Blas::Dgemv(
'N',nInteriorDofs,nInteriorDofs,1.0,
346 &(matsys->GetPtr())[0],nInteriorDofs,tmp1.get()
347 +offset,1,0.0,outarray.get()+offset,1);
360 Array<OneD, NekDouble> &outarray)
395 const Array<OneD, const NekDouble> &base,
396 const Array<OneD, const NekDouble> &inarray,
397 Array<OneD, NekDouble> &outarray,
400 int nquad =
m_base[0]->GetNumPoints();
401 Array<OneD, NekDouble> tmp(nquad);
402 Array<OneD, const NekDouble> z =
m_base[0]->GetZ();
403 Array<OneD, const NekDouble> w =
m_base[0]->GetW();
419 Blas::Dgemv(
'T',nquad,
m_ncoeffs,1.0,base.get(),nquad,
420 &tmp[0],1,0.0,outarray.get(),1);
434 Array<OneD, NekDouble> &outarray)
441 const Array<OneD, const NekDouble>& inarray,
442 Array<OneD, NekDouble> & outarray)
444 ASSERTL1(dir >= 0 && dir < 1,
"input dir is out of range");
449 const Array<OneD, const NekDouble>& inarray,
450 Array<OneD, NekDouble> &outarray)
465 int nquad =
m_base[0]->GetNumPoints();
469 "calling argument mode is larger than total expansion order");
476 const Array<OneD, const NekDouble>& coords,
477 const Array<OneD, const NekDouble>& physvals)
483 const Array<OneD, const NekDouble> &inarray,
484 Array<OneD, NekDouble> &outarray,
487 int nquad =
m_base[0]->GetNumPoints();
489 Array<OneD,NekDouble> physValues(nquad);
490 Array<OneD,NekDouble> dPhysValuesdx(nquad);
501 const Array<OneD, const NekDouble> &inarray,
502 Array<OneD, NekDouble> &outarray,
505 int nquad =
m_base[0]->GetNumPoints();
507 Array<OneD,NekDouble> physValues(nquad);
508 Array<OneD,NekDouble> dPhysValuesdx(nquad);
524 Array<OneD, NekDouble> &coords_0,
525 Array<OneD, NekDouble> &coords_1,
526 Array<OneD, NekDouble> &coords_2)
556 const std::vector<unsigned int> &nummodes,
559 int nmodes = nummodes[modes_offset];
584 (*Mat) = Imass*Iprod;
626 int nummodes =
m_base[0]->GetNumModes();
636 outarray[1]= nummodes-1;
643 ASSERTL0(0,
"Mapping array is not defined for this expansion");
676 ASSERTL0(0,
"Mapping array is not defined for this expansion");
683 ASSERTL0((localVertexId==0)||(localVertexId==1),
"local vertex id"
684 "must be between 0 or 1");
686 int localDOF = localVertexId;
691 localDOF =
m_base[0]->GetNumModes()-1;