Nektar++
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
Nektar::StdRegions::StdExpansion Class Referenceabstract

The base class for all shapes. More...

#include <StdExpansion.h>

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

Public Member Functions

 StdExpansion ()
 Default Constructor. More...
 
 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. More...
 
 StdExpansion (const StdExpansion &T)
 Copy Constructor. More...
 
virtual ~StdExpansion ()
 Destructor. More...
 
int GetNumBases () const
 This function returns the number of 1D bases used in the expansion. More...
 
const Array< OneD, const LibUtilities::BasisSharedPtr > & GetBase () const
 This function gets the shared point to basis. More...
 
const LibUtilities::BasisSharedPtrGetBasis (int dir) const
 This function gets the shared point to basis in the dir direction. More...
 
int GetNcoeffs (void) const
 This function returns the total number of coefficients used in the expansion. More...
 
int GetTotPoints () const
 This function returns the total number of quadrature points used in the element. More...
 
LibUtilities::BasisType GetBasisType (const int dir) const
 This function returns the type of basis used in the dir direction. More...
 
int GetBasisNumModes (const int dir) const
 This function returns the number of expansion modes in the dir direction. More...
 
int EvalBasisNumModesMax (void) const
 This function returns the maximum number of expansion modes over all local directions. More...
 
LibUtilities::PointsType GetPointsType (const int dir) const
 This function returns the type of quadrature points used in the dir direction. More...
 
int GetNumPoints (const int dir) const
 This function returns the number of quadrature points in the dir direction. More...
 
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. More...
 
int GetNverts () const
 This function returns the number of vertices of the expansion domain. More...
 
int GetNedges () const
 This function returns the number of edges of the expansion domain. More...
 
int GetEdgeNcoeffs (const int i) const
 This function returns the number of expansion coefficients belonging to the i-th edge. More...
 
int GetTotalEdgeIntNcoeffs () const
 
int GetEdgeNumPoints (const int i) const
 This function returns the number of quadrature points belonging to the i-th edge. More...
 
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. More...
 
int GetFaceNcoeffs (const int i) const
 This function returns the number of expansion coefficients belonging to the i-th face. More...
 
int GetFaceIntNcoeffs (const int i) const
 
int GetTotalFaceIntNcoeffs () const
 
int GetTraceNcoeffs (const int i) const
 This function returns the number of expansion coefficients belonging to the i-th edge/face. More...
 
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. More...
 
const LibUtilities::PointsKey GetNodalPointsKey () const
 This function returns the type of expansion Nodal point type if defined. More...
 
int GetNfaces () const
 This function returns the number of faces of the expansion domain. More...
 
int GetNtrace () const
 Returns the number of trace elements connected to this element. More...
 
LibUtilities::ShapeType DetShapeType () const
 This function returns the shape of the expansion domain. More...
 
std::shared_ptr< StdExpansionGetStdExp (void) const
 
std::shared_ptr< StdExpansionGetLinStdExp (void) const
 
int GetShapeDimension () const
 
bool IsBoundaryInteriorExpansion ()
 
bool IsNodalNonTensorialExp ()
 
void BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 This function performs the Backward transformation from coefficient space to physical space. More...
 
void FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 This function performs the Forward transformation from physical space to coefficient space. More...
 
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. More...
 
void FillMode (const int mode, Array< OneD, NekDouble > &outarray)
 This function fills the array outarray with the mode-th mode of the expansion. More...
 
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 More...
 
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)
 
void IProductWRTDirectionalDerivBase (const Array< OneD, const NekDouble > &direction, 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. More...
 
void SetElmtId (const int id)
 Set the element id of this expansion when used in a list by returning value of m_elmt_id. More...
 
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 More...
 
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 More...
 
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, Array< OneD, NekDouble > &outarray)
 
void NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, 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)
 
void NormVectorIProductWRTBase (const Array< OneD, const Array< OneD, NekDouble > > &Fvec, Array< OneD, NekDouble > &outarray)
 
DNekScalBlkMatSharedPtr GetLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey)
 
void DropLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey)
 
StdRegions::Orientation GetForient (int face)
 
StdRegions::Orientation GetEorient (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)
 
NekDouble StdPhysEvaluate (const Array< OneD, const NekDouble > &Lcoord, const Array< OneD, const NekDouble > &physvals)
 
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 GetFaceNumModes (const int fid, const Orientation faceOrient, int &numModes0, int &numModes1)
 
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, int P=-1)
 
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. More...
 
void GetEdgePhysVals (const int edge, const std::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
void GetTracePhysVals (const int edge, const std::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). More...
 
void GetFacePhysVals (const int face, const std::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient=eNoOrientation)
 
void GetEdgePhysMap (const int edge, Array< OneD, int > &outarray)
 
void GetFacePhysMap (const int face, Array< OneD, int > &outarray)
 
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}\) More...
 
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 ExponentialFilter (Array< OneD, NekDouble > &array, const NekDouble alpha, const NekDouble exponent, const NekDouble cutoff)
 
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)
 
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. More...
 
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. More...
 
void LocCoordToLocCollapsed (const Array< OneD, const NekDouble > &xi, Array< OneD, NekDouble > &eta)
 Convert local cartesian coordinate xi into local collapsed coordinates eta. More...
 
virtual int v_GetElmtId ()
 Get the element id of this expansion when used in a list by returning value of m_elmt_id. More...
 
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_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, Array< OneD, NekDouble > &outarray)
 
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 void v_NormVectorIProductWRTBase (const Array< OneD, const Array< OneD, NekDouble > > &Fvec, Array< OneD, NekDouble > &outarray)
 
virtual DNekScalBlkMatSharedPtr v_GetLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey)
 
virtual void v_DropLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey)
 
virtual StdRegions::Orientation v_GetForient (int face)
 
virtual StdRegions::Orientation v_GetEorient (int edge)
 
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. More...
 
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. More...
 
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. More...
 
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)
 
bool FaceNormalNegated (const int face)
 
void ComputeVertexNormal (const int vertex)
 
void NegateVertexNormal (const int vertex)
 
bool VertexNormalNegated (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, int P1=-1, int P2=-1)
 
void GetInverseBoundaryMaps (Array< OneD, unsigned int > &vmap, Array< OneD, Array< OneD, unsigned int > > &emap, Array< OneD, Array< OneD, unsigned int > > &fmap)
 
DNekMatSharedPtr BuildInverseTransformationMatrix (const DNekScalMatSharedPtr &m_transformationmatrix)
 
void PhysInterpToSimplexEquiSpaced (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, int npset=-1)
 This function performs an interpolation from the physical space points provided at input into an array of equispaced points which are not the collapsed coordinate. So for a tetrahedron you will only get a tetrahedral number of values. More...
 
void GetSimplexEquiSpacedConnectivity (Array< OneD, int > &conn, bool standard=true)
 This function provides the connectivity of local simplices (triangles or tets) to connect the equispaced data points provided by PhysInterpToSimplexEquiSpaced. More...
 
void EquiSpacedToCoeffs (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 This function performs a projection/interpolation from the equispaced points sometimes used in post-processing onto the coefficient space. More...
 
template<class T >
std::shared_ptr< T > as ()
 
void IProductWRTBase_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool multiplybyweights=true)
 

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. More...
 
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. More...
 
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 IProductWRTDerivBase_SumFac (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
void IProductWRTDirectionalDerivBase_SumFac (const Array< OneD, const NekDouble > &direction, 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)
 

Protected Attributes

Array< OneD, LibUtilities::BasisSharedPtrm_base
 
int m_elmt_id
 
int m_ncoeffs
 
LibUtilities::NekManager< StdMatrixKey, DNekMat, StdMatrixKey::opLessm_stdMatrixManager
 
LibUtilities::NekManager< StdMatrixKey, DNekBlkMat, StdMatrixKey::opLessm_stdStaticCondMatrixManager
 
LibUtilities::NekManager< IndexMapKey, IndexMapValues, IndexMapKey::opLessm_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 int v_GetTraceNcoeffs (const int i) const
 
virtual LibUtilities::PointsKey v_GetFacePointsKey (const int i, const int j) const
 
virtual LibUtilities::BasisType v_GetEdgeBasisType (const int i) const
 
virtual const LibUtilities::PointsKey v_GetNodalPointsKey () const
 
virtual LibUtilities::ShapeType v_DetShapeType () const
 
virtual std::shared_ptr< StdExpansionv_GetStdExp (void) const
 
virtual std::shared_ptr< StdExpansionv_GetLinStdExp (void) const
 
virtual int v_GetShapeDimension () const
 
virtual bool v_IsBoundaryInteriorExpansion ()
 
virtual bool v_IsNodalNonTensorialExp ()
 
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. More...
 
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. More...
 
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_IProductWRTDirectionalDerivBase (const Array< OneD, const NekDouble > &direction, 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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 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_GetFaceNumModes (const int fid, const Orientation faceOrient, int &numModes0, int &numModes1)
 
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, int P=-1)
 
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. More...
 
virtual void v_GetEdgePhysVals (const int edge, const std::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
virtual void v_GetTracePhysVals (const int edge, const std::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 std::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient)
 
virtual void v_GetEdgePhysMap (const int edge, Array< OneD, int > &outarray)
 
virtual void v_GetFacePhysMap (const int face, Array< OneD, int > &outarray)
 
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 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, bool multiplybyweights=true)
 
virtual void v_IProductWRTDerivBase_SumFac (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
virtual void v_IProductWRTDirectionalDerivBase_SumFac (const Array< OneD, const NekDouble > &direction, 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_ExponentialFilter (Array< OneD, NekDouble > &array, const NekDouble alpha, const NekDouble exponent, const NekDouble cutoff)
 
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 bool v_FaceNormalNegated (const int face)
 
virtual const NormalVectorv_GetVertexNormal (const int vertex) const
 
virtual void v_ComputeVertexNormal (const int vertex)
 
virtual void v_NegateVertexNormal (const int vertex)
 
virtual bool v_VertexNormalNegated (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, int P1=-1, int P2=-1)
 
virtual void v_GetInverseBoundaryMaps (Array< OneD, unsigned int > &vmap, Array< OneD, Array< OneD, unsigned int > > &emap, Array< OneD, Array< OneD, unsigned int > > &fmap)
 
virtual DNekMatSharedPtr v_BuildInverseTransformationMatrix (const DNekScalMatSharedPtr &m_transformationmatrix)
 
virtual void v_GetSimplexEquiSpacedConnectivity (Array< OneD, int > &conn, bool standard=true)
 

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 68 of file StdExpansion.h.

Constructor & Destructor Documentation

◆ StdExpansion() [1/3]

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

Default Constructor.

Definition at line 45 of file StdExpansion.cpp.

◆ StdExpansion() [2/3]

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 51 of file StdExpansion.cpp.

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

54  :
55  m_base(numbases),
56  m_elmt_id(0),
57  m_ncoeffs(numcoeffs),
59  std::bind(&StdExpansion::CreateStdMatrix, this, std::placeholders::_1),
60  std::string("StdExpansionStdMatrix")),
62  std::bind(&StdExpansion::CreateStdStaticCondMatrix, this, std::placeholders::_1),
63  std::string("StdExpansionStdStaticCondMatrix")),
65  std::bind(&StdExpansion::CreateIndexMap,this, std::placeholders::_1),
66  std::string("StdExpansionIndexMap"))
67  {
68  switch(m_base.num_elements())
69  {
70  case 3:
72  "NULL Basis attempting to be used.");
74  /* Falls through. */
75  case 2:
77  "NULL Basis attempting to be used.");
79  /* Falls through. */
80  case 1:
82  "NULL Basis attempting to be used.");
84  break;
85  default:
86  break;
87 // ASSERTL0(false, "numbases incorrectly specified");
88  };
89 
90  } //end constructor
DNekMatSharedPtr CreateStdMatrix(const StdMatrixKey &mkey)
LibUtilities::NekManager< IndexMapKey, IndexMapValues, IndexMapKey::opLess > m_IndexMapManager
LibUtilities::NekManager< StdMatrixKey, DNekBlkMat, StdMatrixKey::opLess > m_stdStaticCondMatrixManager
BasisManagerT & BasisManager(void)
IndexMapValuesSharedPtr CreateIndexMap(const IndexMapKey &ikey)
Create an IndexMap which contains mapping information linking any specific element shape with either ...
#define ASSERTL2(condition, msg)
Assert Level 2 – Debugging which is used FULLDEBUG compilation mode. This level assert is designed t...
Definition: ErrorUtil.hpp:274
DNekBlkMatSharedPtr CreateStdStaticCondMatrix(const StdMatrixKey &mkey)
Create the static condensation of a matrix when using a boundary interior decomposition.
static const BasisKey NullBasisKey(eNoBasisType, 0, NullPointsKey)
Defines a null basis with no type or points.
LibUtilities::NekManager< StdMatrixKey, DNekMat, StdMatrixKey::opLess > m_stdMatrixManager
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ StdExpansion() [3/3]

Nektar::StdRegions::StdExpansion::StdExpansion ( const StdExpansion T)

Copy Constructor.

Definition at line 93 of file StdExpansion.cpp.

93  :
94  std::enable_shared_from_this<StdExpansion>(T),
95  m_base(T.m_base),
96  m_elmt_id(T.m_elmt_id),
97  m_ncoeffs(T.m_ncoeffs),
98  m_stdMatrixManager(T.m_stdMatrixManager),
99  m_stdStaticCondMatrixManager(T.m_stdStaticCondMatrixManager),
100  m_IndexMapManager(T.m_IndexMapManager)
101  {
102  }
LibUtilities::NekManager< IndexMapKey, IndexMapValues, IndexMapKey::opLess > m_IndexMapManager
LibUtilities::NekManager< StdMatrixKey, DNekBlkMat, StdMatrixKey::opLess > m_stdStaticCondMatrixManager
LibUtilities::NekManager< StdMatrixKey, DNekMat, StdMatrixKey::opLess > m_stdMatrixManager
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ ~StdExpansion()

Nektar::StdRegions::StdExpansion::~StdExpansion ( )
virtual

Destructor.

Definition at line 104 of file StdExpansion.cpp.

105  {
106  }

Member Function Documentation

◆ AddRobinEdgeContribution()

void Nektar::StdRegions::StdExpansion::AddRobinEdgeContribution ( const int  edgeid,
const Array< OneD, const NekDouble > &  primCoeffs,
Array< OneD, NekDouble > &  coeffs 
)
inline

Definition at line 1119 of file StdExpansion.h.

1120  {
1121  v_AddRobinEdgeContribution(edgeid, primCoeffs, coeffs);
1122  }
virtual void v_AddRobinEdgeContribution(const int edgeid, const Array< OneD, const NekDouble > &primCoeffs, Array< OneD, NekDouble > &coeffs)

◆ AddRobinMassMatrix()

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

Definition at line 1114 of file StdExpansion.h.

1115  {
1116  v_AddRobinMassMatrix(edgeid,primCoeffs,inoutmat);
1117  }
virtual void v_AddRobinMassMatrix(const int edgeid, const Array< OneD, const NekDouble > &primCoeffs, DNekMatSharedPtr &inoutmat)

◆ as()

template<class T >
std::shared_ptr<T> Nektar::StdRegions::StdExpansion::as ( )
inline

Definition at line 1416 of file StdExpansion.h.

Referenced by Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner().

1417  {
1418  return std::dynamic_pointer_cast<T>( shared_from_this() );
1419  }

◆ BuildInverseTransformationMatrix()

DNekMatSharedPtr Nektar::StdRegions::StdExpansion::BuildInverseTransformationMatrix ( const DNekScalMatSharedPtr m_transformationmatrix)
inline

Definition at line 1364 of file StdExpansion.h.

References STD_REGIONS_EXPORT.

1366  {
1368  m_transformationmatrix);
1369  }
virtual DNekMatSharedPtr v_BuildInverseTransformationMatrix(const DNekScalMatSharedPtr &m_transformationmatrix)

◆ BwdTrans()

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 530 of file StdExpansion.h.

Referenced by Nektar::StdRegions::StdSegExp::v_ExponentialFilter(), Nektar::StdRegions::StdQuadExp::v_ExponentialFilter(), Nektar::StdRegions::StdHexExp::v_ExponentialFilter(), Nektar::LocalRegions::PyrExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), Nektar::StdRegions::StdPrismExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTetExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdPyrExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdSegExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPyrExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

532  {
533  v_BwdTrans (inarray, outarray);
534  }
virtual void v_BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0

◆ BwdTrans_MatOp()

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

Definition at line 957 of file StdExpansion.cpp.

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

959  {
960  int nq = GetTotPoints();
961  StdMatrixKey bwdtransmatkey(eBwdTrans,DetShapeType(),*this);
962  DNekMatSharedPtr bwdtransmat = GetStdMatrix(bwdtransmatkey);
963 
964  Blas::Dgemv('N',nq,m_ncoeffs,1.0,bwdtransmat->GetPtr().get(),
965  nq, inarray.get(), 1, 0.0, outarray.get(), 1);
966  }
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
Definition: StdExpansion.h:469
std::shared_ptr< DNekMat > DNekMatSharedPtr
Definition: NekTypeDefs.hpp:69
DNekMatSharedPtr GetStdMatrix(const StdMatrixKey &mkey)
Definition: StdExpansion.h:714
static void Dgemv(const char &trans, const int &m, const int &n, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
BLAS level 2: Matrix vector multiply y = A x where A[m x n].
Definition: Blas.hpp:168
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140

◆ BwdTrans_SumFac()

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

Definition at line 1467 of file StdExpansion.h.

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

1469  {
1470  v_BwdTrans_SumFac(inarray,outarray);
1471  }
virtual void v_BwdTrans_SumFac(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ CalcNumberOfCoefficients()

int Nektar::StdRegions::StdExpansion::CalcNumberOfCoefficients ( const std::vector< unsigned int > &  nummodes,
int &  modes_offset 
)
inline

Definition at line 796 of file StdExpansion.h.

References STD_REGIONS_EXPORT.

797  {
798  return v_CalcNumberOfCoefficients(nummodes,modes_offset);
799  }
virtual int v_CalcNumberOfCoefficients(const std::vector< unsigned int > &nummodes, int &modes_offset)

◆ ComputeEdgeNormal()

void Nektar::StdRegions::StdExpansion::ComputeEdgeNormal ( const int  edge)
inline

Definition at line 1270 of file StdExpansion.h.

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

1271  {
1272  v_ComputeEdgeNormal(edge);
1273  }
virtual void v_ComputeEdgeNormal(const int edge)

◆ ComputeFaceNormal()

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

Definition at line 1285 of file StdExpansion.h.

1286  {
1287  v_ComputeFaceNormal(face);
1288  }
virtual void v_ComputeFaceNormal(const int face)

◆ ComputeVertexNormal()

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

Definition at line 1300 of file StdExpansion.h.

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

1301  {
1302  v_ComputeVertexNormal(vertex);
1303  }
virtual void v_ComputeVertexNormal(const int vertex)

◆ CreateGeneralMatrix()

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 324 of file StdExpansion.cpp.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, BwdTrans_SumFac(), Nektar::StdRegions::eBwdTrans, Nektar::StdRegions::eEquiSpacedToCoeffs, Nektar::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, FillMode(), GeneralMatrixOp_MatFree(), Nektar::StdRegions::StdMatrixKey::GetMatrixType(), Nektar::StdRegions::StdMatrixKey::GetNodalPointsType(), Nektar::StdRegions::StdMatrixKey::GetShapeType(), GetStdMatrix(), GetTotPoints(), IProductWRTBase_SumFac(), IProductWRTDerivBase_SumFac(), m_base, m_ncoeffs, NEKERROR, Nektar::StdRegions::NullConstFactorMap, Nektar::StdRegions::NullVarCoeffMap, PhysInterpToSimplexEquiSpaced(), Vmath::Vcopy(), and Vmath::Zero().

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

325  {
326  int i;
327  DNekMatSharedPtr returnval;
328 
329  switch(mkey.GetMatrixType())
330  {
331  case eInvMass:
332  {
333  StdMatrixKey masskey(eMass,mkey.GetShapeType(),*this,NullConstFactorMap,NullVarCoeffMap,mkey.GetNodalPointsType());
334  DNekMatSharedPtr mmat = GetStdMatrix(masskey);
335 
336  returnval = MemoryManager<DNekMat>::AllocateSharedPtr(*mmat); //Populate standard mass matrix.
337  returnval->Invert();
338  }
339  break;
340  case eInvNBasisTrans:
341  {
342  StdMatrixKey tmpkey(eNBasisTrans,mkey.GetShapeType(),*this,NullConstFactorMap,NullVarCoeffMap,mkey.GetNodalPointsType());
343  DNekMatSharedPtr tmpmat = GetStdMatrix(tmpkey);
344  returnval = MemoryManager<DNekMat>::AllocateSharedPtr(*tmpmat); //Populate matrix.
345  returnval->Invert();
346  }
347  break;
348  case eBwdTrans:
349  {
350  int nq = GetTotPoints();
351  Array<OneD, NekDouble> tmpin(m_ncoeffs);
352  Array<OneD, NekDouble> tmpout(nq);
353 
355 
356  for(int i=0; i<m_ncoeffs; ++i)
357  {
358  Vmath::Zero(m_ncoeffs, tmpin, 1);
359  tmpin[i] = 1.0;
360 
361  BwdTrans_SumFac(tmpin,tmpout);
362 
363  Vmath::Vcopy(nq,tmpout.get(),1,
364  returnval->GetRawPtr()+i*nq,1);
365  }
366  }
367  break;
368  case eIProductWRTBase:
369  {
370  int nq = GetTotPoints();
371  Array<OneD, NekDouble> tmpin(nq);
372  Array<OneD, NekDouble> tmpout(m_ncoeffs);
373 
374  returnval = MemoryManager<DNekMat>::AllocateSharedPtr(m_ncoeffs,nq);
375 
376  for(i=0; i < nq; ++i)
377  {
378  Vmath::Zero(nq, tmpin, 1);
379  tmpin[i] = 1.0;
380 
381  IProductWRTBase_SumFac(tmpin,tmpout);
382 
383  Vmath::Vcopy(m_ncoeffs,tmpout.get(),1,
384  returnval->GetRawPtr()+i*m_ncoeffs,1);
385  }
386  }
387  break;
389  {
390  int nq = GetTotPoints();
391  Array<OneD, NekDouble> tmpin(nq);
392  Array<OneD, NekDouble> tmpout(m_ncoeffs);
393 
394  returnval = MemoryManager<DNekMat>::AllocateSharedPtr(nq,m_ncoeffs);
395 
396  for(i=0; i < nq; ++i)
397  {
398  Vmath::Zero(nq, tmpin, 1);
399  tmpin[i] = 1.0;
400 
401  IProductWRTDerivBase_SumFac(0,tmpin,tmpout);
402 
403  Vmath::Vcopy(m_ncoeffs,tmpout.get(),1,
404  returnval->GetRawPtr()+i*m_ncoeffs,1);
405  }
406  }
407  break;
409  {
410  int nq = GetTotPoints();
411  Array<OneD, NekDouble> tmpin(nq);
412  Array<OneD, NekDouble> tmpout(m_ncoeffs);
413 
414  returnval = MemoryManager<DNekMat>::AllocateSharedPtr(nq,m_ncoeffs);
415 
416  for(i=0; i < nq; ++i)
417  {
418  Vmath::Zero(nq, tmpin, 1);
419  tmpin[i] = 1.0;
420 
421  IProductWRTDerivBase_SumFac(1,tmpin,tmpout);
422 
423  Vmath::Vcopy(m_ncoeffs,tmpout.get(),1,
424  returnval->GetRawPtr()+i*m_ncoeffs,1);
425  }
426  }
427  break;
429  {
430  int nq = GetTotPoints();
431  Array<OneD, NekDouble> tmpin(nq);
432  Array<OneD, NekDouble> tmpout(m_ncoeffs);
433 
434  returnval = MemoryManager<DNekMat>::AllocateSharedPtr(nq,m_ncoeffs);
435 
436  for(i=0; i < nq; ++i)
437  {
438  Vmath::Zero(nq, tmpin, 1);
439  tmpin[i] = 1.0;
440 
441  IProductWRTDerivBase_SumFac(2,tmpin,tmpout);
442 
443  Vmath::Vcopy(m_ncoeffs,tmpout.get(),1,
444  returnval->GetRawPtr()+i*m_ncoeffs,1);
445  }
446  }
447  break;
448  case eEquiSpacedToCoeffs:
449  {
450  // check to see if equispaced basis
451  int nummodes = m_base[0]->GetNumModes();
452  bool equispaced = true;
453  for(int i = 1; i < m_base.num_elements(); ++i)
454  {
455  if(m_base[i]->GetNumModes() != nummodes)
456  {
457  equispaced = false;
458  }
459  }
460 
461  ASSERTL0(equispaced,
462  "Currently need to have same num modes in all "
463  "directionmodes to use EquiSpacedToCoeff method");
464 
465  int ntot = GetTotPoints();
466  Array<OneD, NekDouble> qmode(ntot);
467  Array<OneD, NekDouble> emode(m_ncoeffs);
468 
470  m_ncoeffs,m_ncoeffs);
471  for(int i = 0; i < m_ncoeffs; ++i)
472  {
473  // Get mode at quadrature points
474  FillMode(i,qmode);
475 
476  // interpolate to equi spaced
477  PhysInterpToSimplexEquiSpaced(qmode,emode,nummodes);
478 
479  // fill matrix
480  Vmath::Vcopy(m_ncoeffs, &emode[0], 1,
481  returnval->GetRawPtr() + i*m_ncoeffs, 1);
482  }
483  // invert matrix
484  returnval->Invert();
485 
486  }
487  break;
488  case eMass:
489  case eHelmholtz:
490  case eLaplacian:
491  case eLaplacian00:
492  case eLaplacian01:
493  case eLaplacian02:
494  case eLaplacian11:
495  case eLaplacian12:
496  case eLaplacian22:
497  case eWeakDeriv0:
498  case eWeakDeriv1:
499  case eWeakDeriv2:
501  case eMassLevelCurvature:
504  {
505  Array<OneD, NekDouble> tmp(m_ncoeffs);
506  returnval = MemoryManager<DNekMat>::AllocateSharedPtr(m_ncoeffs,m_ncoeffs);
507  DNekMat &Mat = *returnval;
508 
509  for(i=0; i < m_ncoeffs; ++i)
510  {
511  Vmath::Zero(m_ncoeffs, tmp, 1);
512  tmp[i] = 1.0;
513 
514  GeneralMatrixOp_MatFree(tmp,tmp,mkey);
515 
516  Vmath::Vcopy(m_ncoeffs,&tmp[0],1,
517  &(Mat.GetPtr())[0]+i*m_ncoeffs,1);
518  }
519  }
520  break;
521  default:
522  {
523  NEKERROR(ErrorUtil::efatal, "This type of matrix can not be created using a general approach");
524  }
525  break;
526  }
527 
528  return returnval;
529  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209
void FillMode(const int mode, Array< OneD, NekDouble > &outarray)
This function fills the array outarray with the mode-th mode of the expansion.
Definition: StdExpansion.h:597
void IProductWRTDerivBase_SumFac(const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
std::shared_ptr< DNekMat > DNekMatSharedPtr
Definition: NekTypeDefs.hpp:69
DNekMatSharedPtr GetStdMatrix(const StdMatrixKey &mkey)
Definition: StdExpansion.h:714
void IProductWRTBase_SumFac(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool multiplybyweights=true)
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
NekMatrix< NekDouble, StandardMatrixTag > DNekMat
Definition: NekTypeDefs.hpp:51
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140
void Zero(int n, T *x, const int incx)
Zero vector.
Definition: Vmath.cpp:376
void PhysInterpToSimplexEquiSpaced(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, int npset=-1)
This function performs an interpolation from the physical space points provided at input into an arra...
Array< OneD, LibUtilities::BasisSharedPtr > m_base
void GeneralMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Definition: Vmath.cpp:1064
void BwdTrans_SumFac(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
static VarCoeffMap NullVarCoeffMap
Definition: StdRegions.hpp:265
static ConstFactorMap NullConstFactorMap
Definition: StdRegions.hpp:295

◆ CreateIndexMap()

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 262 of file StdExpansion.cpp.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), 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().

263  {
264  IndexMapValuesSharedPtr returnval;
265 
266  IndexMapType itype = ikey.GetIndexMapType();
267 
268  int entity = ikey.GetIndexEntity();
269 
270  Orientation orient = ikey.GetIndexOrientation();
271 
272  Array<OneD,unsigned int> map;
273  Array<OneD,int> sign;
274 
275  switch(itype)
276  {
277  case eEdgeToElement:
278  {
279  v_GetEdgeToElementMap(entity,orient,map,sign);
280  }
281  break;
282  case eFaceToElement:
283  {
284  v_GetFaceToElementMap(entity,orient,map,sign);
285  }
286  break;
287  case eEdgeInterior:
288  {
289  v_GetEdgeInteriorMap(entity,orient,map,sign);
290  }
291  break;
292  case eFaceInterior:
293  {
294  v_GetFaceInteriorMap(entity,orient,map,sign);
295  }
296  break;
297  case eBoundary:
298  {
299  ASSERTL0(false,"Boundary Index Map not implemented yet.");
300  }
301  break;
302  case eVertex:
303  {
304  ASSERTL0(false,"Vertex Index Map not implemented yet.");
305  }
306  break;
307  default:
308  {
309  ASSERTL0(false,"The Index Map you are requiring is not between the possible options.");
310  }
311  }
312 
313  returnval = MemoryManager<IndexMapValues>::AllocateSharedPtr(map.num_elements());
314 
315  for(int i = 0; i < map.num_elements(); i++)
316  {
317  (*returnval)[i].index = map[i];
318  (*returnval)[i].sign = sign[i];
319  }
320 
321  return returnval;
322  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
#define sign(a, b)
return the sign(b)*a
Definition: Polylib.cpp:16
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, int P=-1)
virtual void v_GetEdgeInteriorMap(const int eid, const Orientation edgeOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray)
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
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)
std::shared_ptr< IndexMapValues > IndexMapValuesSharedPtr
Definition: IndexMapKey.h:124

◆ CreateStdMatrix()

DNekMatSharedPtr Nektar::StdRegions::StdExpansion::CreateStdMatrix ( const StdMatrixKey mkey)
inlineprotected

Definition at line 1436 of file StdExpansion.h.

References STD_REGIONS_EXPORT.

1437  {
1438  return v_CreateStdMatrix(mkey);
1439  }
virtual DNekMatSharedPtr v_CreateStdMatrix(const StdMatrixKey &mkey)

◆ CreateStdStaticCondMatrix()

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 195 of file StdExpansion.cpp.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), GetBoundaryMap(), GetInteriorMap(), GetStdMatrix(), m_ncoeffs, and NumBndryCoeffs().

196  {
197  DNekBlkMatSharedPtr returnval;
198 
199  DNekMatSharedPtr mat = GetStdMatrix(mkey);
200  int nbdry = NumBndryCoeffs(); // also checks to see if this is a boundary interior decomposed expansion
201  int nint = m_ncoeffs - nbdry;
206 
207  int i,j;
208 
209  Array<OneD,unsigned int> bmap(nbdry);
210  Array<OneD,unsigned int> imap(nint);
211  GetBoundaryMap(bmap);
212  GetInteriorMap(imap);
213 
214  for(i = 0; i < nbdry; ++i)
215  {
216  for(j = 0; j < nbdry; ++j)
217  {
218  (*A)(i,j) = (*mat)(bmap[i],bmap[j]);
219  }
220 
221  for(j = 0; j < nint; ++j)
222  {
223  (*B)(i,j) = (*mat)(bmap[i],imap[j]);
224  }
225  }
226 
227  for(i = 0; i < nint; ++i)
228  {
229  for(j = 0; j < nbdry; ++j)
230  {
231  (*C)(i,j) = (*mat)(imap[i],bmap[j]);
232  }
233 
234  for(j = 0; j < nint; ++j)
235  {
236  (*D)(i,j) = (*mat)(imap[i],imap[j]);
237  }
238  }
239 
240  // Calculate static condensed system
241  if(nint)
242  {
243  D->Invert();
244  (*B) = (*B)*(*D);
245  (*A) = (*A) - (*B)*(*C);
246  }
247 
248  // set up block matrix system
249  Array<OneD, unsigned int> exp_size(2);
250  exp_size[0] = nbdry;
251  exp_size[1] = nint;
252  returnval = MemoryManager<DNekBlkMat>::AllocateSharedPtr(exp_size,exp_size);
253 
254  returnval->SetBlock(0,0,A);
255  returnval->SetBlock(0,1,B);
256  returnval->SetBlock(1,0,C);
257  returnval->SetBlock(1,1,D);
258 
259  return returnval;
260  }
std::shared_ptr< DNekMat > DNekMatSharedPtr
Definition: NekTypeDefs.hpp:69
std::shared_ptr< DNekBlkMat > DNekBlkMatSharedPtr
Definition: NekTypeDefs.hpp:71
DNekMatSharedPtr GetStdMatrix(const StdMatrixKey &mkey)
Definition: StdExpansion.h:714
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
void GetInteriorMap(Array< OneD, unsigned int > &outarray)
Definition: StdExpansion.h:817
void GetBoundaryMap(Array< OneD, unsigned int > &outarray)
Definition: StdExpansion.h:812

◆ DetCartesianDirOfEdge()

int Nektar::StdRegions::StdExpansion::DetCartesianDirOfEdge ( const int  edge)
inline

Definition at line 313 of file StdExpansion.h.

314  {
315  return v_DetCartesianDirOfEdge(edge);
316  }
virtual int v_DetCartesianDirOfEdge(const int edge)

◆ DetEdgeBasisKey()

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

Definition at line 318 of file StdExpansion.h.

319  {
320  return v_DetEdgeBasisKey(i);
321  }
virtual const LibUtilities::BasisKey v_DetEdgeBasisKey(const int i) const

◆ DetFaceBasisKey()

const LibUtilities::BasisKey Nektar::StdRegions::StdExpansion::DetFaceBasisKey ( const int  i,
const int  k 
) const
inline

◆ DetShapeType()

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

Definition at line 469 of file StdExpansion.h.

Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), BwdTrans_MatOp(), Nektar::LocalRegions::NodalTriExp::CreateMatrix(), Nektar::LocalRegions::PyrExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::HexExp::CreateMatrix(), EquiSpacedToCoeffs(), export_StdExpansion(), Nektar::LocalRegions::NodalTriExp::FwdTrans(), 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(), PhysInterpToSimplexEquiSpaced(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), 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::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdTriExp::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::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTrans_BndConstrained(), 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::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::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::StdHexExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), and Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp().

470  {
471  return v_DetShapeType();
472  }
virtual LibUtilities::ShapeType v_DetShapeType() const

◆ DropLocStaticCondMatrix()

void Nektar::StdRegions::StdExpansion::DropLocStaticCondMatrix ( const LocalRegions::MatrixKey mkey)
inline

Definition at line 766 of file StdExpansion.h.

767  {
768  return v_DropLocStaticCondMatrix(mkey);
769  }
virtual void v_DropLocStaticCondMatrix(const LocalRegions::MatrixKey &mkey)

◆ EdgeNormalNegated()

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

Definition at line 1280 of file StdExpansion.h.

1281  {
1282  return v_EdgeNormalNegated(edge);
1283  }
virtual bool v_EdgeNormalNegated(const int edge)

◆ EquiSpacedToCoeffs()

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

This function performs a projection/interpolation from the equispaced points sometimes used in post-processing onto the coefficient space.

This is primarily used for output purposes to use a more even distribution of points more suitable for alot of postprocessing

Definition at line 1947 of file StdExpansion.cpp.

References DetShapeType(), Nektar::StdRegions::eEquiSpacedToCoeffs, Nektar::StdRegions::eFactorConst, Nektar::eWrapper, GetStdMatrix(), m_base, and m_ncoeffs.

1950  {
1952 
1953  // inarray has to be consistent with NumModes definition
1954  // There is also a check in GetStdMatrix to see if all
1955  // modes are of the same size
1956  ConstFactorMap cmap;
1957 
1958  cmap[eFactorConst] = m_base[0]->GetNumModes();
1959  StdMatrixKey Ikey(eEquiSpacedToCoeffs, shape, *this,cmap);
1960  DNekMatSharedPtr intmat = GetStdMatrix(Ikey);
1961 
1962  NekVector<NekDouble> in (m_ncoeffs, inarray, eWrapper);
1963  NekVector<NekDouble> out(m_ncoeffs, outarray,eWrapper);
1964  out = (*intmat) * in;
1965  }
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
Definition: StdExpansion.h:469
std::map< ConstFactorType, NekDouble > ConstFactorMap
Definition: StdRegions.hpp:294
std::shared_ptr< DNekMat > DNekMatSharedPtr
Definition: NekTypeDefs.hpp:69
DNekMatSharedPtr GetStdMatrix(const StdMatrixKey &mkey)
Definition: StdExpansion.h:714
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ EvalBasisNumModesMax()

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 190 of file StdExpansion.h.

191  {
192  int i;
193  int returnval = 0;
194 
195  for(i = 0; i < m_base.num_elements(); ++i)
196  {
197  returnval = std::max(returnval, m_base[i]->GetNumModes());
198  }
199 
200  return returnval;
201  }
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ ExponentialFilter()

void Nektar::StdRegions::StdExpansion::ExponentialFilter ( Array< OneD, NekDouble > &  array,
const NekDouble  alpha,
const NekDouble  exponent,
const NekDouble  cutoff 
)
inline

Definition at line 1001 of file StdExpansion.h.

1005  {
1006  v_ExponentialFilter(array, alpha, exponent, cutoff);
1007  }
virtual void v_ExponentialFilter(Array< OneD, NekDouble > &array, const NekDouble alpha, const NekDouble exponent, const NekDouble cutoff)

◆ FaceNormalNegated()

bool Nektar::StdRegions::StdExpansion::FaceNormalNegated ( const int  face)
inline

Definition at line 1295 of file StdExpansion.h.

1296  {
1297  return v_FaceNormalNegated(face);
1298  }
virtual bool v_FaceNormalNegated(const int face)

◆ FillMode()

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 597 of file StdExpansion.h.

Referenced by CreateGeneralMatrix().

598  {
599  v_FillMode(mode, outarray);
600  }
virtual void v_FillMode(const int mode, Array< OneD, NekDouble > &outarray)

◆ FwdTrans()

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

  • \(\mathbf{M}[p][q]= \int\phi_p(\mathbf{\xi})\phi_q( \mathbf{\xi}) d\mathbf{\xi}\) is the Mass matrix
  • \(\mathbf{I}[p] = \int\phi_p(\mathbf{\xi}) u(\mathbf{\xi}) d\mathbf{\xi}\)

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

Definition at line 1957 of file StdExpansion.h.

Referenced by Nektar::FieldUtils::ProcessEquiSpacedOutput::GenOrthoModes(), Nektar::LocalRegions::Expansion2D::GetPhysEdgeVarCoeffsFromElement(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::StdRegions::StdSegExp::v_ExponentialFilter(), Nektar::StdRegions::StdQuadExp::v_ExponentialFilter(), Nektar::StdRegions::StdHexExp::v_ExponentialFilter(), Nektar::LocalRegions::PyrExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::StdRegions::StdPrismExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTetExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdPyrExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdSegExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPyrExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

1959  {
1960  v_FwdTrans(inarray,outarray);
1961  }
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.

◆ FwdTrans_BndConstrained()

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

Definition at line 543 of file StdExpansion.h.

545  {
546  v_FwdTrans_BndConstrained(inarray,outarray);
547  }
virtual void v_FwdTrans_BndConstrained(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ GeneralMatrixOp()

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

Definition at line 531 of file StdExpansion.cpp.

References Nektar::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().

534  {
535  switch(mkey.GetMatrixType())
536  {
537  case eMass:
538  MassMatrixOp(inarray,outarray,mkey);
539  break;
540  case eWeakDeriv0:
541  WeakDerivMatrixOp(0,inarray,outarray,mkey);
542  break;
543  case eWeakDeriv1:
544  WeakDerivMatrixOp(1,inarray,outarray,mkey);
545  break;
546  case eWeakDeriv2:
547  WeakDerivMatrixOp(2,inarray,outarray,mkey);
548  break;
550  WeakDirectionalDerivMatrixOp(inarray,outarray,mkey);
551  break;
552  case eMassLevelCurvature:
553  MassLevelCurvatureMatrixOp(inarray,outarray,mkey);
554  break;
556  LinearAdvectionDiffusionReactionMatrixOp(inarray,outarray,mkey,false);
557  break;
559  LinearAdvectionDiffusionReactionMatrixOp(inarray,outarray,mkey);
560  break;
561  case eLaplacian:
562  LaplacianMatrixOp(inarray,outarray,mkey);
563  break;
564  case eLaplacian00:
565  LaplacianMatrixOp(0,0,inarray,outarray,mkey);
566  break;
567  case eLaplacian01:
568  LaplacianMatrixOp(0,1,inarray,outarray,mkey);
569  break;
570  case eLaplacian02:
571  LaplacianMatrixOp(0,2,inarray,outarray,mkey);
572  break;
573  case eLaplacian10:
574  LaplacianMatrixOp(1,0,inarray,outarray,mkey);
575  break;
576  case eLaplacian11:
577  LaplacianMatrixOp(1,1,inarray,outarray,mkey);
578  break;
579  case eLaplacian12:
580  LaplacianMatrixOp(1,2,inarray,outarray,mkey);
581  break;
582  case eLaplacian20:
583  LaplacianMatrixOp(2,0,inarray,outarray,mkey);
584  break;
585  case eLaplacian21:
586  LaplacianMatrixOp(2,1,inarray,outarray,mkey);
587  break;
588  case eLaplacian22:
589  LaplacianMatrixOp(2,2,inarray,outarray,mkey);
590  break;
591  case eHelmholtz:
592  HelmholtzMatrixOp(inarray,outarray,mkey);
593  break;
594  default:
595  NEKERROR(ErrorUtil::efatal, "This matrix does not have an operator");
596  break;
597  }
598  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209
void MassMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
Definition: StdExpansion.h:974
void WeakDerivMatrixOp(const int i, 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 HelmholtzMatrixOp(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)
Definition: StdExpansion.h:981
void WeakDirectionalDerivMatrixOp(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)

◆ GeneralMatrixOp_MatFree()

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

Definition at line 600 of file StdExpansion.cpp.

References Nektar::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().

603  {
604  switch(mkey.GetMatrixType())
605  {
606  case eMass:
607  MassMatrixOp_MatFree(inarray,outarray,mkey);
608  break;
609  case eWeakDeriv0:
610  WeakDerivMatrixOp_MatFree(0,inarray,outarray,mkey);
611  break;
612  case eWeakDeriv1:
613  WeakDerivMatrixOp_MatFree(1,inarray,outarray,mkey);
614  break;
615  case eWeakDeriv2:
616  WeakDerivMatrixOp_MatFree(2,inarray,outarray,mkey);
617  break;
619  WeakDirectionalDerivMatrixOp_MatFree(inarray,outarray,mkey);
620  break;
621  case eMassLevelCurvature:
622  MassLevelCurvatureMatrixOp_MatFree(inarray,outarray,mkey);
623  break;
625  LinearAdvectionDiffusionReactionMatrixOp_MatFree(inarray,outarray,mkey,false);
626  break;
629  break;
630  case eLaplacian:
631  LaplacianMatrixOp_MatFree(inarray,outarray,mkey);
632  break;
633  case eLaplacian00:
634  LaplacianMatrixOp_MatFree(0,0,inarray,outarray,mkey);
635  break;
636  case eLaplacian01:
637  LaplacianMatrixOp_MatFree(0,1,inarray,outarray,mkey);
638  break;
639  case eLaplacian02:
640  LaplacianMatrixOp_MatFree(0,2,inarray,outarray,mkey);
641  break;
642  case eLaplacian10:
643  LaplacianMatrixOp_MatFree(1,0,inarray,outarray,mkey);
644  break;
645  case eLaplacian11:
646  LaplacianMatrixOp_MatFree(1,1,inarray,outarray,mkey);
647  break;
648  case eLaplacian12:
649  LaplacianMatrixOp_MatFree(1,2,inarray,outarray,mkey);
650  break;
651  case eLaplacian20:
652  LaplacianMatrixOp_MatFree(2,0,inarray,outarray,mkey);
653  break;
654  case eLaplacian21:
655  LaplacianMatrixOp_MatFree(2,1,inarray,outarray,mkey);
656  break;
657  case eLaplacian22:
658  LaplacianMatrixOp_MatFree(2,2,inarray,outarray,mkey);
659  break;
660  case eHelmholtz:
661  HelmholtzMatrixOp_MatFree(inarray,outarray,mkey);
662  break;
663  default:
664  NEKERROR(ErrorUtil::efatal, "This matrix does not have an operator");
665  break;
666  }
667  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209
void WeakDirectionalDerivMatrixOp_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 LinearAdvectionDiffusionReactionMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true)
void WeakDerivMatrixOp_MatFree(const int i, 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 MassMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void HelmholtzMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ GenMatrix()

DNekMatSharedPtr Nektar::StdRegions::StdExpansion::GenMatrix ( const StdMatrixKey mkey)
inline

◆ GetBase()

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 106 of file StdExpansion.h.

107  {
108  return(m_base);
109  }
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetBasis()

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 117 of file StdExpansion.h.

References ASSERTL1.

Referenced by export_StdExpansion(), Nektar::StdRegions::StdQuadExp::v_DetEdgeBasisKey(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), and Nektar::LocalRegions::SegExp::v_GetBasis().

118  {
119  ASSERTL1(dir < m_base.num_elements(),
120  "dir is larger than number of bases");
121  return(m_base[dir]);
122  }
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
Definition: ErrorUtil.hpp:250
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetBasisNumModes()

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 177 of file StdExpansion.h.

References ASSERTL1.

Referenced by Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GetEdgeNcoeffs(), Nektar::StdRegions::StdTriExp::v_GetEdgeNcoeffs(), Nektar::StdRegions::StdHexExp::v_GetEdgeNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetEdgeNcoeffs(), Nektar::StdRegions::StdPyrExp::v_GetEdgeNcoeffs(), Nektar::StdRegions::StdHexExp::v_GetFaceIntNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetFaceIntNcoeffs(), Nektar::StdRegions::StdHexExp::v_GetFaceNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetFaceNcoeffs(), Nektar::StdRegions::StdTetExp::v_GetFaceNcoeffs(), Nektar::StdRegions::StdPyrExp::v_GetFaceNcoeffs(), Nektar::StdRegions::StdHexExp::v_GetTotalEdgeIntNcoeffs(), Nektar::StdRegions::StdPrismExp::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().

178  {
179  ASSERTL1(dir < m_base.num_elements(),"dir is larger than m_numbases");
180  return(m_base[dir]->GetNumModes());
181  }
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
Definition: ErrorUtil.hpp:250
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetBasisType()

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 164 of file StdExpansion.h.

References ASSERTL1.

Referenced by export_StdExpansion(), 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::StdPyrExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::StdRegions::StdHexExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdPrismExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdTetExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdPyrExp::v_DetFaceBasisKey(), Nektar::LocalRegions::PyrExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TetExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::PrismExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::SegExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TriExp::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::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GetBoundaryMap(), Nektar::StdRegions::StdSegExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTriExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPrismExp::v_GetBoundaryMap(), Nektar::StdRegions::StdHexExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTetExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPyrExp::v_GetBoundaryMap(), Nektar::StdRegions::StdQuadExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdTriExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdHexExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdPrismExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdTetExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdPyrExp::v_GetEdgeBasisType(), Nektar::StdRegions::StdHexExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdQuadExp::v_GetInteriorMap(), Nektar::StdRegions::StdSegExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdPyrExp::v_GetInteriorMap(), Nektar::LocalRegions::PyrExp::v_GetLinStdExp(), Nektar::LocalRegions::TetExp::v_GetLinStdExp(), Nektar::LocalRegions::PrismExp::v_GetLinStdExp(), Nektar::LocalRegions::QuadExp::v_GetLinStdExp(), Nektar::LocalRegions::TriExp::v_GetLinStdExp(), Nektar::LocalRegions::SegExp::v_GetLinStdExp(), Nektar::LocalRegions::HexExp::v_GetLinStdExp(), Nektar::LocalRegions::NodalTriExp::v_GetLinStdExp(), Nektar::StdRegions::StdQuadExp::v_GetVertexMap(), Nektar::StdRegions::StdSegExp::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::StdPyrExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdHexExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdPrismExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdTetExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdSegExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdTriExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdQuadExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdHexExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdPrismExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdTetExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdPyrExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdTriExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdQuadExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdHexExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdPrismExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdTetExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdPyrExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdTriExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdSegExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::HexExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdQuadExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::QuadExp::v_ReduceOrderCoeffs(), and Nektar::LocalRegions::TriExp::v_ReduceOrderCoeffs().

165  {
166  ASSERTL1(dir < m_base.num_elements(), "dir is larger than m_numbases");
167  return(m_base[dir]->GetBasisType());
168  }
LibUtilities::BasisType GetBasisType(const int dir) const
This function returns the type of basis used in the dir direction.
Definition: StdExpansion.h:164
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
Definition: ErrorUtil.hpp:250
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetBoundaryMap()

void Nektar::StdRegions::StdExpansion::GetBoundaryMap ( Array< OneD, unsigned int > &  outarray)
inline

◆ GetCoord()

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)

Definition at line 708 of file StdExpansion.h.

710  {
711  v_GetCoord(Lcoord, coord);
712  }
virtual void v_GetCoord(const Array< OneD, const NekDouble > &Lcoord, Array< OneD, NekDouble > &coord)

◆ GetCoordim()

int Nektar::StdRegions::StdExpansion::GetCoordim ( )
inline

◆ GetCoords()

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)

Definition at line 690 of file StdExpansion.h.

Referenced by main().

693  {
694  v_GetCoords(coords_1,coords_2,coords_3);
695  }
virtual void v_GetCoords(Array< OneD, NekDouble > &coords_0, Array< OneD, NekDouble > &coords_1, Array< OneD, NekDouble > &coords_2)

◆ GetEdgeBasisType()

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 412 of file StdExpansion.h.

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().

413  {
414  return v_GetEdgeBasisType(i);
415  }
virtual LibUtilities::BasisType v_GetEdgeBasisType(const int i) const

◆ GetEdgeInteriorMap()

void Nektar::StdRegions::StdExpansion::GetEdgeInteriorMap ( const int  eid,
const Orientation  edgeOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray 
)
inline

Definition at line 828 of file StdExpansion.h.

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

831  {
832  v_GetEdgeInteriorMap(eid,edgeOrient,maparray,signarray);
833  }
virtual void v_GetEdgeInteriorMap(const int eid, const Orientation edgeOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray)

◆ GetEdgeInterpVals()

void Nektar::StdRegions::StdExpansion::GetEdgeInterpVals ( const int  edge,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 901 of file StdExpansion.h.

904  {
905  v_GetEdgeInterpVals(edge, inarray, outarray);
906  }
virtual void v_GetEdgeInterpVals(const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ GetEdgeInverseBoundaryMap()

Array<OneD, unsigned int> Nektar::StdRegions::StdExpansion::GetEdgeInverseBoundaryMap ( int  eid)
inline

Definition at line 1342 of file StdExpansion.h.

References STD_REGIONS_EXPORT.

1343  {
1344  return v_GetEdgeInverseBoundaryMap(eid);
1345  }
virtual Array< OneD, unsigned int > v_GetEdgeInverseBoundaryMap(int eid)

◆ GetEdgeNcoeffs()

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

◆ GetEdgeNormal()

const NormalVector& Nektar::StdRegions::StdExpansion::GetEdgeNormal ( const int  edge) const
inline

◆ GetEdgeNumPoints()

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 307 of file StdExpansion.h.

308  {
309  return v_GetEdgeNumPoints(i);
310  }
virtual int v_GetEdgeNumPoints(const int i) const

◆ GetEdgePhysMap()

void Nektar::StdRegions::StdExpansion::GetEdgePhysMap ( const int  edge,
Array< OneD, int > &  outarray 
)
inline

Definition at line 931 of file StdExpansion.h.

934  {
935  v_GetEdgePhysMap(edge, outarray);
936  }
virtual void v_GetEdgePhysMap(const int edge, Array< OneD, int > &outarray)

◆ GetEdgePhysVals() [1/2]

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 874 of file StdExpansion.h.

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

877  {
878  v_GetEdgePhysVals(edge,inarray,outarray);
879  }
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 orien...

◆ GetEdgePhysVals() [2/2]

void Nektar::StdRegions::StdExpansion::GetEdgePhysVals ( const int  edge,
const std::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 881 of file StdExpansion.h.

885  {
886  v_GetEdgePhysVals(edge,EdgeExp,inarray,outarray);
887  }
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 orien...

◆ GetEdgeQFactors()

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 914 of file StdExpansion.h.

917  {
918  v_GetEdgeQFactors(edge, outarray);
919  }
virtual void v_GetEdgeQFactors(const int edge, Array< OneD, NekDouble > &outarray)

◆ GetEdgeToElementMap()

void Nektar::StdRegions::StdExpansion::GetEdgeToElementMap ( const int  eid,
const Orientation  edgeOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray,
int  P = -1 
)
inline

◆ GetElmtId()

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 668 of file StdExpansion.h.

669  {
670  return m_elmt_id;
671  }

◆ GetEorient()

StdRegions::Orientation Nektar::StdRegions::StdExpansion::GetEorient ( int  edge)
inline

◆ GetFaceInteriorMap()

void Nektar::StdRegions::StdExpansion::GetFaceInteriorMap ( const int  fid,
const Orientation  faceOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray 
)
inline

Definition at line 842 of file StdExpansion.h.

845  {
846  v_GetFaceInteriorMap(fid,faceOrient,maparray,signarray);
847  }
virtual void v_GetFaceInteriorMap(const int fid, const Orientation faceOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray)

◆ GetFaceIntNcoeffs()

int Nektar::StdRegions::StdExpansion::GetFaceIntNcoeffs ( const int  i) const
inline

Definition at line 358 of file StdExpansion.h.

Referenced by Nektar::StdRegions::StdHexExp::v_GetFaceInteriorMap().

359  {
360  return v_GetFaceIntNcoeffs(i);
361  }
virtual int v_GetFaceIntNcoeffs(const int i) const

◆ GetFaceInverseBoundaryMap()

Array<OneD, unsigned int> Nektar::StdRegions::StdExpansion::GetFaceInverseBoundaryMap ( int  fid,
StdRegions::Orientation  faceOrient = eNoOrientation,
int  P1 = -1,
int  P2 = -1 
)
inline

Definition at line 1349 of file StdExpansion.h.

1350  {
1351  return v_GetFaceInverseBoundaryMap(fid,faceOrient,P1,P2);
1352  }
virtual Array< OneD, unsigned int > v_GetFaceInverseBoundaryMap(int fid, StdRegions::Orientation faceOrient=eNoOrientation, int P1=-1, int P2=-1)

◆ GetFaceNcoeffs()

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 353 of file StdExpansion.h.

Referenced by Nektar::StdRegions::StdPrismExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdPyrExp::v_GetFaceToElementMap(), and Nektar::StdRegions::StdExpansion3D::v_GetTraceNcoeffs().

354  {
355  return v_GetFaceNcoeffs(i);
356  }
virtual int v_GetFaceNcoeffs(const int i) const

◆ GetFaceNormal()

const NormalVector& Nektar::StdRegions::StdExpansion::GetFaceNormal ( const int  face) const
inline

Definition at line 1315 of file StdExpansion.h.

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

1316  {
1317  return v_GetFaceNormal(face);
1318  }
virtual const NormalVector & v_GetFaceNormal(const int face) const

◆ GetFaceNumModes()

void Nektar::StdRegions::StdExpansion::GetFaceNumModes ( const int  fid,
const Orientation  faceOrient,
int &  numModes0,
int &  numModes1 
)
inline

Definition at line 835 of file StdExpansion.h.

838  {
839  v_GetFaceNumModes(fid,faceOrient,numModes0,numModes1);
840  }
virtual void v_GetFaceNumModes(const int fid, const Orientation faceOrient, int &numModes0, int &numModes1)

◆ GetFaceNumPoints()

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_GetFaceNumPoints()

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

Definition at line 338 of file StdExpansion.h.

339  {
340  return v_GetFaceNumPoints(i);
341  }
virtual int v_GetFaceNumPoints(const int i) const

◆ GetFacePhysMap()

void Nektar::StdRegions::StdExpansion::GetFacePhysMap ( const int  face,
Array< OneD, int > &  outarray 
)
inline

Definition at line 938 of file StdExpansion.h.

941  {
942  v_GetFacePhysMap(face, outarray);
943  }
virtual void v_GetFacePhysMap(const int face, Array< OneD, int > &outarray)

◆ GetFacePhysVals()

void Nektar::StdRegions::StdExpansion::GetFacePhysVals ( const int  face,
const std::shared_ptr< StdExpansion > &  FaceExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
StdRegions::Orientation  orient = eNoOrientation 
)
inline

Definition at line 921 of file StdExpansion.h.

927  {
928  v_GetFacePhysVals(face, FaceExp, inarray, outarray, orient);
929  }
virtual void v_GetFacePhysVals(const int face, const std::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient)

◆ GetFacePointsKey()

LibUtilities::PointsKey Nektar::StdRegions::StdExpansion::GetFacePointsKey ( const int  i,
const int  j 
) const
inline

Definition at line 384 of file StdExpansion.h.

385  {
386  return v_GetFacePointsKey(i, j);
387  }
virtual LibUtilities::PointsKey v_GetFacePointsKey(const int i, const int j) const

◆ GetFaceToElementMap()

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 858 of file StdExpansion.h.

862  {
863  v_GetFaceToElementMap(fid,faceOrient,maparray,signarray,
864  nummodesA,nummodesB);
865  }
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)

◆ GetForient()

StdRegions::Orientation Nektar::StdRegions::StdExpansion::GetForient ( int  face)
inline

Definition at line 771 of file StdExpansion.h.

772  {
773  return v_GetForient(face);
774  }
virtual StdRegions::Orientation v_GetForient(int face)

◆ GetIndexMap()

IndexMapValuesSharedPtr Nektar::StdRegions::StdExpansion::GetIndexMap ( const IndexMapKey ikey)
inline

Definition at line 724 of file StdExpansion.h.

725  {
726  return m_IndexMapManager[ikey];
727  }
LibUtilities::NekManager< IndexMapKey, IndexMapValues, IndexMapKey::opLess > m_IndexMapManager

◆ GetInteriorMap()

void Nektar::StdRegions::StdExpansion::GetInteriorMap ( Array< OneD, unsigned int > &  outarray)
inline

◆ GetInverseBoundaryMaps()

void Nektar::StdRegions::StdExpansion::GetInverseBoundaryMaps ( Array< OneD, unsigned int > &  vmap,
Array< OneD, Array< OneD, unsigned int > > &  emap,
Array< OneD, Array< OneD, unsigned int > > &  fmap 
)
inline

Definition at line 1355 of file StdExpansion.h.

1360  {
1361  v_GetInverseBoundaryMaps(vmap,emap,fmap);
1362  }
virtual void v_GetInverseBoundaryMaps(Array< OneD, unsigned int > &vmap, Array< OneD, Array< OneD, unsigned int > > &emap, Array< OneD, Array< OneD, unsigned int > > &fmap)

◆ GetLinStdExp()

std::shared_ptr<StdExpansion> Nektar::StdRegions::StdExpansion::GetLinStdExp ( void  ) const
inline

Definition at line 480 of file StdExpansion.h.

481  {
482  return v_GetLinStdExp();
483  }
virtual std::shared_ptr< StdExpansion > v_GetLinStdExp(void) const

◆ GetLocStaticCondMatrix()

DNekScalBlkMatSharedPtr Nektar::StdRegions::StdExpansion::GetLocStaticCondMatrix ( const LocalRegions::MatrixKey mkey)
inline

◆ GetNcoeffs()

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 130 of file StdExpansion.h.

Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), export_StdExpansion(), Nektar::LocalRegions::Expansion2D::GetPhysEdgeVarCoeffsFromElement(), LaplacianMatrixOp_MatFree(), Nektar::LocalRegions::Expansion2D::v_AddRobinEdgeContribution(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion2D::v_DGDeriv(), Nektar::StdRegions::StdSegExp::v_ExponentialFilter(), Nektar::StdRegions::StdQuadExp::v_ExponentialFilter(), Nektar::StdRegions::StdHexExp::v_ExponentialFilter(), Nektar::LocalRegions::PyrExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), 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::Expansion2D::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GetBoundaryMap(), Nektar::StdRegions::StdNodalTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdQuadExp::v_GetInteriorMap(), Nektar::StdRegions::StdSegExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdSegExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPyrExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

131  {
132  return(m_ncoeffs);
133  }

◆ GetNedges()

int Nektar::StdRegions::StdExpansion::GetNedges ( ) const
inline

◆ GetNfaces()

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 437 of file StdExpansion.h.

Referenced by Nektar::MultiRegions::ExpList2D::ExpList2D(), and export_StdExpansion().

438  {
439  return v_GetNfaces();
440  }

◆ GetNodalPointsKey()

const LibUtilities::PointsKey Nektar::StdRegions::StdExpansion::GetNodalPointsKey ( ) const
inline

This function returns the type of expansion Nodal point type if defined.

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

Definition at line 424 of file StdExpansion.h.

425  {
426  return v_GetNodalPointsKey();
427  };
virtual const LibUtilities::PointsKey v_GetNodalPointsKey() const

◆ GetNtrace()

int Nektar::StdRegions::StdExpansion::GetNtrace ( ) const
inline

Returns the number of trace elements connected to this element.

For example, a quadrilateral has four edges, so this function would return 4.

Definition at line 449 of file StdExpansion.h.

450  {
451  const size_t nBase = m_base.num_elements();
452  return
453  nBase == 1 ? 2 :
454  nBase == 2 ? GetNedges() :
455  nBase == 3 ? GetNfaces() : 0;
456  }
int GetNedges() const
This function returns the number of edges of the expansion domain.
Definition: StdExpansion.h:271
int GetNfaces() const
This function returns the number of faces of the expansion domain.
Definition: StdExpansion.h:437
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetNumBases()

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 97 of file StdExpansion.h.

98  {
99  return m_base.num_elements();
100  }
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetNumPoints()

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 228 of file StdExpansion.h.

References ASSERTL1.

Referenced by 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::StdHexExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdQuadExp::v_BwdTrans_SumFac(), Nektar::LocalRegions::QuadExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::TriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::TetExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeFaceNormal(), Nektar::LocalRegions::HexExp::v_ComputeFaceNormal(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::StdRegions::StdHexExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdPrismExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdTetExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdPyrExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdPointExp::v_GetCoords(), Nektar::StdRegions::StdPrismExp::v_GetCoords(), Nektar::StdRegions::StdTetExp::v_GetCoords(), Nektar::StdRegions::StdTriExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetCoords(), Nektar::StdRegions::StdPyrExp::v_GetCoords(), Nektar::StdRegions::StdSegExp::v_GetCoords(), Nektar::StdRegions::StdHexExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetEdgeNumPoints(), Nektar::StdRegions::StdTriExp::v_GetEdgeNumPoints(), Nektar::LocalRegions::SegExp::v_GetNumPoints(), Nektar::LocalRegions::QuadExp::v_GetNumPoints(), and Nektar::LocalRegions::TriExp::v_GetNumPoints().

229  {
230  ASSERTL1(dir < m_base.num_elements() || dir == 0,
231  "dir is larger than m_numbases");
232  return(m_base.num_elements() > 0 ? m_base[dir]->GetNumPoints() : 1);
233  }
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
Definition: ErrorUtil.hpp:250
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetNverts()

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 258 of file StdExpansion.h.

Referenced by export_StdExpansion(), and Nektar::LocalRegions::Expansion2D::v_BuildVertexMatrix().

259  {
260  return v_GetNverts();
261  }
virtual int v_GetNverts() const =0

◆ GetPhysNormals()

const Array<OneD, const NekDouble>& Nektar::StdRegions::StdExpansion::GetPhysNormals ( void  )
inline

Definition at line 729 of file StdExpansion.h.

730  {
731  return v_GetPhysNormals();
732  }
virtual const Array< OneD, const NekDouble > & v_GetPhysNormals(void)

◆ GetPoints()

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 242 of file StdExpansion.h.

243  {
244  return m_base[dir]->GetZ();
245  }
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetPointsKeys()

const LibUtilities::PointsKeyVector Nektar::StdRegions::StdExpansion::GetPointsKeys ( ) const
inline

Definition at line 1330 of file StdExpansion.h.

References CellMLToNektar.cellml_metadata::p, and STD_REGIONS_EXPORT.

Referenced by Nektar::LocalRegions::Expansion::ComputeQuadratureMetric(), Nektar::LocalRegions::NodalTriExp::CreateMatrix(), Nektar::LocalRegions::PyrExp::CreateMatrix(), Nektar::LocalRegions::TetExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::HexExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::Integral(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::HexExp::IProductWRTDirectionalDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::PhysDeriv(), Nektar::LocalRegions::QuadExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::TriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::NodalTriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::TetExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeFaceNormal(), Nektar::LocalRegions::HexExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::HexExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::SegExp::v_ComputeVertexNormal(), Nektar::LocalRegions::QuadExp::v_GetEdgeQFactors(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::PrismExp::v_Integral(), Nektar::LocalRegions::SegExp::v_Integral(), Nektar::LocalRegions::TetExp::v_Integral(), Nektar::LocalRegions::PyrExp::v_Integral(), Nektar::LocalRegions::TriExp::v_Integral(), Nektar::LocalRegions::QuadExp::v_Integral(), Nektar::LocalRegions::HexExp::v_Integral(), Nektar::LocalRegions::SegExp::v_IProductWRTBase(), Nektar::LocalRegions::TetExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::SegExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::PrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::PyrExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDirectionalDerivBase_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(), Nektar::LocalRegions::QuadExp::v_PhysDirectionalDeriv(), Nektar::LocalRegions::HexExp::v_PhysDirectionalDeriv(), Nektar::LocalRegions::PyrExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::TetExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::PrismExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::HexExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::QuadExp::v_SVVLaplacianFilter(), and Nektar::LocalRegions::TriExp::v_SVVLaplacianFilter().

1331  {
1333  p.reserve(m_base.num_elements());
1334  for (int i = 0; i < m_base.num_elements(); ++i)
1335  {
1336  p.push_back(m_base[i]->GetPointsKey());
1337  }
1338  return p;
1339  }
std::vector< PointsKey > PointsKeyVector
Definition: Points.h:246
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetPointsType()

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 215 of file StdExpansion.h.

References ASSERTL1.

Referenced by export_StdExpansion(), Nektar::LocalRegions::QuadExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::TriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::TetExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeFaceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeFaceNormal(), Nektar::LocalRegions::HexExp::v_ComputeFaceNormal(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::StdRegions::StdSegExp::v_ExponentialFilter(), Nektar::StdRegions::StdQuadExp::v_ExponentialFilter(), Nektar::StdRegions::StdHexExp::v_ExponentialFilter(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), 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::StdSegExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPyrExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

216  {
217  ASSERTL1(dir < m_base.num_elements(), "dir is larger than m_numbases");
218  return(m_base[dir]->GetPointsType());
219  }
LibUtilities::PointsType GetPointsType(const int dir) const
This function returns the type of quadrature points used in the dir direction.
Definition: StdExpansion.h:215
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
Definition: ErrorUtil.hpp:250
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetShapeDimension()

int Nektar::StdRegions::StdExpansion::GetShapeDimension ( ) const
inline

Definition at line 486 of file StdExpansion.h.

Referenced by export_StdExpansion().

487  {
488  return v_GetShapeDimension();
489  }
virtual int v_GetShapeDimension() const

◆ GetSimplexEquiSpacedConnectivity()

void Nektar::StdRegions::StdExpansion::GetSimplexEquiSpacedConnectivity ( Array< OneD, int > &  conn,
bool  standard = true 
)
inline

This function provides the connectivity of local simplices (triangles or tets) to connect the equispaced data points provided by PhysInterpToSimplexEquiSpaced.

This is a virtual call to the function v_GetSimplexEquiSpaceConnectivity

Definition at line 1395 of file StdExpansion.h.

References STD_REGIONS_EXPORT.

1398  {
1399  v_GetSimplexEquiSpacedConnectivity(conn,standard);
1400  }
virtual void v_GetSimplexEquiSpacedConnectivity(Array< OneD, int > &conn, bool standard=true)

◆ GetStdExp()

std::shared_ptr<StdExpansion> Nektar::StdRegions::StdExpansion::GetStdExp ( void  ) const
inline

Definition at line 474 of file StdExpansion.h.

475  {
476  return v_GetStdExp();
477  }
virtual std::shared_ptr< StdExpansion > v_GetStdExp(void) const

◆ GetStdMatrix()

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

Definition at line 714 of file StdExpansion.h.

Referenced by BwdTrans_MatOp(), CreateGeneralMatrix(), Nektar::LocalRegions::NodalTriExp::CreateMatrix(), Nektar::LocalRegions::PyrExp::CreateMatrix(), Nektar::LocalRegions::TetExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::HexExp::CreateMatrix(), CreateStdStaticCondMatrix(), EquiSpacedToCoeffs(), export_StdExpansion(), Nektar::LinearisedAdvection::GetFloquetBlockMatrix(), Nektar::StdRegions::StdNodalPrismExp::ModalToNodal(), Nektar::StdRegions::StdNodalTetExp::ModalToNodal(), Nektar::StdRegions::StdNodalTriExp::ModalToNodal(), Nektar::StdRegions::StdNodalPrismExp::NodalToModal(), Nektar::StdRegions::StdNodalTetExp::NodalToModal(), Nektar::StdRegions::StdNodalTriExp::NodalToModal(), Nektar::StdRegions::StdNodalPrismExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalTetExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalTriExp::NodalToModalTranspose(), PhysInterpToSimplexEquiSpaced(), Nektar::StdRegions::StdPointExp::v_FwdTrans(), Nektar::StdRegions::StdNodalTetExp::v_FwdTrans(), Nektar::StdRegions::StdNodalPrismExp::v_FwdTrans(), Nektar::StdRegions::StdNodalTriExp::v_FwdTrans(), Nektar::StdRegions::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdTriExp::v_FwdTrans(), Nektar::StdRegions::StdSegExp::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::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::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::StdHexExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp(), and Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_MatOp().

715  {
716  return m_stdMatrixManager[mkey];
717  }
LibUtilities::NekManager< StdMatrixKey, DNekMat, StdMatrixKey::opLess > m_stdMatrixManager

◆ GetStdStaticCondMatrix()

DNekBlkMatSharedPtr Nektar::StdRegions::StdExpansion::GetStdStaticCondMatrix ( const StdMatrixKey mkey)
inline

◆ GetSurfaceNormal()

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

Definition at line 1325 of file StdExpansion.h.

1326  {
1327  return v_GetSurfaceNormal(id);
1328  }
virtual const NormalVector & v_GetSurfaceNormal(const int id) const

◆ GetTotalEdgeIntNcoeffs()

int Nektar::StdRegions::StdExpansion::GetTotalEdgeIntNcoeffs ( ) const
inline

Definition at line 292 of file StdExpansion.h.

293  {
294  return v_GetTotalEdgeIntNcoeffs();
295  }
virtual int v_GetTotalEdgeIntNcoeffs() const

◆ GetTotalFaceIntNcoeffs()

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

Definition at line 363 of file StdExpansion.h.

364  {
365  return v_GetTotalFaceIntNcoeffs();
366  }
virtual int v_GetTotalFaceIntNcoeffs() const

◆ GetTotPoints()

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 140 of file StdExpansion.h.

Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzTraceTerms(), BwdTrans_MatOp(), Nektar::LocalRegions::Expansion::ComputeQuadratureMetric(), CreateGeneralMatrix(), Nektar::MultiRegions::DisContField3D::EvaluateHDGPostProcessing(), export_StdExpansion(), 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(), PhysInterpToSimplexEquiSpaced(), Nektar::StdRegions::StdExpansion0D::PhysTensorDeriv(), Nektar::StdRegions::StdExpansion1D::PhysTensorDeriv(), Nektar::FieldUtils::ProcessJacobianEnergy::Process(), Nektar::FieldUtils::ProcessScalGrad::Process(), Nektar::StdRegions::StdMatrixKey::StdMatrixKey(), Nektar::FilterMovingBody::UpdateForce(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::HexExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::PyrExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::StdRegions::StdExpansion3D::v_Integral(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::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::StdHexExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::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::LocalRegions::PyrExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::TetExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::PrismExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::HexExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::QuadExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::TriExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::Expansion2D::v_VectorFlux(), WeakDerivMatrixOp_MatFree(), and WeakDirectionalDerivMatrixOp_MatFree().

141  {
142  int i;
143  int nqtot = 1;
144 
145  for(i=0; i < m_base.num_elements(); ++i)
146  {
147  nqtot *= m_base[i]->GetNumPoints();
148  }
149 
150  return nqtot;
151  }
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ GetTraceNcoeffs()

int Nektar::StdRegions::StdExpansion::GetTraceNcoeffs ( const int  i) const
inline

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

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

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

Definition at line 378 of file StdExpansion.h.

379  {
380  return v_GetTraceNcoeffs(i);
381  }
virtual int v_GetTraceNcoeffs(const int i) const

◆ GetTracePhysVals()

void Nektar::StdRegions::StdExpansion::GetTracePhysVals ( const int  edge,
const std::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 889 of file StdExpansion.h.

890  {
891  v_GetTracePhysVals(edge,EdgeExp,inarray,outarray);
892  }
virtual void v_GetTracePhysVals(const int edge, const std::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient=eNoOrientation)

◆ GetVertexMap()

int Nektar::StdRegions::StdExpansion::GetVertexMap ( const int  localVertexId,
bool  useCoeffPacking = false 
)
inline

◆ GetVertexNormal()

const NormalVector& Nektar::StdRegions::StdExpansion::GetVertexNormal ( const int  vertex) const
inline

Definition at line 1320 of file StdExpansion.h.

Referenced by Nektar::LocalRegions::PointExp::v_NormVectorIProductWRTBase().

1321  {
1322  return v_GetVertexNormal(vertex);
1323  }
virtual const NormalVector & v_GetVertexNormal(const int vertex) const

◆ GetVertexPhysVals()

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

Definition at line 894 of file StdExpansion.h.

897  {
898  v_GetVertexPhysVals(vertex, inarray, outarray);
899  }
virtual void v_GetVertexPhysVals(const int vertex, const Array< OneD, const NekDouble > &inarray, NekDouble &outarray)

◆ H1()

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 160 of file StdExpansion.cpp.

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

162  {
163  int i;
164  NekDouble val;
165  int ntot = GetTotPoints();
166  int coordim = v_GetCoordim();
167  Array<OneD, NekDouble> wsp(3*ntot);
168  Array<OneD, NekDouble> wsp_deriv = wsp + ntot;
169  Array<OneD, NekDouble> sum = wsp_deriv + ntot;
170 
171  if(sol == NullNekDouble1DArray)
172  {
173  Vmath::Vcopy(ntot,phys, 1, wsp, 1);
174  Vmath::Vmul(ntot, phys, 1, phys, 1, sum, 1);
175  }
176  else
177  {
178  Vmath::Vsub(ntot, sol, 1, phys, 1, wsp, 1);
179  Vmath::Vmul(ntot, wsp, 1, wsp, 1, sum, 1);
180  }
181 
182 
183  for(i = 0; i < coordim; ++i)
184  {
185  v_PhysDeriv(i,wsp,wsp_deriv);
186  Vmath::Vvtvp(ntot,wsp_deriv,1,wsp_deriv,1,sum,1,sum,1);
187  }
188 
189  val = sqrt(v_Integral(sum));
190 
191  return val;
192  }
static Array< OneD, NekDouble > NullNekDouble1DArray
void Vvtvp(int n, const T *w, const int incw, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
vvtvp (vector times vector plus vector): z = w*x + y
Definition: Vmath.cpp:445
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 NekDouble v_Integral(const Array< OneD, const NekDouble > &inarray)
Integrates the specified function over the domain.
double NekDouble
void Vsub(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Subtract vector z = x-y.
Definition: Vmath.cpp:346
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Definition: Vmath.cpp:1064
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.
Definition: Vmath.cpp:186

◆ HelmholtzMatrixOp()

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

Definition at line 1053 of file StdExpansion.h.

Referenced by GeneralMatrixOp().

1056  {
1057  v_HelmholtzMatrixOp(inarray,outarray,mkey);
1058  }
virtual void v_HelmholtzMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ HelmholtzMatrixOp_MatFree()

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

Definition at line 1550 of file StdExpansion.h.

References STD_REGIONS_EXPORT.

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

1553  {
1554  v_HelmholtzMatrixOp_MatFree(inarray,outarray,mkey);
1555  }
virtual void v_HelmholtzMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ HelmholtzMatrixOp_MatFree_GenericImpl()

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

Definition at line 942 of file StdExpansion.cpp.

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

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

945  {
946  NekDouble lambda = mkey.GetConstFactor(eFactorLambda);
947  Array<OneD,NekDouble> tmp(m_ncoeffs);
948  StdMatrixKey mkeymass(eMass,DetShapeType(),*this);
949  StdMatrixKey mkeylap(eLaplacian,DetShapeType(),*this);
950 
951  MassMatrixOp(inarray,tmp,mkeymass);
952  LaplacianMatrixOp(inarray,outarray,mkeylap);
953 
954  Blas::Daxpy(m_ncoeffs, lambda, tmp, 1, outarray, 1);
955  }
void MassMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
Definition: StdExpansion.h:974
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
Definition: StdExpansion.h:469
double NekDouble
void LaplacianMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
Definition: StdExpansion.h:981
static void Daxpy(const int &n, const double &alpha, const double *x, const int &incx, const double *y, const int &incy)
BLAS level 1: y = alpha x plus y.
Definition: Blas.hpp:110

◆ Integral()

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 v_Integral()

Based on the values of the function evaluated at the quadrature points (which are stored in 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
  • inarray: definition of function to be returned at quadrature point of expansion.

Outputs:

  • returns \(\int^1_{-1}\int^1_{-1} u(\xi_1, \xi_2) J[i,j] d \xi_1 d \xi_2 \) where \(inarray[i,j] = u(\xi_{1i},\xi_{2j}) \) and \( J[i,j] \) is the Jacobian evaluated at the quadrature point.

Definition at line 579 of file StdExpansion.h.

Referenced by export_StdExpansion().

580  {
581  return v_Integral(inarray);
582  }
virtual NekDouble v_Integral(const Array< OneD, const NekDouble > &inarray)
Integrates the specified function over the domain.

◆ IProductWRTBase() [1/2]

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 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)

Definition at line 634 of file StdExpansion.h.

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::Expansion2D::v_GenMatrix(), Nektar::LocalRegions::QuadExp::v_NormVectorIProductWRTBase(), and Nektar::LocalRegions::TriExp::v_NormVectorIProductWRTBase().

636  {
637  v_IProductWRTBase(inarray, outarray);
638  }
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...

◆ IProductWRTBase() [2/2]

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 640 of file StdExpansion.h.

645  {
646  v_IProductWRTBase(base, inarray, outarray, coll_check);
647  }
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...

◆ IProductWRTBase_SumFac()

void Nektar::StdRegions::StdExpansion::IProductWRTBase_SumFac ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
bool  multiplybyweights = true 
)
inline

Definition at line 1421 of file StdExpansion.h.

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

1424  {
1425  v_IProductWRTBase_SumFac(inarray,outarray,multiplybyweights);
1426  }
virtual void v_IProductWRTBase_SumFac(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool multiplybyweights=true)

◆ IProductWRTDerivBase()

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

Definition at line 650 of file StdExpansion.h.

654  {
655  v_IProductWRTDerivBase(dir,inarray, outarray);
656  }
virtual void v_IProductWRTDerivBase(const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ IProductWRTDerivBase_SumFac()

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

Definition at line 1474 of file StdExpansion.h.

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

1478  {
1479  v_IProductWRTDerivBase_SumFac(dir,inarray,outarray);
1480  }
virtual void v_IProductWRTDerivBase_SumFac(const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ IProductWRTDirectionalDerivBase()

void Nektar::StdRegions::StdExpansion::IProductWRTDirectionalDerivBase ( const Array< OneD, const NekDouble > &  direction,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 658 of file StdExpansion.h.

662  {
663  v_IProductWRTDirectionalDerivBase(direction, inarray, outarray);
664  }
virtual void v_IProductWRTDirectionalDerivBase(const Array< OneD, const NekDouble > &direction, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ IProductWRTDirectionalDerivBase_SumFac()

void Nektar::StdRegions::StdExpansion::IProductWRTDirectionalDerivBase_SumFac ( const Array< OneD, const NekDouble > &  direction,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inlineprotected

Definition at line 1483 of file StdExpansion.h.

References STD_REGIONS_EXPORT.

Referenced by Nektar::LocalRegions::TriExp::v_IProductWRTDirectionalDerivBase().

1487  {
1489  inarray,outarray);
1490  }
virtual void v_IProductWRTDirectionalDerivBase_SumFac(const Array< OneD, const NekDouble > &direction, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ IsBoundaryInteriorExpansion()

bool Nektar::StdRegions::StdExpansion::IsBoundaryInteriorExpansion ( )
inline

◆ IsNodalNonTensorialExp()

bool Nektar::StdRegions::StdExpansion::IsNodalNonTensorialExp ( )
inline

Definition at line 497 of file StdExpansion.h.

498  {
499  return v_IsNodalNonTensorialExp();
500  }

◆ L2()

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 130 of file StdExpansion.cpp.

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

132  {
133  NekDouble val;
134  int ntot = GetTotPoints();
135  Array<OneD, NekDouble> wsp(ntot);
136 
137  if (sol.num_elements() == 0)
138  {
139  Vmath::Vmul(ntot, phys, 1, phys, 1, wsp, 1);
140  }
141  else
142  {
143  Vmath::Vsub(ntot, sol, 1, phys, 1, wsp, 1);
144  Vmath::Vmul(ntot, wsp, 1, wsp, 1, wsp, 1);
145  }
146 
147  val = v_Integral(wsp);
148 
149  // if val too small, sqrt returns nan.
151  {
152  return 0.0;
153  }
154  else
155  {
156  return sqrt(val);
157  }
158  }
static const NekDouble kNekSqrtTol
virtual NekDouble v_Integral(const Array< OneD, const NekDouble > &inarray)
Integrates the specified function over the domain.
double NekDouble
void Vsub(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Subtract vector z = x-y.
Definition: Vmath.cpp:346
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.
Definition: Vmath.cpp:186

◆ LaplacianMatrixOp() [1/2]

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

Definition at line 981 of file StdExpansion.h.

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

984  {
985  v_LaplacianMatrixOp(inarray,outarray,mkey);
986  }
virtual void v_LaplacianMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ LaplacianMatrixOp() [2/2]

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

Definition at line 1009 of file StdExpansion.h.

1013  {
1014  v_LaplacianMatrixOp(k1,k2,inarray,outarray,mkey);
1015  }
virtual void v_LaplacianMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ LaplacianMatrixOp_MatFree() [1/2]

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

◆ LaplacianMatrixOp_MatFree() [2/2]

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 686 of file StdExpansion.cpp.

References ASSERTL1, Nektar::StdRegions::StdMatrixKey::ConstFactorExists(), Nektar::StdRegions::eFactorSVVDiffCoeff, 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::Vadd(), Vmath::Vcopy(), Vmath::Vmul(), and Vmath::Zero().

690  {
691  ASSERTL1(k1 >= 0 && k1 < GetCoordim(),"invalid first argument");
692  ASSERTL1(k2 >= 0 && k2 < GetCoordim(),"invalid second argument");
693 
694  int nq = GetTotPoints();
695  Array<OneD, NekDouble> tmp(nq);
696  Array<OneD, NekDouble> dtmp(nq);
697  VarCoeffType varcoefftypes[3][3]
701  };
702 
703  v_BwdTrans(inarray,tmp);
704  v_PhysDeriv(k2,tmp,dtmp);
705  if (mkey.GetNVarCoeff()&&
706  (!mkey.ConstFactorExists(eFactorSVVDiffCoeff)))
707  {
708  if (k1 == k2)
709  {
710  // By default, k1 == k2 has \sigma = 1 (diagonal entries)
711  if(mkey.HasVarCoeff(varcoefftypes[k1][k1]))
712  {
713  Vmath::Vmul(nq, mkey.GetVarCoeff(varcoefftypes[k1][k1]), 1, dtmp, 1, dtmp, 1);
714  }
715  v_IProductWRTDerivBase(k1, dtmp, outarray);
716  }
717  else
718  {
719  // By default, k1 != k2 has \sigma = 0 (off-diagonal entries)
720  if(mkey.HasVarCoeff(varcoefftypes[k1][k2]))
721  {
722  Vmath::Vmul(nq, mkey.GetVarCoeff(varcoefftypes[k1][k2]), 1, dtmp, 1, dtmp, 1);
723  v_IProductWRTDerivBase(k1, dtmp, outarray);
724  }
725  else
726  {
727  Vmath::Zero(GetNcoeffs(), outarray, 1);
728  }
729  }
730  }
731  else
732  {
733  // Multiply by svv tensor
734  if(mkey.ConstFactorExists(eFactorSVVDiffCoeff))
735  {
736  Vmath::Vcopy(nq, dtmp, 1, tmp, 1);
737  SVVLaplacianFilter(dtmp,mkey);
738  Vmath::Vadd(nq, tmp, 1, dtmp, 1, dtmp, 1);
739  }
740  v_IProductWRTDerivBase(k1, dtmp, outarray);
741  }
742  }
void SVVLaplacianFilter(Array< OneD, NekDouble > &array, const StdMatrixKey &mkey)
Definition: StdExpansion.h:995
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.
int GetNcoeffs(void) const
This function returns the total number of coefficients used in the expansion.
Definition: StdExpansion.h:130
virtual void v_IProductWRTDerivBase(const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140
void Zero(int n, T *x, const int incx)
Zero vector.
Definition: Vmath.cpp:376
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
Definition: ErrorUtil.hpp:250
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Definition: Vmath.cpp:1064
virtual void v_BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
void Vadd(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Add vector z = x+y.
Definition: Vmath.cpp:302
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.
Definition: Vmath.cpp:186

◆ LaplacianMatrixOp_MatFree_GenericImpl()

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

Definition at line 744 of file StdExpansion.cpp.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::StdRegions::StdMatrixKey::ConstFactorExists(), Nektar::StdRegions::eFactorSVVDiffCoeff, 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::StdRegions::StdNodalTriExp::v_LaplacianMatrixOp(), Nektar::StdRegions::StdExpansion2D::v_LaplacianMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_LaplacianMatrixOp_MatFree(), and v_LaplacianMatrixOp_MatFree().

747  {
748  const int dim = GetCoordim();
749 
750  int i,j;
751 
752  Array<OneD,NekDouble> store(m_ncoeffs);
753  Array<OneD,NekDouble> store2(m_ncoeffs,0.0);
754 
755  if(mkey.GetNVarCoeff() == 0||mkey.ConstFactorExists(eFactorSVVDiffCoeff))
756  {
757  // just call diagonal matrix form of laplcian operator
758  for(i = 0; i < dim; ++i)
759  {
760  LaplacianMatrixOp(i,i,inarray,store,mkey);
761  Vmath::Vadd(m_ncoeffs, store, 1, store2, 1, store2, 1);
762  }
763  }
764  else
765  {
766  const MatrixType mtype[3][3]
770  StdMatrixKeySharedPtr mkeyij;
771 
772  for(i = 0; i < dim; i++)
773  {
774  for(j = 0; j < dim; j++)
775  {
776  mkeyij = MemoryManager<StdMatrixKey>::AllocateSharedPtr(mkey,mtype[i][j]);
777  LaplacianMatrixOp(i,j,inarray,store,*mkeyij);
778  Vmath::Vadd(m_ncoeffs, store, 1, store2, 1, store2, 1);
779  }
780  }
781  }
782 
783  Vmath::Vcopy(m_ncoeffs,store2.get(),1,outarray.get(),1);
784  }
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
void LaplacianMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
Definition: StdExpansion.h:981
std::shared_ptr< StdMatrixKey > StdMatrixKeySharedPtr
Definition: StdMatrixKey.h:189
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Definition: Vmath.cpp:1064
void Vadd(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Add vector z = x+y.
Definition: Vmath.cpp:302

◆ LaplacianMatrixOp_MatFree_Kernel()

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 1515 of file StdExpansion.h.

References STD_REGIONS_EXPORT.

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().

1519  {
1520  v_LaplacianMatrixOp_MatFree_Kernel(inarray, outarray, wsp);
1521  }
virtual void v_LaplacianMatrixOp_MatFree_Kernel(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp)

◆ LinearAdvectionDiffusionReactionMatrixOp()

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 1039 of file StdExpansion.h.

Referenced by GeneralMatrixOp().

1043  {
1044  v_LinearAdvectionDiffusionReactionMatrixOp(inarray,outarray,mkey,addDiffusionTerm);
1045  }
virtual void v_LinearAdvectionDiffusionReactionMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true)

◆ LinearAdvectionDiffusionReactionMatrixOp_MatFree()

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 886 of file StdExpansion.cpp.

References ASSERTL0, ASSERTL1, DetShapeType(), Nektar::StdRegions::eFactorLambda, Nektar::StdRegions::eLaplacian, Nektar::StdRegions::eVarCoeffVelX, Nektar::StdRegions::eVarCoeffVelY, Nektar::StdRegions::eVarCoeffVelZ, 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().

890  {
891 
892  int i;
893  int ndir = mkey.GetNVarCoeff(); // assume num.r consts corresponds to directions
894  ASSERTL0(ndir,"Must define at least one advection velocity");
895 
896  NekDouble lambda = mkey.GetConstFactor(eFactorLambda);
897  int totpts = GetTotPoints();
898  Array<OneD, NekDouble> tmp(3*totpts);
899  Array<OneD, NekDouble> tmp_deriv = tmp + totpts;
900  Array<OneD, NekDouble> tmp_adv = tmp_deriv + totpts;
901 
902 
903  ASSERTL1(ndir <= GetCoordim(),"Number of constants is larger than coordinate dimensions");
904 
905  v_BwdTrans(inarray,tmp);
906 
908 
909  //calculate u dx + v dy + ..
910  Vmath::Zero(totpts,tmp_adv,1);
911  for(i = 0; i < ndir; ++i)
912  {
913  v_PhysDeriv(i,tmp,tmp_deriv);
914  Vmath::Vvtvp(totpts,mkey.GetVarCoeff(varcoefftypes[i]),1,tmp_deriv,1,tmp_adv,1,tmp_adv,1);
915  }
916 
917  if(lambda) // add -lambda*u
918  {
919  Vmath::Svtvp(totpts,-lambda,tmp,1,tmp_adv,1,tmp_adv,1);
920  }
921 
922 
923  if(addDiffusionTerm)
924  {
925  Array<OneD, NekDouble> lap(m_ncoeffs);
926  StdMatrixKey mkeylap(eLaplacian,DetShapeType(),*this);
927  LaplacianMatrixOp(inarray,lap,mkeylap);
928 
929  v_IProductWRTBase(tmp_adv, outarray);
930  // Lap v - u.grad v + lambda*u
931  // => (grad u, grad v) + u.grad v - lambda*u
932  Vmath::Vadd(m_ncoeffs,lap,1,outarray,1,outarray,1);
933  }
934  else
935  {
936  v_IProductWRTBase(tmp_adv, outarray);
937  }
938 
939  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
Definition: StdExpansion.h:469
void Svtvp(int n, const T alpha, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
svtvp (scalar times vector plus vector): z = alpha*x + y
Definition: Vmath.cpp:488
void Vvtvp(int n, const T *w, const int incw, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
vvtvp (vector times vector plus vector): z = w*x + y
Definition: Vmath.cpp:445
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.
double NekDouble
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...
void LaplacianMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
Definition: StdExpansion.h:981
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140
void Zero(int n, T *x, const int incx)
Zero vector.
Definition: Vmath.cpp:376
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
Definition: ErrorUtil.hpp:250
virtual void v_BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
void Vadd(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Add vector z = x+y.
Definition: Vmath.cpp:302

◆ Linf()

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 108 of file StdExpansion.cpp.

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

110  {
111  NekDouble val;
112  int ntot = GetTotPoints();
113  Array<OneD, NekDouble> wsp(ntot);
114 
115  if(sol == NullNekDouble1DArray)
116  {
117  Vmath::Vabs(ntot, phys, 1, wsp, 1);
118  }
119  else
120  {
121  Vmath::Vsub(ntot, sol, 1, phys, 1, wsp, 1);
122  Vmath::Vabs(ntot, wsp, 1, wsp, 1);
123  }
124 
125  val = Vmath::Vamax(ntot, wsp, 1);
126 
127  return val;
128  }
static Array< OneD, NekDouble > NullNekDouble1DArray
void Vabs(int n, const T *x, const int incx, T *y, const int incy)
vabs: y = |x|
Definition: Vmath.cpp:427
double NekDouble
T Vamax(int n, const T *x, const int incx)
Return the maximum absolute element in x called vamax to avoid conflict with max. ...
Definition: Vmath.cpp:828
void Vsub(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Subtract vector z = x-y.
Definition: Vmath.cpp:346
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140

◆ LocCoordToLocCollapsed()

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 1184 of file StdExpansion.h.

References Nektar::NullNekDouble1DArray, and STD_REGIONS_EXPORT.

Referenced by Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdTriExp::v_GenMatrix(), Nektar::StdRegions::StdPrismExp::v_GenMatrix(), Nektar::StdRegions::StdTetExp::v_GenMatrix(), Nektar::StdRegions::StdExpansion2D::v_PhysEvaluate(), and Nektar::StdRegions::StdExpansion3D::v_PhysEvaluate().

1186  {
1187  v_LocCoordToLocCollapsed(xi,eta);
1188  }
virtual void v_LocCoordToLocCollapsed(const Array< OneD, const NekDouble > &xi, Array< OneD, NekDouble > &eta)

◆ MassLevelCurvatureMatrixOp()

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

Definition at line 1032 of file StdExpansion.h.

Referenced by GeneralMatrixOp().

1035  {
1036  v_MassLevelCurvatureMatrixOp(inarray,outarray,mkey);
1037  }
virtual void v_MassLevelCurvatureMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ MassLevelCurvatureMatrixOp_MatFree()

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 834 of file StdExpansion.cpp.

Referenced by GeneralMatrixOp_MatFree(), and v_MassLevelCurvatureMatrixOp().

837  {
838  boost::ignore_unused(inarray, outarray, mkey);
839  ///@todo fix this
840  // int nqtot = GetTotPoints();
841  // int matrixid = mkey.GetMatrixID();
842  //
843  // NekDouble checkweight=0.0;
844  // Array<OneD, NekDouble> tmp(nqtot), tan(nqtot), dtan0(nqtot), dtan1(nqtot), weight(nqtot,0.0);
845  //
846  // int gmatnumber = (mkey.GetVariableCoefficient(1)).num_elements();
847  //
848  // v_BwdTrans(inarray,tmp);
849  //
850  // // weight = \grad \cdot tanvec
851  // for(int k = 0; k < GetCoordim(); ++k)
852  // {
853  // Vmath::Vcopy(nqtot, &(mkey.GetVariableCoefficient(0))[k*nqtot],
854  // 1, &tan[0], 1);
855  //
856  // // For Regular mesh ...
857  // if(gmatnumber==1)
858  // {
859  // // D_{/xi} and D_{/eta}
860  // v_PhysDeriv(0,tan,dtan0);
861  // v_PhysDeriv(1,tan,dtan1);
862  //
863  // // d v / d x_i = (d \xi / d x_i)*( d v / d \xi ) + (d \eta / d x_i)*( d v / d \eta )
864  // Vmath::Svtvp(nqtot,(mkey.GetVariableCoefficient(2*k+1))[0],&dtan0[0],1,&weight[0],1,&weight[0],1);
865  // Vmath::Svtvp(nqtot,(mkey.GetVariableCoefficient(2*k+2))[0],&dtan1[0],1,&weight[0],1,&weight[0],1);
866  // }
867  //
868  // // For Curved mesh ...
869  // else if(gmatnumber==nqtot)
870  // {
871  // // D_{x} and D_{y}
872  // v_PhysDeriv(k,tan,dtan0);
873  // Vmath::Vadd(nqtot,&dtan0[0],1,&weight[0],1,&weight[0],1);
874  // }
875  //
876  // else
877  // {
878  // ASSERTL1( ((gmatnumber=1) || (gmatnumber==nqtot) ), "Gmat is not in a right size");
879  // }
880  // }
881  //
882  // Vmath::Vmul(nqtot, &weight[0], 1, &tmp[0], 1, &tmp[0], 1);
883  // v_IProductWRTBase(tmp, outarray);
884  }

◆ MassMatrixOp()

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

◆ MassMatrixOp_MatFree()

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

Definition at line 669 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::StdRegions::StdNodalTriExp::v_MassMatrixOp(), Nektar::StdRegions::StdQuadExp::v_MassMatrixOp(), Nektar::StdRegions::StdTriExp::v_MassMatrixOp(), Nektar::StdRegions::StdHexExp::v_MassMatrixOp(), and v_MassMatrixOp().

672  {
673  int nq = GetTotPoints();
674  Array<OneD, NekDouble> tmp(nq);
675 
676  v_BwdTrans(inarray,tmp);
677 
678  if(mkey.HasVarCoeff(eVarCoeffMass))
679  {
680  Vmath::Vmul(nq, mkey.GetVarCoeff(eVarCoeffMass), 1, tmp, 1, tmp, 1);
681  }
682 
683  v_IProductWRTBase(tmp, outarray);
684  }
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...
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140
virtual void v_BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.
Definition: Vmath.cpp:186

◆ MultiplyByQuadratureMetric()

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

Definition at line 945 of file StdExpansion.h.

Referenced by Nektar::LocalRegions::NodalTriExp::IProductWRTBase_SumFac(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::HexExp::IProductWRTDirectionalDerivBase_SumFac(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::HexExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::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::PyrExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::HexExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::TetExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::PrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::PyrExp::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::StdHexExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDirectionalDerivBase_SumFac(), and Nektar::LocalRegions::PrismExp::v_LaplacianMatrixOp_MatFree_Kernel().

948  {
949  v_MultiplyByQuadratureMetric(inarray, outarray);
950  }
virtual void v_MultiplyByQuadratureMetric(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ MultiplyByStdQuadratureMetric()

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

Definition at line 952 of file StdExpansion.h.

References STD_REGIONS_EXPORT.

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

955  {
956  v_MultiplyByStdQuadratureMetric(inarray, outarray);
957  }
virtual void v_MultiplyByStdQuadratureMetric(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ NegateEdgeNormal()

void Nektar::StdRegions::StdExpansion::NegateEdgeNormal ( const int  edge)
inline

Definition at line 1275 of file StdExpansion.h.

1276  {
1277  v_NegateEdgeNormal(edge);
1278  }
virtual void v_NegateEdgeNormal(const int edge)

◆ NegateFaceNormal()

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

Definition at line 1290 of file StdExpansion.h.

1291  {
1292  v_NegateFaceNormal(face);
1293  }
virtual void v_NegateFaceNormal(const int face)

◆ NegateVertexNormal()

void Nektar::StdRegions::StdExpansion::NegateVertexNormal ( const int  vertex)
inline

Definition at line 1305 of file StdExpansion.h.

1306  {
1307  v_NegateVertexNormal(vertex);
1308  }
virtual void v_NegateVertexNormal(const int vertex)

◆ NormVectorIProductWRTBase() [1/4]

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

◆ NormVectorIProductWRTBase() [2/4]

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

Definition at line 746 of file StdExpansion.h.

747  {
748  v_NormVectorIProductWRTBase(Fx,Fy,outarray);
749  }
virtual void v_NormVectorIProductWRTBase(const Array< OneD, const NekDouble > &Fx, Array< OneD, NekDouble > &outarray)

◆ NormVectorIProductWRTBase() [3/4]

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 751 of file StdExpansion.h.

752  {
753  v_NormVectorIProductWRTBase(Fx,Fy,Fz,outarray);
754  }
virtual void v_NormVectorIProductWRTBase(const Array< OneD, const NekDouble > &Fx, Array< OneD, NekDouble > &outarray)

◆ NormVectorIProductWRTBase() [4/4]

void Nektar::StdRegions::StdExpansion::NormVectorIProductWRTBase ( const Array< OneD, const Array< OneD, NekDouble > > &  Fvec,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 756 of file StdExpansion.h.

757  {
758  v_NormVectorIProductWRTBase(Fvec, outarray);
759  }
virtual void v_NormVectorIProductWRTBase(const Array< OneD, const NekDouble > &Fx, Array< OneD, NekDouble > &outarray)

◆ NumBndryCoeffs()

int Nektar::StdRegions::StdExpansion::NumBndryCoeffs ( void  ) const
inline

Definition at line 389 of file StdExpansion.h.

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

390  {
391  return v_NumBndryCoeffs();
392  }
virtual int v_NumBndryCoeffs() const

◆ NumDGBndryCoeffs()

int Nektar::StdRegions::StdExpansion::NumDGBndryCoeffs ( void  ) const
inline

◆ PhysDeriv() [1/2]

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

Definition at line 1065 of file StdExpansion.h.

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().

1069  {
1070  v_PhysDeriv (inarray, out_d0, out_d1, out_d2);
1071  }
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.

◆ PhysDeriv() [2/2]

void Nektar::StdRegions::StdExpansion::PhysDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 1073 of file StdExpansion.h.

1076  {
1077  v_PhysDeriv (dir, inarray, outarray);
1078  }
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.

◆ PhysDeriv_n()

void Nektar::StdRegions::StdExpansion::PhysDeriv_n ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_dn 
)
inline

Definition at line 1086 of file StdExpansion.h.

1088  {
1089  v_PhysDeriv_n(inarray,out_dn);
1090  }
virtual void v_PhysDeriv_n(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_dn)

◆ PhysDeriv_s()

void Nektar::StdRegions::StdExpansion::PhysDeriv_s ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_ds 
)
inline

Definition at line 1080 of file StdExpansion.h.

1082  {
1083  v_PhysDeriv_s(inarray,out_ds);
1084  }
virtual void v_PhysDeriv_s(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_ds)

◆ PhysDirectionalDeriv()

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 1092 of file StdExpansion.h.

1095  {
1096  v_PhysDirectionalDeriv (inarray, direction, outarray);
1097  }
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.

◆ PhysEvaluate() [1/2]

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

Definition at line 1146 of file StdExpansion.h.

1148  {
1149  return v_PhysEvaluate(coords,physvals);
1150  }
virtual NekDouble v_PhysEvaluate(const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &physvals)

◆ PhysEvaluate() [2/2]

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 1173 of file StdExpansion.h.

1175  {
1176  return v_PhysEvaluate(I,physvals);
1177  }
virtual NekDouble v_PhysEvaluate(const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &physvals)

◆ PhysInterpToSimplexEquiSpaced()

void Nektar::StdRegions::StdExpansion::PhysInterpToSimplexEquiSpaced ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
int  npset = -1 
)

This function performs an interpolation from the physical space points provided at input into an array of equispaced points which are not the collapsed coordinate. So for a tetrahedron you will only get a tetrahedral number of values.

This is primarily used for output purposes to get a better distribution of points more suitable for most postprocessing

Definition at line 1901 of file StdExpansion.cpp.

References DetShapeType(), Nektar::StdRegions::eFactorConst, Nektar::StdRegions::ePhysInterpToEquiSpaced, Nektar::eWrapper, Nektar::LibUtilities::GetNumberOfCoefficients(), GetStdMatrix(), GetTotPoints(), and m_base.

Referenced by CreateGeneralMatrix().

1905  {
1907  DNekMatSharedPtr intmat;
1908 
1909  int nqtot = GetTotPoints();
1910  int np = 0;
1911  if(npset == -1) // use values from basis num points()
1912  {
1913  int nqbase;
1914  for(int i = 0; i < m_base.num_elements(); ++i)
1915  {
1916  nqbase = m_base[i]->GetNumPoints();
1917  np = std::max(np,nqbase);
1918  }
1919 
1920  StdMatrixKey Ikey(ePhysInterpToEquiSpaced, shape, *this);
1921  intmat = GetStdMatrix(Ikey);
1922  }
1923  else
1924  {
1925  np = npset;
1926 
1927  ConstFactorMap cmap;
1928  cmap[eFactorConst] = np;
1929  StdMatrixKey Ikey(ePhysInterpToEquiSpaced, shape, *this, cmap);
1930  intmat = GetStdMatrix(Ikey);
1931 
1932  }
1933 
1934  NekVector<NekDouble> in (nqtot,inarray,eWrapper);
1935  NekVector<NekDouble> out(LibUtilities::GetNumberOfCoefficients(shape,np,np,np),outarray,eWrapper);
1936  out = (*intmat) * in;
1937  }
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
Definition: StdExpansion.h:469
std::map< ConstFactorType, NekDouble > ConstFactorMap
Definition: StdRegions.hpp:294
std::shared_ptr< DNekMat > DNekMatSharedPtr
Definition: NekTypeDefs.hpp:69
DNekMatSharedPtr GetStdMatrix(const StdMatrixKey &mkey)
Definition: StdExpansion.h:714
int GetNumberOfCoefficients(ShapeType shape, std::vector< unsigned int > &modes, int offset)
Definition: ShapeType.hpp:313
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140
Array< OneD, LibUtilities::BasisSharedPtr > m_base

◆ ReduceOrderCoeffs()

void Nektar::StdRegions::StdExpansion::ReduceOrderCoeffs ( int  numMin,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 988 of file StdExpansion.h.

991  {
992  v_ReduceOrderCoeffs(numMin,inarray,outarray);
993  }
virtual void v_ReduceOrderCoeffs(int numMin, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ SetCoeffsToOrientation() [1/2]

void Nektar::StdRegions::StdExpansion::SetCoeffsToOrientation ( Array< OneD, NekDouble > &  coeffs,
StdRegions::Orientation  dir 
)
inline

Definition at line 781 of file StdExpansion.h.

784  {
785  v_SetCoeffsToOrientation(coeffs, dir);
786  }
virtual void v_SetCoeffsToOrientation(StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ SetCoeffsToOrientation() [2/2]

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

Definition at line 788 of file StdExpansion.h.

792  {
793  v_SetCoeffsToOrientation(dir,inarray,outarray);
794  }
virtual void v_SetCoeffsToOrientation(StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ SetElmtId()

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 676 of file StdExpansion.h.

677  {
678  m_elmt_id = id;
679  }

◆ SetPhysNormals()

void Nektar::StdRegions::StdExpansion::SetPhysNormals ( Array< OneD, const NekDouble > &  normal)
inline

Definition at line 734 of file StdExpansion.h.

References STD_REGIONS_EXPORT.

735  {
736  v_SetPhysNormals(normal);
737  }
virtual void v_SetPhysNormals(Array< OneD, const NekDouble > &normal)

◆ SetUpPhysNormals()

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

Definition at line 969 of file StdExpansion.cpp.

References v_SetUpPhysNormals().

970  {
971  v_SetUpPhysNormals(edge);
972  }
virtual void v_SetUpPhysNormals(const int edge)

◆ StdPhysDeriv() [1/2]

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 1099 of file StdExpansion.h.

1103  {
1104  v_StdPhysDeriv(inarray, out_d0, out_d1, out_d2);
1105  }
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)

◆ StdPhysDeriv() [2/2]

void Nektar::StdRegions::StdExpansion::StdPhysDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 1107 of file StdExpansion.h.

1110  {
1111  v_StdPhysDeriv(dir,inarray,outarray);
1112  }
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)

◆ StdPhysEvaluate()

NekDouble Nektar::StdRegions::StdExpansion::StdPhysEvaluate ( const Array< OneD, const NekDouble > &  Lcoord,
const Array< OneD, const NekDouble > &  physvals 
)

Definition at line 974 of file StdExpansion.cpp.

References v_StdPhysEvaluate().

976  {
977  return v_StdPhysEvaluate(Lcoord,physvals);
978  }
virtual NekDouble v_StdPhysEvaluate(const Array< OneD, const NekDouble > &Lcoord, const Array< OneD, const NekDouble > &physvals)

◆ SVVLaplacianFilter()

void Nektar::StdRegions::StdExpansion::SVVLaplacianFilter ( Array< OneD, NekDouble > &  array,
const StdMatrixKey mkey 
)
inline

Definition at line 995 of file StdExpansion.h.

Referenced by LaplacianMatrixOp_MatFree().

997  {
998  v_SVVLaplacianFilter(array,mkey);
999  }
virtual void v_SVVLaplacianFilter(Array< OneD, NekDouble > &array, const StdMatrixKey &mkey)

◆ v_AddRobinEdgeContribution()

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 1314 of file StdExpansion.cpp.

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

1315  {
1316  boost::ignore_unused(edgeid, primCoeffs, coeffs);
1317  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1318  "specific element types");
1319  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_AddRobinMassMatrix()

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 1307 of file StdExpansion.cpp.

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

1308  {
1309  boost::ignore_unused(edgeid, primCoeffs, inoutmat);
1310  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1311  "specific element types");
1312  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_BuildInverseTransformationMatrix()

DNekMatSharedPtr Nektar::StdRegions::StdExpansion::v_BuildInverseTransformationMatrix ( const DNekScalMatSharedPtr m_transformationmatrix)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion3D.

Definition at line 1893 of file StdExpansion.cpp.

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

1895  {
1896  boost::ignore_unused(m_transformationmatrix);
1897  NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
1898  return NullDNekMatSharedPtr;
1899  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209
static DNekMatSharedPtr NullDNekMatSharedPtr
Definition: NekTypeDefs.hpp:78

◆ v_BwdTrans()

virtual void Nektar::StdRegions::StdExpansion::v_BwdTrans ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatepure virtual

◆ v_BwdTrans_SumFac()

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

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

Definition at line 1606 of file StdExpansion.cpp.

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

1608  {
1609  boost::ignore_unused(inarray, outarray);
1610  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1611  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_CalcNumberOfCoefficients()

int Nektar::StdRegions::StdExpansion::v_CalcNumberOfCoefficients ( const std::vector< unsigned int > &  nummodes,
int &  modes_offset 
)
virtual

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

Definition at line 1004 of file StdExpansion.cpp.

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

1005  {
1006  boost::ignore_unused(nummodes, modes_offset);
1007  NEKERROR(ErrorUtil::efatal, "This function is not defined for this class");
1008  return 0;
1009  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_ComputeEdgeNormal()

void Nektar::StdRegions::StdExpansion::v_ComputeEdgeNormal ( const int  edge)
privatevirtual

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

Definition at line 1781 of file StdExpansion.cpp.

References ASSERTL0.

1782  {
1783  boost::ignore_unused(edge);
1784  ASSERTL0(false, "Cannot compute edge normal for this expansion.");
1785  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_ComputeFaceNormal()

void Nektar::StdRegions::StdExpansion::v_ComputeFaceNormal ( const int  face)
privatevirtual

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

Definition at line 1800 of file StdExpansion.cpp.

References ASSERTL0.

1801  {
1802  boost::ignore_unused(face);
1803  ASSERTL0(false, "Cannot compute face normal for this expansion.");
1804  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_ComputeVertexNormal()

void Nektar::StdRegions::StdExpansion::v_ComputeVertexNormal ( const int  vertex)
privatevirtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1819 of file StdExpansion.cpp.

References ASSERTL0.

1820  {
1821  boost::ignore_unused(vertex);
1822  ASSERTL0(false, "Cannot compute vertex normal for this expansion.");
1823  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_CreateStdMatrix()

DNekMatSharedPtr Nektar::StdRegions::StdExpansion::v_CreateStdMatrix ( const StdMatrixKey mkey)
privatevirtual

◆ v_DetCartesianDirOfEdge()

int Nektar::StdRegions::StdExpansion::v_DetCartesianDirOfEdge ( const int  edge)
privatevirtual

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

Definition at line 1143 of file StdExpansion.cpp.

References ASSERTL0.

1144  {
1145  boost::ignore_unused(edge);
1146  ASSERTL0(false, "This function is not valid or not defined");
1147  return 0;
1148  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_DetEdgeBasisKey()

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 1150 of file StdExpansion.cpp.

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

1151  {
1152  boost::ignore_unused(i);
1153  ASSERTL0(false, "This function is not valid or not defined");
1155  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
static const BasisKey NullBasisKey(eNoBasisType, 0, NullPointsKey)
Defines a null basis with no type or points.

◆ v_DetFaceBasisKey()

const LibUtilities::BasisKey Nektar::StdRegions::StdExpansion::v_DetFaceBasisKey ( const int  i,
const int  k 
) const
privatevirtual

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

Definition at line 1157 of file StdExpansion.cpp.

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

1158  {
1159  boost::ignore_unused(i, k);
1160  ASSERTL0(false, "This function is not valid or not defined");
1162  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
static const BasisKey NullBasisKey(eNoBasisType, 0, NullPointsKey)
Defines a null basis with no type or points.

◆ v_DetShapeType()

LibUtilities::ShapeType Nektar::StdRegions::StdExpansion::v_DetShapeType ( ) const
privatevirtual

◆ v_DropLocStaticCondMatrix()

void Nektar::StdRegions::StdExpansion::v_DropLocStaticCondMatrix ( const LocalRegions::MatrixKey mkey)
virtual

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

Definition at line 1046 of file StdExpansion.cpp.

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

1047  {
1048  boost::ignore_unused(mkey);
1049  NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
1050  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_EdgeNormalNegated()

bool Nektar::StdRegions::StdExpansion::v_EdgeNormalNegated ( const int  edge)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 1793 of file StdExpansion.cpp.

References ASSERTL0.

1794  {
1795  boost::ignore_unused(edge);
1796  ASSERTL0(false, "Not implemented.");
1797  return false;
1798  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_ExponentialFilter()

void Nektar::StdRegions::StdExpansion::v_ExponentialFilter ( Array< OneD, NekDouble > &  array,
const NekDouble  alpha,
const NekDouble  exponent,
const NekDouble  cutoff 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdSegExp.

Definition at line 1668 of file StdExpansion.cpp.

References ASSERTL0.

1673  {
1674  boost::ignore_unused(array, alpha, exponent, cutoff);
1675  ASSERTL0(false, "This function is not defined in StdExpansion.");
1676  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_FaceNormalNegated()

bool Nektar::StdRegions::StdExpansion::v_FaceNormalNegated ( const int  face)
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D.

Definition at line 1812 of file StdExpansion.cpp.

References ASSERTL0.

1813  {
1814  boost::ignore_unused(face);
1815  ASSERTL0(false, "Not implemented.");
1816  return false;
1817  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_FillMode()

void Nektar::StdRegions::StdExpansion::v_FillMode ( const int  mode,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

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

Definition at line 1412 of file StdExpansion.cpp.

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

1413  {
1414  boost::ignore_unused(mode, outarray);
1415  NEKERROR(ErrorUtil::efatal, "This function has not "
1416  "been defined for this shape");
1417  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_FwdTrans()

virtual void Nektar::StdRegions::StdExpansion::v_FwdTrans ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatepure virtual

◆ v_FwdTrans_BndConstrained()

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 1286 of file StdExpansion.cpp.

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

1288  {
1289  boost::ignore_unused(inarray, outarray);
1290  NEKERROR(ErrorUtil::efatal, "This method has not been defined");
1291  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GenMatrix()

DNekMatSharedPtr Nektar::StdRegions::StdExpansion::v_GenMatrix ( const StdMatrixKey mkey)
privatevirtual

◆ v_GetBoundaryMap()

void Nektar::StdRegions::StdExpansion::v_GetBoundaryMap ( Array< OneD, unsigned int > &  outarray)
privatevirtual

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

Definition at line 1458 of file StdExpansion.cpp.

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

1459  {
1460  boost::ignore_unused(outarray);
1461  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1462  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetCoord()

void Nektar::StdRegions::StdExpansion::v_GetCoord ( const Array< OneD, const NekDouble > &  Lcoord,
Array< OneD, NekDouble > &  coord 
)
privatevirtual

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

Definition at line 1445 of file StdExpansion.cpp.

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

1447  {
1448  boost::ignore_unused(Lcoord, coord);
1449  NEKERROR(ErrorUtil::efatal, "Write coordinate definition method");
1450  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetCoordim()

int Nektar::StdRegions::StdExpansion::v_GetCoordim ( void  )
privatevirtual

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

Definition at line 1452 of file StdExpansion.cpp.

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

Referenced by H1().

1453  {
1454  NEKERROR(ErrorUtil::efatal, "Write method");
1455  return -1;
1456  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetCoords()

void Nektar::StdRegions::StdExpansion::v_GetCoords ( Array< OneD, NekDouble > &  coords_0,
Array< OneD, NekDouble > &  coords_1,
Array< OneD, NekDouble > &  coords_2 
)
privatevirtual

◆ v_GetEdgeBasisType()

LibUtilities::BasisType Nektar::StdRegions::StdExpansion::v_GetEdgeBasisType ( const int  i) const
privatevirtual

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

Definition at line 1206 of file StdExpansion.cpp.

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

1207  {
1208  boost::ignore_unused(i);
1209  ASSERTL0(false, "This function is not valid or not defined");
1210 
1212  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetEdgeInteriorMap()

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::StdTetExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1478 of file StdExpansion.cpp.

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

Referenced by CreateIndexMap().

1481  {
1482  boost::ignore_unused(eid, edgeOrient, maparray, signarray);
1483  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1484  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetEdgeInterpVals()

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

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

Definition at line 1549 of file StdExpansion.cpp.

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

1550  {
1551  boost::ignore_unused(edge, inarray, outarray);
1552  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1553  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetEdgeInverseBoundaryMap()

Array< OneD, unsigned int > Nektar::StdRegions::StdExpansion::v_GetEdgeInverseBoundaryMap ( int  eid)
privatevirtual

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

Definition at line 1863 of file StdExpansion.cpp.

References ASSERTL0.

1864  {
1865  boost::ignore_unused(eid);
1866  ASSERTL0(false, "Not implemented.");
1867  Array<OneD, unsigned int> noinversemap(1);
1868  return noinversemap;
1869  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetEdgeNcoeffs()

int Nektar::StdRegions::StdExpansion::v_GetEdgeNcoeffs ( const int  i) const
privatevirtual

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

Definition at line 1123 of file StdExpansion.cpp.

References ASSERTL0.

1124  {
1125  boost::ignore_unused(i);
1126  ASSERTL0(false, "This function is not valid or not defined");
1127  return 0;
1128  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetEdgeNormal()

const NormalVector & Nektar::StdRegions::StdExpansion::v_GetEdgeNormal ( const int  edge) const
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 1773 of file StdExpansion.cpp.

References ASSERTL0.

1774  {
1775  boost::ignore_unused(edge);
1776  ASSERTL0(false, "Cannot get edge normals for this expansion.");
1777  static NormalVector result;
1778  return result;
1779  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
Array< OneD, Array< OneD, NekDouble > > NormalVector
Definition: StdExpansion.h:58

◆ v_GetEdgeNumPoints()

int Nektar::StdRegions::StdExpansion::v_GetEdgeNumPoints ( const int  i) const
privatevirtual

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

Definition at line 1136 of file StdExpansion.cpp.

References ASSERTL0.

1137  {
1138  boost::ignore_unused(i);
1139  ASSERTL0(false, "This function is not valid or not defined");
1140  return 0;
1141  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetEdgePhysMap()

void Nektar::StdRegions::StdExpansion::v_GetEdgePhysMap ( const int  edge,
Array< OneD, int > &  outarray 
)
privatevirtual

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

Definition at line 1574 of file StdExpansion.cpp.

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

1577  {
1578  boost::ignore_unused(edge, outarray);
1580  "Method does not exist for this shape or library" );
1581  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetEdgePhysVals() [1/2]

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::TriExp, and Nektar::LocalRegions::QuadExp.

Definition at line 1525 of file StdExpansion.cpp.

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

1526  {
1527  boost::ignore_unused(edge, inarray, outarray);
1528  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1529  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetEdgePhysVals() [2/2]

void Nektar::StdRegions::StdExpansion::v_GetEdgePhysVals ( const int  edge,
const std::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Definition at line 1531 of file StdExpansion.cpp.

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

1532  {
1533  boost::ignore_unused(edge, EdgeExp, inarray, outarray);
1534  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1535  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetEdgeQFactors()

void Nektar::StdRegions::StdExpansion::v_GetEdgeQFactors ( const int  edge,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

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

Definition at line 1555 of file StdExpansion.cpp.

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

1558  {
1559  boost::ignore_unused(edge, outarray);
1561  "Method does not exist for this shape or library");
1562  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetEdgeToElementMap()

void Nektar::StdRegions::StdExpansion::v_GetEdgeToElementMap ( const int  eid,
const Orientation  edgeOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray,
int  P = -1 
)
privatevirtual

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

Definition at line 1504 of file StdExpansion.cpp.

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

Referenced by CreateIndexMap().

1510  {
1511  boost::ignore_unused(eid, edgeOrient, maparray, signarray, P);
1512  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
1513  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetElmtId()

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 980 of file StdExpansion.cpp.

References m_elmt_id.

981  {
982  return m_elmt_id;
983  }

◆ v_GetEorient()

StdRegions::Orientation Nektar::StdRegions::StdExpansion::v_GetEorient ( int  edge)
virtual

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

Definition at line 1060 of file StdExpansion.cpp.

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

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

1061  {
1062  boost::ignore_unused(edge);
1063  NEKERROR(ErrorUtil::efatal, "This function is only valid for two-dimensional LocalRegions");
1064  return eForwards;
1065  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetFaceInteriorMap()

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::StdTetExp, Nektar::StdRegions::StdHexExp, and Nektar::StdRegions::StdPrismExp.

Definition at line 1496 of file StdExpansion.cpp.

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

Referenced by CreateIndexMap().

1499  {
1500  boost::ignore_unused(fid, faceOrient, maparray, signarray);
1501  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1502  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetFaceIntNcoeffs()

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 1178 of file StdExpansion.cpp.

References ASSERTL0.

1179  {
1180  boost::ignore_unused(i);
1181  ASSERTL0(false, "This function is not valid or not defined");
1182  return 0;
1183  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetFaceInverseBoundaryMap()

Array< OneD, unsigned int > Nektar::StdRegions::StdExpansion::v_GetFaceInverseBoundaryMap ( int  fid,
StdRegions::Orientation  faceOrient = eNoOrientation,
int  P1 = -1,
int  P2 = -1 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion3D.

Definition at line 1872 of file StdExpansion.cpp.

References ASSERTL0.

1876  {
1877  boost::ignore_unused(fid, faceOrient, P1, P2);
1878  ASSERTL0(false, "Not implemented.");
1879  Array<OneD, unsigned int> noinversemap(1);
1880  return noinversemap;
1881  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetFaceNcoeffs()

int Nektar::StdRegions::StdExpansion::v_GetFaceNcoeffs ( const int  i) const
privatevirtual

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

Definition at line 1171 of file StdExpansion.cpp.

References ASSERTL0.

1172  {
1173  boost::ignore_unused(i);
1174  ASSERTL0(false, "This function is not valid or not defined");
1175  return 0;
1176  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetFaceNormal()

const NormalVector & Nektar::StdRegions::StdExpansion::v_GetFaceNormal ( const int  face) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D.

Definition at line 1838 of file StdExpansion.cpp.

References ASSERTL0.

1839  {
1840  boost::ignore_unused(face);
1841  ASSERTL0(false, "Cannot get face normals for this expansion.");
1842  static NormalVector result;
1843  return result;
1844  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
Array< OneD, Array< OneD, NekDouble > > NormalVector
Definition: StdExpansion.h:58

◆ v_GetFaceNumModes()

void Nektar::StdRegions::StdExpansion::v_GetFaceNumModes ( const int  fid,
const Orientation  faceOrient,
int &  numModes0,
int &  numModes1 
)
privatevirtual

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

Definition at line 1486 of file StdExpansion.cpp.

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

1491  {
1492  boost::ignore_unused(fid, faceOrient, numModes0, numModes1);
1493  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1494  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetFaceNumPoints()

int Nektar::StdRegions::StdExpansion::v_GetFaceNumPoints ( const int  i) const
privatevirtual

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

Definition at line 1164 of file StdExpansion.cpp.

References ASSERTL0.

1165  {
1166  boost::ignore_unused(i);
1167  ASSERTL0(false, "This function is not valid or not defined");
1168  return 0;
1169  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetFacePhysMap()

void Nektar::StdRegions::StdExpansion::v_GetFacePhysMap ( const int  face,
Array< OneD, int > &  outarray 
)
privatevirtual

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

Definition at line 1583 of file StdExpansion.cpp.

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

1585  {
1586  boost::ignore_unused(face, outarray);
1587  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1588  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetFacePhysVals()

void Nektar::StdRegions::StdExpansion::v_GetFacePhysVals ( const int  face,
const std::shared_ptr< StdExpansion > &  FaceExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
StdRegions::Orientation  orient 
)
privatevirtual

Definition at line 1564 of file StdExpansion.cpp.

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

1569  {
1570  boost::ignore_unused(face, FaceExp, inarray, outarray, orient);
1571  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1572  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetFacePointsKey()

LibUtilities::PointsKey Nektar::StdRegions::StdExpansion::v_GetFacePointsKey ( const int  i,
const int  j 
) const
privatevirtual

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

Definition at line 1199 of file StdExpansion.cpp.

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

1200  {
1201  boost::ignore_unused(i, j);
1202  ASSERTL0(false, "This function is not valid or not defined");
1204  }
static const PointsKey NullPointsKey(0, eNoPointsType)
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetFaceToElementMap()

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 1515 of file StdExpansion.cpp.

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

Referenced by CreateIndexMap().

1519  {
1520  boost::ignore_unused(fid, faceOrient, maparray, signarray,
1521  nummodesA, nummodesB);
1522  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1523  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetForient()

StdRegions::Orientation Nektar::StdRegions::StdExpansion::v_GetForient ( int  face)
virtual

Reimplemented in Nektar::LocalRegions::Expansion3D.

Definition at line 1052 of file StdExpansion.cpp.

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

1054  {
1055  boost::ignore_unused(face);
1056  NEKERROR(ErrorUtil::efatal, "This function is only valid for three-dimensional LocalRegions");
1057  return eDir1FwdDir1_Dir2FwdDir2;
1058  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetInteriorMap()

void Nektar::StdRegions::StdExpansion::v_GetInteriorMap ( Array< OneD, unsigned int > &  outarray)
privatevirtual

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

Definition at line 1464 of file StdExpansion.cpp.

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

1465  {
1466  boost::ignore_unused(outarray);
1467  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1468  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetInverseBoundaryMaps()

void Nektar::StdRegions::StdExpansion::v_GetInverseBoundaryMaps ( Array< OneD, unsigned int > &  vmap,
Array< OneD, Array< OneD, unsigned int > > &  emap,
Array< OneD, Array< OneD, unsigned int > > &  fmap 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion3D.

Definition at line 1883 of file StdExpansion.cpp.

References ASSERTL0.

1887  {
1888  boost::ignore_unused(vmap, emap, fmap);
1889  ASSERTL0(false, "Not implemented.");
1890  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetLinStdExp()

std::shared_ptr< StdExpansion > Nektar::StdRegions::StdExpansion::v_GetLinStdExp ( void  ) const
privatevirtual

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

Definition at line 1236 of file StdExpansion.cpp.

References ASSERTL0.

1237  {
1238  ASSERTL0(false,"This method is not defined for this expansion");
1239  StdExpansionSharedPtr returnval;
1240  return returnval;
1241  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
std::shared_ptr< StdExpansion > StdExpansionSharedPtr

◆ v_GetLocStaticCondMatrix()

DNekScalBlkMatSharedPtr Nektar::StdRegions::StdExpansion::v_GetLocStaticCondMatrix ( const LocalRegions::MatrixKey mkey)
virtual

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

Definition at line 1039 of file StdExpansion.cpp.

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

1040  {
1041  boost::ignore_unused(mkey);
1042  NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
1044  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209
static DNekScalBlkMatSharedPtr NullDNekScalBlkMatSharedPtr
Definition: NekTypeDefs.hpp:80

◆ v_GetNedges()

int Nektar::StdRegions::StdExpansion::v_GetNedges ( ) const
privatevirtual

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

Definition at line 1099 of file StdExpansion.cpp.

References ASSERTL0.

1100  {
1101  ASSERTL0(false, "This function is needs defining for this shape");
1102  return 0;
1103  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetNfaces()

int Nektar::StdRegions::StdExpansion::v_GetNfaces ( ) const
privatevirtual

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

Definition at line 1105 of file StdExpansion.cpp.

References ASSERTL0.

1106  {
1107  ASSERTL0(false, "This function is needs defining for this shape");
1108  return 0;
1109  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetNodalPointsKey()

const LibUtilities::PointsKey Nektar::StdRegions::StdExpansion::v_GetNodalPointsKey ( ) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdNodalTriExp, Nektar::StdRegions::StdNodalPrismExp, and Nektar::StdRegions::StdNodalTetExp.

Definition at line 1214 of file StdExpansion.cpp.

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

1215  {
1216  ASSERTL0(false, "This function is not valid or not defined");
1217 
1219  }
static const PointsKey NullPointsKey(0, eNoPointsType)
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetNverts()

virtual int Nektar::StdRegions::StdExpansion::v_GetNverts ( ) const
privatepure virtual

◆ v_GetPhysNormals()

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

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 985 of file StdExpansion.cpp.

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

986  {
987  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
988  return NullNekDouble1DArray;
989  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209
static Array< OneD, NekDouble > NullNekDouble1DArray

◆ v_GetShapeDimension()

int Nektar::StdRegions::StdExpansion::v_GetShapeDimension ( ) const
privatevirtual

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

Definition at line 1243 of file StdExpansion.cpp.

References ASSERTL0.

1244  {
1245  ASSERTL0(false, "This function is not valid or not defined");
1246  return 0;
1247  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetSimplexEquiSpacedConnectivity()

void Nektar::StdRegions::StdExpansion::v_GetSimplexEquiSpacedConnectivity ( Array< OneD, int > &  conn,
bool  standard = true 
)
privatevirtual

Reimplemented in Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdSegExp, and Nektar::LocalRegions::PrismExp.

Definition at line 1939 of file StdExpansion.cpp.

References ASSERTL0.

1942  {
1943  boost::ignore_unused(conn, standard);
1944  ASSERTL0(false, "Not implemented.");
1945  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetStdExp()

std::shared_ptr< StdExpansion > Nektar::StdRegions::StdExpansion::v_GetStdExp ( void  ) const
privatevirtual

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

Definition at line 1228 of file StdExpansion.cpp.

References ASSERTL0.

1229  {
1230  ASSERTL0(false,"This method is not defined for this expansion");
1231  StdExpansionSharedPtr returnval;
1232  return returnval;
1233  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
std::shared_ptr< StdExpansion > StdExpansionSharedPtr

◆ v_GetSurfaceNormal()

const NormalVector & Nektar::StdRegions::StdExpansion::v_GetSurfaceNormal ( const int  id) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D, Nektar::LocalRegions::Expansion2D, and Nektar::StdRegions::StdExpansion1D.

Definition at line 1854 of file StdExpansion.cpp.

References ASSERTL0.

1855  {
1856  boost::ignore_unused(id);
1857  ASSERTL0(false, "Cannot get face normals for this expansion.");
1858  static NormalVector result;
1859  return result;
1860  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
Array< OneD, Array< OneD, NekDouble > > NormalVector
Definition: StdExpansion.h:58

◆ v_GetTotalEdgeIntNcoeffs()

int Nektar::StdRegions::StdExpansion::v_GetTotalEdgeIntNcoeffs ( ) const
privatevirtual

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

Definition at line 1130 of file StdExpansion.cpp.

References ASSERTL0.

1131  {
1132  ASSERTL0(false, "This function is not valid or not defined");
1133  return 0;
1134  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetTotalFaceIntNcoeffs()

int Nektar::StdRegions::StdExpansion::v_GetTotalFaceIntNcoeffs ( ) const
privatevirtual

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

Definition at line 1185 of file StdExpansion.cpp.

References ASSERTL0.

1186  {
1187  ASSERTL0(false, "This function is not valid or not defined");
1188  return 0;
1189  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetTraceNcoeffs()

int Nektar::StdRegions::StdExpansion::v_GetTraceNcoeffs ( const int  i) const
privatevirtual

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

Definition at line 1191 of file StdExpansion.cpp.

References ASSERTL0.

1192  {
1193  boost::ignore_unused(i);
1194  ASSERTL0(false, "This function is not valid or not defined");
1195  return 0;
1196  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_GetTracePhysVals()

void Nektar::StdRegions::StdExpansion::v_GetTracePhysVals ( const int  edge,
const std::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
StdRegions::Orientation  orient = eNoOrientation 
)
privatevirtual

Definition at line 1537 of file StdExpansion.cpp.

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

1538  {
1539  boost::ignore_unused(edge, EdgeExp, inarray, outarray, orient);
1540  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1541  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetVertexMap()

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::StdSegExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdNodalTriExp, Nektar::StdRegions::StdNodalPrismExp, Nektar::StdRegions::StdNodalTetExp, and Nektar::StdRegions::StdPointExp.

Definition at line 1470 of file StdExpansion.cpp.

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

1472  {
1473  boost::ignore_unused(localVertexId, useCoeffPacking);
1474  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1475  return 0;
1476  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_GetVertexNormal()

const NormalVector & Nektar::StdRegions::StdExpansion::v_GetVertexNormal ( const int  vertex) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion1D.

Definition at line 1846 of file StdExpansion.cpp.

References ASSERTL0.

1847  {
1848  boost::ignore_unused(vertex);
1849  ASSERTL0(false, "Cannot get vertex normals for this expansion.");
1850  static NormalVector result;
1851  return result;
1852  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
Array< OneD, Array< OneD, NekDouble > > NormalVector
Definition: StdExpansion.h:58

◆ v_GetVertexPhysVals()

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 1543 of file StdExpansion.cpp.

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

1544  {
1545  boost::ignore_unused(vertex, inarray, outarray);
1546  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1547  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_HelmholtzMatrixOp()

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

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

Definition at line 1737 of file StdExpansion.cpp.

References HelmholtzMatrixOp_MatFree().

1740  {
1741  // If this function is not reimplemented on shape level, the function
1742  // below will be called
1743  HelmholtzMatrixOp_MatFree(inarray,outarray,mkey);
1744  }
void HelmholtzMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ v_HelmholtzMatrixOp_MatFree()

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 1764 of file StdExpansion.cpp.

References HelmholtzMatrixOp_MatFree_GenericImpl().

1767  {
1768  // If this function is not reimplemented on shape level, the function
1769  // below will be called
1770  HelmholtzMatrixOp_MatFree_GenericImpl(inarray,outarray,mkey);
1771  }
void HelmholtzMatrixOp_MatFree_GenericImpl(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ v_Integral()

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::LocalRegions::NodalTriExp, Nektar::StdRegions::StdExpansion3D, Nektar::LocalRegions::HexExp, Nektar::StdRegions::StdSegExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::SegExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1298 of file StdExpansion.cpp.

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

Referenced by H1(), and L2().

1299  {
1300  boost::ignore_unused(inarray);
1301  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1302  "local expansions");
1303  return 0;
1304  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_IProductWRTBase() [1/2]

virtual void Nektar::StdRegions::StdExpansion::v_IProductWRTBase ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatepure virtual

◆ v_IProductWRTBase() [2/2]

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 1647 of file StdExpansion.h.

References Nektar::ErrorUtil::efatal, Nektar::StdRegions::eNoOrientation, NEKERROR, class_topology::P, and STD_REGIONS_EXPORT.

1652  {
1653  boost::ignore_unused(base, inarray, outarray, coll_check);
1655  "StdExpansion::v_IProductWRTBase has no (and should have no) implementation");
1656  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_IProductWRTBase_SumFac()

void Nektar::StdRegions::StdExpansion::v_IProductWRTBase_SumFac ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
bool  multiplybyweights = true 
)
privatevirtual

◆ v_IProductWRTDerivBase()

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

◆ v_IProductWRTDerivBase_SumFac()

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

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

Definition at line 1634 of file StdExpansion.cpp.

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

1637  {
1638  boost::ignore_unused(dir, inarray, outarray);
1639  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1640  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_IProductWRTDirectionalDerivBase()

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

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

Definition at line 1273 of file StdExpansion.cpp.

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

1277  {
1278  boost::ignore_unused(direction, inarray, outarray);
1279  NEKERROR(ErrorUtil::efatal, "This method has not been defined");
1280  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_IProductWRTDirectionalDerivBase_SumFac()

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

Reimplemented in Nektar::LocalRegions::TriExp.

Definition at line 1624 of file StdExpansion.cpp.

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

1628  {
1629  boost::ignore_unused(direction, inarray, outarray);
1631  "Method does not exist for this shape" );
1632  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_IsBoundaryInteriorExpansion()

bool Nektar::StdRegions::StdExpansion::v_IsBoundaryInteriorExpansion ( )
privatevirtual

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

Definition at line 1249 of file StdExpansion.cpp.

References ASSERTL0.

1250  {
1251  ASSERTL0(false,"This function has not been defined for this expansion");
1252  return false;
1253  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_IsNodalNonTensorialExp()

bool Nektar::StdRegions::StdExpansion::v_IsNodalNonTensorialExp ( )
privatevirtual

Reimplemented in Nektar::StdRegions::StdNodalPrismExp, Nektar::StdRegions::StdNodalTriExp, and Nektar::StdRegions::StdNodalTetExp.

Definition at line 1256 of file StdExpansion.cpp.

1257  {
1258  return false;
1259  }

◆ v_LaplacianMatrixOp() [1/2]

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

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

Definition at line 1651 of file StdExpansion.cpp.

References LaplacianMatrixOp_MatFree().

1654  {
1655  // If this function is not reimplemented on shape level, the function
1656  // below will be called
1657  LaplacianMatrixOp_MatFree(inarray,outarray,mkey);
1658  }
void LaplacianMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ v_LaplacianMatrixOp() [2/2]

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::LocalRegions::NodalTriExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdHexExp, Nektar::LocalRegions::QuadExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::HexExp, Nektar::StdRegions::StdNodalTriExp, Nektar::LocalRegions::PrismExp, and Nektar::LocalRegions::TetExp.

Definition at line 1686 of file StdExpansion.cpp.

References LaplacianMatrixOp_MatFree().

1690  {
1691  // If this function is not reimplemented on shape level, the function
1692  // below will be called
1693  LaplacianMatrixOp_MatFree(k1,k2,inarray,outarray,mkey);
1694  }
void LaplacianMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ v_LaplacianMatrixOp_MatFree()

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 1746 of file StdExpansion.cpp.

References LaplacianMatrixOp_MatFree_GenericImpl().

1749  {
1750  // If this function is not reimplemented on shape level, the function
1751  // below will be called
1752  LaplacianMatrixOp_MatFree_GenericImpl(inarray,outarray,mkey);
1753  }
void LaplacianMatrixOp_MatFree_GenericImpl(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ v_LaplacianMatrixOp_MatFree_Kernel()

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::HexExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PrismExp, and Nektar::LocalRegions::PyrExp.

Definition at line 1755 of file StdExpansion.cpp.

References ASSERTL0.

1759  {
1760  boost::ignore_unused(inarray, outarray, wsp);
1761  ASSERTL0(false, "Not implemented.");
1762  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_LinearAdvectionDiffusionReactionMatrixOp()

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 1726 of file StdExpansion.cpp.

References LinearAdvectionDiffusionReactionMatrixOp_MatFree().

1730  {
1731  // If this function is not reimplemented on shape level, the function
1732  // below will be called
1733  LinearAdvectionDiffusionReactionMatrixOp_MatFree(inarray,outarray,mkey,addDiffusionTerm);
1734 
1735  }
void LinearAdvectionDiffusionReactionMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true)

◆ v_LocCoordToLocCollapsed()

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::StdPrismExp, Nektar::StdRegions::StdHexExp, Nektar::StdRegions::StdQuadExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1093 of file StdExpansion.cpp.

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

1094  {
1095  boost::ignore_unused(xi, eta);
1096  NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
1097  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_MassLevelCurvatureMatrixOp()

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

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

Definition at line 1717 of file StdExpansion.cpp.

References MassLevelCurvatureMatrixOp_MatFree().

1720  {
1721  // If this function is not reimplemented on shape level, the function
1722  // below will be called
1723  MassLevelCurvatureMatrixOp_MatFree(inarray,outarray,mkey);
1724  }
void MassLevelCurvatureMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ v_MassMatrixOp()

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

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

Definition at line 1642 of file StdExpansion.cpp.

References MassMatrixOp_MatFree().

1645  {
1646  // If this function is not reimplemented on shape level, the function
1647  // below will be called
1648  MassMatrixOp_MatFree(inarray,outarray,mkey);
1649  }
void MassMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ v_MultiplyByQuadratureMetric()

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 1590 of file StdExpansion.cpp.

References v_MultiplyByStdQuadratureMetric().

1593  {
1594  boost::ignore_unused(inarray, outarray);
1595  v_MultiplyByStdQuadratureMetric(inarray,outarray);
1596  }
virtual void v_MultiplyByStdQuadratureMetric(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)

◆ v_MultiplyByStdQuadratureMetric()

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

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

Definition at line 1598 of file StdExpansion.cpp.

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

Referenced by v_MultiplyByQuadratureMetric().

1601  {
1602  boost::ignore_unused(inarray, outarray);
1603  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape or library");
1604  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_NegateEdgeNormal()

void Nektar::StdRegions::StdExpansion::v_NegateEdgeNormal ( const int  edge)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 1787 of file StdExpansion.cpp.

References ASSERTL0.

1788  {
1789  boost::ignore_unused(edge);
1790  ASSERTL0(false, "Not implemented.");
1791  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_NegateFaceNormal()

void Nektar::StdRegions::StdExpansion::v_NegateFaceNormal ( const int  face)
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D.

Definition at line 1806 of file StdExpansion.cpp.

References ASSERTL0.

1807  {
1808  boost::ignore_unused(face);
1809  ASSERTL0(false, "Not implemented.");
1810  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_NegateVertexNormal()

void Nektar::StdRegions::StdExpansion::v_NegateVertexNormal ( const int  vertex)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion1D.

Definition at line 1825 of file StdExpansion.cpp.

References ASSERTL0.

1826  {
1827  boost::ignore_unused(vertex);
1828  ASSERTL0(false, "Not implemented.");
1829  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_NormVectorIProductWRTBase() [1/4]

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

Reimplemented in Nektar::LocalRegions::PointExp.

Definition at line 1011 of file StdExpansion.cpp.

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

1012  {
1013  boost::ignore_unused(Fx, outarray);
1014  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
1015  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_NormVectorIProductWRTBase() [2/4]

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 1017 of file StdExpansion.cpp.

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

1018  {
1019  boost::ignore_unused(Fx, Fy, outarray);
1020  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
1021  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_NormVectorIProductWRTBase() [3/4]

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::TriExp, and Nektar::LocalRegions::QuadExp.

Definition at line 1023 of file StdExpansion.cpp.

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

1027  {
1028  boost::ignore_unused(Fx, Fy, Fz, outarray);
1029  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
1030  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_NormVectorIProductWRTBase() [4/4]

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

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

Definition at line 1032 of file StdExpansion.cpp.

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

1033  {
1034  boost::ignore_unused(Fvec, outarray);
1035  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
1036  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_NumBndryCoeffs()

int Nektar::StdRegions::StdExpansion::v_NumBndryCoeffs ( ) const
privatevirtual

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

Definition at line 1111 of file StdExpansion.cpp.

References ASSERTL0.

1112  {
1113  ASSERTL0(false, "This function is needs defining for this shape");
1114  return 0;
1115  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_NumDGBndryCoeffs()

int Nektar::StdRegions::StdExpansion::v_NumDGBndryCoeffs ( ) const
privatevirtual

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

Definition at line 1117 of file StdExpansion.cpp.

References ASSERTL0.

1118  {
1119  ASSERTL0(false, "This function is needs defining for this shape");
1120  return 0;
1121  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_PhysDeriv() [1/2]

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::LocalRegions::NodalTriExp, 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::StdTriExp, and Nektar::StdRegions::StdHexExp.

Definition at line 1325 of file StdExpansion.cpp.

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

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

1329  {
1330  boost::ignore_unused(inarray, out_d1, out_d2, out_d3);
1331  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1332  "local expansions");
1333  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_PhysDeriv() [2/2]

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::LocalRegions::NodalTriExp, 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::StdTriExp, and Nektar::StdRegions::StdHexExp.

Definition at line 1355 of file StdExpansion.cpp.

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

1359  {
1360  boost::ignore_unused(dir, inarray, out_d0);
1361  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1362  "specific element types");
1363  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_PhysDeriv_n()

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 1342 of file StdExpansion.cpp.

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

1344  {
1345  boost::ignore_unused(inarray, out_dn);
1346  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1347  "local expansions");
1348  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_PhysDeriv_s()

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 1335 of file StdExpansion.cpp.

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

1337  {
1338  boost::ignore_unused(inarray, out_ds);
1339  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1340  "local expansions");
1341  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_PhysDirectionalDeriv()

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::HexExp, Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::TriExp.

Definition at line 1369 of file StdExpansion.cpp.

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

Referenced by WeakDirectionalDerivMatrixOp_MatFree().

1372  {
1373  boost::ignore_unused(inarray, direction, outarray);
1374  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1375  "specific element types");
1376  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_PhysEvaluate() [1/2]

NekDouble Nektar::StdRegions::StdExpansion::v_PhysEvaluate ( const Array< OneD, const NekDouble > &  coords,
const Array< OneD, const NekDouble > &  physvals 
)
privatevirtual

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

Definition at line 1396 of file StdExpansion.cpp.

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

1397  {
1398  boost::ignore_unused(coords, physvals);
1399  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
1400  return 0;
1401  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_PhysEvaluate() [2/2]

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 1404 of file StdExpansion.cpp.

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

1405  {
1406  boost::ignore_unused(I, physvals);
1407  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
1408  return 0;
1409  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_ReduceOrderCoeffs()

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

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

Definition at line 1678 of file StdExpansion.cpp.

References ASSERTL0.

1681  {
1682  boost::ignore_unused(numMin, inarray, outarray);
1683  ASSERTL0(false, "This function is not defined in StdExpansion.");
1684  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_SetCoeffsToOrientation() [1/2]

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 1067 of file StdExpansion.cpp.

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

1070  {
1071  boost::ignore_unused(dir, inarray, outarray);
1072  NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
1073  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_SetCoeffsToOrientation() [2/2]

void Nektar::StdRegions::StdExpansion::v_SetCoeffsToOrientation ( Array< OneD, NekDouble > &  coeffs,
StdRegions::Orientation  dir 
)
protectedvirtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1075 of file StdExpansion.cpp.

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

1078  {
1079  boost::ignore_unused(coeffs, dir);
1080  NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
1081  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_SetPhysNormals()

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

Definition at line 992 of file StdExpansion.cpp.

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

993  {
994  boost::ignore_unused(normal);
995  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
996  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_SetUpPhysNormals()

void Nektar::StdRegions::StdExpansion::v_SetUpPhysNormals ( const int  edge)
virtual

Reimplemented in Nektar::LocalRegions::Expansion2D, and Nektar::StdRegions::StdExpansion1D.

Definition at line 998 of file StdExpansion.cpp.

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

Referenced by SetUpPhysNormals().

999  {
1000  boost::ignore_unused(edge);
1001  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
1002  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_StdPhysDeriv() [1/2]

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::LocalRegions::NodalTriExp, Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdTetExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdPrismExp, Nektar::StdRegions::StdQuadExp, Nektar::StdRegions::StdTriExp, and Nektar::StdRegions::StdHexExp.

Definition at line 1378 of file StdExpansion.cpp.

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

1382  {
1383  boost::ignore_unused(inarray, out_d1, out_d2, out_d3);
1384  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
1385  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_StdPhysDeriv() [2/2]

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::StdTriExp, and Nektar::StdRegions::StdHexExp.

Definition at line 1387 of file StdExpansion.cpp.

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

1390  {
1391  boost::ignore_unused(dir, inarray, outarray);
1392  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
1393  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_StdPhysEvaluate()

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::PyrExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::TetExp, and Nektar::LocalRegions::QuadExp.

Definition at line 1084 of file StdExpansion.cpp.

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

Referenced by StdPhysEvaluate().

1087  {
1088  boost::ignore_unused(Lcoord, physvals);
1089  NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
1090  return 0;
1091  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:209

◆ v_SVVLaplacianFilter()

void Nektar::StdRegions::StdExpansion::v_SVVLaplacianFilter ( Array< OneD, NekDouble > &  array,
const StdMatrixKey mkey 
)
privatevirtual

◆ v_VertexNormalNegated()

bool Nektar::StdRegions::StdExpansion::v_VertexNormalNegated ( const int  vertex)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion1D.

Definition at line 1831 of file StdExpansion.cpp.

References ASSERTL0.

1832  {
1833  boost::ignore_unused(vertex);
1834  ASSERTL0(false, "Not implemented.");
1835  return false;
1836  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216

◆ v_WeakDerivMatrixOp()

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::LocalRegions::NodalTriExp, Nektar::StdRegions::StdHexExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::QuadExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::HexExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1696 of file StdExpansion.cpp.

References WeakDerivMatrixOp_MatFree().

1700  {
1701  // If this function is not reimplemented on shape level, the function
1702  // below will be called
1703  WeakDerivMatrixOp_MatFree(i,inarray,outarray,mkey);
1704 
1705  }
void WeakDerivMatrixOp_MatFree(const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ v_WeakDirectionalDerivMatrixOp()

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

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

Definition at line 1707 of file StdExpansion.cpp.

References WeakDirectionalDerivMatrixOp_MatFree().

1710  {
1711  // If this function is not reimplemented on shape level, the function
1712  // below will be called
1713  WeakDirectionalDerivMatrixOp_MatFree(inarray,outarray,mkey);
1714 
1715  }
void WeakDirectionalDerivMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ VertexNormalNegated()

bool Nektar::StdRegions::StdExpansion::VertexNormalNegated ( const int  vertex)
inline

Definition at line 1310 of file StdExpansion.h.

1311  {
1312  return v_VertexNormalNegated(vertex);
1313  }
virtual bool v_VertexNormalNegated(const int vertex)

◆ WeakDerivMatrixOp()

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

Definition at line 1017 of file StdExpansion.h.

Referenced by GeneralMatrixOp().

1021  {
1022  v_WeakDerivMatrixOp(i,inarray,outarray,mkey);
1023  }
virtual void v_WeakDerivMatrixOp(const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ WeakDerivMatrixOp_MatFree()

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 786 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::StdRegions::StdQuadExp::v_WeakDerivMatrixOp(), Nektar::StdRegions::StdTriExp::v_WeakDerivMatrixOp(), Nektar::StdRegions::StdHexExp::v_WeakDerivMatrixOp(), and v_WeakDerivMatrixOp().

790  {
791  Array<OneD, NekDouble> tmp(GetTotPoints());
792  int nq = GetTotPoints();
793 
794  v_BwdTrans(inarray,tmp);
795  v_PhysDeriv(k1,tmp,tmp);
796 
798  if(mkey.HasVarCoeff(keys[k1]))
799  {
800  Vmath::Vmul(nq, &(mkey.GetVarCoeff(keys[k1]))[0], 1, &tmp[0], 1, &tmp[0], 1);
801  }
802 
803  v_IProductWRTBase(tmp, outarray);
804  }
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_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...
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140
virtual void v_BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.
Definition: Vmath.cpp:186

◆ WeakDirectionalDerivMatrixOp()

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

Definition at line 1025 of file StdExpansion.h.

Referenced by GeneralMatrixOp().

1028  {
1029  v_WeakDirectionalDerivMatrixOp(inarray,outarray,mkey);
1030  }
virtual void v_WeakDirectionalDerivMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)

◆ WeakDirectionalDerivMatrixOp_MatFree()

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

Definition at line 806 of file StdExpansion.cpp.

References Nektar::StdRegions::eVarCoeffMF, Nektar::StdRegions::eVarCoeffMFDiv, GetTotPoints(), Nektar::StdRegions::StdMatrixKey::GetVarCoeff(), m_ncoeffs, v_BwdTrans(), v_IProductWRTBase(), v_PhysDirectionalDeriv(), Vmath::Vadd(), and Vmath::Vmul().

Referenced by GeneralMatrixOp_MatFree(), and v_WeakDirectionalDerivMatrixOp().

810  {
811  int nq = GetTotPoints();
812 
813  Array<OneD, NekDouble> tmp(nq), Dtmp(nq);
814  Array<OneD, NekDouble> Mtmp(nq), Mout(m_ncoeffs);
815 
816  v_BwdTrans(inarray,tmp);
817  v_PhysDirectionalDeriv(tmp, mkey.GetVarCoeff(eVarCoeffMF), Dtmp);
818 
819  v_IProductWRTBase(Dtmp, outarray);
820 
821  // Compte M_{div tv}
822  Vmath::Vmul(nq, &(mkey.GetVarCoeff(eVarCoeffMFDiv))[0], 1,
823  &tmp[0], 1,
824  &Mtmp[0], 1);
825 
826  v_IProductWRTBase(Mtmp, Mout);
827 
828  // Add D_tv + M_{div tv}
829  Vmath::Vadd(m_ncoeffs, &Mout[0], 1,
830  &outarray[0], 1,
831  &outarray[0], 1);
832  }
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_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...
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:140
virtual void v_BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
void Vadd(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Add vector z = x+y.
Definition: Vmath.cpp:302
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.
Definition: Vmath.cpp:186

Member Data Documentation

◆ m_base

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

Bases needed for the expansion

Definition at line 1429 of file StdExpansion.h.

Referenced by CreateGeneralMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStdMatrix(), EquiSpacedToCoeffs(), Nektar::LocalRegions::Expansion::Expansion(), Nektar::StdRegions::StdPrismExp::GetMode(), Nektar::StdRegions::StdPyrExp::GetMode(), Nektar::StdRegions::StdTetExp::GetMode(), 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::HexExp::IProductWRTDirectionalDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::PhysDeriv(), PhysInterpToSimplexEquiSpaced(), 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::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::StdHexExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTriExp::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::QuadExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::TriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::NodalTriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::PyrExp::v_CreateStdMatrix(), Nektar::LocalRegions::TetExp::v_CreateStdMatrix(), Nektar::LocalRegions::PrismExp::v_CreateStdMatrix(), Nektar::LocalRegions::QuadExp::v_CreateStdMatrix(), Nektar::LocalRegions::TriExp::v_CreateStdMatrix(), Nektar::LocalRegions::SegExp::v_CreateStdMatrix(), Nektar::LocalRegions::HexExp::v_CreateStdMatrix(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::StdRegions::StdHexExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdPrismExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdTetExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdPyrExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdSegExp::v_ExponentialFilter(), Nektar::StdRegions::StdQuadExp::v_ExponentialFilter(), Nektar::StdRegions::StdHexExp::v_ExponentialFilter(), Nektar::LocalRegions::PyrExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TetExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::PrismExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::SegExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TriExp::v_ExtractDataToCoeffs(), Nektar::StdRegions::StdTriExp::v_FillMode(), Nektar::StdRegions::StdQuadExp::v_FillMode(), Nektar::StdRegions::StdHexExp::v_FillMode(), Nektar::StdRegions::StdSegExp::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::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdSegExp::v_FwdTrans(), Nektar::StdRegions::StdQuadExp::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::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdTriExp::v_GenMatrix(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdPrismExp::v_GenMatrix(), Nektar::StdRegions::StdTetExp::v_GenMatrix(), Nektar::LocalRegions::QuadExp::v_GetBasis(), Nektar::LocalRegions::TriExp::v_GetBasis(), Nektar::StdRegions::StdQuadExp::v_GetBoundaryMap(), Nektar::StdRegions::StdSegExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTriExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPrismExp::v_GetBoundaryMap(), Nektar::StdRegions::StdHexExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTetExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPyrExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPointExp::v_GetCoords(), Nektar::LocalRegions::Expansion::v_GetCoords(), Nektar::StdRegions::StdPrismExp::v_GetCoords(), Nektar::StdRegions::StdTetExp::v_GetCoords(), Nektar::StdRegions::StdTriExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetCoords(), Nektar::StdRegions::StdPyrExp::v_GetCoords(), Nektar::StdRegions::StdSegExp::v_GetCoords(), Nektar::StdRegions::StdHexExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdPyrExp::v_GetEdgeInteriorMap(), Nektar::LocalRegions::QuadExp::v_GetEdgeInterpVals(), Nektar::StdRegions::StdTetExp::v_GetEdgeNcoeffs(), Nektar::LocalRegions::QuadExp::v_GetEdgePhysMap(), Nektar::LocalRegions::TriExp::v_GetEdgePhysMap(), 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::StdHexExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdPyrExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetFaceIntNcoeffs(), Nektar::StdRegions::StdPyrExp::v_GetFaceIntNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetFaceNumModes(), Nektar::StdRegions::StdTetExp::v_GetFaceNumModes(), Nektar::StdRegions::StdPyrExp::v_GetFaceNumModes(), Nektar::StdRegions::StdHexExp::v_GetFaceNumModes(), Nektar::StdRegions::StdHexExp::v_GetFaceNumPoints(), Nektar::StdRegions::StdPrismExp::v_GetFaceNumPoints(), Nektar::StdRegions::StdTetExp::v_GetFaceNumPoints(), Nektar::StdRegions::StdPyrExp::v_GetFaceNumPoints(), Nektar::LocalRegions::TetExp::v_GetFacePhysMap(), Nektar::LocalRegions::PrismExp::v_GetFacePhysMap(), Nektar::LocalRegions::PyrExp::v_GetFacePhysMap(), Nektar::LocalRegions::HexExp::v_GetFacePhysMap(), Nektar::StdRegions::StdHexExp::v_GetFacePointsKey(), Nektar::StdRegions::StdPrismExp::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::StdHexExp::v_GetInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdPyrExp::v_GetInteriorMap(), Nektar::LocalRegions::PyrExp::v_GetLinStdExp(), Nektar::LocalRegions::TetExp::v_GetLinStdExp(), Nektar::LocalRegions::PrismExp::v_GetLinStdExp(), Nektar::LocalRegions::QuadExp::v_GetLinStdExp(), Nektar::LocalRegions::TriExp::v_GetLinStdExp(), Nektar::LocalRegions::SegExp::v_GetLinStdExp(), Nektar::LocalRegions::HexExp::v_GetLinStdExp(), Nektar::LocalRegions::NodalTriExp::v_GetLinStdExp(), Nektar::LocalRegions::Expansion::v_GetMF(), Nektar::LocalRegions::Expansion2D::v_GetnEdgecdotMF(), Nektar::LocalRegions::PrismExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::StdRegions::StdSegExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::StdRegions::StdTriExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::StdRegions::StdQuadExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::StdRegions::StdTetExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::LocalRegions::PyrExp::v_GetStdExp(), Nektar::LocalRegions::TetExp::v_GetStdExp(), Nektar::LocalRegions::PrismExp::v_GetStdExp(), Nektar::LocalRegions::QuadExp::v_GetStdExp(), Nektar::LocalRegions::TriExp::v_GetStdExp(), Nektar::LocalRegions::SegExp::v_GetStdExp(), Nektar::LocalRegions::HexExp::v_GetStdExp(), Nektar::LocalRegions::NodalTriExp::v_GetStdExp(), Nektar::StdRegions::StdTetExp::v_GetTotalEdgeIntNcoeffs(), Nektar::StdRegions::StdTetExp::v_GetTotalFaceIntNcoeffs(), Nektar::StdRegions::StdQuadExp::v_GetVertexMap(), Nektar::StdRegions::StdTriExp::v_GetVertexMap(), Nektar::StdRegions::StdSegExp::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::SegExp::v_IProductWRTBase(), 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::StdRegions::StdSegExp::v_IProductWRTBase(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase(), Nektar::LocalRegions::TetExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::PrismExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::PyrExp::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::StdHexExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdPrismExp::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::PyrExp::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::StdHexExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPyrExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDirectionalDerivBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdTriExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdHexExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdPrismExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdTetExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdSegExp::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::QuadExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TriExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::HexExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::StdRegions::StdPyrExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdSegExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdPrismExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdTetExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdTriExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdQuadExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdHexExp::v_MultiplyByStdQuadratureMetric(), Nektar::LocalRegions::SegExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::QuadExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::TriExp::v_NormVectorIProductWRTBase(), Nektar::StdRegions::StdHexExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdPrismExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdTetExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdPyrExp::v_NumBndryCoeffs(), Nektar::StdRegions::StdHexExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdPrismExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdTetExp::v_NumDGBndryCoeffs(), Nektar::StdRegions::StdPyrExp::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::LocalRegions::HexExp::v_PhysDirectionalDeriv(), Nektar::StdRegions::StdExpansion0D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion1D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion2D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion3D::v_PhysEvaluate(), Nektar::StdRegions::StdTriExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdSegExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdPrismExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::HexExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdQuadExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTetExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdPyrExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::QuadExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::TriExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdSegExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPyrExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

◆ m_elmt_id

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

Definition at line 1430 of file StdExpansion.h.

Referenced by v_GetElmtId().

◆ m_IndexMapManager

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

Definition at line 1434 of file StdExpansion.h.

◆ m_ncoeffs

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

Total number of coefficients used in the expansion

Definition at line 1431 of file StdExpansion.h.

Referenced by BwdTrans_MatOp(), CreateGeneralMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PyrExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TetExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PrismExp::CreateStaticCondMatrix(), Nektar::LocalRegions::QuadExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::SegExp::CreateStaticCondMatrix(), Nektar::LocalRegions::HexExp::CreateStaticCondMatrix(), CreateStdStaticCondMatrix(), EquiSpacedToCoeffs(), 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(), 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(), Nektar::LocalRegions::HexExp::IProductWRTDirectionalDerivBase_SumFac(), LaplacianMatrixOp_MatFree_GenericImpl(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), Nektar::StdRegions::StdNodalPrismExp::ModalToNodal(), Nektar::StdRegions::StdNodalTetExp::ModalToNodal(), Nektar::StdRegions::StdNodalTriExp::ModalToNodal(), Nektar::LocalRegions::SegExp::MultiplyByElmtInvMass(), Nektar::StdRegions::StdNodalPrismExp::NodalToModal(), Nektar::StdRegions::StdNodalTetExp::NodalToModal(), Nektar::StdRegions::StdNodalTriExp::NodalToModal(), Nektar::StdRegions::StdNodalPrismExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalTetExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalTriExp::NodalToModalTranspose(), Nektar::LocalRegions::PointExp::PointExp(), Nektar::LocalRegions::SegExp::ReverseCoeffsAndSign(), Nektar::StdRegions::StdNodalTetExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdNodalPrismExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdNodalTriExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdHexExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_BwdTrans_SumFacKernel(), Nektar::LocalRegions::PyrExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TetExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::PrismExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::SegExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TriExp::v_ExtractDataToCoeffs(), Nektar::StdRegions::StdNodalTetExp::v_FillMode(), Nektar::StdRegions::StdNodalPrismExp::v_FillMode(), Nektar::StdRegions::StdNodalTriExp::v_FillMode(), Nektar::StdRegions::StdTriExp::v_FillMode(), Nektar::StdRegions::StdQuadExp::v_FillMode(), Nektar::StdRegions::StdHexExp::v_FillMode(), Nektar::StdRegions::StdPrismExp::v_FillMode(), Nektar::StdRegions::StdTetExp::v_FillMode(), Nektar::StdRegions::StdSegExp::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::StdNodalTetExp::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::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdTriExp::v_FwdTrans(), Nektar::StdRegions::StdSegExp::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::StdTriExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdQuadExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::QuadExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdHexExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::TriExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdPointExp::v_GenMatrix(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdNodalPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdNodalTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetInteriorMap(), Nektar::StdRegions::StdTetExp::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::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdQuadExp::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::StdHexExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::PrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::PyrExp::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::LocalRegions::TriExp::v_IProductWRTDirectionalDerivBase_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::QuadExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TriExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::HexExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::StdRegions::StdPrismExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTetExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdPyrExp::v_ReduceOrderCoeffs(), and WeakDirectionalDerivMatrixOp_MatFree().

◆ m_stdMatrixManager

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

◆ m_stdStaticCondMatrixManager

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