35 #include <boost/core/ignore_unused.hpp> 60 m_nodalPointsKey(Ba.GetNumModes(),Ntype)
63 "order in 'a' direction is higher than order " 66 "order in 'a' direction is higher than order " 69 "order in 'b' direction is higher than order " 105 modal = (*inv_vdm) * nodal;
135 nodal = (*vdm)*modal;
235 bool multiplybyweights)
267 "calling argument mode is larger than total expansion order");
270 outarray[mode] = 1.0;
349 bool useCoeffPacking)
351 boost::ignore_unused(useCoeffPacking);
352 ASSERTL0(localVertexId >= 0 && localVertexId <= 3,
353 "Local Vertex ID must be between 0 and 3");
354 return localVertexId;
363 if (outarray.num_elements() != nBndryCoeff)
368 for (i = 0; i < nBndryCoeff; i++)
380 if (outarray.num_elements() !=
m_ncoeffs-nBndryCoeff)
386 for (i = nBndryCoeff; i <
m_ncoeffs; i++)
388 outarray[i-nBndryCoeff] = i;
#define ASSERTL0(condition, msg)
PointsType GetPointsType() const
int NumBndryCoeffs(void) const
virtual void v_GetBoundaryMap(Array< OneD, unsigned int > &outarray)
void GetNodalPoints(Array< OneD, const NekDouble > &x, Array< OneD, const NekDouble > &y, Array< OneD, const NekDouble > &z)
virtual void v_IProductWRTDerivBase_SumFac(const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
LibUtilities::PointsKey m_nodalPointsKey
virtual void v_IProductWRTBase_SumFac(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool multiplybyweights=true)
LibUtilities::ShapeType DetShapeType() const
std::shared_ptr< DNekMat > DNekMatSharedPtr
MatrixType GetMatrixType() const
virtual void v_GetInteriorMap(Array< OneD, unsigned int > &outarray)
DNekMatSharedPtr GetStdMatrix(const StdMatrixKey &mkey)
virtual int v_GetVertexMap(const int localVertexId, bool useCoeffPacking=false)
virtual void v_FillMode(const int mode, Array< OneD, NekDouble > &outarray)
The base class for all shapes.
void NodalToModal(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
int GetNumModes() const
Returns the order of the basis.
int getNumberOfCoefficients(int Na)
virtual void v_BwdTrans_SumFac(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_IProductWRTDerivBase_SumFac(const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_IProductWRTBase(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_BwdTrans_SumFac(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
PointsManagerT & PointsManager(void)
DNekMatSharedPtr CreateGeneralMatrix(const StdMatrixKey &mkey)
this function generates the mass matrix
NekMatrix< InnerMatrixType, BlockMatrixTag > Transpose(NekMatrix< InnerMatrixType, BlockMatrixTag > &rhs)
DNekMatSharedPtr GenNBasisTransMatrix()
virtual DNekMatSharedPtr v_GenMatrix(const StdMatrixKey &mkey)
virtual bool v_IsNodalNonTensorialExp()
virtual void v_IProductWRTDerivBase(const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_FwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
#define ASSERTL2(condition, msg)
Assert Level 2 – Debugging which is used FULLDEBUG compilation mode. This level assert is designed t...
virtual NekDouble v_PhysEvaluate(const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &physvals)
This function evaluates the expansion at a single (arbitrary) point of the domain.
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
virtual void v_IProductWRTBase_SumFac(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool mult=true)
void ModalToNodal(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void Zero(int n, T *x, const int incx)
Zero vector.
virtual DNekMatSharedPtr v_CreateStdMatrix(const StdMatrixKey &mkey)
void NodalToModalTranspose(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
Describes the specification for a Basis.
virtual void v_FillMode(const int mode, Array< OneD, NekDouble > &outarray)
static VarCoeffMap NullVarCoeffMap
static ConstFactorMap NullConstFactorMap