Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
Nektar::StdRegions::StdExpansion Class Reference

The base class for all shapes. More...

#include <StdExpansion.h>

Inheritance diagram for Nektar::StdRegions::StdExpansion:
Inheritance graph
[legend]
Collaboration diagram for Nektar::StdRegions::StdExpansion:
Collaboration graph
[legend]

Public Member Functions

 StdExpansion ()
 Default Constructor.
 StdExpansion (const int numcoeffs, const int numbases, const LibUtilities::BasisKey &Ba=LibUtilities::NullBasisKey, const LibUtilities::BasisKey &Bb=LibUtilities::NullBasisKey, const LibUtilities::BasisKey &Bc=LibUtilities::NullBasisKey)
 Constructor.
 StdExpansion (const StdExpansion &T)
 Copy Constructor.
virtual ~StdExpansion ()
 Destructor.
int GetNumBases () const
 This function returns the number of 1D bases used in the expansion.
const Array< OneD, const
LibUtilities::BasisSharedPtr > & 
GetBase () const
 This function gets the shared point to basis.
const
LibUtilities::BasisSharedPtr
GetBasis (int dir) const
 This function gets the shared point to basis in the dir direction.
int GetNcoeffs (void) const
 This function returns the total number of coefficients used in the expansion.
int GetTotPoints () const
 This function returns the total number of quadrature points used in the element.
LibUtilities::BasisType GetBasisType (const int dir) const
 This function returns the type of basis used in the dir direction.
int GetBasisNumModes (const int dir) const
 This function returns the number of expansion modes in the dir direction.
int EvalBasisNumModesMax (void) const
 This function returns the maximum number of expansion modes over all local directions.
LibUtilities::PointsType GetPointsType (const int dir) const
 This function returns the type of quadrature points used in the dir direction.
int GetNumPoints (const int dir) const
 This function returns the number of quadrature points in the dir direction.
const Array< OneD, const
NekDouble > & 
GetPoints (const int dir) const
 This function returns a pointer to the array containing the quadrature points in dir direction.
int GetNverts () const
 This function returns the number of vertices of the expansion domain.
int GetNedges () const
 This function returns the number of edges of the expansion domain.
int GetEdgeNcoeffs (const int i) const
 This function returns the number of expansion coefficients belonging to the i-th edge.
int GetTotalEdgeIntNcoeffs () const
int GetEdgeNumPoints (const int i) const
 This function returns the number of quadrature points belonging to the i-th edge.
int DetCartesianDirOfEdge (const int edge)
const LibUtilities::BasisKey DetEdgeBasisKey (const int i) const
const LibUtilities::BasisKey DetFaceBasisKey (const int i, const int k) const
int GetFaceNumPoints (const int i) const
 This function returns the number of quadrature points belonging to the i-th face.
int GetFaceNcoeffs (const int i) const
 This function returns the number of expansion coefficients belonging to the i-th face.
int GetFaceIntNcoeffs (const int i) const
int GetTotalFaceIntNcoeffs () const
LibUtilities::PointsKey GetFacePointsKey (const int i, const int j) const
int NumBndryCoeffs (void) const
int NumDGBndryCoeffs (void) const
LibUtilities::BasisType GetEdgeBasisType (const int i) const
 This function returns the type of expansion basis on the i-th edge.
int GetNfaces () const
 This function returns the number of faces of the expansion domain.
LibUtilities::ShapeType DetShapeType () const
 This function returns the shape of the expansion domain.
int GetShapeDimension () const
bool IsBoundaryInteriorExpansion ()
void BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 This function performs the Backward transformation from coefficient space to physical space.
void FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 This function performs the Forward transformation from physical space to coefficient space.
void FwdTrans_BndConstrained (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
NekDouble Integral (const Array< OneD, const NekDouble > &inarray)
 This function integrates the specified function over the domain.
void FillMode (const int mode, Array< OneD, NekDouble > &outarray)
 This function fills the array outarray with the mode-th mode of the expansion.
void IProductWRTBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 this function calculates the inner product of a given function f with the different modes of the expansion
void IProductWRTBase (const Array< OneD, const NekDouble > &base, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, int coll_check)
void IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
int GetElmtId ()
 Get the element id of this expansion when used in a list by returning value of m_elmt_id.
void SetElmtId (const int id)
 Set the element id of this expansion when used in a list by returning value of m_elmt_id.
void GetCoords (Array< OneD, NekDouble > &coords_1, Array< OneD, NekDouble > &coords_2=NullNekDouble1DArray, Array< OneD, NekDouble > &coords_3=NullNekDouble1DArray)
 this function returns the physical coordinates of the quadrature points of the expansion
void GetCoord (const Array< OneD, const NekDouble > &Lcoord, Array< OneD, NekDouble > &coord)
 given the coordinates of a point of the element in the local collapsed coordinate system, this function calculates the physical coordinates of the point
DNekMatSharedPtr GetStdMatrix (const StdMatrixKey &mkey)
DNekBlkMatSharedPtr GetStdStaticCondMatrix (const StdMatrixKey &mkey)
IndexMapValuesSharedPtr GetIndexMap (const IndexMapKey &ikey)
const Array< OneD, const
NekDouble > & 
GetPhysNormals (void)
void SetPhysNormals (Array< OneD, const NekDouble > &normal)
virtual void SetUpPhysNormals (const int edge)
void NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray)
void NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, const Array< OneD, const NekDouble > &Fz, Array< OneD, NekDouble > &outarray)
DNekScalBlkMatSharedPtr GetLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey)
void DropLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey)
StdRegions::Orientation GetFaceOrient (int face)
StdRegions::Orientation GetEorient (int edge)
StdRegions::Orientation GetPorient (int point)
StdRegions::Orientation GetCartesianEorient (int edge)
void SetCoeffsToOrientation (Array< OneD, NekDouble > &coeffs, StdRegions::Orientation dir)
void SetCoeffsToOrientation (StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
int CalcNumberOfCoefficients (const std::vector< unsigned int > &nummodes, int &modes_offset)
void ExtractDataToCoeffs (const NekDouble *data, const std::vector< unsigned int > &nummodes, const int nmodes_offset, NekDouble *coeffs)
NekDouble StdPhysEvaluate (const Array< OneD, const NekDouble > &Lcoord, const Array< OneD, const NekDouble > &physvals)
void AddEdgeNormBoundaryInt (const int edge, boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray)
void AddEdgeNormBoundaryInt (const int edge, boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray)
void AddEdgeNormBoundaryBiInt (const int edge, boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &outarray)
void AddFaceNormBoundaryInt (const int face, boost::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray)
int GetCoordim ()
void GetBoundaryMap (Array< OneD, unsigned int > &outarray)
void GetInteriorMap (Array< OneD, unsigned int > &outarray)
int GetVertexMap (const int localVertexId, bool useCoeffPacking=false)
void GetEdgeInteriorMap (const int eid, const Orientation edgeOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray)
void GetFaceInteriorMap (const int fid, const Orientation faceOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray)
void GetEdgeToElementMap (const int eid, const Orientation edgeOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray)
void GetFaceToElementMap (const int fid, const Orientation faceOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray, int nummodesA=-1, int nummodesB=-1)
void GetEdgePhysVals (const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 Extract the physical values along edge edge from inarray into outarray following the local edge orientation and point distribution defined by defined in EdgeExp.
void GetEdgePhysVals (const int edge, const boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void GetTracePhysVals (const int edge, const boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void GetVertexPhysVals (const int vertex, const Array< OneD, const NekDouble > &inarray, NekDouble &outarray)
void GetEdgeInterpVals (const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void GetEdgeQFactors (const int edge, Array< OneD, NekDouble > &outarray)
 Extract the metric factors to compute the contravariant fluxes along edge edge and stores them into outarray following the local edge orientation (i.e. anticlockwise convention).
void GetFacePhysVals (const int face, const boost::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient=eNoOrientation)
void MultiplyByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void MultiplyByStdQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
DNekMatSharedPtr CreateGeneralMatrix (const StdMatrixKey &mkey)
 this function generates the mass matrix $\mathbf{M}[i][j] = \int \phi_i(\mathbf{x}) \phi_j(\mathbf{x}) d\mathbf{x}$
void GeneralMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void MassMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void LaplacianMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void ReduceOrderCoeffs (int numMin, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void SVVLaplacianFilter (Array< OneD, NekDouble > &array, const StdMatrixKey &mkey)
void LaplacianMatrixOp (const int k1, const int k2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void WeakDerivMatrixOp (const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void WeakDirectionalDerivMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void MassLevelCurvatureMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void LinearAdvectionDiffusionReactionMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true)
void HelmholtzMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
DNekMatSharedPtr GenMatrix (const StdMatrixKey &mkey)
void PhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1=NullNekDouble1DArray, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray)
void PhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void PhysDeriv_s (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_ds)
void PhysDeriv_n (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_dn)
void PhysDirectionalDeriv (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &direction, Array< OneD, NekDouble > &outarray)
void StdPhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1=NullNekDouble1DArray, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray)
void StdPhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void AddRobinMassMatrix (const int edgeid, const Array< OneD, const NekDouble > &primCoeffs, DNekMatSharedPtr &inoutmat)
void AddRobinEdgeContribution (const int edgeid, const Array< OneD, const NekDouble > &primCoeffs, Array< OneD, NekDouble > &coeffs)
void DGDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, boost::shared_ptr< StdExpansion > > &EdgeExp, Array< OneD, Array< OneD, NekDouble > > &coeffs, Array< OneD, NekDouble > &outarray)
NekDouble 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.
NekDouble PhysEvaluate (const Array< OneD, DNekMatSharedPtr > &I, const Array< OneD, const NekDouble > &physvals)
 This function evaluates the expansion at a single (arbitrary) point of the domain.
void LocCoordToLocCollapsed (const Array< OneD, const NekDouble > &xi, Array< OneD, NekDouble > &eta)
 Convert local cartesian coordinate xi into local collapsed coordinates eta.
const boost::shared_ptr
< SpatialDomains::GeomFactors > & 
GetMetricInfo (void) const
virtual int v_GetElmtId ()
 Get the element id of this expansion when used in a list by returning value of m_elmt_id.
virtual const Array< OneD,
const NekDouble > & 
v_GetPhysNormals (void)
virtual void v_SetPhysNormals (Array< OneD, const NekDouble > &normal)
virtual void v_SetUpPhysNormals (const int edge)
virtual int v_CalcNumberOfCoefficients (const std::vector< unsigned int > &nummodes, int &modes_offset)
virtual void v_ExtractDataToCoeffs (const NekDouble *data, const std::vector< unsigned int > &nummodes, const int nmode_offset, NekDouble *coeffs)
 Unpack data from input file assuming it comes from the same expansion type.
virtual void v_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray)
virtual void v_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, const Array< OneD, const NekDouble > &Fz, Array< OneD, NekDouble > &outarray)
virtual DNekScalBlkMatSharedPtr v_GetLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey)
virtual void v_DropLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey)
virtual StdRegions::Orientation v_GetFaceOrient (int face)
virtual StdRegions::Orientation v_GetEorient (int edge)
virtual StdRegions::Orientation v_GetCartesianEorient (int edge)
virtual StdRegions::Orientation v_GetPorient (int point)
NekDouble Linf (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &sol=NullNekDouble1DArray)
 Function to evaluate the discrete $ L_\infty$ error $ |\epsilon|_\infty = \max |u - u_{exact}|$ where $ u_{exact}$ is given by the array sol.
NekDouble L2 (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &sol=NullNekDouble1DArray)
 Function to evaluate the discrete $ L_2$ error, $ | \epsilon |_{2} = \left [ \int^1_{-1} [u - u_{exact}]^2 dx \right]^{1/2} d\xi_1 $ where $ u_{exact}$ is given by the array sol.
NekDouble H1 (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &sol=NullNekDouble1DArray)
 Function to evaluate the discrete $ H^1$ error, $ | \epsilon |^1_{2} = \left [ \int^1_{-1} [u - u_{exact}]^2 + \nabla(u - u_{exact})\cdot\nabla(u - u_{exact})\cdot dx \right]^{1/2} d\xi_1 $ where $ u_{exact}$ is given by the array sol.
const NormalVectorGetEdgeNormal (const int edge) const
void ComputeEdgeNormal (const int edge)
void NegateEdgeNormal (const int edge)
bool EdgeNormalNegated (const int edge)
void ComputeFaceNormal (const int face)
void NegateFaceNormal (const int face)
void ComputeVertexNormal (const int vertex)
const NormalVectorGetFaceNormal (const int face) const
const NormalVectorGetVertexNormal (const int vertex) const
const NormalVectorGetSurfaceNormal (const int id) const
const LibUtilities::PointsKeyVector GetPointsKeys () const
Array< OneD, unsigned int > GetEdgeInverseBoundaryMap (int eid)
Array< OneD, unsigned int > GetFaceInverseBoundaryMap (int fid, StdRegions::Orientation faceOrient=eNoOrientation)
DNekMatSharedPtr BuildInverseTransformationMatrix (const DNekScalMatSharedPtr &m_transformationmatrix)
template<class T >
boost::shared_ptr< T > as ()

Protected Member Functions

DNekMatSharedPtr CreateStdMatrix (const StdMatrixKey &mkey)
DNekBlkMatSharedPtr CreateStdStaticCondMatrix (const StdMatrixKey &mkey)
 Create the static condensation of a matrix when using a boundary interior decomposition.
IndexMapValuesSharedPtr CreateIndexMap (const IndexMapKey &ikey)
 Create an IndexMap which contains mapping information linking any specific element shape with either its boundaries, edges, faces, verteces, etc.
void BwdTrans_MatOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void BwdTrans_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void IProductWRTBase_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void IProductWRTDerivBase_SumFac (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void GeneralMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void MassMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void LaplacianMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void LaplacianMatrixOp_MatFree_Kernel (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp)
void LaplacianMatrixOp_MatFree_GenericImpl (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void LaplacianMatrixOp_MatFree (const int k1, const int k2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void WeakDerivMatrixOp_MatFree (const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void WeakDirectionalDerivMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void MassLevelCurvatureMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void LinearAdvectionDiffusionReactionMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true)
void HelmholtzMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void HelmholtzMatrixOp_MatFree_GenericImpl (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
virtual void v_SetCoeffsToOrientation (StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_SetCoeffsToOrientation (Array< OneD, NekDouble > &coeffs, StdRegions::Orientation dir)
virtual NekDouble v_StdPhysEvaluate (const Array< OneD, const NekDouble > &Lcoord, const Array< OneD, const NekDouble > &physvals)
virtual void v_AddEdgeNormBoundaryInt (const int edge, boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray)
virtual void v_AddEdgeNormBoundaryInt (const int edge, boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray)
virtual void v_AddFaceNormBoundaryInt (const int face, boost::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray)

Protected Attributes

Array< OneD,
LibUtilities::BasisSharedPtr
m_base
int m_elmt_id
int m_ncoeffs
LibUtilities::NekManager
< StdMatrixKey, DNekMat,
StdMatrixKey::opLess
m_stdMatrixManager
LibUtilities::NekManager
< StdMatrixKey, DNekBlkMat,
StdMatrixKey::opLess
m_stdStaticCondMatrixManager
LibUtilities::NekManager
< IndexMapKey, IndexMapValues,
IndexMapKey::opLess
m_IndexMapManager

Private Member Functions

virtual int v_GetNverts () const =0
virtual int v_GetNedges () const
virtual int v_GetNfaces () const
virtual int v_NumBndryCoeffs () const
virtual int v_NumDGBndryCoeffs () const
virtual int v_GetEdgeNcoeffs (const int i) const
virtual int v_GetTotalEdgeIntNcoeffs () const
virtual int v_GetEdgeNumPoints (const int i) const
virtual int v_DetCartesianDirOfEdge (const int edge)
virtual const
LibUtilities::BasisKey 
v_DetEdgeBasisKey (const int i) const
virtual const
LibUtilities::BasisKey 
v_DetFaceBasisKey (const int i, const int k) const
virtual int v_GetFaceNumPoints (const int i) const
virtual int v_GetFaceNcoeffs (const int i) const
virtual int v_GetFaceIntNcoeffs (const int i) const
virtual int v_GetTotalFaceIntNcoeffs () const
virtual LibUtilities::PointsKey v_GetFacePointsKey (const int i, const int j) const
virtual LibUtilities::BasisType v_GetEdgeBasisType (const int i) const
virtual LibUtilities::ShapeType v_DetShapeType () const
virtual int v_GetShapeDimension () const
virtual bool v_IsBoundaryInteriorExpansion ()
virtual void v_BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
virtual void v_FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
 Transform a given function from physical quadrature space to coefficient space.
virtual void v_IProductWRTBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
 Calculates the inner product of a given function f with the different modes of the expansion.
virtual void v_IProductWRTBase (const Array< OneD, const NekDouble > &base, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, int coll_check)
virtual void v_IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_FwdTrans_BndConstrained (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual NekDouble v_Integral (const Array< OneD, const NekDouble > &inarray)
 Integrates the specified function over the domain.
virtual void v_PhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d1, Array< OneD, NekDouble > &out_d2, Array< OneD, NekDouble > &out_d3)
 Calculate the derivative of the physical points.
virtual void v_PhysDeriv_s (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_ds)
virtual void v_PhysDeriv_n (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_dn)
virtual void v_PhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0)
 Calculate the derivative of the physical points in a given direction.
virtual void v_PhysDirectionalDeriv (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &direction, Array< OneD, NekDouble > &outarray)
 Physical derivative along a direction vector.
virtual void v_StdPhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d1, Array< OneD, NekDouble > &out_d2, Array< OneD, NekDouble > &out_d3)
virtual void v_StdPhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_AddRobinMassMatrix (const int edgeid, const Array< OneD, const NekDouble > &primCoeffs, DNekMatSharedPtr &inoutmat)
virtual void v_AddRobinEdgeContribution (const int edgeid, const Array< OneD, const NekDouble > &primCoeffs, Array< OneD, NekDouble > &coeffs)
virtual void v_DGDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, boost::shared_ptr< StdExpansion > > &EdgeExp, Array< OneD, Array< OneD, NekDouble > > &coeffs, Array< OneD, NekDouble > &outarray)
virtual NekDouble v_PhysEvaluate (const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &physvals)
virtual NekDouble v_PhysEvaluate (const Array< OneD, DNekMatSharedPtr > &I, const Array< OneD, const NekDouble > &physvals)
virtual void v_LocCoordToLocCollapsed (const Array< OneD, const NekDouble > &xi, Array< OneD, NekDouble > &eta)
virtual void v_FillMode (const int mode, Array< OneD, NekDouble > &outarray)
virtual DNekMatSharedPtr v_GenMatrix (const StdMatrixKey &mkey)
virtual DNekMatSharedPtr v_CreateStdMatrix (const StdMatrixKey &mkey)
virtual void v_GetCoords (Array< OneD, NekDouble > &coords_0, Array< OneD, NekDouble > &coords_1, Array< OneD, NekDouble > &coords_2)
virtual void v_GetCoord (const Array< OneD, const NekDouble > &Lcoord, Array< OneD, NekDouble > &coord)
virtual int v_GetCoordim (void)
virtual void v_GetBoundaryMap (Array< OneD, unsigned int > &outarray)
virtual void v_GetInteriorMap (Array< OneD, unsigned int > &outarray)
virtual int v_GetVertexMap (int localVertexId, bool useCoeffPacking=false)
virtual void v_GetEdgeInteriorMap (const int eid, const Orientation edgeOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray)
virtual void v_GetFaceInteriorMap (const int fid, const Orientation faceOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray)
virtual void v_GetEdgeToElementMap (const int eid, const Orientation edgeOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray)
virtual void v_GetFaceToElementMap (const int fid, const Orientation faceOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray, int nummodesA=-1, int nummodesB=-1)
virtual void v_GetEdgePhysVals (const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 Extract the physical values along edge edge from inarray into outarray following the local edge orientation and point distribution defined by defined in EdgeExp.
virtual void v_GetEdgePhysVals (const int edge, const boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_GetTracePhysVals (const int edge, const boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient=eNoOrientation)
virtual void v_GetVertexPhysVals (const int vertex, const Array< OneD, const NekDouble > &inarray, NekDouble &outarray)
virtual void v_GetEdgeInterpVals (const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_GetEdgeQFactors (const int edge, Array< OneD, NekDouble > &outarray)
virtual void v_GetFacePhysVals (const int face, const boost::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient)
virtual void v_MultiplyByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_MultiplyByStdQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual const
boost::shared_ptr
< SpatialDomains::GeomFactors > & 
v_GetMetricInfo () const
virtual void v_BwdTrans_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_IProductWRTBase_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_MassMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
virtual void v_LaplacianMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
virtual void v_SVVLaplacianFilter (Array< OneD, NekDouble > &array, const StdMatrixKey &mkey)
virtual void v_ReduceOrderCoeffs (int numMin, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
virtual void v_LaplacianMatrixOp (const int k1, const int k2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
virtual void v_WeakDerivMatrixOp (const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
virtual void v_WeakDirectionalDerivMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
virtual void v_MassLevelCurvatureMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
virtual void v_LinearAdvectionDiffusionReactionMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true)
virtual void v_HelmholtzMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
virtual void v_LaplacianMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
virtual void v_LaplacianMatrixOp_MatFree_Kernel (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp)
virtual void v_HelmholtzMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
virtual const NormalVectorv_GetEdgeNormal (const int edge) const
virtual void v_ComputeEdgeNormal (const int edge)
virtual void v_NegateEdgeNormal (const int edge)
virtual bool v_EdgeNormalNegated (const int edge)
virtual void v_ComputeFaceNormal (const int face)
virtual void v_NegateFaceNormal (const int face)
virtual const NormalVectorv_GetVertexNormal (const int vertex) const
virtual void v_ComputeVertexNormal (const int vertex)
virtual const NormalVectorv_GetFaceNormal (const int face) const
virtual const NormalVectorv_GetSurfaceNormal (const int id) const
virtual Array< OneD, unsigned int > v_GetEdgeInverseBoundaryMap (int eid)
virtual Array< OneD, unsigned int > v_GetFaceInverseBoundaryMap (int fid, StdRegions::Orientation faceOrient=eNoOrientation)
virtual DNekMatSharedPtr v_BuildInverseTransformationMatrix (const DNekScalMatSharedPtr &m_transformationmatrix)

Detailed Description

The base class for all shapes.

This is the lowest level basic class for all shapes and so contains the definition of common data and common routine to all elements

Definition at line 69 of file StdExpansion.h.

Constructor & Destructor Documentation

Nektar::StdRegions::StdExpansion::StdExpansion ( void  )

Default Constructor.

Definition at line 58 of file StdExpansion.cpp.

:
{
}
Nektar::StdRegions::StdExpansion::StdExpansion ( const int  numcoeffs,
const int  numbases,
const LibUtilities::BasisKey Ba = LibUtilities::NullBasisKey,
const LibUtilities::BasisKey Bb = LibUtilities::NullBasisKey,
const LibUtilities::BasisKey Bc = LibUtilities::NullBasisKey 
)

Constructor.

Definition at line 64 of file StdExpansion.cpp.

References ASSERTL2, Nektar::LibUtilities::BasisManager(), m_base, and Nektar::LibUtilities::NullBasisKey().

:
m_base(numbases),
m_ncoeffs(numcoeffs),
boost::bind(&StdExpansion::CreateStdMatrix, this, _1),
std::string("StdExpansionStdMatrix")),
boost::bind(&StdExpansion::CreateStdStaticCondMatrix, this, _1),
std::string("StdExpansionStdStaticCondMatrix")),
boost::bind(&StdExpansion::CreateIndexMap,this, _1),
std::string("StdExpansionIndexMap"))
{
switch(m_base.num_elements())
{
case 3:
"NULL Basis attempting to be used.");
case 2:
"NULL Basis attempting to be used.");
case 1:
"NULL Basis attempting to be used.");
break;
default:
break;
// ASSERTL0(false, "numbases incorrectly specified");
};
} //end constructor
Nektar::StdRegions::StdExpansion::StdExpansion ( const StdExpansion T)

Copy Constructor.

Definition at line 106 of file StdExpansion.cpp.

:
m_base(T.m_base),
m_elmt_id(T.m_elmt_id),
m_ncoeffs(T.m_ncoeffs),
m_stdMatrixManager(T.m_stdMatrixManager),
m_stdStaticCondMatrixManager(T.m_stdStaticCondMatrixManager),
m_IndexMapManager(T.m_IndexMapManager)
{
}
Nektar::StdRegions::StdExpansion::~StdExpansion ( )
virtual

Destructor.

Definition at line 116 of file StdExpansion.cpp.

{
}

Member Function Documentation

void Nektar::StdRegions::StdExpansion::AddEdgeNormBoundaryBiInt ( const int  edge,
boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  Fwd,
const Array< OneD, const NekDouble > &  Bwd,
Array< OneD, NekDouble > &  outarray 
)
void Nektar::StdRegions::StdExpansion::AddEdgeNormBoundaryInt ( const int  edge,
boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  Fx,
const Array< OneD, const NekDouble > &  Fy,
Array< OneD, NekDouble > &  outarray 
)

Definition at line 944 of file StdExpansion.cpp.

References v_AddEdgeNormBoundaryInt().

Referenced by Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt().

{
v_AddEdgeNormBoundaryInt(edge,EdgeExp,Fx,Fy,outarray);
}
void Nektar::StdRegions::StdExpansion::AddEdgeNormBoundaryInt ( const int  edge,
boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  Fn,
Array< OneD, NekDouble > &  outarray 
)

Definition at line 953 of file StdExpansion.cpp.

References v_AddEdgeNormBoundaryInt().

{
v_AddEdgeNormBoundaryInt(edge,EdgeExp,Fn,outarray);
}
void Nektar::StdRegions::StdExpansion::AddFaceNormBoundaryInt ( const int  face,
boost::shared_ptr< StdExpansion > &  FaceExp,
const Array< OneD, const NekDouble > &  Fn,
Array< OneD, NekDouble > &  outarray 
)

Definition at line 961 of file StdExpansion.cpp.

References v_AddFaceNormBoundaryInt().

{
v_AddFaceNormBoundaryInt(face,FaceExp,Fn,outarray);
}
void Nektar::StdRegions::StdExpansion::AddRobinEdgeContribution ( const int  edgeid,
const Array< OneD, const NekDouble > &  primCoeffs,
Array< OneD, NekDouble > &  coeffs 
)
inline

Definition at line 1052 of file StdExpansion.h.

References v_AddRobinEdgeContribution().

{
v_AddRobinEdgeContribution(edgeid, primCoeffs, coeffs);
}
void Nektar::StdRegions::StdExpansion::AddRobinMassMatrix ( const int  edgeid,
const Array< OneD, const NekDouble > &  primCoeffs,
DNekMatSharedPtr inoutmat 
)
inline

Definition at line 1047 of file StdExpansion.h.

References v_AddRobinMassMatrix().

{
v_AddRobinMassMatrix(edgeid,primCoeffs,inoutmat);
}
template<class T >
boost::shared_ptr<T> Nektar::StdRegions::StdExpansion::as ( )
inline

Definition at line 1300 of file StdExpansion.h.

References ASSERTL1.

Referenced by Nektar::MultiRegions::PreconditionerBlock::BlockPreconditioner3D(), Nektar::MultiRegions::AssemblyMapCG2D::SetUp2DGraphC0ContMap(), Nektar::MultiRegions::DisContField3D::SetUpDG(), Nektar::MultiRegions::DisContField2D::SetUpDG(), and Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner().

{
#if defined __INTEL_COMPILER && BOOST_VERSION > 105200
typedef typename boost::shared_ptr<T>::element_type E;
E * p = dynamic_cast< E* >( shared_from_this().get() );
ASSERTL1(p, "Cannot perform cast");
return boost::shared_ptr<T>( shared_from_this(), p );
#else
return boost::dynamic_pointer_cast<T>( shared_from_this() );
#endif
}
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::BuildInverseTransformationMatrix ( const DNekScalMatSharedPtr m_transformationmatrix)
inline

Definition at line 1292 of file StdExpansion.h.

References v_BuildInverseTransformationMatrix().

{
m_transformationmatrix);
}
void Nektar::StdRegions::StdExpansion::BwdTrans ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

This function performs the Backward transformation from coefficient space to physical space.

This function is a wrapper around the virtual function v_BwdTrans()

Based on the expansion coefficients, this function evaluates the expansion at the quadrature points. This is equivalent to the operation

\[ u(\xi_{1i}) = \sum_{p=0}^{P-1} \hat{u}_p \phi_p(\xi_{1i}) \]

which can be evaluated as $ {\bf u} = {\bf B}^T {\bf \hat{u}} $ with ${\bf B}[i][j] = \phi_i(\xi_{j})$

This function requires that the coefficient array $\mathbf{\hat{u}}$ provided as inarray.

The resulting array $\mathbf{u}[m]=u(\mathbf{\xi}_m)$ containing the expansion evaluated at the quadrature points, is stored in the outarray.

Parameters
inarraycontains the values of the expansion coefficients (input of the function)
outarraycontains the values of the expansion evaluated at the quadrature points (output of the function)

Definition at line 471 of file StdExpansion.h.

References v_BwdTrans().

Referenced by Extractlayerdata(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

{
v_BwdTrans (inarray, outarray);
}
void Nektar::StdRegions::StdExpansion::BwdTrans_MatOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
protected

Definition at line 921 of file StdExpansion.cpp.

References DetShapeType(), Nektar::StdRegions::eBwdTrans, GetStdMatrix(), GetTotPoints(), and m_ncoeffs.

{
int nq = GetTotPoints();
StdMatrixKey bwdtransmatkey(eBwdTrans,DetShapeType(),*this);
DNekMatSharedPtr bwdtransmat = GetStdMatrix(bwdtransmatkey);
Blas::Dgemv('N',nq,m_ncoeffs,1.0,bwdtransmat->GetPtr().get(),
nq, inarray.get(), 1, 0.0, outarray.get(), 1);
}
void Nektar::StdRegions::StdExpansion::BwdTrans_SumFac ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inlineprotected

Definition at line 1351 of file StdExpansion.h.

References v_BwdTrans_SumFac().

Referenced by CreateGeneralMatrix(), and Nektar::StdRegions::StdHexExp::v_BwdTrans().

{
v_BwdTrans_SumFac(inarray,outarray);
}
int Nektar::StdRegions::StdExpansion::CalcNumberOfCoefficients ( const std::vector< unsigned int > &  nummodes,
int &  modes_offset 
)
inline

Definition at line 728 of file StdExpansion.h.

References v_CalcNumberOfCoefficients().

{
return v_CalcNumberOfCoefficients(nummodes,modes_offset);
}
void Nektar::StdRegions::StdExpansion::ComputeEdgeNormal ( const int  edge)
inline

Definition at line 1225 of file StdExpansion.h.

References v_ComputeEdgeNormal().

Referenced by Nektar::LocalRegions::Expansion2D::v_SetUpPhysNormals().

{
}
void Nektar::StdRegions::StdExpansion::ComputeFaceNormal ( const int  face)
inline

Definition at line 1240 of file StdExpansion.h.

References v_ComputeFaceNormal().

{
}
void Nektar::StdRegions::StdExpansion::ComputeVertexNormal ( const int  vertex)
inline

Definition at line 1250 of file StdExpansion.h.

References v_ComputeVertexNormal().

Referenced by Nektar::StdRegions::StdExpansion1D::v_SetUpPhysNormals().

{
}
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::CreateGeneralMatrix ( const StdMatrixKey mkey)

this function generates the mass matrix $\mathbf{M}[i][j] = \int \phi_i(\mathbf{x}) \phi_j(\mathbf{x}) d\mathbf{x}$

Returns
returns the mass matrix

Definition at line 336 of file StdExpansion.cpp.

References BwdTrans_SumFac(), Nektar::StdRegions::eBwdTrans, ErrorUtil::efatal, Nektar::StdRegions::eHelmholtz, Nektar::StdRegions::eInvMass, Nektar::StdRegions::eInvNBasisTrans, Nektar::StdRegions::eIProductWRTBase, Nektar::StdRegions::eIProductWRTDerivBase0, Nektar::StdRegions::eIProductWRTDerivBase1, Nektar::StdRegions::eIProductWRTDerivBase2, Nektar::StdRegions::eLaplacian, Nektar::StdRegions::eLaplacian00, Nektar::StdRegions::eLaplacian01, Nektar::StdRegions::eLaplacian02, Nektar::StdRegions::eLaplacian11, Nektar::StdRegions::eLaplacian12, Nektar::StdRegions::eLaplacian22, Nektar::StdRegions::eLinearAdvectionDiffusionReaction, Nektar::StdRegions::eLinearAdvectionReaction, Nektar::StdRegions::eMass, Nektar::StdRegions::eMassLevelCurvature, Nektar::StdRegions::eNBasisTrans, Nektar::StdRegions::eWeakDeriv0, Nektar::StdRegions::eWeakDeriv1, Nektar::StdRegions::eWeakDeriv2, Nektar::StdRegions::eWeakDirectionalDeriv, GeneralMatrixOp_MatFree(), Nektar::StdRegions::StdMatrixKey::GetMatrixType(), Nektar::StdRegions::StdMatrixKey::GetNodalPointsType(), Nektar::StdRegions::StdMatrixKey::GetShapeType(), GetStdMatrix(), GetTotPoints(), IProductWRTBase_SumFac(), IProductWRTDerivBase_SumFac(), m_ncoeffs, NEKERROR, Nektar::StdRegions::NullConstFactorMap, Nektar::StdRegions::NullVarCoeffMap, Vmath::Vcopy(), and Vmath::Zero().

Referenced by Nektar::StdRegions::StdPrismExp::v_CreateStdMatrix(), Nektar::StdRegions::StdTetExp::v_CreateStdMatrix(), Nektar::StdRegions::StdHexExp::v_CreateStdMatrix(), Nektar::StdRegions::StdPointExp::v_GenMatrix(), Nektar::StdRegions::StdNodalPrismExp::v_GenMatrix(), Nektar::StdRegions::StdNodalTetExp::v_GenMatrix(), Nektar::StdRegions::StdNodalTriExp::v_GenMatrix(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdTriExp::v_GenMatrix(), Nektar::StdRegions::StdPrismExp::v_GenMatrix(), Nektar::StdRegions::StdTetExp::v_GenMatrix(), Nektar::StdRegions::StdHexExp::v_GenMatrix(), and Nektar::StdRegions::StdPyrExp::v_GenMatrix().

{
int i;
DNekMatSharedPtr returnval;
switch(mkey.GetMatrixType())
{
case eInvMass:
{
StdMatrixKey masskey(eMass,mkey.GetShapeType(),*this,NullConstFactorMap,NullVarCoeffMap,mkey.GetNodalPointsType());
DNekMatSharedPtr mmat = GetStdMatrix(masskey);
returnval = MemoryManager<DNekMat>::AllocateSharedPtr(*mmat); //Populate standard mass matrix.
returnval->Invert();
}
break;
{
StdMatrixKey tmpkey(eNBasisTrans,mkey.GetShapeType(),*this,NullConstFactorMap,NullVarCoeffMap,mkey.GetNodalPointsType());
DNekMatSharedPtr tmpmat = GetStdMatrix(tmpkey);
returnval = MemoryManager<DNekMat>::AllocateSharedPtr(*tmpmat); //Populate matrix.
returnval->Invert();
}
break;
case eBwdTrans:
{
int nq = GetTotPoints();
Array<OneD, NekDouble> tmpin(m_ncoeffs);
Array<OneD, NekDouble> tmpout(nq);
returnval = MemoryManager<DNekMat>::AllocateSharedPtr(nq,m_ncoeffs);
for(int i=0; i<m_ncoeffs; ++i)
{
Vmath::Zero(m_ncoeffs, tmpin, 1);
tmpin[i] = 1.0;
BwdTrans_SumFac(tmpin,tmpout);
Vmath::Vcopy(nq,tmpout.get(),1,
returnval->GetRawPtr()+i*nq,1);
}
}
break;
{
int nq = GetTotPoints();
Array<OneD, NekDouble> tmpin(nq);
Array<OneD, NekDouble> tmpout(m_ncoeffs);
returnval = MemoryManager<DNekMat>::AllocateSharedPtr(m_ncoeffs,nq);
for(i=0; i < nq; ++i)
{
Vmath::Zero(nq, tmpin, 1);
tmpin[i] = 1.0;
IProductWRTBase_SumFac(tmpin,tmpout);
Vmath::Vcopy(m_ncoeffs,tmpout.get(),1,
returnval->GetRawPtr()+i*m_ncoeffs,1);
}
}
break;
{
int nq = GetTotPoints();
Array<OneD, NekDouble> tmpin(nq);
Array<OneD, NekDouble> tmpout(m_ncoeffs);
returnval = MemoryManager<DNekMat>::AllocateSharedPtr(nq,m_ncoeffs);
for(i=0; i < nq; ++i)
{
Vmath::Zero(nq, tmpin, 1);
tmpin[i] = 1.0;
IProductWRTDerivBase_SumFac(0,tmpin,tmpout);
Vmath::Vcopy(m_ncoeffs,tmpout.get(),1,
returnval->GetRawPtr()+i*m_ncoeffs,1);
}
}
break;
{
int nq = GetTotPoints();
Array<OneD, NekDouble> tmpin(nq);
Array<OneD, NekDouble> tmpout(m_ncoeffs);
returnval = MemoryManager<DNekMat>::AllocateSharedPtr(nq,m_ncoeffs);
for(i=0; i < nq; ++i)
{
Vmath::Zero(nq, tmpin, 1);
tmpin[i] = 1.0;
IProductWRTDerivBase_SumFac(1,tmpin,tmpout);
Vmath::Vcopy(m_ncoeffs,tmpout.get(),1,
returnval->GetRawPtr()+i*m_ncoeffs,1);
}
}
break;
{
int nq = GetTotPoints();
Array<OneD, NekDouble> tmpin(nq);
Array<OneD, NekDouble> tmpout(m_ncoeffs);
returnval = MemoryManager<DNekMat>::AllocateSharedPtr(nq,m_ncoeffs);
for(i=0; i < nq; ++i)
{
Vmath::Zero(nq, tmpin, 1);
tmpin[i] = 1.0;
IProductWRTDerivBase_SumFac(2,tmpin,tmpout);
Vmath::Vcopy(m_ncoeffs,tmpout.get(),1,
returnval->GetRawPtr()+i*m_ncoeffs,1);
}
}
break;
case eMass:
case eHelmholtz:
case eLaplacian:
{
Array<OneD, NekDouble> tmp(m_ncoeffs);
returnval = MemoryManager<DNekMat>::AllocateSharedPtr(m_ncoeffs,m_ncoeffs);
DNekMat &Mat = *returnval;
for(i=0; i < m_ncoeffs; ++i)
{
Vmath::Zero(m_ncoeffs, tmp, 1);
tmp[i] = 1.0;
GeneralMatrixOp_MatFree(tmp,tmp,mkey);
Vmath::Vcopy(m_ncoeffs,&tmp[0],1,
&(Mat.GetPtr())[0]+i*m_ncoeffs,1);
}
}
break;
default:
{
NEKERROR(ErrorUtil::efatal, "This type of matrix can not be created using a general approach");
}
break;
}
return returnval;
}
IndexMapValuesSharedPtr Nektar::StdRegions::StdExpansion::CreateIndexMap ( const IndexMapKey ikey)
protected

Create an IndexMap which contains mapping information linking any specific element shape with either its boundaries, edges, faces, verteces, etc.

The index member of the IndexMapValue struct gives back an integer associated with an entity index The sign member of the same struct gives back a sign to algebrically apply entities orientation

Definition at line 274 of file StdExpansion.cpp.

References ASSERTL0, Nektar::StdRegions::eBoundary, Nektar::StdRegions::eEdgeInterior, Nektar::StdRegions::eEdgeToElement, Nektar::StdRegions::eFaceInterior, Nektar::StdRegions::eFaceToElement, Nektar::StdRegions::eVertex, Nektar::StdRegions::IndexMapKey::GetIndexEntity(), Nektar::StdRegions::IndexMapKey::GetIndexMapType(), Nektar::StdRegions::IndexMapKey::GetIndexOrientation(), sign, v_GetEdgeInteriorMap(), v_GetEdgeToElementMap(), v_GetFaceInteriorMap(), and v_GetFaceToElementMap().

{
IndexMapType itype = ikey.GetIndexMapType();
int entity = ikey.GetIndexEntity();
Orientation orient = ikey.GetIndexOrientation();
Array<OneD,unsigned int> map;
Array<OneD,int> sign;
switch(itype)
{
{
v_GetEdgeToElementMap(entity,orient,map,sign);
}
break;
{
v_GetFaceToElementMap(entity,orient,map,sign);
}
break;
{
v_GetEdgeInteriorMap(entity,orient,map,sign);
}
break;
{
v_GetFaceInteriorMap(entity,orient,map,sign);
}
break;
case eBoundary:
{
ASSERTL0(false,"Boundary Index Map not implemented yet.");
}
break;
case eVertex:
{
ASSERTL0(false,"Vertex Index Map not implemented yet.");
}
break;
default:
{
ASSERTL0(false,"The Index Map you are requiring is not between the possible options.");
}
}
returnval = MemoryManager<IndexMapValues>::AllocateSharedPtr(map.num_elements());
for(int i = 0; i < map.num_elements(); i++)
{
(*returnval)[i].index = map[i];
(*returnval)[i].sign = sign[i];
}
return returnval;
}
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::CreateStdMatrix ( const StdMatrixKey mkey)
inlineprotected

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 1320 of file StdExpansion.h.

References v_CreateStdMatrix().

{
return v_CreateStdMatrix(mkey);
}
DNekBlkMatSharedPtr Nektar::StdRegions::StdExpansion::CreateStdStaticCondMatrix ( const StdMatrixKey mkey)
protected

Create the static condensation of a matrix when using a boundary interior decomposition.

If a matrix system can be represented by $ Mat = \left [ \begin{array}{cc} A & B \\ C & D \end{array} \right ] $ This routine creates a matrix containing the statically condense system of the form $ Mat = \left [ \begin{array}{cc} A - B D^{-1} C & B D^{-1} \\ D^{-1} C & D^{-1} \end{array} \right ] $

Definition at line 207 of file StdExpansion.cpp.

References GetBoundaryMap(), GetInteriorMap(), GetStdMatrix(), m_ncoeffs, and NumBndryCoeffs().

{
int nbdry = NumBndryCoeffs(); // also checks to see if this is a boundary interior decomposed expansion
int nint = m_ncoeffs - nbdry;
DNekMatSharedPtr A = MemoryManager<DNekMat>::AllocateSharedPtr(nbdry,nbdry);
DNekMatSharedPtr B = MemoryManager<DNekMat>::AllocateSharedPtr(nbdry,nint);
DNekMatSharedPtr C = MemoryManager<DNekMat>::AllocateSharedPtr(nint,nbdry);
DNekMatSharedPtr D = MemoryManager<DNekMat>::AllocateSharedPtr(nint,nint);
int i,j;
Array<OneD,unsigned int> bmap(nbdry);
Array<OneD,unsigned int> imap(nint);
for(i = 0; i < nbdry; ++i)
{
for(j = 0; j < nbdry; ++j)
{
(*A)(i,j) = (*mat)(bmap[i],bmap[j]);
}
for(j = 0; j < nint; ++j)
{
(*B)(i,j) = (*mat)(bmap[i],imap[j]);
}
}
for(i = 0; i < nint; ++i)
{
for(j = 0; j < nbdry; ++j)
{
(*C)(i,j) = (*mat)(imap[i],bmap[j]);
}
for(j = 0; j < nint; ++j)
{
(*D)(i,j) = (*mat)(imap[i],imap[j]);
}
}
// Calculate static condensed system
if(nint)
{
D->Invert();
(*B) = (*B)*(*D);
(*A) = (*A) - (*B)*(*C);
}
// set up block matrix system
Array<OneD, unsigned int> exp_size(2);
exp_size[0] = nbdry;
exp_size[1] = nint;
returnval = MemoryManager<DNekBlkMat>::AllocateSharedPtr(exp_size,exp_size);
returnval->SetBlock(0,0,A);
returnval->SetBlock(0,1,B);
returnval->SetBlock(1,0,C);
returnval->SetBlock(1,1,D);
return returnval;
}
int Nektar::StdRegions::StdExpansion::DetCartesianDirOfEdge ( const int  edge)
inline

Definition at line 314 of file StdExpansion.h.

References v_DetCartesianDirOfEdge().

{
}
const LibUtilities::BasisKey Nektar::StdRegions::StdExpansion::DetEdgeBasisKey ( const int  i) const
inline

Definition at line 319 of file StdExpansion.h.

References v_DetEdgeBasisKey().

{
return v_DetEdgeBasisKey(i);
}
const LibUtilities::BasisKey Nektar::StdRegions::StdExpansion::DetFaceBasisKey ( const int  i,
const int  k 
) const
inline

Definition at line 324 of file StdExpansion.h.

References v_DetFaceBasisKey().

{
return v_DetFaceBasisKey(i, k);
}
LibUtilities::ShapeType Nektar::StdRegions::StdExpansion::DetShapeType ( ) const
inline

This function returns the shape of the expansion domain.

This function is a wrapper around the virtual function v_DetShapeType()

The different shape types implemented in the code are defined in the ::ShapeType enumeration list. As a result, the function will return one of the types of this enumeration list.

Returns
returns the shape of the expansion domain

Reimplemented in Nektar::StdRegions::StdTetExp.

Definition at line 427 of file StdExpansion.h.

References v_DetShapeType().

Referenced by Nektar::LocalRegions::Expansion3D::AddFaceBoundaryInt(), Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::LocalRegions::Expansion3D::AddHDGHelmholtzFaceTerms(), BwdTrans_MatOp(), Nektar::LocalRegions::PyrExp::CreateMatrix(), Nektar::LocalRegions::NodalTriExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::HexExp::CreateMatrix(), Nektar::LocalRegions::NodalTriExp::FwdTrans(), Nektar::AdjointAdvection::GetFloquetBlockMatrix(), Nektar::LinearisedAdvection::GetFloquetBlockMatrix(), Nektar::LocalRegions::Expansion::GetLocMatrix(), HelmholtzMatrixOp_MatFree_GenericImpl(), Nektar::LocalRegions::NodalTriExp::IProductWRTBase_MatOp(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_MatOp(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), Nektar::StdRegions::StdNodalPrismExp::ModalToNodal(), Nektar::StdRegions::StdNodalTriExp::ModalToNodal(), Nektar::LocalRegions::SegExp::MultiplyByElmtInvMass(), Nektar::StdRegions::StdNodalPrismExp::NodalToModal(), Nektar::StdRegions::StdNodalTriExp::NodalToModal(), Nektar::StdRegions::StdNodalPrismExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalTriExp::NodalToModalTranspose(), Nektar::LocalRegions::Expansion3D::SetFaceToGeomOrientation(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_AddFaceNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix(), Nektar::LocalRegions::PrismExp::v_FwdTrans(), Nektar::LocalRegions::PyrExp::v_FwdTrans(), Nektar::StdRegions::StdNodalPrismExp::v_FwdTrans(), Nektar::StdRegions::StdNodalTriExp::v_FwdTrans(), Nektar::LocalRegions::SegExp::v_FwdTrans(), Nektar::LocalRegions::TriExp::v_FwdTrans(), Nektar::LocalRegions::QuadExp::v_FwdTrans(), Nektar::LocalRegions::HexExp::v_FwdTrans(), Nektar::StdRegions::StdTriExp::v_FwdTrans(), Nektar::StdRegions::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdPrismExp::v_FwdTrans(), Nektar::StdRegions::StdQuadExp::v_FwdTrans(), Nektar::StdRegions::StdPyrExp::v_FwdTrans(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::LocalRegions::QuadExp::v_GetEdgeInterpVals(), Nektar::LocalRegions::SegExp::v_GetVertexPhysVals(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp(), and Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_MatOp().

{
return v_DetShapeType();
}
void Nektar::StdRegions::StdExpansion::DGDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, boost::shared_ptr< StdExpansion > > &  EdgeExp,
Array< OneD, Array< OneD, NekDouble > > &  coeffs,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 1057 of file StdExpansion.h.

References v_DGDeriv().

{
v_DGDeriv (dir, inarray, EdgeExp, coeffs, outarray);
}
void Nektar::StdRegions::StdExpansion::DropLocStaticCondMatrix ( const LocalRegions::MatrixKey mkey)
inline

Definition at line 688 of file StdExpansion.h.

References v_DropLocStaticCondMatrix().

{
}
bool Nektar::StdRegions::StdExpansion::EdgeNormalNegated ( const int  edge)
inline

Definition at line 1235 of file StdExpansion.h.

References v_EdgeNormalNegated().

{
return v_EdgeNormalNegated(edge);
}
int Nektar::StdRegions::StdExpansion::EvalBasisNumModesMax ( void  ) const
inline

This function returns the maximum number of expansion modes over all local directions.

Returns
returns the maximum number of expansion modes over all local directions

Definition at line 191 of file StdExpansion.h.

References m_base.

{
int i;
int returnval = 0;
for(i = 0; i < m_base.num_elements(); ++i)
{
returnval = max(returnval, m_base[i]->GetNumModes());
}
return returnval;
}
void Nektar::StdRegions::StdExpansion::ExtractDataToCoeffs ( const NekDouble data,
const std::vector< unsigned int > &  nummodes,
const int  nmodes_offset,
NekDouble coeffs 
)
inline

Definition at line 733 of file StdExpansion.h.

References v_ExtractDataToCoeffs().

{
v_ExtractDataToCoeffs(data,nummodes,nmodes_offset,coeffs);
}
void Nektar::StdRegions::StdExpansion::FillMode ( const int  mode,
Array< OneD, NekDouble > &  outarray 
)
inline

This function fills the array outarray with the mode-th mode of the expansion.

This function is a wrapper around the virtual function v_FillMode()

The requested mode is evaluated at the quadrature points

Parameters
modethe mode that should be filled
outarraycontains the values of the mode-th mode of the expansion evaluated at the quadrature points (output of the function)

Definition at line 538 of file StdExpansion.h.

References v_FillMode().

{
v_FillMode(mode, outarray);
}
void Nektar::StdRegions::StdExpansion::FwdTrans ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

This function performs the Forward transformation from physical space to coefficient space.

This function is a wrapper around the virtual function v_FwdTrans()

Given a function evaluated at the quadrature points, this function calculates the expansion coefficients such that the resulting expansion approximates the original function.

The calculation of the expansion coefficients is done using a Galerkin projection. This is equivalent to the operation:

\[ \mathbf{\hat{u}} = \mathbf{M}^{-1} \mathbf{I}\]

where

This function takes the array inarray as the values of the function evaluated at the quadrature points (i.e. $\mathbf{u}$), and stores the resulting coefficients $\mathbf{\hat{u}}$ in the outarray

Parameters
inarrayarray of the function discretely evaluated at the quadrature points
outarrayarray of the function coefficieints

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 1799 of file StdExpansion.h.

References v_FwdTrans().

Referenced by Nektar::LocalRegions::Expansion2D::GetPhysEdgeVarCoeffsFromElement(), main(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

{
v_FwdTrans(inarray,outarray);
}
void Nektar::StdRegions::StdExpansion::FwdTrans_BndConstrained ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 484 of file StdExpansion.h.

References v_FwdTrans_BndConstrained().

{
v_FwdTrans_BndConstrained(inarray,outarray);
}
void Nektar::StdRegions::StdExpansion::GeneralMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)

Definition at line 503 of file StdExpansion.cpp.

References ErrorUtil::efatal, Nektar::StdRegions::eHelmholtz, Nektar::StdRegions::eLaplacian, Nektar::StdRegions::eLaplacian00, Nektar::StdRegions::eLaplacian01, Nektar::StdRegions::eLaplacian02, Nektar::StdRegions::eLaplacian10, Nektar::StdRegions::eLaplacian11, Nektar::StdRegions::eLaplacian12, Nektar::StdRegions::eLaplacian20, Nektar::StdRegions::eLaplacian21, Nektar::StdRegions::eLaplacian22, Nektar::StdRegions::eLinearAdvectionDiffusionReaction, Nektar::StdRegions::eLinearAdvectionReaction, Nektar::StdRegions::eMass, Nektar::StdRegions::eMassLevelCurvature, Nektar::StdRegions::eWeakDeriv0, Nektar::StdRegions::eWeakDeriv1, Nektar::StdRegions::eWeakDeriv2, Nektar::StdRegions::eWeakDirectionalDeriv, Nektar::StdRegions::StdMatrixKey::GetMatrixType(), HelmholtzMatrixOp(), LaplacianMatrixOp(), LinearAdvectionDiffusionReactionMatrixOp(), MassLevelCurvatureMatrixOp(), MassMatrixOp(), NEKERROR, WeakDerivMatrixOp(), and WeakDirectionalDerivMatrixOp().

{
switch(mkey.GetMatrixType())
{
case eMass:
MassMatrixOp(inarray,outarray,mkey);
break;
WeakDerivMatrixOp(0,inarray,outarray,mkey);
break;
WeakDerivMatrixOp(1,inarray,outarray,mkey);
break;
WeakDerivMatrixOp(2,inarray,outarray,mkey);
break;
WeakDirectionalDerivMatrixOp(inarray,outarray,mkey);
break;
MassLevelCurvatureMatrixOp(inarray,outarray,mkey);
break;
LinearAdvectionDiffusionReactionMatrixOp(inarray,outarray,mkey,false);
break;
break;
case eLaplacian:
LaplacianMatrixOp(inarray,outarray,mkey);
break;
LaplacianMatrixOp(0,0,inarray,outarray,mkey);
break;
LaplacianMatrixOp(0,1,inarray,outarray,mkey);
break;
LaplacianMatrixOp(0,2,inarray,outarray,mkey);
break;
LaplacianMatrixOp(1,0,inarray,outarray,mkey);
break;
LaplacianMatrixOp(1,1,inarray,outarray,mkey);
break;
LaplacianMatrixOp(1,2,inarray,outarray,mkey);
break;
LaplacianMatrixOp(2,0,inarray,outarray,mkey);
break;
LaplacianMatrixOp(2,1,inarray,outarray,mkey);
break;
LaplacianMatrixOp(2,2,inarray,outarray,mkey);
break;
case eHelmholtz:
HelmholtzMatrixOp(inarray,outarray,mkey);
break;
default:
NEKERROR(ErrorUtil::efatal, "This matrix does not have an operator");
break;
}
}
void Nektar::StdRegions::StdExpansion::GeneralMatrixOp_MatFree ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
protected

Definition at line 572 of file StdExpansion.cpp.

References ErrorUtil::efatal, Nektar::StdRegions::eHelmholtz, Nektar::StdRegions::eLaplacian, Nektar::StdRegions::eLaplacian00, Nektar::StdRegions::eLaplacian01, Nektar::StdRegions::eLaplacian02, Nektar::StdRegions::eLaplacian10, Nektar::StdRegions::eLaplacian11, Nektar::StdRegions::eLaplacian12, Nektar::StdRegions::eLaplacian20, Nektar::StdRegions::eLaplacian21, Nektar::StdRegions::eLaplacian22, Nektar::StdRegions::eLinearAdvectionDiffusionReaction, Nektar::StdRegions::eLinearAdvectionReaction, Nektar::StdRegions::eMass, Nektar::StdRegions::eMassLevelCurvature, Nektar::StdRegions::eWeakDeriv0, Nektar::StdRegions::eWeakDeriv1, Nektar::StdRegions::eWeakDeriv2, Nektar::StdRegions::eWeakDirectionalDeriv, Nektar::StdRegions::StdMatrixKey::GetMatrixType(), HelmholtzMatrixOp_MatFree(), LaplacianMatrixOp_MatFree(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), MassLevelCurvatureMatrixOp_MatFree(), MassMatrixOp_MatFree(), NEKERROR, WeakDerivMatrixOp_MatFree(), and WeakDirectionalDerivMatrixOp_MatFree().

Referenced by CreateGeneralMatrix().

{
switch(mkey.GetMatrixType())
{
case eMass:
MassMatrixOp_MatFree(inarray,outarray,mkey);
break;
WeakDerivMatrixOp_MatFree(0,inarray,outarray,mkey);
break;
WeakDerivMatrixOp_MatFree(1,inarray,outarray,mkey);
break;
WeakDerivMatrixOp_MatFree(2,inarray,outarray,mkey);
break;
WeakDirectionalDerivMatrixOp_MatFree(inarray,outarray,mkey);
break;
MassLevelCurvatureMatrixOp_MatFree(inarray,outarray,mkey);
break;
break;
break;
case eLaplacian:
LaplacianMatrixOp_MatFree(inarray,outarray,mkey);
break;
LaplacianMatrixOp_MatFree(0,0,inarray,outarray,mkey);
break;
LaplacianMatrixOp_MatFree(0,1,inarray,outarray,mkey);
break;
LaplacianMatrixOp_MatFree(0,2,inarray,outarray,mkey);
break;
LaplacianMatrixOp_MatFree(1,0,inarray,outarray,mkey);
break;
LaplacianMatrixOp_MatFree(1,1,inarray,outarray,mkey);
break;
LaplacianMatrixOp_MatFree(1,2,inarray,outarray,mkey);
break;
LaplacianMatrixOp_MatFree(2,0,inarray,outarray,mkey);
break;
LaplacianMatrixOp_MatFree(2,1,inarray,outarray,mkey);
break;
LaplacianMatrixOp_MatFree(2,2,inarray,outarray,mkey);
break;
case eHelmholtz:
HelmholtzMatrixOp_MatFree(inarray,outarray,mkey);
break;
default:
NEKERROR(ErrorUtil::efatal, "This matrix does not have an operator");
break;
}
}
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::GenMatrix ( const StdMatrixKey mkey)
inline

Definition at line 993 of file StdExpansion.h.

References v_GenMatrix().

Referenced by Nektar::LocalRegions::PyrExp::CreateMatrix(), Nektar::LocalRegions::NodalTriExp::CreateMatrix(), Nektar::LocalRegions::TetExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::HexExp::CreateMatrix(), and Nektar::StdRegions::StdQuadExp::v_CreateStdMatrix().

{
return v_GenMatrix(mkey);
}
const Array<OneD, const LibUtilities::BasisSharedPtr>& Nektar::StdRegions::StdExpansion::GetBase ( ) const
inline

This function gets the shared point to basis.

Returns
returns the shared pointer to the bases

Definition at line 107 of file StdExpansion.h.

References m_base.

{
return(m_base);
}
const LibUtilities::BasisSharedPtr& Nektar::StdRegions::StdExpansion::GetBasis ( int  dir) const
inline

This function gets the shared point to basis in the dir direction.

Returns
returns the shared pointer to the basis in directin dir

Definition at line 118 of file StdExpansion.h.

References ASSERTL1, and m_base.

Referenced by Nektar::LocalRegions::Expansion1D::AddHDGHelmholtzTraceTerms(), Nektar::LocalRegions::Expansion1D::AddNormTraceInt(), Nektar::StdRegions::StdQuadExp::v_DetEdgeBasisKey(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::StdRegions::StdPrismExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdHexExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdTetExp::v_DetFaceBasisKey(), and Nektar::LocalRegions::SegExp::v_GetBasis().

{
ASSERTL1(dir < m_base.num_elements(),
"dir is larger than number of bases");
return(m_base[dir]);
}
int Nektar::StdRegions::StdExpansion::GetBasisNumModes ( const int  dir) const
inline

This function returns the number of expansion modes in the dir direction.

Parameters
dirthe direction
Returns
returns the number of expansion modes in the dir direction

Definition at line 178 of file StdExpansion.h.

References ASSERTL1, and m_base.

Referenced by Nektar::LocalRegions::Expansion3D::AddFaceBoundaryInt(), Nektar::LocalRegions::Expansion3D::AddHDGHelmholtzFaceTerms(), Nektar::LocalRegions::Expansion3D::SetFaceToGeomOrientation(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_AddFaceNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GetEdgeNcoeffs(), Nektar::StdRegions::StdTriExp::v_GetEdgeNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetEdgeNcoeffs(), Nektar::StdRegions::StdHexExp::v_GetEdgeNcoeffs(), Nektar::StdRegions::StdPyrExp::v_GetEdgeNcoeffs(), Nektar::StdRegions::StdHexExp::v_GetFaceIntNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetFaceIntNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetFaceNcoeffs(), Nektar::StdRegions::StdHexExp::v_GetFaceNcoeffs(), Nektar::StdRegions::StdTetExp::v_GetFaceNcoeffs(), Nektar::StdRegions::StdPyrExp::v_GetFaceNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetTotalEdgeIntNcoeffs(), Nektar::StdRegions::StdHexExp::v_GetTotalEdgeIntNcoeffs(), Nektar::StdRegions::StdHexExp::v_GetTotalFaceIntNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetTotalFaceIntNcoeffs(), Nektar::StdRegions::StdNodalTriExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdTriExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdQuadExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdTriExp::v_NumDGBndryCoeffs(), and Nektar::StdRegions::StdQuadExp::v_NumDGBndryCoeffs().

{
ASSERTL1(dir < m_base.num_elements(),"dir is larger than m_numbases");
return(m_base[dir]->GetNumModes());
}
LibUtilities::BasisType Nektar::StdRegions::StdExpansion::GetBasisType ( const int  dir) const
inline

This function returns the type of basis used in the dir direction.

The different types of bases implemented in the code are defined in the LibUtilities::BasisType enumeration list. As a result, the function will return one of the types of this enumeration list.

Parameters
dirthe direction
Returns
returns the type of basis used in the dir direction

Definition at line 165 of file StdExpansion.h.

References ASSERTL1, and m_base.

Referenced by Nektar::LocalRegions::SegExp::ReverseCoeffsAndSign(), Nektar::StdRegions::StdHexExp::v_BwdTrans(), Nektar::StdRegions::StdPrismExp::v_BwdTrans(), Nektar::StdRegions::StdTetExp::v_BwdTrans(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::LocalRegions::TetExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::PrismExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TriExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::SegExp::v_ExtractDataToCoeffs(), Nektar::StdRegions::StdTriExp::v_FillMode(), Nektar::StdRegions::StdPointExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdSegExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdSegExp::v_GetBoundaryMap(), Nektar::StdRegions::StdQuadExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTriExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPrismExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTetExp::v_GetBoundaryMap(), Nektar::StdRegions::StdHexExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPyrExp::v_GetBoundaryMap(), Nektar::StdRegions::StdQuadExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdTriExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdPrismExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdHexExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdTetExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdPyrExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdHexExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdSegExp::v_GetInteriorMap(), Nektar::StdRegions::StdQuadExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetInteriorMap(), Nektar::StdRegions::StdPyrExp::v_GetInteriorMap(), Nektar::StdRegions::StdSegExp::v_GetVertexMap(), Nektar::StdRegions::StdQuadExp::v_GetVertexMap(), Nektar::StdRegions::StdHexExp::v_GetVertexMap(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdPrismExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdHexExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdSegExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdTetExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdTriExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdQuadExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdPrismExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdHexExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdTetExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdPyrExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdTriExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdQuadExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdPrismExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdHexExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdTetExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdTriExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::HexExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdQuadExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::TriExp::v_ReduceOrderCoeffs(), and Nektar::LocalRegions::QuadExp::v_ReduceOrderCoeffs().

{
ASSERTL1(dir < m_base.num_elements(), "dir is larger than m_numbases");
return(m_base[dir]->GetBasisType());
}
void Nektar::StdRegions::StdExpansion::GetBoundaryMap ( Array< OneD, unsigned int > &  outarray)
inline

Definition at line 774 of file StdExpansion.h.

References v_GetBoundaryMap().

Referenced by Nektar::LocalRegions::Expansion1D::AddHDGHelmholtzTraceTerms(), Nektar::LocalRegions::Expansion1D::AddNormTraceInt(), Nektar::LocalRegions::PyrExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TetExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PrismExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::QuadExp::CreateStaticCondMatrix(), Nektar::LocalRegions::SegExp::CreateStaticCondMatrix(), Nektar::LocalRegions::HexExp::CreateStaticCondMatrix(), CreateStdStaticCondMatrix(), Nektar::LocalRegions::Expansion1D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion1D::v_GenMatrix(), Nektar::LocalRegions::Expansion3D::v_GetEdgeInverseBoundaryMap(), Nektar::LocalRegions::Expansion2D::v_GetEdgeInverseBoundaryMap(), and Nektar::LocalRegions::Expansion3D::v_GetFaceInverseBoundaryMap().

{
v_GetBoundaryMap(outarray);
}
StdRegions::Orientation Nektar::StdRegions::StdExpansion::GetCartesianEorient ( int  edge)
inline

Definition at line 708 of file StdExpansion.h.

References v_GetCartesianEorient().

Referenced by Nektar::LocalRegions::TriExp::v_GetEdgePhysVals(), and Nektar::LocalRegions::QuadExp::v_GetEdgePhysVals().

{
return v_GetCartesianEorient(edge);
}
void Nektar::StdRegions::StdExpansion::GetCoord ( const Array< OneD, const NekDouble > &  Lcoord,
Array< OneD, NekDouble > &  coord 
)
inline

given the coordinates of a point of the element in the local collapsed coordinate system, this function calculates the physical coordinates of the point

This function is a wrapper around the virtual function v_GetCoord()

Parameters
Lcoordsthe coordinates in the local collapsed coordinate system
coordsthe physical coordinates (output of the function)

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 640 of file StdExpansion.h.

References v_GetCoord().

{
v_GetCoord(Lcoord, coord);
}
int Nektar::StdRegions::StdExpansion::GetCoordim ( )
inline

Definition at line 769 of file StdExpansion.h.

References v_GetCoordim().

Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::LocalRegions::Expansion3D::AddHDGHelmholtzFaceTerms(), Nektar::LocalRegions::Expansion1D::AddHDGHelmholtzTraceTerms(), LaplacianMatrixOp_MatFree(), LaplacianMatrixOp_MatFree_GenericImpl(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::TriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::QuadExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::NodalTriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::PyrExp::v_ComputeFaceNormal(), Nektar::LocalRegions::TetExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeFaceNormal(), Nektar::LocalRegions::HexExp::v_ComputeFaceNormal(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::SegExp::v_ComputeVertexNormal(), Nektar::LocalRegions::Expansion1D::v_GenMatrix(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::LocalRegions::PointExp::v_GetCoords(), Nektar::LocalRegions::Expansion2D::v_NegateEdgeNormal(), and Nektar::StdRegions::StdExpansion3D::v_NegateFaceNormal().

{
return v_GetCoordim();
}
void Nektar::StdRegions::StdExpansion::GetCoords ( Array< OneD, NekDouble > &  coords_1,
Array< OneD, NekDouble > &  coords_2 = NullNekDouble1DArray,
Array< OneD, NekDouble > &  coords_3 = NullNekDouble1DArray 
)
inline

this function returns the physical coordinates of the quadrature points of the expansion

This function is a wrapper around the virtual function v_GetCoords()

Parameters
coordsan array containing the coordinates of the quadrature points (output of the function)

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 622 of file StdExpansion.h.

References v_GetCoords().

Referenced by GenerateAddPoints(), main(), and OrderVertices().

{
v_GetCoords(coords_1,coords_2,coords_3);
}
LibUtilities::BasisType Nektar::StdRegions::StdExpansion::GetEdgeBasisType ( const int  i) const
inline

This function returns the type of expansion basis on the i-th edge.

This function is a wrapper around the virtual function v_GetEdgeBasisType()

The different types of bases implemented in the code are defined in the LibUtilities::BasisType enumeration list. As a result, the function will return one of the types of this enumeration list.

Parameters
ispecifies which edge
Returns
returns the expansion basis on the i-th edge

Definition at line 397 of file StdExpansion.h.

References v_GetEdgeBasisType().

Referenced by Nektar::StdRegions::StdQuadExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetEdgeToElementMap(), Nektar::StdRegions::StdQuadExp::v_GetEdgeToElementMap(), Nektar::StdRegions::StdPrismExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdHexExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdPyrExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdTriExp::v_GetVertexMap(), Nektar::StdRegions::StdPrismExp::v_GetVertexMap(), Nektar::StdRegions::StdTetExp::v_GetVertexMap(), and Nektar::StdRegions::StdPyrExp::v_GetVertexMap().

{
return v_GetEdgeBasisType(i);
}
void Nektar::StdRegions::StdExpansion::GetEdgeInteriorMap ( const int  eid,
const Orientation  edgeOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray 
)
inline

Definition at line 790 of file StdExpansion.h.

References v_GetEdgeInteriorMap().

Referenced by Nektar::LocalRegions::Expansion3D::v_GetEdgeInverseBoundaryMap(), and Nektar::LocalRegions::Expansion2D::v_GetEdgeInverseBoundaryMap().

{
v_GetEdgeInteriorMap(eid,edgeOrient,maparray,signarray);
}
void Nektar::StdRegions::StdExpansion::GetEdgeInterpVals ( const int  edge,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 854 of file StdExpansion.h.

References v_GetEdgeInterpVals().

{
v_GetEdgeInterpVals(edge, inarray, outarray);
}
Array<OneD, unsigned int> Nektar::StdRegions::StdExpansion::GetEdgeInverseBoundaryMap ( int  eid)
inline

Definition at line 1281 of file StdExpansion.h.

References v_GetEdgeInverseBoundaryMap().

Referenced by Nektar::MultiRegions::PreconditionerBlock::BlockPreconditioner2D(), Nektar::MultiRegions::PreconditionerBlock::BlockPreconditioner3D(), Nektar::LocalRegions::Expansion3D::v_BuildInverseTransformationMatrix(), Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner(), and Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix().

{
}
int Nektar::StdRegions::StdExpansion::GetEdgeNcoeffs ( const int  i) const
inline

This function returns the number of expansion coefficients belonging to the i-th edge.

This function is a wrapper around the virtual function v_GetEdgeNcoeffs()

Parameters
ispecifies which edge
Returns
returns the number of expansion coefficients belonging to the i-th edge

Definition at line 287 of file StdExpansion.h.

References v_GetEdgeNcoeffs().

Referenced by Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::MultiRegions::PreconditionerBlock::BlockPreconditioner2D(), Nektar::MultiRegions::PreconditionerBlock::BlockPreconditioner3D(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::LocalRegions::Expansion2D::SetTraceToGeomOrientation(), Nektar::MultiRegions::AssemblyMapCG2D::SetUp2DExpansionC0ContMap(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion3D::v_BuildInverseTransformationMatrix(), Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner(), Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix(), Nektar::StdRegions::StdNodalTriExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdQuadExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetEdgeInteriorMap(), Nektar::LocalRegions::Expansion3D::v_GetEdgeInverseBoundaryMap(), Nektar::LocalRegions::Expansion2D::v_GetEdgeInverseBoundaryMap(), Nektar::StdRegions::StdNodalTriExp::v_GetEdgeToElementMap(), Nektar::StdRegions::StdTriExp::v_GetEdgeToElementMap(), and Nektar::StdRegions::StdQuadExp::v_GetEdgeToElementMap().

{
return v_GetEdgeNcoeffs(i);
}
const NormalVector& Nektar::StdRegions::StdExpansion::GetEdgeNormal ( const int  edge) const
inline

Definition at line 1220 of file StdExpansion.h.

References v_GetEdgeNormal().

Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::LocalRegions::Expansion2D::AddNormTraceInt(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), and Nektar::LocalRegions::SegExp::v_NormVectorIProductWRTBase().

{
return v_GetEdgeNormal(edge);
}
int Nektar::StdRegions::StdExpansion::GetEdgeNumPoints ( const int  i) const
inline

This function returns the number of quadrature points belonging to the i-th edge.

This function is a wrapper around the virtual function v_GetEdgeNumPoints()

Parameters
ispecifies which edge
Returns
returns the number of expansion coefficients belonging to the i-th edge

Definition at line 308 of file StdExpansion.h.

References v_GetEdgeNumPoints().

{
return v_GetEdgeNumPoints(i);
}
void Nektar::StdRegions::StdExpansion::GetEdgePhysVals ( const int  edge,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Extract the physical values along edge edge from inarray into outarray following the local edge orientation and point distribution defined by defined in EdgeExp.

Definition at line 827 of file StdExpansion.h.

References v_GetEdgePhysVals().

Referenced by Nektar::MultiRegions::DisContField3DHomogeneous1D::GetBCValues().

{
v_GetEdgePhysVals(edge,inarray,outarray);
}
void Nektar::StdRegions::StdExpansion::GetEdgePhysVals ( const int  edge,
const boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 834 of file StdExpansion.h.

References v_GetEdgePhysVals().

{
v_GetEdgePhysVals(edge,EdgeExp,inarray,outarray);
}
void Nektar::StdRegions::StdExpansion::GetEdgeQFactors ( const int  edge,
Array< OneD, NekDouble > &  outarray 
)
inline

Extract the metric factors to compute the contravariant fluxes along edge edge and stores them into outarray following the local edge orientation (i.e. anticlockwise convention).

Definition at line 867 of file StdExpansion.h.

References v_GetEdgeQFactors().

{
v_GetEdgeQFactors(edge, outarray);
}
void Nektar::StdRegions::StdExpansion::GetEdgeToElementMap ( const int  eid,
const Orientation  edgeOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray 
)
inline

Definition at line 804 of file StdExpansion.h.

References v_GetEdgeToElementMap().

Referenced by Nektar::LocalRegions::Expansion2D::AddEdgeBoundaryInt(), Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::LocalRegions::Expansion2D::GetPhysEdgeVarCoeffsFromElement(), Nektar::LocalRegions::Expansion2D::v_AddRobinEdgeContribution(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), and Nektar::LocalRegions::Expansion2D::v_GenMatrix().

{
v_GetEdgeToElementMap(eid,edgeOrient,maparray,signarray);
}
int Nektar::StdRegions::StdExpansion::GetElmtId ( )
inline

Get the element id of this expansion when used in a list by returning value of m_elmt_id.

Definition at line 600 of file StdExpansion.h.

References m_elmt_id.

{
return m_elmt_id;
}
StdRegions::Orientation Nektar::StdRegions::StdExpansion::GetEorient ( int  edge)
inline

Definition at line 698 of file StdExpansion.h.

References v_GetEorient().

Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::LocalRegions::Expansion2D::GetPhysEdgeVarCoeffsFromElement(), Nektar::LocalRegions::Expansion2D::SetTraceToGeomOrientation(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::LocalRegions::TriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::QuadExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), and Nektar::LocalRegions::QuadExp::v_GetEdgePhysVals().

{
return v_GetEorient(edge);
}
void Nektar::StdRegions::StdExpansion::GetFaceInteriorMap ( const int  fid,
const Orientation  faceOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray 
)
inline

Definition at line 797 of file StdExpansion.h.

References v_GetFaceInteriorMap().

Referenced by Nektar::LocalRegions::Expansion3D::v_GetFaceInverseBoundaryMap().

{
v_GetFaceInteriorMap(fid,faceOrient,maparray,signarray);
}
int Nektar::StdRegions::StdExpansion::GetFaceIntNcoeffs ( const int  i) const
inline

Definition at line 359 of file StdExpansion.h.

References v_GetFaceIntNcoeffs().

Referenced by Nektar::MultiRegions::PreconditionerBlock::BlockPreconditioner3D(), Nektar::LocalRegions::Expansion3D::v_BuildInverseTransformationMatrix(), Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner(), Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix(), Nektar::StdRegions::StdHexExp::v_GetFaceInteriorMap(), and Nektar::LocalRegions::Expansion3D::v_GetFaceInverseBoundaryMap().

{
}
Array<OneD, unsigned int> Nektar::StdRegions::StdExpansion::GetFaceInverseBoundaryMap ( int  fid,
StdRegions::Orientation  faceOrient = eNoOrientation 
)
inline

Definition at line 1287 of file StdExpansion.h.

References v_GetFaceInverseBoundaryMap().

Referenced by Nektar::MultiRegions::PreconditionerBlock::BlockPreconditioner3D(), Nektar::LocalRegions::Expansion3D::v_BuildInverseTransformationMatrix(), and Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix().

{
return v_GetFaceInverseBoundaryMap(fid,faceOrient);
}
int Nektar::StdRegions::StdExpansion::GetFaceNcoeffs ( const int  i) const
inline

This function returns the number of expansion coefficients belonging to the i-th face.

This function is a wrapper around the virtual function v_GetFaceNcoeffs()

Parameters
ispecifies which face
Returns
returns the number of expansion coefficients belonging to the i-th face

Definition at line 354 of file StdExpansion.h.

References v_GetFaceNcoeffs().

Referenced by Nektar::LocalRegions::Expansion3D::SetFaceToGeomOrientation(), Nektar::LocalRegions::Expansion3D::SetTraceToGeomOrientation(), Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::StdRegions::StdPrismExp::v_GetFaceToElementMap(), and Nektar::StdRegions::StdPyrExp::v_GetFaceToElementMap().

{
return v_GetFaceNcoeffs(i);
}
const NormalVector& Nektar::StdRegions::StdExpansion::GetFaceNormal ( const int  face) const
inline

Definition at line 1255 of file StdExpansion.h.

References v_GetFaceNormal().

Referenced by Nektar::LocalRegions::Expansion3D::AddHDGHelmholtzFaceTerms(), Nektar::LocalRegions::Expansion3D::AddNormTraceInt(), and Nektar::LocalRegions::Expansion3D::v_GenMatrix().

{
return v_GetFaceNormal(face);
}
int Nektar::StdRegions::StdExpansion::GetFaceNumPoints ( const int  i) const
inline

This function returns the number of quadrature points belonging to the i-th face.

This function is a wrapper around the virtual function v_GetFaceNcoeffs()

Parameters
ispecifies which face
Returns
returns the number of expansion coefficients belonging to the i-th face

Definition at line 339 of file StdExpansion.h.

References v_GetFaceNumPoints().

Referenced by Nektar::LocalRegions::TetExp::v_GetFacePhysVals().

{
return v_GetFaceNumPoints(i);
}
StdRegions::Orientation Nektar::StdRegions::StdExpansion::GetFaceOrient ( int  face)
inline

Definition at line 693 of file StdExpansion.h.

References v_GetFaceOrient().

Referenced by Nektar::LocalRegions::Expansion3D::AddFaceBoundaryInt(), Nektar::LocalRegions::Expansion3D::AddHDGHelmholtzFaceTerms(), Nektar::LocalRegions::Expansion3D::SetFaceToGeomOrientation(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::LocalRegions::Expansion3D::v_AddFaceNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix(), Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::LocalRegions::Expansion3D::v_GetFaceInverseBoundaryMap(), Nektar::LocalRegions::PyrExp::v_GetFacePhysVals(), Nektar::LocalRegions::TetExp::v_GetFacePhysVals(), Nektar::LocalRegions::PrismExp::v_GetFacePhysVals(), and Nektar::LocalRegions::HexExp::v_GetFacePhysVals().

{
return v_GetFaceOrient(face);
}
void Nektar::StdRegions::StdExpansion::GetFacePhysVals ( const int  face,
const boost::shared_ptr< StdExpansion > &  FaceExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
StdRegions::Orientation  orient = eNoOrientation 
)
inline

Definition at line 876 of file StdExpansion.h.

References v_GetFacePhysVals().

Referenced by main().

{
v_GetFacePhysVals(face, FaceExp, inarray, outarray, orient);
}
LibUtilities::PointsKey Nektar::StdRegions::StdExpansion::GetFacePointsKey ( const int  i,
const int  j 
) const
inline

Definition at line 369 of file StdExpansion.h.

References v_GetFacePointsKey().

{
return v_GetFacePointsKey(i, j);
}
void Nektar::StdRegions::StdExpansion::GetFaceToElementMap ( const int  fid,
const Orientation  faceOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray,
int  nummodesA = -1,
int  nummodesB = -1 
)
inline

Definition at line 811 of file StdExpansion.h.

References v_GetFaceToElementMap().

Referenced by Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix().

{
v_GetFaceToElementMap(fid,faceOrient,maparray,signarray,
nummodesA,nummodesB);
}
IndexMapValuesSharedPtr Nektar::StdRegions::StdExpansion::GetIndexMap ( const IndexMapKey ikey)
inline

Definition at line 656 of file StdExpansion.h.

References m_IndexMapManager.

Referenced by Nektar::LocalRegions::Expansion3D::AddFaceBoundaryInt(), Nektar::LocalRegions::Expansion3D::AddHDGHelmholtzFaceTerms(), Nektar::LocalRegions::Expansion3D::SetFaceToGeomOrientation(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_AddFaceNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix(), and Nektar::LocalRegions::Expansion3D::v_GenMatrix().

{
return m_IndexMapManager[ikey];
}
void Nektar::StdRegions::StdExpansion::GetInteriorMap ( Array< OneD, unsigned int > &  outarray)
inline

Definition at line 779 of file StdExpansion.h.

References v_GetInteriorMap().

Referenced by Nektar::LocalRegions::PyrExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TetExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PrismExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::QuadExp::CreateStaticCondMatrix(), Nektar::LocalRegions::SegExp::CreateStaticCondMatrix(), Nektar::LocalRegions::HexExp::CreateStaticCondMatrix(), CreateStdStaticCondMatrix(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), and Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained().

{
v_GetInteriorMap(outarray);
}
DNekScalBlkMatSharedPtr Nektar::StdRegions::StdExpansion::GetLocStaticCondMatrix ( const LocalRegions::MatrixKey mkey)
inline

Definition at line 683 of file StdExpansion.h.

References v_GetLocStaticCondMatrix().

Referenced by Nektar::LocalRegions::TetExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), and Nektar::LocalRegions::HexExp::CreateMatrix().

{
}
const boost::shared_ptr<SpatialDomains::GeomFactors>& Nektar::StdRegions::StdExpansion::GetMetricInfo ( void  ) const
inline

Definition at line 1133 of file StdExpansion.h.

References v_GetMetricInfo().

Referenced by Nektar::SolverUtils::DiffusionLFR::v_DerCFlux_1D(), Nektar::SolverUtils::DiffusionLFRNS::v_DerCFlux_1D(), Nektar::SolverUtils::DiffusionLFR::v_DerCFlux_2D(), Nektar::SolverUtils::DiffusionLFRNS::v_DerCFlux_2D(), Nektar::SolverUtils::AdvectionFR::v_SetupMetrics(), Nektar::SolverUtils::DiffusionLFR::v_SetupMetrics(), and Nektar::SolverUtils::DiffusionLFRNS::v_SetupMetrics().

{
return v_GetMetricInfo();
}
int Nektar::StdRegions::StdExpansion::GetNcoeffs ( void  ) const
inline

This function returns the total number of coefficients used in the expansion.

Returns
returns the total number of coefficients (which is equivalent to the total number of modes) used in the expansion

Definition at line 131 of file StdExpansion.h.

References m_ncoeffs.

Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::LocalRegions::Expansion3D::AddHDGHelmholtzFaceTerms(), Nektar::LocalRegions::Expansion1D::AddHDGHelmholtzTraceTerms(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::LocalRegions::Expansion2D::GetPhysEdgeVarCoeffsFromElement(), LaplacianMatrixOp_MatFree(), Nektar::MultiRegions::AssemblyMapCG2D::SetUp2DExpansionC0ContMap(), Nektar::LocalRegions::Expansion1D::v_AddRobinEdgeContribution(), Nektar::LocalRegions::Expansion2D::v_AddRobinEdgeContribution(), Nektar::LocalRegions::Expansion1D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion3D::v_DGDeriv(), Nektar::LocalRegions::Expansion2D::v_DGDeriv(), Nektar::LocalRegions::TetExp::v_FwdTrans(), Nektar::LocalRegions::PrismExp::v_FwdTrans(), Nektar::LocalRegions::PyrExp::v_FwdTrans(), Nektar::LocalRegions::HexExp::v_FwdTrans(), Nektar::StdRegions::StdHexExp::v_FwdTrans(), Nektar::LocalRegions::Expansion1D::v_GenMatrix(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GetBoundaryMap(), Nektar::StdRegions::StdNodalTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdSegExp::v_GetInteriorMap(), Nektar::StdRegions::StdQuadExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

{
return(m_ncoeffs);
}
int Nektar::StdRegions::StdExpansion::GetNedges ( ) const
inline

This function returns the number of edges of the expansion domain.

This function is a wrapper around the virtual function v_GetNedges()

Returns
returns the number of edges of the expansion domain

Definition at line 272 of file StdExpansion.h.

References v_GetNedges().

Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzTraceTerms(), Nektar::LocalRegions::Expansion2D::AddNormTraceInt(), Nektar::MultiRegions::ExpList1D::ExpList1D(), Nektar::LocalRegions::Expansion2D::GetEdgeExp(), Nektar::LocalRegions::Expansion2D::SetEdgeExp(), Nektar::LocalRegions::Expansion2D::SetTraceToGeomOrientation(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_BuildInverseTransformationMatrix(), Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix(), and Nektar::LocalRegions::Expansion2D::v_GenMatrix().

{
return v_GetNedges();
}
int Nektar::StdRegions::StdExpansion::GetNfaces ( ) const
inline

This function returns the number of faces of the expansion domain.

This function is a wrapper around the virtual function v_GetNFaces()

Returns
returns the number of faces of the expansion domain

Definition at line 411 of file StdExpansion.h.

References v_GetNfaces().

Referenced by Nektar::LocalRegions::Expansion3D::AddNormTraceInt(), Nektar::MultiRegions::ExpList2D::ExpList2D(), Nektar::LocalRegions::Expansion3D::SetFaceExp(), Nektar::LocalRegions::Expansion3D::SetTraceToGeomOrientation(), Nektar::LocalRegions::Expansion3D::v_AddFaceNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_BuildInverseTransformationMatrix(), and Nektar::LocalRegions::Expansion3D::v_GenMatrix().

{
return v_GetNfaces();
}
int Nektar::StdRegions::StdExpansion::GetNumBases ( ) const
inline

This function returns the number of 1D bases used in the expansion.

Returns
returns the number of 1D bases used in the expansion, which is equal to number dimension of the expansion

Definition at line 98 of file StdExpansion.h.

References m_base.

{
return m_base.num_elements();
}
int Nektar::StdRegions::StdExpansion::GetNumPoints ( const int  dir) const
inline

This function returns the number of quadrature points in the dir direction.

Parameters
dirthe direction
Returns
returns the number of quadrature points in the dir direction

Definition at line 229 of file StdExpansion.h.

References ASSERTL1, and m_base.

Referenced by Nektar::LocalRegions::Expansion1D::AddHDGHelmholtzTraceTerms(), Nektar::LocalRegions::Expansion1D::AddNormTraceInt(), Nektar::StdRegions::StdHexExp::v_BwdTrans(), Nektar::StdRegions::StdQuadExp::v_BwdTrans(), Nektar::StdRegions::StdPrismExp::v_BwdTrans(), Nektar::StdRegions::StdTetExp::v_BwdTrans(), Nektar::StdRegions::StdPyrExp::v_BwdTrans(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdHexExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdQuadExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::StdRegions::StdPointExp::v_GetCoords(), Nektar::StdRegions::StdPrismExp::v_GetCoords(), Nektar::StdRegions::StdTetExp::v_GetCoords(), Nektar::StdRegions::StdSegExp::v_GetCoords(), Nektar::StdRegions::StdTriExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetCoords(), Nektar::StdRegions::StdPyrExp::v_GetCoords(), Nektar::StdRegions::StdHexExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetEdgeNumPoints(), Nektar::StdRegions::StdTriExp::v_GetEdgeNumPoints(), Nektar::LocalRegions::SegExp::v_GetNumPoints(), Nektar::LocalRegions::TriExp::v_GetNumPoints(), and Nektar::LocalRegions::QuadExp::v_GetNumPoints().

{
ASSERTL1(dir < m_base.num_elements() || dir == 0,
"dir is larger than m_numbases");
return(m_base.num_elements() > 0 ? m_base[dir]->GetNumPoints() : 1);
}
int Nektar::StdRegions::StdExpansion::GetNverts ( ) const
inline

This function returns the number of vertices of the expansion domain.

This function is a wrapper around the virtual function v_GetNverts()

Returns
returns the number of vertices of the expansion domain

Definition at line 259 of file StdExpansion.h.

References v_GetNverts().

Referenced by Nektar::LocalRegions::Expansion3D::v_BuildInverseTransformationMatrix(), Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix(), Nektar::LocalRegions::Expansion3D::v_BuildVertexMatrix(), and Nektar::LocalRegions::Expansion2D::v_BuildVertexMatrix().

{
return v_GetNverts();
}
const Array<OneD, const NekDouble>& Nektar::StdRegions::StdExpansion::GetPhysNormals ( void  )
inline

Definition at line 661 of file StdExpansion.h.

References v_GetPhysNormals().

{
return v_GetPhysNormals();
}
const Array<OneD, const NekDouble>& Nektar::StdRegions::StdExpansion::GetPoints ( const int  dir) const
inline

This function returns a pointer to the array containing the quadrature points in dir direction.

Parameters
dirthe direction
Returns
returns a pointer to the array containing the quadrature points in dir direction

Definition at line 243 of file StdExpansion.h.

References m_base.

{
return m_base[dir]->GetZ();
}
const LibUtilities::PointsKeyVector Nektar::StdRegions::StdExpansion::GetPointsKeys ( ) const
inline

Definition at line 1270 of file StdExpansion.h.

References m_base.

Referenced by Nektar::LocalRegions::Expansion::ComputeQuadratureMetric(), Nektar::LocalRegions::PyrExp::CreateMatrix(), Nektar::LocalRegions::NodalTriExp::CreateMatrix(), Nektar::LocalRegions::TetExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::HexExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::QuadExp::CreateStaticCondMatrix(), Extractlayerdata(), Nektar::LocalRegions::NodalTriExp::Integral(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::PhysDeriv(), Nektar::LocalRegions::TriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::QuadExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::NodalTriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::PyrExp::v_ComputeFaceNormal(), Nektar::LocalRegions::TetExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeFaceNormal(), Nektar::LocalRegions::HexExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::HexExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::SegExp::v_ComputeVertexNormal(), Nektar::LocalRegions::QuadExp::v_GetEdgeQFactors(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_Integral(), Nektar::LocalRegions::TetExp::v_Integral(), Nektar::LocalRegions::PrismExp::v_Integral(), Nektar::LocalRegions::PyrExp::v_Integral(), Nektar::LocalRegions::QuadExp::v_Integral(), Nektar::LocalRegions::TriExp::v_Integral(), Nektar::LocalRegions::HexExp::v_Integral(), Nektar::LocalRegions::PyrExp::v_IProductWRTBase(), Nektar::LocalRegions::SegExp::v_IProductWRTBase(), Nektar::LocalRegions::TetExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::SegExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::PrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::PrismExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::SegExp::v_PhysDeriv(), Nektar::LocalRegions::TetExp::v_PhysDeriv(), Nektar::LocalRegions::PrismExp::v_PhysDeriv(), Nektar::LocalRegions::PyrExp::v_PhysDeriv(), Nektar::LocalRegions::TriExp::v_PhysDeriv(), Nektar::LocalRegions::QuadExp::v_PhysDeriv(), Nektar::LocalRegions::HexExp::v_PhysDeriv(), Nektar::LocalRegions::SegExp::v_PhysDeriv_n(), Nektar::LocalRegions::SegExp::v_PhysDeriv_s(), Nektar::LocalRegions::TriExp::v_PhysDirectionalDeriv(), and Nektar::LocalRegions::QuadExp::v_PhysDirectionalDeriv().

{
for (int i = 0; i < m_base.num_elements(); ++i)
{
p.push_back(m_base[i]->GetPointsKey());
}
return p;
}
LibUtilities::PointsType Nektar::StdRegions::StdExpansion::GetPointsType ( const int  dir) const
inline

This function returns the type of quadrature points used in the dir direction.

The different types of quadrature points implemented in the code are defined in the LibUtilities::PointsType enumeration list. As a result, the function will return one of the types of this enumeration list.

Parameters
dirthe direction
Returns
returns the type of quadrature points used in the dir direction

Definition at line 216 of file StdExpansion.h.

References ASSERTL1, and m_base.

Referenced by Nektar::LocalRegions::QuadExp::v_ComputeEdgeNormal(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::LocalRegions::QuadExp::v_GetEdgePhysVals(), Nektar::LocalRegions::QuadExp::v_GetEdgeQFactors(), Nektar::LocalRegions::SegExp::v_GetVertexPhysVals(), Nektar::StdRegions::StdTriExp::v_Integral(), Nektar::StdRegions::StdPyrExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdPrismExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdTetExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdTriExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

{
ASSERTL1(dir < m_base.num_elements(), "dir is larger than m_numbases");
return(m_base[dir]->GetPointsType());
}
StdRegions::Orientation Nektar::StdRegions::StdExpansion::GetPorient ( int  point)
inline

Definition at line 703 of file StdExpansion.h.

References v_GetPorient().

{
return v_GetPorient(point);
}
int Nektar::StdRegions::StdExpansion::GetShapeDimension ( ) const
inline

Definition at line 432 of file StdExpansion.h.

References v_GetShapeDimension().

Referenced by Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap().

{
}
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::GetStdMatrix ( const StdMatrixKey mkey)
inline

Definition at line 646 of file StdExpansion.h.

References m_stdMatrixManager.

Referenced by BwdTrans_MatOp(), CreateGeneralMatrix(), Nektar::LocalRegions::PyrExp::CreateMatrix(), Nektar::LocalRegions::NodalTriExp::CreateMatrix(), Nektar::LocalRegions::TetExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::HexExp::CreateMatrix(), CreateStdStaticCondMatrix(), Nektar::AdjointAdvection::GetFloquetBlockMatrix(), Nektar::LinearisedAdvection::GetFloquetBlockMatrix(), Nektar::StdRegions::StdNodalPrismExp::ModalToNodal(), Nektar::StdRegions::StdNodalTetExp::ModalToNodal(), Nektar::StdRegions::StdNodalTriExp::ModalToNodal(), Nektar::StdRegions::StdNodalTetExp::NodalToModal(), Nektar::StdRegions::StdNodalPrismExp::NodalToModal(), Nektar::StdRegions::StdNodalTriExp::NodalToModal(), Nektar::StdRegions::StdNodalPrismExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalTetExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalTriExp::NodalToModalTranspose(), Nektar::StdRegions::StdPointExp::v_FwdTrans(), Nektar::StdRegions::StdNodalPrismExp::v_FwdTrans(), Nektar::StdRegions::StdNodalTetExp::v_FwdTrans(), Nektar::StdRegions::StdNodalTriExp::v_FwdTrans(), Nektar::StdRegions::StdTriExp::v_FwdTrans(), Nektar::StdRegions::StdSegExp::v_FwdTrans(), Nektar::StdRegions::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdQuadExp::v_FwdTrans(), Nektar::StdRegions::StdPrismExp::v_FwdTrans(), Nektar::StdRegions::StdTetExp::v_FwdTrans(), Nektar::StdRegions::StdPyrExp::v_FwdTrans(), Nektar::StdRegions::StdPointExp::v_GenMatrix(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_MatOp(), and Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_MatOp().

{
return m_stdMatrixManager[mkey];
}
DNekBlkMatSharedPtr Nektar::StdRegions::StdExpansion::GetStdStaticCondMatrix ( const StdMatrixKey mkey)
inline

Definition at line 651 of file StdExpansion.h.

References m_stdStaticCondMatrixManager.

Referenced by Nektar::LocalRegions::PyrExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TetExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PrismExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::QuadExp::CreateStaticCondMatrix(), Nektar::LocalRegions::SegExp::CreateStaticCondMatrix(), and Nektar::LocalRegions::HexExp::CreateStaticCondMatrix().

{
}
const NormalVector& Nektar::StdRegions::StdExpansion::GetSurfaceNormal ( const int  id) const
inline

Definition at line 1265 of file StdExpansion.h.

References v_GetSurfaceNormal().

{
return v_GetSurfaceNormal(id);
}
int Nektar::StdRegions::StdExpansion::GetTotalEdgeIntNcoeffs ( ) const
inline

Definition at line 293 of file StdExpansion.h.

References v_GetTotalEdgeIntNcoeffs().

{
}
int Nektar::StdRegions::StdExpansion::GetTotalFaceIntNcoeffs ( ) const
inline

Definition at line 364 of file StdExpansion.h.

References v_GetTotalFaceIntNcoeffs().

{
}
int Nektar::StdRegions::StdExpansion::GetTotPoints ( ) const
inline

This function returns the total number of quadrature points used in the element.

Returns
returns the total number of quadrature points

Definition at line 141 of file StdExpansion.h.

References m_base.

Referenced by Nektar::SubSteppingExtrapolate::AddDuDt2D(), Nektar::SubSteppingExtrapolate::AddDuDt3D(), Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzTraceTerms(), BwdTrans_MatOp(), Nektar::LocalRegions::Expansion::ComputeQuadratureMetric(), CreateGeneralMatrix(), Nektar::StdRegions::StdNodalPrismExp::GenNBasisTransMatrix(), Nektar::StdRegions::StdNodalTetExp::GenNBasisTransMatrix(), Nektar::StdRegions::StdNodalTriExp::GenNBasisTransMatrix(), Nektar::CFLtester::GetStdVelocity(), H1(), Nektar::LocalRegions::NodalTriExp::IProductWRTBase_MatOp(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_MatOp(), L2(), LaplacianMatrixOp_MatFree(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), Linf(), main(), MassMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion0D::PhysTensorDeriv(), Nektar::StdRegions::StdExpansion1D::PhysTensorDeriv(), Nektar::StdRegions::StdMatrixKey::StdMatrixKey(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::HexExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::StdRegions::StdExpansion3D::v_Integral(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdExpansion3D::v_LaplacianMatrixOp_MatFree(), Nektar::LocalRegions::Expansion::v_MultiplyByQuadratureMetric(), Nektar::LocalRegions::PrismExp::v_PhysDeriv(), Nektar::StdRegions::StdExpansion0D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion1D::v_PhysEvaluate(), Nektar::SolverUtils::FilterAeroForces::v_Update(), WeakDerivMatrixOp_MatFree(), and WeakDirectionalDerivMatrixOp_MatFree().

{
int i;
int nqtot = 1;
for(i=0; i < m_base.num_elements(); ++i)
{
nqtot *= m_base[i]->GetNumPoints();
}
return nqtot;
}
void Nektar::StdRegions::StdExpansion::GetTracePhysVals ( const int  edge,
const boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 842 of file StdExpansion.h.

References v_GetTracePhysVals().

{
v_GetTracePhysVals(edge,EdgeExp,inarray,outarray);
}
int Nektar::StdRegions::StdExpansion::GetVertexMap ( const int  localVertexId,
bool  useCoeffPacking = false 
)
inline

Definition at line 784 of file StdExpansion.h.

References v_GetVertexMap().

Referenced by Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::MultiRegions::AssemblyMapCG2D::SetUp2DExpansionC0ContMap(), Nektar::MultiRegions::AssemblyMapCG3D::SetUp3DExpansionC0ContMap(), Nektar::LocalRegions::Expansion1D::v_AddRobinEdgeContribution(), Nektar::LocalRegions::Expansion1D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion3D::v_BuildInverseTransformationMatrix(), Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix(), Nektar::LocalRegions::Expansion3D::v_BuildVertexMatrix(), Nektar::LocalRegions::Expansion2D::v_BuildVertexMatrix(), Nektar::StdRegions::StdPointExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), and Nektar::StdRegions::StdSegExp::v_FwdTrans_BndConstrained().

{
return v_GetVertexMap(localVertexId,useCoeffPacking);
}
const NormalVector& Nektar::StdRegions::StdExpansion::GetVertexNormal ( const int  vertex) const
inline

Definition at line 1260 of file StdExpansion.h.

References v_GetVertexNormal().

{
return v_GetVertexNormal(vertex);
}
void Nektar::StdRegions::StdExpansion::GetVertexPhysVals ( const int  vertex,
const Array< OneD, const NekDouble > &  inarray,
NekDouble outarray 
)
inline

Definition at line 847 of file StdExpansion.h.

References v_GetVertexPhysVals().

{
v_GetVertexPhysVals(vertex, inarray, outarray);
}
NekDouble Nektar::StdRegions::StdExpansion::H1 ( const Array< OneD, const NekDouble > &  phys,
const Array< OneD, const NekDouble > &  sol = NullNekDouble1DArray 
)

Function to evaluate the discrete $ H^1$ error, $ | \epsilon |^1_{2} = \left [ \int^1_{-1} [u - u_{exact}]^2 + \nabla(u - u_{exact})\cdot\nabla(u - u_{exact})\cdot dx \right]^{1/2} d\xi_1 $ where $ u_{exact}$ is given by the array sol.

This function takes the physical value space array m_phys as approximate solution

Parameters
solarray of solution function at physical quadrature points
Returns
returns the $ H_1 $ error as a double.

Definition at line 172 of file StdExpansion.cpp.

References GetTotPoints(), Nektar::NullNekDouble1DArray, v_GetCoordim(), v_Integral(), v_PhysDeriv(), Vmath::Vcopy(), Vmath::Vmul(), Vmath::Vsub(), and Vmath::Vvtvp().

{
int i;
NekDouble val;
int ntot = GetTotPoints();
int coordim = v_GetCoordim();
Array<OneD, NekDouble> wsp(3*ntot);
Array<OneD, NekDouble> wsp_deriv = wsp + ntot;
Array<OneD, NekDouble> sum = wsp_deriv + ntot;
{
Vmath::Vcopy(ntot,phys, 1, wsp, 1);
Vmath::Vmul(ntot, phys, 1, phys, 1, sum, 1);
}
else
{
Vmath::Vsub(ntot, sol, 1, phys, 1, wsp, 1);
Vmath::Vmul(ntot, wsp, 1, wsp, 1, sum, 1);
}
for(i = 0; i < coordim; ++i)
{
v_PhysDeriv(i,wsp,wsp_deriv);
Vmath::Vvtvp(ntot,wsp_deriv,1,wsp_deriv,1,sum,1,sum,1);
}
val = sqrt(v_Integral(sum));
return val;
}
void Nektar::StdRegions::StdExpansion::HelmholtzMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inline
Parameters
inarrayInput array $ \mathbf{u} $.
outarrayOutput array $ \boldsymbol{\nabla^2u} + \lambda \boldsymbol{u} $.
mkey

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 986 of file StdExpansion.h.

References v_HelmholtzMatrixOp().

Referenced by GeneralMatrixOp().

{
v_HelmholtzMatrixOp(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::HelmholtzMatrixOp_MatFree ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inlineprotected

Definition at line 1427 of file StdExpansion.h.

References v_HelmholtzMatrixOp_MatFree().

Referenced by GeneralMatrixOp_MatFree(), Nektar::LocalRegions::TriExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::QuadExp::v_HelmholtzMatrixOp(), and v_HelmholtzMatrixOp().

{
v_HelmholtzMatrixOp_MatFree(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::HelmholtzMatrixOp_MatFree_GenericImpl ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
protected

Definition at line 906 of file StdExpansion.cpp.

References DetShapeType(), Nektar::StdRegions::eFactorLambda, Nektar::StdRegions::eLaplacian, Nektar::StdRegions::eMass, Nektar::StdRegions::StdMatrixKey::GetConstFactor(), LaplacianMatrixOp(), m_ncoeffs, and MassMatrixOp().

Referenced by Nektar::LocalRegions::NodalTriExp::HelmholtzMatrixOp(), Nektar::StdRegions::StdNodalTriExp::v_HelmholtzMatrixOp(), Nektar::StdRegions::StdExpansion2D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_HelmholtzMatrixOp_MatFree(), and v_HelmholtzMatrixOp_MatFree().

{
NekDouble lambda = mkey.GetConstFactor(eFactorLambda);
Array<OneD,NekDouble> tmp(m_ncoeffs);
StdMatrixKey mkeymass(eMass,DetShapeType(),*this);
StdMatrixKey mkeylap(eLaplacian,DetShapeType(),*this);
MassMatrixOp(inarray,tmp,mkeymass);
LaplacianMatrixOp(inarray,outarray,mkeylap);
Blas::Daxpy(m_ncoeffs, lambda, tmp, 1, outarray, 1);
}
NekDouble Nektar::StdRegions::StdExpansion::Integral ( const Array< OneD, const NekDouble > &  inarray)
inline

This function integrates the specified function over the domain.

This function is a wrapper around the virtual function
\a v_Integral()

Based on the values of the function evaluated at the quadrature
points (which are stored in \a inarray), this function calculates
the integral of this function over the domain.  This is
equivalent to the numerical evaluation of the operation

\[ I=\int u(\mathbf{\xi})d \mathbf{\xi}\]

Parameters
inarrayvalues of the function to be integrated evaluated at the quadrature points (i.e. inarray[m]= $u(\mathbf{\xi}_m)$)
Returns
returns the value of the calculated integral
        Inputs:\n

Outputs:

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 520 of file StdExpansion.h.

References v_Integral().

{
return v_Integral(inarray);
}
void Nektar::StdRegions::StdExpansion::IProductWRTBase ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

this function calculates the inner product of a given function f with the different modes of the expansion

This function is a wrapper around the virtual function
\a v_IProductWRTBase()

This is equivalent to the numerical evaluation of

\[ I[p] = \int \phi_p(\mathbf{x}) f(\mathbf{x}) d\mathbf{x}\]

$ \begin{array}{rcl} I_{pq} = (\phi_q \phi_q, u) & = & \sum_{i=0}^{nq_0} \sum_{j=0}^{nq_1} \phi_p(\xi_{0,i}) \phi_q(\xi_{1,j}) w^0_i w^1_j u(\xi_{0,i} \xi_{1,j}) J_{i,j}\\ & = & \sum_{i=0}^{nq_0} \phi_p(\xi_{0,i}) \sum_{j=0}^{nq_1} \phi_q(\xi_{1,j}) \tilde{u}_{i,j} J_{i,j} \end{array} $

where

$ \tilde{u}_{i,j} = w^0_i w^1_j u(\xi_{0,i},\xi_{1,j}) $

which can be implemented as

$ f_{qi} = \sum_{j=0}^{nq_1} \phi_q(\xi_{1,j}) \tilde{u}_{i,j} = {\bf B_1 U} $ $ I_{pq} = \sum_{i=0}^{nq_0} \phi_p(\xi_{0,i}) f_{qi} = {\bf B_0 F} $

Parameters
inarraycontains the values of the function f evaluated at the quadrature points
outarraycontains the values of the inner product of f with the different modes, i.e. $ outarray[p] = I[p]$ (output of the function)

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 575 of file StdExpansion.h.

References v_IProductWRTBase().

Referenced by Nektar::LocalRegions::TetExp::v_FwdTrans(), Nektar::LocalRegions::TriExp::v_FwdTrans(), Nektar::LocalRegions::QuadExp::v_FwdTrans(), Nektar::LocalRegions::HexExp::v_FwdTrans(), Nektar::StdRegions::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::LocalRegions::TriExp::v_NormVectorIProductWRTBase(), and Nektar::LocalRegions::QuadExp::v_NormVectorIProductWRTBase().

{
v_IProductWRTBase(inarray, outarray);
}
void Nektar::StdRegions::StdExpansion::IProductWRTBase ( const Array< OneD, const NekDouble > &  base,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
int  coll_check 
)
inline

Definition at line 581 of file StdExpansion.h.

References v_IProductWRTBase().

{
v_IProductWRTBase(base, inarray, outarray, coll_check);
}
void Nektar::StdRegions::StdExpansion::IProductWRTBase_SumFac ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inlineprotected

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 1357 of file StdExpansion.h.

References v_IProductWRTBase_SumFac().

Referenced by CreateGeneralMatrix(), Nektar::LocalRegions::TriExp::v_IProductWRTBase(), and Nektar::LocalRegions::QuadExp::v_IProductWRTBase().

{
v_IProductWRTBase_SumFac(inarray,outarray);
}
void Nektar::StdRegions::StdExpansion::IProductWRTDerivBase ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 591 of file StdExpansion.h.

References v_IProductWRTDerivBase().

{
v_IProductWRTDerivBase(dir,inarray, outarray);
}
void Nektar::StdRegions::StdExpansion::IProductWRTDerivBase_SumFac ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inlineprotected

Reimplemented in Nektar::LocalRegions::NodalTriExp, and Nektar::LocalRegions::HexExp.

Definition at line 1363 of file StdExpansion.h.

References v_IProductWRTDerivBase_SumFac().

Referenced by CreateGeneralMatrix(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase(), and Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase().

{
v_IProductWRTDerivBase_SumFac(dir,inarray,outarray);
}
bool Nektar::StdRegions::StdExpansion::IsBoundaryInteriorExpansion ( )
inline

Definition at line 437 of file StdExpansion.h.

References v_IsBoundaryInteriorExpansion().

Referenced by Nektar::LocalRegions::Expansion1D::v_AddRobinEdgeContribution(), Nektar::LocalRegions::Expansion2D::v_AddRobinEdgeContribution(), Nektar::LocalRegions::Expansion1D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion1D::v_GenMatrix(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), and Nektar::LocalRegions::Expansion2D::v_GenMatrix().

NekDouble Nektar::StdRegions::StdExpansion::L2 ( const Array< OneD, const NekDouble > &  phys,
const Array< OneD, const NekDouble > &  sol = NullNekDouble1DArray 
)

Function to evaluate the discrete $ L_2$ error, $ | \epsilon |_{2} = \left [ \int^1_{-1} [u - u_{exact}]^2 dx \right]^{1/2} d\xi_1 $ where $ u_{exact}$ is given by the array sol.

This function takes the physical value space array m_phys as approximate solution

Parameters
solarray of solution function at physical quadrature points
Returns
returns the $ L_2 $ error as a double.

Definition at line 142 of file StdExpansion.cpp.

References GetTotPoints(), Nektar::NekConstants::kNekSqrtTol, v_Integral(), Vmath::Vmul(), and Vmath::Vsub().

{
NekDouble val;
int ntot = GetTotPoints();
Array<OneD, NekDouble> wsp(ntot);
if (sol.num_elements() == 0)
{
Vmath::Vmul(ntot, phys, 1, phys, 1, wsp, 1);
}
else
{
Vmath::Vsub(ntot, sol, 1, phys, 1, wsp, 1);
Vmath::Vmul(ntot, wsp, 1, wsp, 1, wsp, 1);
}
val = v_Integral(wsp);
// if val too small, sqrt returns nan.
{
return 0.0;
}
else
{
return sqrt(val);
}
}
void Nektar::StdRegions::StdExpansion::LaplacianMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inline

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 922 of file StdExpansion.h.

References v_LaplacianMatrixOp().

Referenced by GeneralMatrixOp(), HelmholtzMatrixOp_MatFree_GenericImpl(), LaplacianMatrixOp_MatFree_GenericImpl(), and LinearAdvectionDiffusionReactionMatrixOp_MatFree().

{
v_LaplacianMatrixOp(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::LaplacianMatrixOp ( const int  k1,
const int  k2,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inline

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 942 of file StdExpansion.h.

References v_LaplacianMatrixOp().

{
v_LaplacianMatrixOp(k1,k2,inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inlineprotected

Definition at line 1385 of file StdExpansion.h.

References v_LaplacianMatrixOp_MatFree().

Referenced by GeneralMatrixOp_MatFree(), Nektar::LocalRegions::NodalTriExp::LaplacianMatrixOp(), Nektar::StdRegions::StdNodalTriExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::PrismExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::TetExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::HexExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::TriExp::v_LaplacianMatrixOp(), Nektar::StdRegions::StdQuadExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::QuadExp::v_LaplacianMatrixOp(), Nektar::StdRegions::StdTriExp::v_LaplacianMatrixOp(), Nektar::StdRegions::StdHexExp::v_LaplacianMatrixOp(), and v_LaplacianMatrixOp().

{
v_LaplacianMatrixOp_MatFree(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree ( const int  k1,
const int  k2,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
protected

Definition at line 658 of file StdExpansion.cpp.

References ASSERTL1, Nektar::StdRegions::StdMatrixKey::ConstFactorExists(), Nektar::StdRegions::eFactorSVVCutoffRatio, Nektar::StdRegions::eVarCoeffD00, Nektar::StdRegions::eVarCoeffD01, Nektar::StdRegions::eVarCoeffD02, Nektar::StdRegions::eVarCoeffD11, Nektar::StdRegions::eVarCoeffD12, Nektar::StdRegions::eVarCoeffD22, GetCoordim(), GetNcoeffs(), Nektar::StdRegions::StdMatrixKey::GetNVarCoeff(), GetTotPoints(), Nektar::StdRegions::StdMatrixKey::GetVarCoeff(), Nektar::StdRegions::StdMatrixKey::HasVarCoeff(), SVVLaplacianFilter(), v_BwdTrans(), v_IProductWRTDerivBase(), v_PhysDeriv(), Vmath::Vmul(), and Vmath::Zero().

{
ASSERTL1(k1 >= 0 && k1 < GetCoordim(),"invalid first argument");
ASSERTL1(k2 >= 0 && k2 < GetCoordim(),"invalid second argument");
int nq = GetTotPoints();
Array<OneD, NekDouble> tmp(nq);
Array<OneD, NekDouble> dtmp(nq);
VarCoeffType varcoefftypes[3][3]
};
v_BwdTrans(inarray,tmp);
v_PhysDeriv(k2,tmp,dtmp);
if (mkey.GetNVarCoeff())
{
if (k1 == k2)
{
// By default, k1 == k2 has \sigma = 1 (diagonal entries)
if(mkey.HasVarCoeff(varcoefftypes[k1][k1]))
{
Vmath::Vmul(nq, mkey.GetVarCoeff(varcoefftypes[k1][k1]), 1, dtmp, 1, dtmp, 1);
}
v_IProductWRTDerivBase(k1, dtmp, outarray);
}
else
{
// By default, k1 != k2 has \sigma = 0 (off-diagonal entries)
if(mkey.HasVarCoeff(varcoefftypes[k1][k2]))
{
Vmath::Vmul(nq, mkey.GetVarCoeff(varcoefftypes[k1][k2]), 1, dtmp, 1, dtmp, 1);
v_IProductWRTDerivBase(k1, dtmp, outarray);
}
else
{
Vmath::Zero(GetNcoeffs(), outarray, 1);
}
}
}
else
{
// Multiply by svv tensor
if(mkey.ConstFactorExists(eFactorSVVCutoffRatio))
{
SVVLaplacianFilter(dtmp,mkey);
}
v_IProductWRTDerivBase(k1, dtmp, outarray);
}
}
void Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree_GenericImpl ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
protected

Definition at line 713 of file StdExpansion.cpp.

References Nektar::StdRegions::eLaplacian00, Nektar::StdRegions::eLaplacian01, Nektar::StdRegions::eLaplacian02, Nektar::StdRegions::eLaplacian11, Nektar::StdRegions::eLaplacian12, Nektar::StdRegions::eLaplacian22, GetCoordim(), Nektar::StdRegions::StdMatrixKey::GetNVarCoeff(), LaplacianMatrixOp(), m_ncoeffs, Vmath::Vadd(), and Vmath::Vcopy().

Referenced by Nektar::LocalRegions::NodalTriExp::LaplacianMatrixOp(), Nektar::StdRegions::StdNodalTriExp::v_LaplacianMatrixOp(), Nektar::StdRegions::StdExpansion2D::v_LaplacianMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_LaplacianMatrixOp_MatFree(), and v_LaplacianMatrixOp_MatFree().

{
const int dim = GetCoordim();
int i,j;
Array<OneD,NekDouble> store(m_ncoeffs);
Array<OneD,NekDouble> store2(m_ncoeffs,0.0);
if(mkey.GetNVarCoeff() == 0)
{
// just call diagonal matrix form of laplcian operator
for(i = 0; i < dim; ++i)
{
LaplacianMatrixOp(i,i,inarray,store,mkey);
Vmath::Vadd(m_ncoeffs, store, 1, store2, 1, store2, 1);
}
}
else
{
const MatrixType mtype[3][3]
for(i = 0; i < dim; i++)
{
for(j = 0; j < dim; j++)
{
mkeyij = MemoryManager<StdMatrixKey>::AllocateSharedPtr(mkey,mtype[i][j]);
LaplacianMatrixOp(i,j,inarray,store,*mkeyij);
Vmath::Vadd(m_ncoeffs, store, 1, store2, 1, store2, 1);
}
}
}
Vmath::Vcopy(m_ncoeffs,store2.get(),1,outarray.get(),1);
}
void Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree_Kernel ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
Array< OneD, NekDouble > &  wsp 
)
inlineprotected

Definition at line 1392 of file StdExpansion.h.

References v_LaplacianMatrixOp_MatFree_Kernel().

Referenced by Nektar::StdRegions::StdExpansion2D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion2D::v_LaplacianMatrixOp_MatFree(), and Nektar::StdRegions::StdExpansion3D::v_LaplacianMatrixOp_MatFree().

{
v_LaplacianMatrixOp_MatFree_Kernel(inarray, outarray, wsp);
}
void Nektar::StdRegions::StdExpansion::LinearAdvectionDiffusionReactionMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey,
bool  addDiffusionTerm = true 
)
inline

Definition at line 972 of file StdExpansion.h.

References v_LinearAdvectionDiffusionReactionMatrixOp().

Referenced by GeneralMatrixOp().

{
v_LinearAdvectionDiffusionReactionMatrixOp(inarray,outarray,mkey,addDiffusionTerm);
}
void Nektar::StdRegions::StdExpansion::LinearAdvectionDiffusionReactionMatrixOp_MatFree ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey,
bool  addDiffusionTerm = true 
)
protected

Definition at line 850 of file StdExpansion.cpp.

References ASSERTL0, ASSERTL1, DetShapeType(), Nektar::StdRegions::eFactorLambda, Nektar::StdRegions::eLaplacian, Nektar::StdRegions::eVarCoeffVelX, Nektar::StdRegions::eVarCoeffVelY, Nektar::StdRegions::StdMatrixKey::GetConstFactor(), GetCoordim(), Nektar::StdRegions::StdMatrixKey::GetNVarCoeff(), GetTotPoints(), Nektar::StdRegions::StdMatrixKey::GetVarCoeff(), LaplacianMatrixOp(), m_ncoeffs, Vmath::Svtvp(), v_BwdTrans(), v_IProductWRTBase(), v_PhysDeriv(), Vmath::Vadd(), Vmath::Vvtvp(), and Vmath::Zero().

Referenced by GeneralMatrixOp_MatFree(), and v_LinearAdvectionDiffusionReactionMatrixOp().

{
int i;
int ndir = mkey.GetNVarCoeff(); // assume num.r consts corresponds to directions
ASSERTL0(ndir,"Must define at least one advection velocity");
NekDouble lambda = mkey.GetConstFactor(eFactorLambda);
int totpts = GetTotPoints();
Array<OneD, NekDouble> tmp(3*totpts);
Array<OneD, NekDouble> tmp_deriv = tmp + totpts;
Array<OneD, NekDouble> tmp_adv = tmp_deriv + totpts;
ASSERTL1(ndir <= GetCoordim(),"Number of constants is larger than coordinate dimensions");
v_BwdTrans(inarray,tmp);
//calculate u dx + v dy + ..
Vmath::Zero(totpts,tmp_adv,1);
for(i = 0; i < ndir; ++i)
{
v_PhysDeriv(i,tmp,tmp_deriv);
Vmath::Vvtvp(totpts,mkey.GetVarCoeff(varcoefftypes[i]),1,tmp_deriv,1,tmp_adv,1,tmp_adv,1);
}
if(lambda) // add -lambda*u
{
Vmath::Svtvp(totpts,-lambda,tmp,1,tmp_adv,1,tmp_adv,1);
}
if(addDiffusionTerm)
{
Array<OneD, NekDouble> lap(m_ncoeffs);
StdMatrixKey mkeylap(eLaplacian,DetShapeType(),*this);
LaplacianMatrixOp(inarray,lap,mkeylap);
v_IProductWRTBase(tmp_adv, outarray);
// Lap v - u.grad v + lambda*u
// => (grad u, grad v) + u.grad v - lambda*u
Vmath::Vadd(m_ncoeffs,lap,1,outarray,1,outarray,1);
}
else
{
v_IProductWRTBase(tmp_adv, outarray);
}
}
NekDouble Nektar::StdRegions::StdExpansion::Linf ( const Array< OneD, const NekDouble > &  phys,
const Array< OneD, const NekDouble > &  sol = NullNekDouble1DArray 
)

Function to evaluate the discrete $ L_\infty$ error $ |\epsilon|_\infty = \max |u - u_{exact}|$ where $ u_{exact}$ is given by the array sol.

This function takes the physical value space array m_phys as approximate solution

Parameters
solarray of solution function at physical quadrature points
Returns
returns the $ L_\infty $ error as a NekDouble.

Definition at line 120 of file StdExpansion.cpp.

References GetTotPoints(), Nektar::NullNekDouble1DArray, Vmath::Vabs(), Vmath::Vamax(), and Vmath::Vsub().

{
NekDouble val;
int ntot = GetTotPoints();
Array<OneD, NekDouble> wsp(ntot);
{
Vmath::Vabs(ntot, phys, 1, wsp, 1);
}
else
{
Vmath::Vsub(ntot, sol, 1, phys, 1, wsp, 1);
Vmath::Vabs(ntot, wsp, 1, wsp, 1);
}
val = Vmath::Vamax(ntot, wsp, 1);
return val;
}
void Nektar::StdRegions::StdExpansion::LocCoordToLocCollapsed ( const Array< OneD, const NekDouble > &  xi,
Array< OneD, NekDouble > &  eta 
)
inline

Convert local cartesian coordinate xi into local collapsed coordinates eta.

Definition at line 1127 of file StdExpansion.h.

References v_LocCoordToLocCollapsed().

Referenced by Nektar::StdRegions::StdExpansion2D::v_PhysEvaluate(), and Nektar::StdRegions::StdExpansion3D::v_PhysEvaluate().

void Nektar::StdRegions::StdExpansion::MassLevelCurvatureMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inline

Definition at line 965 of file StdExpansion.h.

References v_MassLevelCurvatureMatrixOp().

Referenced by GeneralMatrixOp().

{
v_MassLevelCurvatureMatrixOp(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::MassLevelCurvatureMatrixOp_MatFree ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
protected
Todo:
fix this

Definition at line 799 of file StdExpansion.cpp.

Referenced by GeneralMatrixOp_MatFree(), Nektar::LocalRegions::HexExp::v_MassLevelCurvatureMatrixOp(), Nektar::LocalRegions::TriExp::v_MassLevelCurvatureMatrixOp(), Nektar::LocalRegions::QuadExp::v_MassLevelCurvatureMatrixOp(), and v_MassLevelCurvatureMatrixOp().

{
///@todo fix this
// int nqtot = GetTotPoints();
// int matrixid = mkey.GetMatrixID();
//
// NekDouble checkweight=0.0;
// Array<OneD, NekDouble> tmp(nqtot), tan(nqtot), dtan0(nqtot), dtan1(nqtot), weight(nqtot,0.0);
//
// int gmatnumber = (mkey.GetVariableCoefficient(1)).num_elements();
//
// v_BwdTrans(inarray,tmp);
//
// // weight = \grad \cdot tanvec
// for(int k = 0; k < GetCoordim(); ++k)
// {
// Vmath::Vcopy(nqtot, &(mkey.GetVariableCoefficient(0))[k*nqtot],
// 1, &tan[0], 1);
//
// // For Regular mesh ...
// if(gmatnumber==1)
// {
// // D_{/xi} and D_{/eta}
// v_PhysDeriv(0,tan,dtan0);
// v_PhysDeriv(1,tan,dtan1);
//
// // d v / d x_i = (d \xi / d x_i)*( d v / d \xi ) + (d \eta / d x_i)*( d v / d \eta )
// Vmath::Svtvp(nqtot,(mkey.GetVariableCoefficient(2*k+1))[0],&dtan0[0],1,&weight[0],1,&weight[0],1);
// Vmath::Svtvp(nqtot,(mkey.GetVariableCoefficient(2*k+2))[0],&dtan1[0],1,&weight[0],1,&weight[0],1);
// }
//
// // For Curved mesh ...
// else if(gmatnumber==nqtot)
// {
// // D_{x} and D_{y}
// v_PhysDeriv(k,tan,dtan0);
// Vmath::Vadd(nqtot,&dtan0[0],1,&weight[0],1,&weight[0],1);
// }
//
// else
// {
// ASSERTL1( ((gmatnumber=1) || (gmatnumber==nqtot) ), "Gmat is not in a right size");
// }
// }
//
// Vmath::Vmul(nqtot, &weight[0], 1, &tmp[0], 1, &tmp[0], 1);
// v_IProductWRTBase(tmp, outarray);
}
void Nektar::StdRegions::StdExpansion::MassMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inline

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 915 of file StdExpansion.h.

References v_MassMatrixOp().

Referenced by GeneralMatrixOp(), HelmholtzMatrixOp_MatFree_GenericImpl(), Nektar::StdRegions::StdPointExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTrans_BndConstrained(), and Nektar::StdRegions::StdSegExp::v_FwdTrans_BndConstrained().

{
v_MassMatrixOp(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::MassMatrixOp_MatFree ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
protected

Definition at line 641 of file StdExpansion.cpp.

References Nektar::StdRegions::eVarCoeffMass, GetTotPoints(), Nektar::StdRegions::StdMatrixKey::GetVarCoeff(), Nektar::StdRegions::StdMatrixKey::HasVarCoeff(), v_BwdTrans(), v_IProductWRTBase(), and Vmath::Vmul().

Referenced by GeneralMatrixOp_MatFree(), Nektar::LocalRegions::NodalTriExp::MassMatrixOp(), Nektar::StdRegions::StdNodalTriExp::v_MassMatrixOp(), Nektar::LocalRegions::PrismExp::v_MassMatrixOp(), Nektar::LocalRegions::HexExp::v_MassMatrixOp(), Nektar::StdRegions::StdQuadExp::v_MassMatrixOp(), Nektar::LocalRegions::TriExp::v_MassMatrixOp(), Nektar::StdRegions::StdTriExp::v_MassMatrixOp(), Nektar::LocalRegions::QuadExp::v_MassMatrixOp(), Nektar::StdRegions::StdHexExp::v_MassMatrixOp(), and v_MassMatrixOp().

{
int nq = GetTotPoints();
Array<OneD, NekDouble> tmp(nq);
v_BwdTrans(inarray,tmp);
if(mkey.HasVarCoeff(eVarCoeffMass))
{
Vmath::Vmul(nq, mkey.GetVarCoeff(eVarCoeffMass), 1, tmp, 1, tmp, 1);
}
v_IProductWRTBase(tmp, outarray);
}
void Nektar::StdRegions::StdExpansion::MultiplyByQuadratureMetric ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 886 of file StdExpansion.h.

References v_MultiplyByQuadratureMetric().

Referenced by Nektar::LocalRegions::NodalTriExp::IProductWRTBase_SumFac(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::HexExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_ComputeLaplacianMetric(), Nektar::StdRegions::StdExpansion2D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_HelmholtzMatrixOp_MatFree(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase(), Nektar::LocalRegions::TetExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::PrismExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::HexExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::TetExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::PrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_SumFac(), and Nektar::LocalRegions::PrismExp::v_LaplacianMatrixOp_MatFree_Kernel().

{
v_MultiplyByQuadratureMetric(inarray, outarray);
}
void Nektar::StdRegions::StdExpansion::MultiplyByStdQuadratureMetric ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 893 of file StdExpansion.h.

References v_MultiplyByStdQuadratureMetric().

Referenced by Nektar::LocalRegions::Expansion::ComputeQuadratureMetric(), Nektar::StdRegions::StdExpansion3D::v_Integral(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase(), and Nektar::StdRegions::StdPyrExp::v_IProductWRTDerivBase_SumFac().

{
v_MultiplyByStdQuadratureMetric(inarray, outarray);
}
void Nektar::StdRegions::StdExpansion::NegateEdgeNormal ( const int  edge)
inline

Definition at line 1230 of file StdExpansion.h.

References v_NegateEdgeNormal().

{
}
void Nektar::StdRegions::StdExpansion::NegateFaceNormal ( const int  face)
inline

Definition at line 1245 of file StdExpansion.h.

References v_NegateFaceNormal().

{
}
void Nektar::StdRegions::StdExpansion::NormVectorIProductWRTBase ( const Array< OneD, const NekDouble > &  Fx,
const Array< OneD, const NekDouble > &  Fy,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 673 of file StdExpansion.h.

References v_NormVectorIProductWRTBase().

Referenced by Nektar::MultiRegions::DisContField3DHomogeneous1D::NormVectorIProductWRTBase().

{
v_NormVectorIProductWRTBase(Fx,Fy,outarray);
}
void Nektar::StdRegions::StdExpansion::NormVectorIProductWRTBase ( const Array< OneD, const NekDouble > &  Fx,
const Array< OneD, const NekDouble > &  Fy,
const Array< OneD, const NekDouble > &  Fz,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 678 of file StdExpansion.h.

References v_NormVectorIProductWRTBase().

{
v_NormVectorIProductWRTBase(Fx,Fy,Fz,outarray);
}
int Nektar::StdRegions::StdExpansion::NumBndryCoeffs ( void  ) const
inline

Definition at line 374 of file StdExpansion.h.

References v_NumBndryCoeffs().

Referenced by Nektar::LocalRegions::Expansion1D::AddHDGHelmholtzTraceTerms(), Nektar::LocalRegions::Expansion1D::AddNormTraceInt(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::LocalRegions::PyrExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TetExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PrismExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::QuadExp::CreateStaticCondMatrix(), Nektar::LocalRegions::SegExp::CreateStaticCondMatrix(), Nektar::LocalRegions::HexExp::CreateStaticCondMatrix(), CreateStdStaticCondMatrix(), Nektar::LocalRegions::Expansion1D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion3D::v_BuildInverseTransformationMatrix(), Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::Expansion1D::v_GenMatrix(), Nektar::StdRegions::StdNodalPrismExp::v_GetBoundaryMap(), Nektar::StdRegions::StdNodalTetExp::v_GetBoundaryMap(), Nektar::StdRegions::StdNodalTriExp::v_GetBoundaryMap(), Nektar::StdRegions::StdSegExp::v_GetBoundaryMap(), Nektar::StdRegions::StdQuadExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTriExp::v_GetBoundaryMap(), Nektar::StdRegions::StdHexExp::v_GetBoundaryMap(), Nektar::LocalRegions::Expansion3D::v_GetEdgeInverseBoundaryMap(), Nektar::LocalRegions::Expansion2D::v_GetEdgeInverseBoundaryMap(), Nektar::LocalRegions::Expansion3D::v_GetFaceInverseBoundaryMap(), Nektar::StdRegions::StdNodalPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdNodalTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdNodalTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdSegExp::v_GetInteriorMap(), Nektar::StdRegions::StdQuadExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetInteriorMap(), and Nektar::StdRegions::StdPyrExp::v_GetInteriorMap().

{
return v_NumBndryCoeffs();
}
int Nektar::StdRegions::StdExpansion::NumDGBndryCoeffs ( void  ) const
inline

Definition at line 379 of file StdExpansion.h.

References v_NumDGBndryCoeffs().

Referenced by Nektar::LocalRegions::Expansion3D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion1D::v_GenMatrix(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), and Nektar::LocalRegions::Expansion2D::v_GenMatrix().

{
}
void Nektar::StdRegions::StdExpansion::PhysDeriv ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_d0,
Array< OneD, NekDouble > &  out_d1 = NullNekDouble1DArray,
Array< OneD, NekDouble > &  out_d2 = NullNekDouble1DArray 
)
inline

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 998 of file StdExpansion.h.

References v_PhysDeriv().

Referenced by Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), Nektar::StdRegions::StdHexExp::v_PhysDeriv(), Nektar::LocalRegions::SegExp::v_PhysDeriv(), Nektar::LocalRegions::TriExp::v_PhysDeriv(), and Nektar::LocalRegions::HexExp::v_PhysDeriv().

{
v_PhysDeriv (inarray, out_d0, out_d1, out_d2);
}
void Nektar::StdRegions::StdExpansion::PhysDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 1006 of file StdExpansion.h.

References v_PhysDeriv().

{
v_PhysDeriv (dir, inarray, outarray);
}
void Nektar::StdRegions::StdExpansion::PhysDeriv_n ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_dn 
)
inline

Definition at line 1019 of file StdExpansion.h.

References v_PhysDeriv_n().

{
v_PhysDeriv_n(inarray,out_dn);
}
void Nektar::StdRegions::StdExpansion::PhysDeriv_s ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_ds 
)
inline

Definition at line 1013 of file StdExpansion.h.

References v_PhysDeriv_s().

{
v_PhysDeriv_s(inarray,out_ds);
}
void Nektar::StdRegions::StdExpansion::PhysDirectionalDeriv ( const Array< OneD, const NekDouble > &  inarray,
const Array< OneD, const NekDouble > &  direction,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 1025 of file StdExpansion.h.

References v_PhysDirectionalDeriv().

{
v_PhysDirectionalDeriv (inarray, direction, outarray);
}
NekDouble Nektar::StdRegions::StdExpansion::PhysEvaluate ( const Array< OneD, const NekDouble > &  coords,
const Array< OneD, const NekDouble > &  physvals 
)
inline

This function evaluates the expansion at a single (arbitrary) point of the domain.

This function is a wrapper around the virtual function v_PhysEvaluate()

Based on the value of the expansion at the quadrature points provided in physvals, this function calculates the value of the expansion at an arbitrary single points (with coordinates $ \mathbf{x_c}$ given by the pointer coords). This operation, equivalent to

\[ u(\mathbf{x_c}) = \sum_p \phi_p(\mathbf{x_c}) \hat{u}_p \]

is evaluated using Lagrangian interpolants through the quadrature points:

\[ u(\mathbf{x_c}) = \sum_p h_p(\mathbf{x_c}) u_p\]

Parameters
coordsthe coordinates of the single point
physvalsthe interpolated field at the quadrature points
Returns
returns the value of the expansion at the single point

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 1089 of file StdExpansion.h.

References v_PhysEvaluate().

{
return v_PhysEvaluate(coords,physvals);
}
NekDouble Nektar::StdRegions::StdExpansion::PhysEvaluate ( const Array< OneD, DNekMatSharedPtr > &  I,
const Array< OneD, const NekDouble > &  physvals 
)
inline

This function evaluates the expansion at a single (arbitrary) point of the domain.

This function is a wrapper around the virtual function v_PhysEvaluate()

Based on the value of the expansion at the quadrature points provided in physvals, this function calculates the value of the expansion at an arbitrary single points associated with the interpolation matrices provided in $ I $.

Parameters
Ian Array of lagrange interpolantes evaluated at the coordinate and going through the local physical quadrature
physvalsthe interpolated field at the quadrature points
Returns
returns the value of the expansion at the single point

Definition at line 1116 of file StdExpansion.h.

References v_PhysEvaluate().

{
return v_PhysEvaluate(I,physvals);
}
void Nektar::StdRegions::StdExpansion::ReduceOrderCoeffs ( int  numMin,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 929 of file StdExpansion.h.

References v_ReduceOrderCoeffs().

{
v_ReduceOrderCoeffs(numMin,inarray,outarray);
}
void Nektar::StdRegions::StdExpansion::SetCoeffsToOrientation ( Array< OneD, NekDouble > &  coeffs,
StdRegions::Orientation  dir 
)
inline

Definition at line 713 of file StdExpansion.h.

References v_SetCoeffsToOrientation().

{
}
void Nektar::StdRegions::StdExpansion::SetCoeffsToOrientation ( StdRegions::Orientation  dir,
Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 720 of file StdExpansion.h.

References v_SetCoeffsToOrientation().

{
v_SetCoeffsToOrientation(dir,inarray,outarray);
}
void Nektar::StdRegions::StdExpansion::SetElmtId ( const int  id)
inline

Set the element id of this expansion when used in a list by returning value of m_elmt_id.

Definition at line 608 of file StdExpansion.h.

References m_elmt_id.

{
m_elmt_id = id;
}
void Nektar::StdRegions::StdExpansion::SetPhysNormals ( Array< OneD, const NekDouble > &  normal)
inline

Definition at line 666 of file StdExpansion.h.

References v_SetPhysNormals().

{
}
void Nektar::StdRegions::StdExpansion::SetUpPhysNormals ( const int  edge)
virtual

Definition at line 933 of file StdExpansion.cpp.

References v_SetUpPhysNormals().

{
}
void Nektar::StdRegions::StdExpansion::StdPhysDeriv ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_d0,
Array< OneD, NekDouble > &  out_d1 = NullNekDouble1DArray,
Array< OneD, NekDouble > &  out_d2 = NullNekDouble1DArray 
)
inline

Definition at line 1032 of file StdExpansion.h.

References v_StdPhysDeriv().

{
v_StdPhysDeriv(inarray, out_d0, out_d1, out_d2);
}
void Nektar::StdRegions::StdExpansion::StdPhysDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 1040 of file StdExpansion.h.

References v_StdPhysDeriv().

{
v_StdPhysDeriv(dir,inarray,outarray);
}
NekDouble Nektar::StdRegions::StdExpansion::StdPhysEvaluate ( const Array< OneD, const NekDouble > &  Lcoord,
const Array< OneD, const NekDouble > &  physvals 
)

Definition at line 938 of file StdExpansion.cpp.

References v_StdPhysEvaluate().

{
return v_StdPhysEvaluate(Lcoord,physvals);
}
void Nektar::StdRegions::StdExpansion::SVVLaplacianFilter ( Array< OneD, NekDouble > &  array,
const StdMatrixKey mkey 
)
inline

Definition at line 936 of file StdExpansion.h.

References v_SVVLaplacianFilter().

Referenced by LaplacianMatrixOp_MatFree().

{
v_SVVLaplacianFilter(array,mkey);
}
void Nektar::StdRegions::StdExpansion::v_AddEdgeNormBoundaryInt ( const int  edge,
boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  Fx,
const Array< OneD, const NekDouble > &  Fy,
Array< OneD, NekDouble > &  outarray 
)
protectedvirtual

Definition at line 1087 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by AddEdgeNormBoundaryInt().

{
NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
}
void Nektar::StdRegions::StdExpansion::v_AddEdgeNormBoundaryInt ( const int  edge,
boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  Fn,
Array< OneD, NekDouble > &  outarray 
)
protectedvirtual

Definition at line 1096 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

{
NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
}
void Nektar::StdRegions::StdExpansion::v_AddFaceNormBoundaryInt ( const int  face,
boost::shared_ptr< StdExpansion > &  FaceExp,
const Array< OneD, const NekDouble > &  Fn,
Array< OneD, NekDouble > &  outarray 
)
protectedvirtual

Definition at line 1104 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by AddFaceNormBoundaryInt().

{
NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
}
void Nektar::StdRegions::StdExpansion::v_AddRobinEdgeContribution ( const int  edgeid,
const Array< OneD, const NekDouble > &  primCoeffs,
Array< OneD, NekDouble > &  coeffs 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D, and Nektar::LocalRegions::Expansion1D.

Definition at line 1263 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by AddRobinEdgeContribution().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for "
"specific element types");
}
void Nektar::StdRegions::StdExpansion::v_AddRobinMassMatrix ( const int  edgeid,
const Array< OneD, const NekDouble > &  primCoeffs,
DNekMatSharedPtr inoutmat 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D, Nektar::LocalRegions::Expansion3D, and Nektar::LocalRegions::Expansion1D.

Definition at line 1257 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by AddRobinMassMatrix().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for "
"specific element types");
}
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::v_BuildInverseTransformationMatrix ( const DNekScalMatSharedPtr m_transformationmatrix)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion3D.

Definition at line 1726 of file StdExpansion.cpp.

References ErrorUtil::efatal, NEKERROR, and Nektar::NullDNekMatSharedPtr.

Referenced by BuildInverseTransformationMatrix().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
}
virtual void Nektar::StdRegions::StdExpansion::v_BwdTrans ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatepure virtual

Implemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::StdRegions::StdNodalTetExp, Nektar::StdRegions::StdNodalTriExp, and Nektar::StdRegions::StdPointExp.

Referenced by BwdTrans(), LaplacianMatrixOp_MatFree(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), MassMatrixOp_MatFree(), WeakDerivMatrixOp_MatFree(), and WeakDirectionalDerivMatrixOp_MatFree().

void Nektar::StdRegions::StdExpansion::v_BwdTrans_SumFac ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::StdRegions::StdNodalTetExp, Nektar::StdRegions::StdNodalTriExp, and Nektar::StdRegions::StdPointExp.

Definition at line 1512 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by BwdTrans_SumFac().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
}
int Nektar::StdRegions::StdExpansion::v_CalcNumberOfCoefficients ( const std::vector< unsigned int > &  nummodes,
int &  modes_offset 
)
virtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdTriExp.

Definition at line 991 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CalcNumberOfCoefficients().

{
NEKERROR(ErrorUtil::efatal, "This function is not defined for this class");
return 0;
}
void Nektar::StdRegions::StdExpansion::v_ComputeEdgeNormal ( const int  edge)
privatevirtual

Reimplemented in Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::TriExp.

Definition at line 1656 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by ComputeEdgeNormal().

{
ASSERTL0(false, "Cannot compute edge normal for this expansion.");
}
void Nektar::StdRegions::StdExpansion::v_ComputeFaceNormal ( const int  face)
privatevirtual

Reimplemented in Nektar::LocalRegions::HexExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::TetExp, and Nektar::LocalRegions::PyrExp.

Definition at line 1672 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by ComputeFaceNormal().

{
ASSERTL0(false, "Cannot compute face normal for this expansion.");
}
void Nektar::StdRegions::StdExpansion::v_ComputeVertexNormal ( const int  vertex)
privatevirtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1682 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by ComputeVertexNormal().

{
ASSERTL0(false, "Cannot compute vertex normal for this expansion.");
}
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::v_CreateStdMatrix ( const StdMatrixKey mkey)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::LocalRegions::HexExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, Nektar::LocalRegions::SegExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdSegExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PrismExp, Nektar::StdRegions::StdNodalTriExp, Nektar::StdRegions::StdNodalTetExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::LocalRegions::PyrExp, and Nektar::StdRegions::StdPointExp.

Definition at line 1375 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CreateStdMatrix().

{
NEKERROR(ErrorUtil::efatal, "This function has not "
"been defined for this element");
DNekMatSharedPtr returnval;
return returnval;
}
int Nektar::StdRegions::StdExpansion::v_DetCartesianDirOfEdge ( const int  edge)
privatevirtual

Reimplemented in Nektar::StdRegions::StdTriExp, and Nektar::StdRegions::StdQuadExp.

Definition at line 1155 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by DetCartesianDirOfEdge().

{
ASSERTL0(false, "This function is not valid or not defined");
return 0;
}
const LibUtilities::BasisKey Nektar::StdRegions::StdExpansion::v_DetEdgeBasisKey ( const int  i) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdTriExp, and Nektar::StdRegions::StdQuadExp.

Definition at line 1161 of file StdExpansion.cpp.

References ASSERTL0, and Nektar::LibUtilities::NullBasisKey().

Referenced by DetEdgeBasisKey().

{
ASSERTL0(false, "This function is not valid or not defined");
}
const LibUtilities::BasisKey Nektar::StdRegions::StdExpansion::v_DetFaceBasisKey ( const int  i,
const int  k 
) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdPrismExp.

Definition at line 1167 of file StdExpansion.cpp.

References ASSERTL0, and Nektar::LibUtilities::NullBasisKey().

Referenced by DetFaceBasisKey().

{
ASSERTL0(false, "This function is not valid or not defined");
}
LibUtilities::ShapeType Nektar::StdRegions::StdExpansion::v_DetShapeType ( ) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::TetExp, and Nektar::StdRegions::StdPointExp.

Definition at line 1210 of file StdExpansion.cpp.

References ASSERTL0, and Nektar::LibUtilities::eNoShapeType.

Referenced by DetShapeType().

{
ASSERTL0(false, "This expansion does not have a shape type defined");
}
void Nektar::StdRegions::StdExpansion::v_DGDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, boost::shared_ptr< StdExpansion > > &  EdgeExp,
Array< OneD, Array< OneD, NekDouble > > &  coeffs,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Definition at line 1269 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by DGDeriv().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for "
"specific element types");
}
void Nektar::StdRegions::StdExpansion::v_DropLocStaticCondMatrix ( const LocalRegions::MatrixKey mkey)
virtual

Reimplemented in Nektar::LocalRegions::HexExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PrismExp, and Nektar::LocalRegions::PyrExp.

Definition at line 1027 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by DropLocStaticCondMatrix().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
}
bool Nektar::StdRegions::StdExpansion::v_EdgeNormalNegated ( const int  edge)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 1666 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by EdgeNormalNegated().

{
ASSERTL0(false, "Not implemented.");
return false;
}
void Nektar::StdRegions::StdExpansion::v_ExtractDataToCoeffs ( const NekDouble data,
const std::vector< unsigned int > &  nummodes,
const int  nmode_offset,
NekDouble coeffs 
)
virtual

Unpack data from input file assuming it comes from the same expansion type.

See Also
StdExpansion::ExtractDataToCoeffs

Reimplemented in Nektar::LocalRegions::SegExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::PrismExp, and Nektar::LocalRegions::TetExp.

Definition at line 997 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by ExtractDataToCoeffs().

{
NEKERROR(ErrorUtil::efatal, "This function is not defined for this class");
}
void Nektar::StdRegions::StdExpansion::v_FillMode ( const int  mode,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::StdRegions::StdNodalTetExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1361 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by FillMode().

{
NEKERROR(ErrorUtil::efatal, "This function has not "
"been defined for this shape");
}
virtual void Nektar::StdRegions::StdExpansion::v_FwdTrans ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatepure virtual

Transform a given function from physical quadrature space to coefficient space.

See Also
StdExpansion::FwdTrans

Implemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::SegExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::StdRegions::StdNodalTetExp, Nektar::StdRegions::StdNodalTriExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::TetExp, and Nektar::StdRegions::StdPointExp.

Referenced by FwdTrans().

void Nektar::StdRegions::StdExpansion::v_FwdTrans_BndConstrained ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdPointExp.

Definition at line 1238 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by FwdTrans_BndConstrained().

{
NEKERROR(ErrorUtil::efatal, "This method has not been defined");
}
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::v_GenMatrix ( const StdMatrixKey mkey)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::LocalRegions::HexExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::SegExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdSegExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::TetExp, Nektar::StdRegions::StdNodalTriExp, Nektar::LocalRegions::NodalTriExp, Nektar::StdRegions::StdNodalTetExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::Expansion2D, Nektar::StdRegions::StdPointExp, Nektar::LocalRegions::Expansion3D, and Nektar::LocalRegions::Expansion1D.

Definition at line 1367 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GenMatrix().

{
NEKERROR(ErrorUtil::efatal, "This function has not "
"been defined for this element");
DNekMatSharedPtr returnval;
return returnval;
}
void Nektar::StdRegions::StdExpansion::v_GetBoundaryMap ( Array< OneD, unsigned int > &  outarray)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdNodalTriExp, Nektar::StdRegions::StdNodalTetExp, and Nektar::StdRegions::StdNodalPrismExp.

Definition at line 1402 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetBoundaryMap().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
}
StdRegions::Orientation Nektar::StdRegions::StdExpansion::v_GetCartesianEorient ( int  edge)
virtual

Reimplemented in Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::TriExp.

Definition at line 1052 of file StdExpansion.cpp.

References ErrorUtil::efatal, Nektar::StdRegions::eForwards, and NEKERROR.

Referenced by GetCartesianEorient().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for two-dimensional LocalRegions");
return eForwards;
}
void Nektar::StdRegions::StdExpansion::v_GetCoord ( const Array< OneD, const NekDouble > &  Lcoord,
Array< OneD, NekDouble > &  coord 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::HexExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PrismExp, and Nektar::LocalRegions::PyrExp.

Definition at line 1390 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetCoord().

{
NEKERROR(ErrorUtil::efatal, "Write coordinate definition method");
}
int Nektar::StdRegions::StdExpansion::v_GetCoordim ( void  )
privatevirtual

Reimplemented in Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::TetExp, and Nektar::LocalRegions::PyrExp.

Definition at line 1396 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetCoordim(), and H1().

{
NEKERROR(ErrorUtil::efatal, "Write method");
return -1;
}
void Nektar::StdRegions::StdExpansion::v_GetCoords ( Array< OneD, NekDouble > &  coords_0,
Array< OneD, NekDouble > &  coords_1,
Array< OneD, NekDouble > &  coords_2 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::PointExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::Expansion, Nektar::LocalRegions::PyrExp, and Nektar::StdRegions::StdPointExp.

Definition at line 1383 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetCoords().

{
NEKERROR(ErrorUtil::efatal, "Write coordinate definition method");
}
LibUtilities::BasisType Nektar::StdRegions::StdExpansion::v_GetEdgeBasisType ( const int  i) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, and Nektar::StdRegions::StdQuadExp.

Definition at line 1203 of file StdExpansion.cpp.

References ASSERTL0, and Nektar::LibUtilities::eNoBasisType.

Referenced by GetEdgeBasisType().

{
ASSERTL0(false, "This function is not valid or not defined");
}
void Nektar::StdRegions::StdExpansion::v_GetEdgeInteriorMap ( const int  eid,
const Orientation  edgeOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1419 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CreateIndexMap(), and GetEdgeInteriorMap().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
}
void Nektar::StdRegions::StdExpansion::v_GetEdgeInterpVals ( const int  edge,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::TriExp.

Definition at line 1468 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdgeInterpVals().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
}
Array< OneD, unsigned int > Nektar::StdRegions::StdExpansion::v_GetEdgeInverseBoundaryMap ( int  eid)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D, and Nektar::LocalRegions::Expansion3D.

Definition at line 1709 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetEdgeInverseBoundaryMap().

{
ASSERTL0(false, "Not implemented.");
Array<OneD, unsigned int> noinversemap(1);
return noinversemap;
}
int Nektar::StdRegions::StdExpansion::v_GetEdgeNcoeffs ( const int  i) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, and Nektar::StdRegions::StdQuadExp.

Definition at line 1137 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetEdgeNcoeffs().

{
ASSERTL0(false, "This function is not valid or not defined");
return 0;
}
const NormalVector & Nektar::StdRegions::StdExpansion::v_GetEdgeNormal ( const int  edge) const
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 1649 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetEdgeNormal().

{
ASSERTL0(false, "Cannot get edge normals for this expansion.");
static NormalVector result;
return result;
}
int Nektar::StdRegions::StdExpansion::v_GetEdgeNumPoints ( const int  i) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdTriExp, and Nektar::StdRegions::StdQuadExp.

Definition at line 1149 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetEdgeNumPoints().

{
ASSERTL0(false, "This function is not valid or not defined");
return 0;
}
void Nektar::StdRegions::StdExpansion::v_GetEdgePhysVals ( const int  edge,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Extract the physical values along edge edge from inarray into outarray following the local edge orientation and point distribution defined by defined in EdgeExp.

Reimplemented in Nektar::LocalRegions::QuadExp.

Definition at line 1448 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdgePhysVals().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
}
void Nektar::StdRegions::StdExpansion::v_GetEdgePhysVals ( const int  edge,
const boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Definition at line 1453 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
}
void Nektar::StdRegions::StdExpansion::v_GetEdgeQFactors ( const int  edge,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::TriExp.

Definition at line 1473 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdgeQFactors().

{
"Method does not exist for this shape or library");
}
void Nektar::StdRegions::StdExpansion::v_GetEdgeToElementMap ( const int  eid,
const Orientation  edgeOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdTriExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1433 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CreateIndexMap(), and GetEdgeToElementMap().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
}
int Nektar::StdRegions::StdExpansion::v_GetElmtId ( void  )
virtual

Get the element id of this expansion when used in a list by returning value of m_elmt_id.

Definition at line 969 of file StdExpansion.cpp.

References m_elmt_id.

{
return m_elmt_id;
}
StdRegions::Orientation Nektar::StdRegions::StdExpansion::v_GetEorient ( int  edge)
virtual

Reimplemented in Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::TriExp.

Definition at line 1039 of file StdExpansion.cpp.

References ErrorUtil::efatal, Nektar::StdRegions::eForwards, and NEKERROR.

Referenced by Nektar::LocalRegions::Expansion2D::AddEdgeBoundaryInt(), GetEorient(), Nektar::LocalRegions::Expansion2D::v_AddRobinEdgeContribution(), and Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for two-dimensional LocalRegions");
return eForwards;
}
void Nektar::StdRegions::StdExpansion::v_GetFaceInteriorMap ( const int  fid,
const Orientation  faceOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTetExp, and Nektar::StdRegions::StdPrismExp.

Definition at line 1426 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CreateIndexMap(), and GetFaceInteriorMap().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
}
int Nektar::StdRegions::StdExpansion::v_GetFaceIntNcoeffs ( const int  i) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, and Nektar::StdRegions::StdHexExp.

Definition at line 1185 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetFaceIntNcoeffs().

{
ASSERTL0(false, "This function is not valid or not defined");
return 0;
}
Array< OneD, unsigned int > Nektar::StdRegions::StdExpansion::v_GetFaceInverseBoundaryMap ( int  fid,
StdRegions::Orientation  faceOrient = eNoOrientation 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion3D.

Definition at line 1717 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetFaceInverseBoundaryMap().

{
ASSERTL0(false, "Not implemented.");
Array<OneD, unsigned int> noinversemap(1);
return noinversemap;
}
int Nektar::StdRegions::StdExpansion::v_GetFaceNcoeffs ( const int  i) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdPrismExp.

Definition at line 1179 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetFaceNcoeffs().

{
ASSERTL0(false, "This function is not valid or not defined");
return 0;
}
const NormalVector & Nektar::StdRegions::StdExpansion::v_GetFaceNormal ( const int  face) const
privatevirtual

Definition at line 1687 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetFaceNormal().

{
ASSERTL0(false, "Cannot get face normals for this expansion.");
static NormalVector result;
return result;
}
int Nektar::StdRegions::StdExpansion::v_GetFaceNumPoints ( const int  i) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdPrismExp.

Definition at line 1173 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetFaceNumPoints().

{
ASSERTL0(false, "This function is not valid or not defined");
return 0;
}
StdRegions::Orientation Nektar::StdRegions::StdExpansion::v_GetFaceOrient ( int  face)
virtual

Reimplemented in Nektar::LocalRegions::HexExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::TetExp, and Nektar::LocalRegions::PyrExp.

Definition at line 1032 of file StdExpansion.cpp.

References Nektar::StdRegions::eDir1FwdDir1_Dir2FwdDir2, ErrorUtil::efatal, and NEKERROR.

Referenced by GetFaceOrient().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for three-dimensional LocalRegions");
}
void Nektar::StdRegions::StdExpansion::v_GetFacePhysVals ( const int  face,
const boost::shared_ptr< StdExpansion > &  FaceExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
StdRegions::Orientation  orient 
)
privatevirtual

Definition at line 1481 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetFacePhysVals().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
}
LibUtilities::PointsKey Nektar::StdRegions::StdExpansion::v_GetFacePointsKey ( const int  i,
const int  j 
) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdPrismExp.

Definition at line 1197 of file StdExpansion.cpp.

References ASSERTL0, and Nektar::LibUtilities::NullPointsKey().

Referenced by GetFacePointsKey().

{
ASSERTL0(false, "This function is not valid or not defined");
}
void Nektar::StdRegions::StdExpansion::v_GetFaceToElementMap ( const int  fid,
const Orientation  faceOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray,
int  nummodesA = -1,
int  nummodesB = -1 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdPrismExp.

Definition at line 1440 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CreateIndexMap(), and GetFaceToElementMap().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
}
void Nektar::StdRegions::StdExpansion::v_GetInteriorMap ( Array< OneD, unsigned int > &  outarray)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdNodalTriExp, Nektar::StdRegions::StdNodalTetExp, and Nektar::StdRegions::StdNodalPrismExp.

Definition at line 1407 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetInteriorMap().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
}
DNekScalBlkMatSharedPtr Nektar::StdRegions::StdExpansion::v_GetLocStaticCondMatrix ( const LocalRegions::MatrixKey mkey)
virtual

Reimplemented in Nektar::LocalRegions::HexExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PrismExp, and Nektar::LocalRegions::PyrExp.

Definition at line 1021 of file StdExpansion.cpp.

References ErrorUtil::efatal, NEKERROR, and Nektar::NullDNekScalBlkMatSharedPtr.

Referenced by GetLocStaticCondMatrix().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
}
const boost::shared_ptr< SpatialDomains::GeomFactors > & Nektar::StdRegions::StdExpansion::v_GetMetricInfo ( ) const
privatevirtual

Reimplemented in Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::Expansion.

Definition at line 1505 of file StdExpansion.cpp.

References ErrorUtil::efatal, NEKERROR, and Nektar::SpatialDomains::NullGeomFactorsSharedPtr.

Referenced by GetMetricInfo().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
}
int Nektar::StdRegions::StdExpansion::v_GetNedges ( ) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1112 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetNedges().

{
ASSERTL0(false, "This function is needs defining for this shape");
return 0;
}
int Nektar::StdRegions::StdExpansion::v_GetNfaces ( ) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdPrismExp.

Definition at line 1118 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetNfaces().

{
ASSERTL0(false, "This function is needs defining for this shape");
return 0;
}
virtual int Nektar::StdRegions::StdExpansion::v_GetNverts ( ) const
privatepure virtual

Implemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdTriExp.

Referenced by GetNverts().

const Array< OneD, const NekDouble > & Nektar::StdRegions::StdExpansion::v_GetPhysNormals ( void  )
virtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 974 of file StdExpansion.cpp.

References ErrorUtil::efatal, NEKERROR, and Nektar::NullNekDouble1DArray.

Referenced by GetPhysNormals().

{
NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
}
StdRegions::Orientation Nektar::StdRegions::StdExpansion::v_GetPorient ( int  point)
virtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1045 of file StdExpansion.cpp.

References ErrorUtil::efatal, Nektar::StdRegions::eFwd, and NEKERROR.

Referenced by GetPorient().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for one-dimensional LocalRegions");
return eFwd;
}
int Nektar::StdRegions::StdExpansion::v_GetShapeDimension ( ) const
privatevirtual

Definition at line 1216 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetShapeDimension().

{
ASSERTL0(false, "This function is not valid or not defined");
return 0;
}
const NormalVector & Nektar::StdRegions::StdExpansion::v_GetSurfaceNormal ( const int  id) const
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 1701 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetSurfaceNormal().

{
ASSERTL0(false, "Cannot get face normals for this expansion.");
static NormalVector result;
return result;
}
int Nektar::StdRegions::StdExpansion::v_GetTotalEdgeIntNcoeffs ( ) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdPrismExp.

Definition at line 1143 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetTotalEdgeIntNcoeffs().

{
ASSERTL0(false, "This function is not valid or not defined");
return 0;
}
int Nektar::StdRegions::StdExpansion::v_GetTotalFaceIntNcoeffs ( ) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, and Nektar::StdRegions::StdHexExp.

Definition at line 1191 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetTotalFaceIntNcoeffs().

{
ASSERTL0(false, "This function is not valid or not defined");
return 0;
}
void Nektar::StdRegions::StdExpansion::v_GetTracePhysVals ( const int  edge,
const boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
StdRegions::Orientation  orient = eNoOrientation 
)
privatevirtual

Definition at line 1458 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetTracePhysVals().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
}
int Nektar::StdRegions::StdExpansion::v_GetVertexMap ( int  localVertexId,
bool  useCoeffPacking = false 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdNodalTriExp, Nektar::StdRegions::StdNodalTetExp, and Nektar::StdRegions::StdNodalPrismExp.

Definition at line 1412 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetVertexMap().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
return 0;
}
const NormalVector & Nektar::StdRegions::StdExpansion::v_GetVertexNormal ( const int  vertex) const
privatevirtual

Definition at line 1694 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetVertexNormal().

{
ASSERTL0(false, "Cannot get vertex normals for this expansion.");
static NormalVector result;
return result;
}
void Nektar::StdRegions::StdExpansion::v_GetVertexPhysVals ( const int  vertex,
const Array< OneD, const NekDouble > &  inarray,
NekDouble outarray 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1463 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetVertexPhysVals().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
}
void Nektar::StdRegions::StdExpansion::v_HelmholtzMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdHexExp, Nektar::LocalRegions::QuadExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::PrismExp, Nektar::StdRegions::StdNodalTriExp, Nektar::StdRegions::StdSegExp, and Nektar::LocalRegions::TetExp.

Definition at line 1614 of file StdExpansion.cpp.

References HelmholtzMatrixOp_MatFree().

Referenced by HelmholtzMatrixOp().

{
// If this function is not reimplemented on shape level, the function
// below will be called
HelmholtzMatrixOp_MatFree(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::v_HelmholtzMatrixOp_MatFree ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D, and Nektar::StdRegions::StdExpansion2D.

Definition at line 1640 of file StdExpansion.cpp.

References HelmholtzMatrixOp_MatFree_GenericImpl().

Referenced by HelmholtzMatrixOp_MatFree().

{
// If this function is not reimplemented on shape level, the function
// below will be called
HelmholtzMatrixOp_MatFree_GenericImpl(inarray,outarray,mkey);
}
NekDouble Nektar::StdRegions::StdExpansion::v_Integral ( const Array< OneD, const NekDouble > &  inarray)
privatevirtual

Integrates the specified function over the domain.

See Also
StdRegions::StdExpansion::Integral.

Reimplemented in Nektar::StdRegions::StdExpansion3D, Nektar::LocalRegions::HexExp, Nektar::StdRegions::StdSegExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TetExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1249 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by H1(), Integral(), and L2().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for "
"local expansions");
return 0;
}
virtual void Nektar::StdRegions::StdExpansion::v_IProductWRTBase ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatepure virtual

Calculates the inner product of a given function f with the different modes of the expansion.

Implemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::StdRegions::StdNodalTetExp, Nektar::StdRegions::StdNodalTriExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::TetExp, and Nektar::StdRegions::StdPointExp.

Referenced by IProductWRTBase(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), MassMatrixOp_MatFree(), WeakDerivMatrixOp_MatFree(), and WeakDirectionalDerivMatrixOp_MatFree().

virtual void Nektar::StdRegions::StdExpansion::v_IProductWRTBase ( const Array< OneD, const NekDouble > &  base,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
int  coll_check 
)
inlineprivatevirtual

Reimplemented in Nektar::StdRegions::StdSegExp, Nektar::LocalRegions::SegExp, and Nektar::StdRegions::StdPointExp.

Definition at line 1527 of file StdExpansion.h.

References ASSERTL0.

{
ASSERTL0(false, "StdExpansion::v_IProductWRTBase has no (and should have no) implementation");
}
void Nektar::StdRegions::StdExpansion::v_IProductWRTBase_SumFac ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::StdRegions::StdNodalTetExp, Nektar::StdRegions::StdNodalTriExp, Nektar::StdRegions::StdPointExp, Nektar::LocalRegions::PrismExp, and Nektar::LocalRegions::TetExp.

Definition at line 1518 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by IProductWRTBase_SumFac().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
}
void Nektar::StdRegions::StdExpansion::v_IProductWRTDerivBase ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::StdRegions::StdNodalTetExp, Nektar::StdRegions::StdNodalTriExp, Nektar::StdRegions::StdPointExp, Nektar::LocalRegions::PrismExp, and Nektar::LocalRegions::TetExp.

Definition at line 1228 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by IProductWRTDerivBase(), and LaplacianMatrixOp_MatFree().

{
NEKERROR(ErrorUtil::efatal, "This method has not been defined");
}
void Nektar::StdRegions::StdExpansion::v_IProductWRTDerivBase_SumFac ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::StdRegions::StdNodalTetExp, Nektar::StdRegions::StdNodalTriExp, and Nektar::LocalRegions::PrismExp.

Definition at line 1524 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by IProductWRTDerivBase_SumFac().

{
NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
}
bool Nektar::StdRegions::StdExpansion::v_IsBoundaryInteriorExpansion ( )
privatevirtual

Reimplemented in Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, and Nektar::StdRegions::StdQuadExp.

Definition at line 1222 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by IsBoundaryInteriorExpansion().

{
ASSERTL0(false,"This function has not been defined for this expansion");
return false;
}
void Nektar::StdRegions::StdExpansion::v_LaplacianMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdHexExp, Nektar::LocalRegions::QuadExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PrismExp, Nektar::StdRegions::StdSegExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1540 of file StdExpansion.cpp.

References LaplacianMatrixOp_MatFree().

Referenced by LaplacianMatrixOp().

{
// If this function is not reimplemented on shape level, the function
// below will be called
LaplacianMatrixOp_MatFree(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::v_LaplacianMatrixOp ( const int  k1,
const int  k2,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PrismExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1563 of file StdExpansion.cpp.

References LaplacianMatrixOp_MatFree().

{
// If this function is not reimplemented on shape level, the function
// below will be called
LaplacianMatrixOp_MatFree(k1,k2,inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::v_LaplacianMatrixOp_MatFree ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D, and Nektar::StdRegions::StdExpansion2D.

Definition at line 1623 of file StdExpansion.cpp.

References LaplacianMatrixOp_MatFree_GenericImpl().

Referenced by LaplacianMatrixOp_MatFree().

{
// If this function is not reimplemented on shape level, the function
// below will be called
LaplacianMatrixOp_MatFree_GenericImpl(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::v_LaplacianMatrixOp_MatFree_Kernel ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
Array< OneD, NekDouble > &  wsp 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::TriExp.

Definition at line 1632 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by LaplacianMatrixOp_MatFree_Kernel().

{
ASSERTL0(false, "Not implemented.");
}
void Nektar::StdRegions::StdExpansion::v_LinearAdvectionDiffusionReactionMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey,
bool  addDiffusionTerm = true 
)
privatevirtual

Definition at line 1603 of file StdExpansion.cpp.

References LinearAdvectionDiffusionReactionMatrixOp_MatFree().

Referenced by LinearAdvectionDiffusionReactionMatrixOp().

{
// If this function is not reimplemented on shape level, the function
// below will be called
LinearAdvectionDiffusionReactionMatrixOp_MatFree(inarray,outarray,mkey,addDiffusionTerm);
}
void Nektar::StdRegions::StdExpansion::v_LocCoordToLocCollapsed ( const Array< OneD, const NekDouble > &  xi,
Array< OneD, NekDouble > &  eta 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1082 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by LocCoordToLocCollapsed().

{
NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
}
void Nektar::StdRegions::StdExpansion::v_MassLevelCurvatureMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, and Nektar::LocalRegions::HexExp.

Definition at line 1594 of file StdExpansion.cpp.

References MassLevelCurvatureMatrixOp_MatFree().

Referenced by MassLevelCurvatureMatrixOp().

{
// If this function is not reimplemented on shape level, the function
// below will be called
MassLevelCurvatureMatrixOp_MatFree(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::v_MassMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdHexExp, Nektar::LocalRegions::QuadExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::PrismExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1531 of file StdExpansion.cpp.

References MassMatrixOp_MatFree().

Referenced by MassMatrixOp().

{
// If this function is not reimplemented on shape level, the function
// below will be called
MassMatrixOp_MatFree(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::v_MultiplyByQuadratureMetric ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion.

Definition at line 1491 of file StdExpansion.cpp.

References v_MultiplyByStdQuadratureMetric().

Referenced by MultiplyByQuadratureMetric().

{
v_MultiplyByStdQuadratureMetric(inarray, outarray);
}
void Nektar::StdRegions::StdExpansion::v_MultiplyByStdQuadratureMetric ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, and Nektar::StdRegions::StdPyrExp.

Definition at line 1498 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by MultiplyByStdQuadratureMetric(), and v_MultiplyByQuadratureMetric().

{
NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape or library");
}
void Nektar::StdRegions::StdExpansion::v_NegateEdgeNormal ( const int  edge)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 1661 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by NegateEdgeNormal().

{
ASSERTL0(false, "Not implemented.");
}
void Nektar::StdRegions::StdExpansion::v_NegateFaceNormal ( const int  face)
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D.

Definition at line 1677 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by NegateFaceNormal().

{
ASSERTL0(false, "Not implemented.");
}
void Nektar::StdRegions::StdExpansion::v_NormVectorIProductWRTBase ( const Array< OneD, const NekDouble > &  Fx,
const Array< OneD, const NekDouble > &  Fy,
Array< OneD, NekDouble > &  outarray 
)
virtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1007 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by NormVectorIProductWRTBase().

{
NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
}
void Nektar::StdRegions::StdExpansion::v_NormVectorIProductWRTBase ( const Array< OneD, const NekDouble > &  Fx,
const Array< OneD, const NekDouble > &  Fy,
const Array< OneD, const NekDouble > &  Fz,
Array< OneD, NekDouble > &  outarray 
)
virtual

Reimplemented in Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::TriExp.

Definition at line 1012 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

{
NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
}
int Nektar::StdRegions::StdExpansion::v_NumBndryCoeffs ( ) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::LocalRegions::SegExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdTriExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1125 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by NumBndryCoeffs().

{
ASSERTL0(false, "This function is needs defining for this shape");
return 0;
}
int Nektar::StdRegions::StdExpansion::v_NumDGBndryCoeffs ( ) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::LocalRegions::SegExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1131 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by NumDGBndryCoeffs().

{
ASSERTL0(false, "This function is needs defining for this shape");
return 0;
}
void Nektar::StdRegions::StdExpansion::v_PhysDeriv ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_d1,
Array< OneD, NekDouble > &  out_d2,
Array< OneD, NekDouble > &  out_d3 
)
privatevirtual

Calculate the derivative of the physical points.

See Also
StdRegions::StdExpansion::PhysDeriv

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::LocalRegions::HexExp, Nektar::StdRegions::StdTetExp, Nektar::LocalRegions::QuadExp, Nektar::StdRegions::StdSegExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::SegExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1283 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by H1(), LaplacianMatrixOp_MatFree(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), PhysDeriv(), and WeakDerivMatrixOp_MatFree().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for "
"local expansions");
}
void Nektar::StdRegions::StdExpansion::v_PhysDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_d0 
)
privatevirtual

Calculate the derivative of the physical points in a given direction.

See Also
StdRegions::StdExpansion::PhysDeriv

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::LocalRegions::HexExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdSegExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::SegExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1310 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for "
"specific element types");
}
void Nektar::StdRegions::StdExpansion::v_PhysDeriv_n ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_dn 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1298 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by PhysDeriv_n().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for "
"local expansions");
}
void Nektar::StdRegions::StdExpansion::v_PhysDeriv_s ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_ds 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1292 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by PhysDeriv_s().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for "
"local expansions");
}
void Nektar::StdRegions::StdExpansion::v_PhysDirectionalDeriv ( const Array< OneD, const NekDouble > &  inarray,
const Array< OneD, const NekDouble > &  direction,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Physical derivative along a direction vector.

See Also
StdRegions::StdExpansion::PhysDirectionalDeriv

Reimplemented in Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::TriExp.

Definition at line 1323 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by PhysDirectionalDeriv().

{
NEKERROR(ErrorUtil::efatal, "This function is only valid for "
"specific element types");
}
NekDouble Nektar::StdRegions::StdExpansion::v_PhysEvaluate ( const Array< OneD, const NekDouble > &  coords,
const Array< OneD, const NekDouble > &  physvals 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdExpansion3D, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::QuadExp, Nektar::StdRegions::StdExpansion2D, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::TetExp, Nektar::StdRegions::StdExpansion1D, and Nektar::StdRegions::StdExpansion0D.

Definition at line 1347 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by PhysEvaluate().

{
NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
return 0;
}
NekDouble Nektar::StdRegions::StdExpansion::v_PhysEvaluate ( const Array< OneD, DNekMatSharedPtr > &  I,
const Array< OneD, const NekDouble > &  physvals 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D, and Nektar::StdRegions::StdExpansion2D.

Definition at line 1354 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

{
NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
return 0;
}
void Nektar::StdRegions::StdExpansion::v_ReduceOrderCoeffs ( int  numMin,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::HexExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::PrismExp, and Nektar::LocalRegions::TetExp.

Definition at line 1556 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by ReduceOrderCoeffs().

{
ASSERTL0(false, "This function is not defined in StdExpansion.");
}
void Nektar::StdRegions::StdExpansion::v_SetCoeffsToOrientation ( StdRegions::Orientation  dir,
Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
protectedvirtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1059 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by SetCoeffsToOrientation().

{
NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
}
void Nektar::StdRegions::StdExpansion::v_SetCoeffsToOrientation ( Array< OneD, NekDouble > &  coeffs,
StdRegions::Orientation  dir 
)
protectedvirtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1066 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

{
NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
}
void Nektar::StdRegions::StdExpansion::v_SetPhysNormals ( Array< OneD, const NekDouble > &  normal)
virtual

Definition at line 981 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by SetPhysNormals().

{
NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
}
void Nektar::StdRegions::StdExpansion::v_SetUpPhysNormals ( const int  edge)
virtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 986 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by SetUpPhysNormals().

{
NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
}
void Nektar::StdRegions::StdExpansion::v_StdPhysDeriv ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_d1,
Array< OneD, NekDouble > &  out_d2,
Array< OneD, NekDouble > &  out_d3 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1331 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by StdPhysDeriv().

{
NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
}
void Nektar::StdRegions::StdExpansion::v_StdPhysDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1339 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

{
NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
}
NekDouble Nektar::StdRegions::StdExpansion::v_StdPhysEvaluate ( const Array< OneD, const NekDouble > &  Lcoord,
const Array< OneD, const NekDouble > &  physvals 
)
protectedvirtual

Reimplemented in Nektar::LocalRegions::TriExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::TetExp, and Nektar::LocalRegions::QuadExp.

Definition at line 1074 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by StdPhysEvaluate().

{
NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
return 0;
}
void Nektar::StdRegions::StdExpansion::v_SVVLaplacianFilter ( Array< OneD, NekDouble > &  array,
const StdMatrixKey mkey 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdPrismExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1550 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by SVVLaplacianFilter().

{
ASSERTL0(false, "This function is not defined in StdExpansion.");
}
void Nektar::StdRegions::StdExpansion::v_WeakDerivMatrixOp ( const int  i,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdTriExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::HexExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1573 of file StdExpansion.cpp.

References WeakDerivMatrixOp_MatFree().

Referenced by WeakDerivMatrixOp().

{
// If this function is not reimplemented on shape level, the function
// below will be called
WeakDerivMatrixOp_MatFree(i,inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::v_WeakDirectionalDerivMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, and Nektar::LocalRegions::HexExp.

Definition at line 1584 of file StdExpansion.cpp.

References WeakDirectionalDerivMatrixOp_MatFree().

Referenced by WeakDirectionalDerivMatrixOp().

{
// If this function is not reimplemented on shape level, the function
// below will be called
WeakDirectionalDerivMatrixOp_MatFree(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::WeakDerivMatrixOp ( const int  i,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inline

Reimplemented in Nektar::LocalRegions::NodalTriExp.

Definition at line 950 of file StdExpansion.h.

References v_WeakDerivMatrixOp().

Referenced by GeneralMatrixOp().

{
v_WeakDerivMatrixOp(i,inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::WeakDerivMatrixOp_MatFree ( const int  i,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
protected

Definition at line 755 of file StdExpansion.cpp.

References Nektar::StdRegions::eVarCoeffD00, Nektar::StdRegions::eVarCoeffD11, Nektar::StdRegions::eVarCoeffD22, GetTotPoints(), Nektar::StdRegions::StdMatrixKey::GetVarCoeff(), Nektar::StdRegions::StdMatrixKey::HasVarCoeff(), v_BwdTrans(), v_IProductWRTBase(), v_PhysDeriv(), and Vmath::Vmul().

Referenced by GeneralMatrixOp_MatFree(), Nektar::StdRegions::StdNodalTriExp::v_WeakDerivMatrixOp(), Nektar::LocalRegions::HexExp::v_WeakDerivMatrixOp(), Nektar::StdRegions::StdQuadExp::v_WeakDerivMatrixOp(), Nektar::LocalRegions::TriExp::v_WeakDerivMatrixOp(), Nektar::LocalRegions::QuadExp::v_WeakDerivMatrixOp(), Nektar::StdRegions::StdTriExp::v_WeakDerivMatrixOp(), Nektar::StdRegions::StdHexExp::v_WeakDerivMatrixOp(), v_WeakDerivMatrixOp(), and Nektar::LocalRegions::NodalTriExp::WeakDerivMatrixOp().

{
Array<OneD, NekDouble> tmp(GetTotPoints());
int nq = GetTotPoints();
v_BwdTrans(inarray,tmp);
v_PhysDeriv(k1,tmp,tmp);
if(mkey.HasVarCoeff(keys[k1]))
{
Vmath::Vmul(nq, &(mkey.GetVarCoeff(keys[k1]))[0], 1, &tmp[0], 1, &tmp[0], 1);
}
v_IProductWRTBase(tmp, outarray);
}
void Nektar::StdRegions::StdExpansion::WeakDirectionalDerivMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inline

Definition at line 958 of file StdExpansion.h.

References v_WeakDirectionalDerivMatrixOp().

Referenced by GeneralMatrixOp().

{
v_WeakDirectionalDerivMatrixOp(inarray,outarray,mkey);
}
void Nektar::StdRegions::StdExpansion::WeakDirectionalDerivMatrixOp_MatFree ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
protected

Definition at line 775 of file StdExpansion.cpp.

References GetTotPoints(), v_BwdTrans(), and v_IProductWRTBase().

Referenced by GeneralMatrixOp_MatFree(), Nektar::LocalRegions::HexExp::v_WeakDirectionalDerivMatrixOp(), Nektar::LocalRegions::TriExp::v_WeakDirectionalDerivMatrixOp(), Nektar::LocalRegions::QuadExp::v_WeakDirectionalDerivMatrixOp(), and v_WeakDirectionalDerivMatrixOp().

{
int nq = GetTotPoints();
// int varsize = ((mkey.GetVariableCoefficient(0)).num_elements())/dim;
Array<OneD, NekDouble> tmp(nq);
v_BwdTrans(inarray,tmp);
// For Deformed mesh ==============
// if (varsize==nq)
// {
// v_PhysDirectionalDeriv(tmp,mkey.GetVariableCoefficient(0),tmp);
// }
//
// // For Regular mesh ==========
// else
// {
// ASSERTL0(false, "Wrong route");
// }
v_IProductWRTBase(tmp, outarray);
}

Member Data Documentation

Array<OneD, LibUtilities::BasisSharedPtr> Nektar::StdRegions::StdExpansion::m_base
protected

Bases needed for the expansion

Definition at line 1313 of file StdExpansion.h.

Referenced by Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStdMatrix(), EvalBasisNumModesMax(), Nektar::LocalRegions::Expansion::Expansion(), GetBase(), GetBasis(), GetBasisNumModes(), GetBasisType(), Nektar::StdRegions::StdPrismExp::GetMode(), Nektar::StdRegions::StdTetExp::GetMode(), GetNumBases(), GetNumPoints(), GetPoints(), GetPointsKeys(), GetPointsType(), Nektar::StdRegions::StdPyrExp::GetTetMode(), GetTotPoints(), Nektar::LocalRegions::NodalTriExp::Integral(), Nektar::StdRegions::StdExpansion2D::Integral(), Nektar::LocalRegions::NodalTriExp::IProductWRTBase_SumFac(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::PhysDeriv(), Nektar::StdRegions::StdExpansion0D::PhysTensorDeriv(), Nektar::StdRegions::StdExpansion1D::PhysTensorDeriv(), Nektar::StdRegions::StdExpansion2D::PhysTensorDeriv(), Nektar::StdRegions::StdExpansion3D::PhysTensorDeriv(), StdExpansion(), Nektar::StdRegions::StdNodalTriExp::StdNodalTriExp(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_AddFaceNormBoundaryInt(), Nektar::StdRegions::StdPointExp::v_BwdTrans(), Nektar::StdRegions::StdHexExp::v_BwdTrans(), Nektar::StdRegions::StdQuadExp::v_BwdTrans(), Nektar::StdRegions::StdPrismExp::v_BwdTrans(), Nektar::StdRegions::StdTetExp::v_BwdTrans(), Nektar::StdRegions::StdSegExp::v_BwdTrans(), Nektar::StdRegions::StdPyrExp::v_BwdTrans(), Nektar::StdRegions::StdHexExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdPrismExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdQuadExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdPyrExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdHexExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_BwdTrans_SumFacKernel(), Nektar::LocalRegions::TriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::QuadExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::NodalTriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::PyrExp::v_ComputeFaceNormal(), Nektar::LocalRegions::TetExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeFaceNormal(), Nektar::LocalRegions::HexExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::SegExp::v_ComputeVertexNormal(), Nektar::LocalRegions::PyrExp::v_CreateStdMatrix(), Nektar::LocalRegions::PrismExp::v_CreateStdMatrix(), Nektar::LocalRegions::TetExp::v_CreateStdMatrix(), Nektar::LocalRegions::TriExp::v_CreateStdMatrix(), Nektar::LocalRegions::QuadExp::v_CreateStdMatrix(), Nektar::LocalRegions::SegExp::v_CreateStdMatrix(), Nektar::LocalRegions::HexExp::v_CreateStdMatrix(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::LocalRegions::TetExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::PrismExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TriExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::SegExp::v_ExtractDataToCoeffs(), Nektar::StdRegions::StdTriExp::v_FillMode(), Nektar::StdRegions::StdQuadExp::v_FillMode(), Nektar::StdRegions::StdSegExp::v_FillMode(), Nektar::StdRegions::StdHexExp::v_FillMode(), Nektar::StdRegions::StdPointExp::v_FwdTrans(), Nektar::LocalRegions::TetExp::v_FwdTrans(), Nektar::LocalRegions::PrismExp::v_FwdTrans(), Nektar::LocalRegions::PyrExp::v_FwdTrans(), Nektar::LocalRegions::SegExp::v_FwdTrans(), Nektar::LocalRegions::QuadExp::v_FwdTrans(), Nektar::LocalRegions::HexExp::v_FwdTrans(), Nektar::StdRegions::StdSegExp::v_FwdTrans(), Nektar::StdRegions::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdQuadExp::v_FwdTrans(), Nektar::StdRegions::StdPointExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdSegExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::LocalRegions::TriExp::v_GetBasis(), Nektar::LocalRegions::QuadExp::v_GetBasis(), Nektar::StdRegions::StdSegExp::v_GetBoundaryMap(), Nektar::StdRegions::StdQuadExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTriExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPrismExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTetExp::v_GetBoundaryMap(), Nektar::StdRegions::StdHexExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPointExp::v_GetCoords(), Nektar::LocalRegions::Expansion::v_GetCoords(), Nektar::StdRegions::StdPrismExp::v_GetCoords(), Nektar::StdRegions::StdTetExp::v_GetCoords(), Nektar::StdRegions::StdSegExp::v_GetCoords(), Nektar::StdRegions::StdTriExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetCoords(), Nektar::StdRegions::StdPyrExp::v_GetCoords(), Nektar::StdRegions::StdHexExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdPyrExp::v_GetEdgeInteriorMap(), Nektar::LocalRegions::QuadExp::v_GetEdgeInterpVals(), Nektar::StdRegions::StdTetExp::v_GetEdgeNcoeffs(), Nektar::LocalRegions::QuadExp::v_GetEdgePhysVals(), Nektar::LocalRegions::TriExp::v_GetEdgePhysVals(), Nektar::LocalRegions::QuadExp::v_GetEdgeQFactors(), Nektar::StdRegions::StdTriExp::v_GetEdgeToElementMap(), Nektar::StdRegions::StdQuadExp::v_GetEdgeToElementMap(), Nektar::StdRegions::StdPrismExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdPyrExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetFaceIntNcoeffs(), Nektar::StdRegions::StdPyrExp::v_GetFaceIntNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetFaceNumPoints(), Nektar::StdRegions::StdHexExp::v_GetFaceNumPoints(), Nektar::StdRegions::StdTetExp::v_GetFaceNumPoints(), Nektar::LocalRegions::PyrExp::v_GetFacePhysVals(), Nektar::LocalRegions::TetExp::v_GetFacePhysVals(), Nektar::LocalRegions::PrismExp::v_GetFacePhysVals(), Nektar::LocalRegions::HexExp::v_GetFacePhysVals(), Nektar::StdRegions::StdPrismExp::v_GetFacePointsKey(), Nektar::StdRegions::StdHexExp::v_GetFacePointsKey(), Nektar::StdRegions::StdTetExp::v_GetFacePointsKey(), Nektar::StdRegions::StdPrismExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdHexExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdTetExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdPyrExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdQuadExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetTotalEdgeIntNcoeffs(), Nektar::StdRegions::StdTetExp::v_GetTotalFaceIntNcoeffs(), Nektar::StdRegions::StdSegExp::v_GetVertexMap(), Nektar::StdRegions::StdQuadExp::v_GetVertexMap(), Nektar::StdRegions::StdTriExp::v_GetVertexMap(), Nektar::StdRegions::StdHexExp::v_GetVertexMap(), Nektar::LocalRegions::SegExp::v_GetVertexPhysVals(), Nektar::StdRegions::StdSegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::StdRegions::StdExpansion2D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdTriExp::v_Integral(), Nektar::StdRegions::StdQuadExp::v_Integral(), Nektar::LocalRegions::SegExp::v_Integral(), Nektar::LocalRegions::PrismExp::v_Integral(), Nektar::LocalRegions::TetExp::v_Integral(), Nektar::LocalRegions::PyrExp::v_Integral(), Nektar::LocalRegions::TriExp::v_Integral(), Nektar::LocalRegions::QuadExp::v_Integral(), Nektar::StdRegions::StdSegExp::v_Integral(), Nektar::LocalRegions::HexExp::v_Integral(), Nektar::StdRegions::StdPointExp::v_IProductWRTBase(), Nektar::LocalRegions::PyrExp::v_IProductWRTBase(), Nektar::LocalRegions::SegExp::v_IProductWRTBase(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase(), Nektar::LocalRegions::TetExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::PrismExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPointExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::HexExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase_SumFacKernel(), Nektar::LocalRegions::TetExp::v_IProductWRTDerivBase(), Nektar::StdRegions::StdPointExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::SegExp::v_IProductWRTDerivBase(), Nektar::StdRegions::StdSegExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::PrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPyrExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdTriExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdPrismExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdHexExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdSegExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdTetExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdSegExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), Nektar::StdRegions::StdExpansion2D::v_LaplacianMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_LaplacianMatrixOp_MatFree(), Nektar::LocalRegions::PyrExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::PrismExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TetExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TriExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::QuadExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::HexExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::StdRegions::StdPyrExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdPrismExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdTetExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdQuadExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdTriExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdHexExp::v_MultiplyByStdQuadratureMetric(), Nektar::LocalRegions::SegExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::TriExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::QuadExp::v_NormVectorIProductWRTBase(), Nektar::StdRegions::StdPrismExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdHexExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdTetExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdPyrExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdPrismExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdHexExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdTetExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdTriExp::v_PhysDeriv(), Nektar::StdRegions::StdPrismExp::v_PhysDeriv(), Nektar::LocalRegions::SegExp::v_PhysDeriv(), Nektar::LocalRegions::TetExp::v_PhysDeriv(), Nektar::LocalRegions::PyrExp::v_PhysDeriv(), Nektar::LocalRegions::TriExp::v_PhysDeriv(), Nektar::LocalRegions::QuadExp::v_PhysDeriv(), Nektar::StdRegions::StdTetExp::v_PhysDeriv(), Nektar::LocalRegions::HexExp::v_PhysDeriv(), Nektar::StdRegions::StdPyrExp::v_PhysDeriv(), Nektar::LocalRegions::SegExp::v_PhysDeriv_n(), Nektar::LocalRegions::SegExp::v_PhysDeriv_s(), Nektar::LocalRegions::TriExp::v_PhysDirectionalDeriv(), Nektar::LocalRegions::QuadExp::v_PhysDirectionalDeriv(), Nektar::StdRegions::StdExpansion0D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion1D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion2D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion3D::v_PhysEvaluate(), Nektar::LocalRegions::TetExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::PrismExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTriExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::HexExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdQuadExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::TriExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::QuadExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

int Nektar::StdRegions::StdExpansion::m_elmt_id
protected

Definition at line 1314 of file StdExpansion.h.

Referenced by GetElmtId(), SetElmtId(), and v_GetElmtId().

LibUtilities::NekManager<IndexMapKey, IndexMapValues, IndexMapKey::opLess> Nektar::StdRegions::StdExpansion::m_IndexMapManager
protected

Definition at line 1318 of file StdExpansion.h.

Referenced by GetIndexMap().

int Nektar::StdRegions::StdExpansion::m_ncoeffs
protected

Total number of coefficients used in the expansion

Definition at line 1315 of file StdExpansion.h.

Referenced by BwdTrans_MatOp(), CreateGeneralMatrix(), Nektar::LocalRegions::PyrExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TetExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PrismExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::QuadExp::CreateStaticCondMatrix(), Nektar::LocalRegions::SegExp::CreateStaticCondMatrix(), Nektar::LocalRegions::HexExp::CreateStaticCondMatrix(), CreateStdStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::FwdTrans(), Nektar::LocalRegions::NodalTriExp::GeneralMatrixOp_MatOp(), Nektar::LocalRegions::TetExp::GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdNodalPrismExp::GenNBasisTransMatrix(), Nektar::StdRegions::StdNodalTetExp::GenNBasisTransMatrix(), Nektar::StdRegions::StdNodalTriExp::GenNBasisTransMatrix(), GetNcoeffs(), HelmholtzMatrixOp_MatFree_GenericImpl(), Nektar::LocalRegions::NodalTriExp::IProductWRTBase_MatOp(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_SumFac(), LaplacianMatrixOp_MatFree_GenericImpl(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), Nektar::StdRegions::StdNodalPrismExp::ModalToNodal(), Nektar::StdRegions::StdNodalTetExp::ModalToNodal(), Nektar::StdRegions::StdNodalTriExp::ModalToNodal(), Nektar::LocalRegions::SegExp::MultiplyByElmtInvMass(), Nektar::StdRegions::StdNodalTetExp::NodalToModal(), Nektar::StdRegions::StdNodalPrismExp::NodalToModal(), Nektar::StdRegions::StdNodalTriExp::NodalToModal(), Nektar::StdRegions::StdNodalTetExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalPrismExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalTriExp::NodalToModalTranspose(), Nektar::LocalRegions::PointExp::PointExp(), Nektar::LocalRegions::SegExp::ReverseCoeffsAndSign(), Nektar::StdRegions::StdPyrExp::StdPyrExp(), Nektar::StdRegions::StdPointExp::v_BwdTrans(), Nektar::StdRegions::StdSegExp::v_BwdTrans(), Nektar::StdRegions::StdNodalPrismExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdNodalTetExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdNodalTriExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdHexExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_BwdTrans_SumFacKernel(), Nektar::LocalRegions::TetExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::PrismExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TriExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::SegExp::v_ExtractDataToCoeffs(), Nektar::StdRegions::StdNodalTetExp::v_FillMode(), Nektar::StdRegions::StdNodalTriExp::v_FillMode(), Nektar::StdRegions::StdNodalPrismExp::v_FillMode(), Nektar::StdRegions::StdTriExp::v_FillMode(), Nektar::StdRegions::StdQuadExp::v_FillMode(), Nektar::StdRegions::StdPrismExp::v_FillMode(), Nektar::StdRegions::StdHexExp::v_FillMode(), Nektar::StdRegions::StdSegExp::v_FillMode(), Nektar::StdRegions::StdTetExp::v_FillMode(), Nektar::StdRegions::StdPyrExp::v_FillMode(), Nektar::StdRegions::StdPointExp::v_FwdTrans(), Nektar::LocalRegions::TetExp::v_FwdTrans(), Nektar::LocalRegions::PrismExp::v_FwdTrans(), Nektar::LocalRegions::PyrExp::v_FwdTrans(), Nektar::StdRegions::StdNodalPrismExp::v_FwdTrans(), Nektar::StdRegions::StdNodalTetExp::v_FwdTrans(), Nektar::StdRegions::StdNodalTriExp::v_FwdTrans(), Nektar::LocalRegions::SegExp::v_FwdTrans(), Nektar::LocalRegions::TriExp::v_FwdTrans(), Nektar::LocalRegions::QuadExp::v_FwdTrans(), Nektar::LocalRegions::HexExp::v_FwdTrans(), Nektar::StdRegions::StdTriExp::v_FwdTrans(), Nektar::StdRegions::StdSegExp::v_FwdTrans(), Nektar::StdRegions::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdPrismExp::v_FwdTrans(), Nektar::StdRegions::StdQuadExp::v_FwdTrans(), Nektar::StdRegions::StdTetExp::v_FwdTrans(), Nektar::StdRegions::StdPyrExp::v_FwdTrans(), Nektar::StdRegions::StdPointExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdSegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::PrismExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::HexExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdQuadExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::TriExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdTriExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::QuadExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdHexExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::StdRegions::StdPointExp::v_GenMatrix(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdNodalPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdNodalTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetInteriorMap(), Nektar::StdRegions::StdPyrExp::v_GetInteriorMap(), Nektar::LocalRegions::SegExp::v_GetNcoeffs(), Nektar::StdRegions::StdSegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::StdRegions::StdExpansion2D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdPointExp::v_IProductWRTBase(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFacKernel(), Nektar::LocalRegions::TetExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::PrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPyrExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdExpansion2D::v_LaplacianMatrixOp_MatFree(), Nektar::LocalRegions::PyrExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::PrismExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TetExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TriExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::QuadExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::HexExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TetExp::v_ReduceOrderCoeffs(), and Nektar::LocalRegions::PrismExp::v_ReduceOrderCoeffs().

LibUtilities::NekManager<StdMatrixKey, DNekMat, StdMatrixKey::opLess> Nektar::StdRegions::StdExpansion::m_stdMatrixManager
protected

Definition at line 1316 of file StdExpansion.h.

Referenced by GetStdMatrix(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::StdRegions::StdQuadExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdTriExp::v_GeneralMatrixOp_MatOp(), and Nektar::StdRegions::StdHexExp::v_GeneralMatrixOp_MatOp().

LibUtilities::NekManager<StdMatrixKey, DNekBlkMat, StdMatrixKey::opLess> Nektar::StdRegions::StdExpansion::m_stdStaticCondMatrixManager
protected

Definition at line 1317 of file StdExpansion.h.

Referenced by GetStdStaticCondMatrix(), Nektar::StdRegions::StdPointExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTrans_BndConstrained(), and Nektar::StdRegions::StdSegExp::v_FwdTrans_BndConstrained().