Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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:
Inheritance graph
[legend]
Collaboration diagram for Nektar::StdRegions::StdExpansion:
Collaboration graph
[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::BasisSharedPtr
GetBasis (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...
 
boost::shared_ptr< StdExpansionGetStdExp (void) const
 
boost::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)
 
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)
 
StdRegions::Orientation GetPorient (int point)
 
StdRegions::Orientation GetCartesianEorient (int edge)
 
void SetCoeffsToOrientation (Array< OneD, NekDouble > &coeffs, StdRegions::Orientation dir)
 
void SetCoeffsToOrientation (StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
int CalcNumberOfCoefficients (const std::vector< unsigned int > &nummodes, int &modes_offset)
 
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 boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
void GetTracePhysVals (const int edge, const boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
void GetVertexPhysVals (const int vertex, const Array< OneD, const NekDouble > &inarray, NekDouble &outarray)
 
void GetEdgeInterpVals (const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
void GetEdgeQFactors (const int edge, Array< OneD, NekDouble > &outarray)
 Extract the metric factors to compute the contravariant fluxes along edge edge and stores them into outarray following the local edge orientation (i.e. anticlockwise convention). More...
 
void GetFacePhysVals (const int face, const boost::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient=eNoOrientation)
 
void 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 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...
 
const boost::shared_ptr
< SpatialDomains::GeomFactors > & 
GetMetricInfo (void) const
 
virtual int v_GetElmtId ()
 Get the element id of this expansion when used in a list by returning value of m_elmt_id. 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)
 
virtual StdRegions::Orientation v_GetCartesianEorient (int edge)
 
virtual StdRegions::Orientation v_GetPorient (int point)
 
NekDouble Linf (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &sol=NullNekDouble1DArray)
 Function to evaluate the discrete $ L_\infty$ error $ |\epsilon|_\infty = \max |u - u_{exact}|$ where $ u_{exact}$ is given by the array sol. 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)
 
const NormalVectorGetFaceNormal (const int face) const
 
const NormalVectorGetVertexNormal (const int vertex) const
 
const NormalVectorGetSurfaceNormal (const int id) const
 
const LibUtilities::PointsKeyVector GetPointsKeys () const
 
Array< OneD, unsigned int > GetEdgeInverseBoundaryMap (int eid)
 
Array< OneD, unsigned int > GetFaceInverseBoundaryMap (int fid, StdRegions::Orientation faceOrient=eNoOrientation)
 
DNekMatSharedPtr BuildInverseTransformationMatrix (const DNekScalMatSharedPtr &m_transformationmatrix)
 
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 >
boost::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 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::BasisSharedPtr
m_base
 
int m_elmt_id
 
int m_ncoeffs
 
LibUtilities::NekManager
< StdMatrixKey, DNekMat,
StdMatrixKey::opLess
m_stdMatrixManager
 
LibUtilities::NekManager
< StdMatrixKey, DNekBlkMat,
StdMatrixKey::opLess
m_stdStaticCondMatrixManager
 
LibUtilities::NekManager
< IndexMapKey, IndexMapValues,
IndexMapKey::opLess
m_IndexMapManager
 

Private Member Functions

virtual int v_GetNverts () const =0
 
virtual int v_GetNedges () const
 
virtual int v_GetNfaces () const
 
virtual int v_NumBndryCoeffs () const
 
virtual int v_NumDGBndryCoeffs () const
 
virtual int v_GetEdgeNcoeffs (const int i) const
 
virtual int v_GetTotalEdgeIntNcoeffs () const
 
virtual int v_GetEdgeNumPoints (const int i) const
 
virtual int v_DetCartesianDirOfEdge (const int edge)
 
virtual const
LibUtilities::BasisKey 
v_DetEdgeBasisKey (const int i) const
 
virtual const
LibUtilities::BasisKey 
v_DetFaceBasisKey (const int i, const int k) const
 
virtual int v_GetFaceNumPoints (const int i) const
 
virtual int v_GetFaceNcoeffs (const int i) const
 
virtual int v_GetFaceIntNcoeffs (const int i) const
 
virtual int v_GetTotalFaceIntNcoeffs () const
 
virtual 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 boost::shared_ptr
< StdExpansion
v_GetStdExp (void) const
 
virtual boost::shared_ptr
< StdExpansion
v_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_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 boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
virtual void v_GetTracePhysVals (const int edge, const boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient=eNoOrientation)
 
virtual void v_GetVertexPhysVals (const int vertex, const Array< OneD, const NekDouble > &inarray, NekDouble &outarray)
 
virtual void v_GetEdgeInterpVals (const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
virtual void v_GetEdgeQFactors (const int edge, Array< OneD, NekDouble > &outarray)
 
virtual void v_GetFacePhysVals (const int face, const boost::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient)
 
virtual void v_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 const
boost::shared_ptr
< SpatialDomains::GeomFactors > & 
v_GetMetricInfo () const
 
virtual void v_BwdTrans_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
virtual void v_IProductWRTBase_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool multiplybyweights=true)
 
virtual void v_IProductWRTDerivBase_SumFac (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
virtual void v_MassMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
 
virtual void v_LaplacianMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
 
virtual void v_SVVLaplacianFilter (Array< OneD, NekDouble > &array, const StdMatrixKey &mkey)
 
virtual void v_ReduceOrderCoeffs (int numMin, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
 
virtual void v_LaplacianMatrixOp (const int k1, const int k2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
 
virtual void v_WeakDerivMatrixOp (const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
 
virtual void v_WeakDirectionalDerivMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
 
virtual void v_MassLevelCurvatureMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
 
virtual void v_LinearAdvectionDiffusionReactionMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true)
 
virtual void v_HelmholtzMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
 
virtual void v_LaplacianMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
 
virtual void v_LaplacianMatrixOp_MatFree_Kernel (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp)
 
virtual void v_HelmholtzMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
 
virtual const NormalVectorv_GetEdgeNormal (const int edge) const
 
virtual void v_ComputeEdgeNormal (const int edge)
 
virtual void v_NegateEdgeNormal (const int edge)
 
virtual bool v_EdgeNormalNegated (const int edge)
 
virtual void v_ComputeFaceNormal (const int face)
 
virtual void v_NegateFaceNormal (const int face)
 
virtual bool v_FaceNormalNegated (const int face)
 
virtual const NormalVectorv_GetVertexNormal (const int vertex) const
 
virtual void v_ComputeVertexNormal (const int vertex)
 
virtual const NormalVectorv_GetFaceNormal (const int face) const
 
virtual const NormalVectorv_GetSurfaceNormal (const int id) const
 
virtual Array< OneD, unsigned int > v_GetEdgeInverseBoundaryMap (int eid)
 
virtual Array< OneD, unsigned int > v_GetFaceInverseBoundaryMap (int fid, StdRegions::Orientation faceOrient=eNoOrientation)
 
virtual DNekMatSharedPtr v_BuildInverseTransformationMatrix (const DNekScalMatSharedPtr &m_transformationmatrix)
 
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 69 of file StdExpansion.h.

Constructor & Destructor Documentation

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

Default Constructor.

Definition at line 44 of file StdExpansion.cpp.

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

Constructor.

Definition at line 50 of file StdExpansion.cpp.

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

53  :
54  m_base(numbases),
55  m_elmt_id(0),
56  m_ncoeffs(numcoeffs),
58  boost::bind(&StdExpansion::CreateStdMatrix, this, _1),
59  std::string("StdExpansionStdMatrix")),
61  boost::bind(&StdExpansion::CreateStdStaticCondMatrix, this, _1),
62  std::string("StdExpansionStdStaticCondMatrix")),
64  boost::bind(&StdExpansion::CreateIndexMap,this, _1),
65  std::string("StdExpansionIndexMap"))
66  {
67  switch(m_base.num_elements())
68  {
69  case 3:
71  "NULL Basis attempting to be used.");
73 
74  case 2:
76  "NULL Basis attempting to be used.");
77 
79  case 1:
81  "NULL Basis attempting to be used.");
83  break;
84  default:
85  break;
86 // ASSERTL0(false, "numbases incorrectly specified");
87  };
88 
89  } //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:250
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
Nektar::StdRegions::StdExpansion::StdExpansion ( const StdExpansion T)

Copy Constructor.

Definition at line 92 of file StdExpansion.cpp.

92  :
93  m_base(T.m_base),
94  m_elmt_id(T.m_elmt_id),
95  m_ncoeffs(T.m_ncoeffs),
96  m_stdMatrixManager(T.m_stdMatrixManager),
97  m_stdStaticCondMatrixManager(T.m_stdStaticCondMatrixManager),
98  m_IndexMapManager(T.m_IndexMapManager)
99  {
100  }
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
Nektar::StdRegions::StdExpansion::~StdExpansion ( )
virtual

Destructor.

Definition at line 102 of file StdExpansion.cpp.

103  {
104  }

Member Function Documentation

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

Definition at line 1113 of file StdExpansion.h.

References v_AddRobinEdgeContribution().

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

Definition at line 1108 of file StdExpansion.h.

References v_AddRobinMassMatrix().

1109  {
1110  v_AddRobinMassMatrix(edgeid,primCoeffs,inoutmat);
1111  }
virtual void v_AddRobinMassMatrix(const int edgeid, const Array< OneD, const NekDouble > &primCoeffs, DNekMatSharedPtr &inoutmat)
template<class T >
boost::shared_ptr<T> Nektar::StdRegions::StdExpansion::as ( )
inline

Definition at line 1398 of file StdExpansion.h.

References ASSERTL1, and CellMLToNektar.cellml_metadata::p.

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

1399  {
1400 #if defined __INTEL_COMPILER && BOOST_VERSION > 105200
1401  typedef typename boost::shared_ptr<T>::element_type E;
1402  E * p = dynamic_cast< E* >( shared_from_this().get() );
1403  ASSERTL1(p, "Cannot perform cast");
1404  return boost::shared_ptr<T>( shared_from_this(), p );
1405 #else
1406  return boost::dynamic_pointer_cast<T>( shared_from_this() );
1407 #endif
1408  }
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
Definition: ErrorUtil.hpp:228
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::BuildInverseTransformationMatrix ( const DNekScalMatSharedPtr m_transformationmatrix)
inline

Definition at line 1346 of file StdExpansion.h.

References v_BuildInverseTransformationMatrix().

1348  {
1350  m_transformationmatrix);
1351  }
virtual DNekMatSharedPtr v_BuildInverseTransformationMatrix(const DNekScalMatSharedPtr &m_transformationmatrix)
void Nektar::StdRegions::StdExpansion::BwdTrans ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

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

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

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

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

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

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

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

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

Definition at line 531 of file StdExpansion.h.

References v_BwdTrans().

Referenced by Extractlayerdata(), 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::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

533  {
534  v_BwdTrans (inarray, outarray);
535  }
virtual void v_BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
void Nektar::StdRegions::StdExpansion::BwdTrans_MatOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
protected

Definition at line 950 of file StdExpansion.cpp.

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

952  {
953  int nq = GetTotPoints();
954  StdMatrixKey bwdtransmatkey(eBwdTrans,DetShapeType(),*this);
955  DNekMatSharedPtr bwdtransmat = GetStdMatrix(bwdtransmatkey);
956 
957  Blas::Dgemv('N',nq,m_ncoeffs,1.0,bwdtransmat->GetPtr().get(),
958  nq, inarray.get(), 1, 0.0, outarray.get(), 1);
959  }
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
Definition: StdExpansion.h:470
boost::shared_ptr< DNekMat > DNekMatSharedPtr
Definition: NekTypeDefs.hpp:70
DNekMatSharedPtr GetStdMatrix(const StdMatrixKey &mkey)
Definition: StdExpansion.h:706
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:141
void Nektar::StdRegions::StdExpansion::BwdTrans_SumFac ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inlineprotected

Definition at line 1456 of file StdExpansion.h.

References v_BwdTrans_SumFac().

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

1458  {
1459  v_BwdTrans_SumFac(inarray,outarray);
1460  }
virtual void v_BwdTrans_SumFac(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
int Nektar::StdRegions::StdExpansion::CalcNumberOfCoefficients ( const std::vector< unsigned int > &  nummodes,
int &  modes_offset 
)
inline

Definition at line 798 of file StdExpansion.h.

References v_CalcNumberOfCoefficients().

799  {
800  return v_CalcNumberOfCoefficients(nummodes,modes_offset);
801  }
virtual int v_CalcNumberOfCoefficients(const std::vector< unsigned int > &nummodes, int &modes_offset)
void Nektar::StdRegions::StdExpansion::ComputeEdgeNormal ( const int  edge)
inline

Definition at line 1273 of file StdExpansion.h.

References v_ComputeEdgeNormal().

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

1274  {
1275  v_ComputeEdgeNormal(edge);
1276  }
virtual void v_ComputeEdgeNormal(const int edge)
void Nektar::StdRegions::StdExpansion::ComputeFaceNormal ( const int  face)
inline

Definition at line 1288 of file StdExpansion.h.

References v_ComputeFaceNormal().

1289  {
1290  v_ComputeFaceNormal(face);
1291  }
virtual void v_ComputeFaceNormal(const int face)
void Nektar::StdRegions::StdExpansion::ComputeVertexNormal ( const int  vertex)
inline

Definition at line 1303 of file StdExpansion.h.

References v_ComputeVertexNormal().

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

1304  {
1306  }
virtual void v_ComputeVertexNormal(const int vertex)
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 322 of file StdExpansion.cpp.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, BwdTrans_SumFac(), Nektar::StdRegions::eBwdTrans, Nektar::StdRegions::eEquiSpacedToCoeffs, 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::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdTriExp::v_GenMatrix(), Nektar::StdRegions::StdPrismExp::v_GenMatrix(), Nektar::StdRegions::StdTetExp::v_GenMatrix(), Nektar::StdRegions::StdHexExp::v_GenMatrix(), and Nektar::StdRegions::StdPyrExp::v_GenMatrix().

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

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

Definition at line 1425 of file StdExpansion.h.

References v_CreateStdMatrix().

1426  {
1427  return v_CreateStdMatrix(mkey);
1428  }
virtual DNekMatSharedPtr v_CreateStdMatrix(const StdMatrixKey &mkey)
DNekBlkMatSharedPtr Nektar::StdRegions::StdExpansion::CreateStdStaticCondMatrix ( const StdMatrixKey mkey)
protected

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

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

Definition at line 193 of file StdExpansion.cpp.

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

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

Definition at line 314 of file StdExpansion.h.

References v_DetCartesianDirOfEdge().

315  {
316  return v_DetCartesianDirOfEdge(edge);
317  }
virtual int v_DetCartesianDirOfEdge(const int edge)
const LibUtilities::BasisKey Nektar::StdRegions::StdExpansion::DetEdgeBasisKey ( const int  i) const
inline

Definition at line 319 of file StdExpansion.h.

References v_DetEdgeBasisKey().

320  {
321  return v_DetEdgeBasisKey(i);
322  }
virtual const LibUtilities::BasisKey v_DetEdgeBasisKey(const int i) const
const LibUtilities::BasisKey Nektar::StdRegions::StdExpansion::DetFaceBasisKey ( const int  i,
const int  k 
) const
inline
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 470 of file StdExpansion.h.

References v_DetShapeType().

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

471  {
472  return v_DetShapeType();
473  }
virtual LibUtilities::ShapeType v_DetShapeType() const
void Nektar::StdRegions::StdExpansion::DropLocStaticCondMatrix ( const LocalRegions::MatrixKey mkey)
inline

Definition at line 758 of file StdExpansion.h.

References v_DropLocStaticCondMatrix().

759  {
760  return v_DropLocStaticCondMatrix(mkey);
761  }
virtual void v_DropLocStaticCondMatrix(const LocalRegions::MatrixKey &mkey)
bool Nektar::StdRegions::StdExpansion::EdgeNormalNegated ( const int  edge)
inline

Definition at line 1283 of file StdExpansion.h.

References v_EdgeNormalNegated().

1284  {
1285  return v_EdgeNormalNegated(edge);
1286  }
virtual bool v_EdgeNormalNegated(const int edge)
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 1814 of file StdExpansion.cpp.

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

1817  {
1819 
1820  // inarray has to be consistent with NumModes definition
1821  // There is also a check in GetStdMatrix to see if all
1822  // modes are of the same size
1823  ConstFactorMap cmap;
1824 
1825  cmap[eFactorConst] = m_base[0]->GetNumModes();
1826  StdMatrixKey Ikey(eEquiSpacedToCoeffs, shape, *this,cmap);
1827  DNekMatSharedPtr intmat = GetStdMatrix(Ikey);
1828 
1829  NekVector<NekDouble> in (m_ncoeffs, inarray, eWrapper);
1830  NekVector<NekDouble> out(m_ncoeffs, outarray,eWrapper);
1831  out = (*intmat) * in;
1832  }
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
Definition: StdExpansion.h:470
std::map< ConstFactorType, NekDouble > ConstFactorMap
Definition: StdRegions.hpp:252
boost::shared_ptr< DNekMat > DNekMatSharedPtr
Definition: NekTypeDefs.hpp:70
DNekMatSharedPtr GetStdMatrix(const StdMatrixKey &mkey)
Definition: StdExpansion.h:706
Array< OneD, LibUtilities::BasisSharedPtr > m_base
int Nektar::StdRegions::StdExpansion::EvalBasisNumModesMax ( void  ) const
inline

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

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

Definition at line 191 of file StdExpansion.h.

References m_base.

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

Definition at line 1298 of file StdExpansion.h.

References v_FaceNormalNegated().

1299  {
1300  return v_FaceNormalNegated(face);
1301  }
virtual bool v_FaceNormalNegated(const int face)
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 598 of file StdExpansion.h.

References v_FillMode().

Referenced by CreateGeneralMatrix().

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

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

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

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

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

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

where

  • $\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 1910 of file StdExpansion.h.

References v_FwdTrans().

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

1912  {
1913  v_FwdTrans(inarray,outarray);
1914  }
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.
void Nektar::StdRegions::StdExpansion::FwdTrans_BndConstrained ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 544 of file StdExpansion.h.

References v_FwdTrans_BndConstrained().

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

Definition at line 529 of file StdExpansion.cpp.

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

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

Definition at line 598 of file StdExpansion.cpp.

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

Referenced by CreateGeneralMatrix().

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

This function gets the shared point to basis.

Returns
returns the shared pointer to the bases

Definition at line 107 of file StdExpansion.h.

References m_base.

108  {
109  return(m_base);
110  }
Array< OneD, LibUtilities::BasisSharedPtr > m_base
const LibUtilities::BasisSharedPtr& Nektar::StdRegions::StdExpansion::GetBasis ( int  dir) const
inline

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

Returns
returns the shared pointer to the basis in directin dir

Definition at line 118 of file StdExpansion.h.

References ASSERTL1, and m_base.

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

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

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

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

Definition at line 178 of file StdExpansion.h.

References ASSERTL1, and m_base.

Referenced by Nektar::LocalRegions::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().

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

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

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

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

Definition at line 165 of file StdExpansion.h.

References ASSERTL1, and m_base.

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

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

Definition at line 778 of file StdExpansion.h.

References v_GetCartesianEorient().

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

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

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

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

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

Definition at line 700 of file StdExpansion.h.

References v_GetCoord().

702  {
703  v_GetCoord(Lcoord, coord);
704  }
virtual void v_GetCoord(const Array< OneD, const NekDouble > &Lcoord, Array< OneD, NekDouble > &coord)
int Nektar::StdRegions::StdExpansion::GetCoordim ( )
inline
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 682 of file StdExpansion.h.

References v_GetCoords().

Referenced by main().

685  {
686  v_GetCoords(coords_1,coords_2,coords_3);
687  }
virtual void v_GetCoords(Array< OneD, NekDouble > &coords_0, Array< OneD, NekDouble > &coords_1, Array< OneD, NekDouble > &coords_2)
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 413 of file StdExpansion.h.

References v_GetEdgeBasisType().

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

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

Definition at line 830 of file StdExpansion.h.

References v_GetEdgeInteriorMap().

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

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

Definition at line 903 of file StdExpansion.h.

References v_GetEdgeInterpVals().

906  {
907  v_GetEdgeInterpVals(edge, inarray, outarray);
908  }
virtual void v_GetEdgeInterpVals(const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
Array<OneD, unsigned int> Nektar::StdRegions::StdExpansion::GetEdgeInverseBoundaryMap ( int  eid)
inline

Definition at line 1335 of file StdExpansion.h.

References v_GetEdgeInverseBoundaryMap().

1336  {
1337  return v_GetEdgeInverseBoundaryMap(eid);
1338  }
virtual Array< OneD, unsigned int > v_GetEdgeInverseBoundaryMap(int eid)
int Nektar::StdRegions::StdExpansion::GetEdgeNcoeffs ( const int  i) const
inline
const NormalVector& Nektar::StdRegions::StdExpansion::GetEdgeNormal ( const int  edge) const
inline
int Nektar::StdRegions::StdExpansion::GetEdgeNumPoints ( const int  i) const
inline

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

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

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

Definition at line 308 of file StdExpansion.h.

References v_GetEdgeNumPoints().

309  {
310  return v_GetEdgeNumPoints(i);
311  }
virtual int v_GetEdgeNumPoints(const int i) const
void Nektar::StdRegions::StdExpansion::GetEdgePhysMap ( const int  edge,
Array< OneD, int > &  outarray 
)
inline

Definition at line 933 of file StdExpansion.h.

References v_GetEdgePhysMap().

936  {
937  v_GetEdgePhysMap(edge, outarray);
938  }
virtual void v_GetEdgePhysMap(const int edge, Array< OneD, int > &outarray)
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 876 of file StdExpansion.h.

References v_GetEdgePhysVals().

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

879  {
880  v_GetEdgePhysVals(edge,inarray,outarray);
881  }
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...
void Nektar::StdRegions::StdExpansion::GetEdgePhysVals ( const int  edge,
const boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 883 of file StdExpansion.h.

References v_GetEdgePhysVals().

887  {
888  v_GetEdgePhysVals(edge,EdgeExp,inarray,outarray);
889  }
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...
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 916 of file StdExpansion.h.

References v_GetEdgeQFactors().

919  {
920  v_GetEdgeQFactors(edge, outarray);
921  }
virtual void v_GetEdgeQFactors(const int edge, Array< OneD, NekDouble > &outarray)
void Nektar::StdRegions::StdExpansion::GetEdgeToElementMap ( const int  eid,
const Orientation  edgeOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray,
int  P = -1 
)
inline
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 660 of file StdExpansion.h.

References m_elmt_id.

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

Definition at line 844 of file StdExpansion.h.

References v_GetFaceInteriorMap().

847  {
848  v_GetFaceInteriorMap(fid,faceOrient,maparray,signarray);
849  }
virtual void v_GetFaceInteriorMap(const int fid, const Orientation faceOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray)
int Nektar::StdRegions::StdExpansion::GetFaceIntNcoeffs ( const int  i) const
inline
Array<OneD, unsigned int> Nektar::StdRegions::StdExpansion::GetFaceInverseBoundaryMap ( int  fid,
StdRegions::Orientation  faceOrient = eNoOrientation 
)
inline

Definition at line 1341 of file StdExpansion.h.

References v_GetFaceInverseBoundaryMap().

1342  {
1343  return v_GetFaceInverseBoundaryMap(fid,faceOrient);
1344  }
virtual Array< OneD, unsigned int > v_GetFaceInverseBoundaryMap(int fid, StdRegions::Orientation faceOrient=eNoOrientation)
int Nektar::StdRegions::StdExpansion::GetFaceNcoeffs ( const int  i) const
inline

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

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

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

Definition at line 354 of file StdExpansion.h.

References v_GetFaceNcoeffs().

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

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

Definition at line 1308 of file StdExpansion.h.

References v_GetFaceNormal().

1309  {
1310  return v_GetFaceNormal(face);
1311  }
virtual const NormalVector & v_GetFaceNormal(const int face) const
void Nektar::StdRegions::StdExpansion::GetFaceNumModes ( const int  fid,
const Orientation  faceOrient,
int &  numModes0,
int &  numModes1 
)
inline

Definition at line 837 of file StdExpansion.h.

References v_GetFaceNumModes().

840  {
841  v_GetFaceNumModes(fid,faceOrient,numModes0,numModes1);
842  }
virtual void v_GetFaceNumModes(const int fid, const Orientation faceOrient, int &numModes0, int &numModes1)
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 339 of file StdExpansion.h.

References v_GetFaceNumPoints().

340  {
341  return v_GetFaceNumPoints(i);
342  }
virtual int v_GetFaceNumPoints(const int i) const
void Nektar::StdRegions::StdExpansion::GetFacePhysMap ( const int  face,
Array< OneD, int > &  outarray 
)
inline

Definition at line 940 of file StdExpansion.h.

References v_GetFacePhysMap().

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

Definition at line 923 of file StdExpansion.h.

References v_GetFacePhysVals().

929  {
930  v_GetFacePhysVals(face, FaceExp, inarray, outarray, orient);
931  }
virtual void v_GetFacePhysVals(const int face, const boost::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient)
LibUtilities::PointsKey Nektar::StdRegions::StdExpansion::GetFacePointsKey ( const int  i,
const int  j 
) const
inline

Definition at line 385 of file StdExpansion.h.

References v_GetFacePointsKey().

386  {
387  return v_GetFacePointsKey(i, j);
388  }
virtual LibUtilities::PointsKey v_GetFacePointsKey(const int i, const int j) const
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 860 of file StdExpansion.h.

References v_GetFaceToElementMap().

864  {
865  v_GetFaceToElementMap(fid,faceOrient,maparray,signarray,
866  nummodesA,nummodesB);
867  }
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)
StdRegions::Orientation Nektar::StdRegions::StdExpansion::GetForient ( int  face)
inline

Definition at line 763 of file StdExpansion.h.

References v_GetForient().

764  {
765  return v_GetForient(face);
766  }
virtual StdRegions::Orientation v_GetForient(int face)
IndexMapValuesSharedPtr Nektar::StdRegions::StdExpansion::GetIndexMap ( const IndexMapKey ikey)
inline

Definition at line 716 of file StdExpansion.h.

References m_IndexMapManager.

717  {
718  return m_IndexMapManager[ikey];
719  }
LibUtilities::NekManager< IndexMapKey, IndexMapValues, IndexMapKey::opLess > m_IndexMapManager
void Nektar::StdRegions::StdExpansion::GetInteriorMap ( Array< OneD, unsigned int > &  outarray)
inline
boost::shared_ptr<StdExpansion> Nektar::StdRegions::StdExpansion::GetLinStdExp ( void  ) const
inline

Definition at line 481 of file StdExpansion.h.

References v_GetLinStdExp().

482  {
483  return v_GetLinStdExp();
484  }
virtual boost::shared_ptr< StdExpansion > v_GetLinStdExp(void) const
DNekScalBlkMatSharedPtr Nektar::StdRegions::StdExpansion::GetLocStaticCondMatrix ( const LocalRegions::MatrixKey mkey)
inline
const boost::shared_ptr<SpatialDomains::GeomFactors>& Nektar::StdRegions::StdExpansion::GetMetricInfo ( void  ) const
inline
int Nektar::StdRegions::StdExpansion::GetNcoeffs ( void  ) const
inline

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

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

Definition at line 131 of file StdExpansion.h.

References m_ncoeffs.

Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::LocalRegions::Expansion2D::GetPhysEdgeVarCoeffsFromElement(), LaplacianMatrixOp_MatFree(), Nektar::LocalRegions::Expansion2D::v_AddRobinEdgeContribution(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::LocalRegions::Expansion2D::v_DGDeriv(), 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::StdSegExp::v_GetInteriorMap(), Nektar::StdRegions::StdQuadExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

132  {
133  return(m_ncoeffs);
134  }
int Nektar::StdRegions::StdExpansion::GetNedges ( ) const
inline
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 438 of file StdExpansion.h.

References v_GetNfaces().

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

439  {
440  return v_GetNfaces();
441  }
virtual int v_GetNfaces() const
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 425 of file StdExpansion.h.

References v_GetNodalPointsKey().

426  {
427  return v_GetNodalPointsKey();
428  };
virtual const LibUtilities::PointsKey v_GetNodalPointsKey() const
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 450 of file StdExpansion.h.

References GetNedges(), GetNfaces(), and m_base.

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

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

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

Definition at line 98 of file StdExpansion.h.

References m_base.

99  {
100  return m_base.num_elements();
101  }
Array< OneD, LibUtilities::BasisSharedPtr > m_base
int Nektar::StdRegions::StdExpansion::GetNumPoints ( const int  dir) const
inline

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

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

Definition at line 229 of file StdExpansion.h.

References ASSERTL1, and m_base.

Referenced by Nektar::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::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::StdRegions::StdPrismExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdHexExp::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::StdSegExp::v_GetCoords(), Nektar::StdRegions::StdTriExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetCoords(), Nektar::StdRegions::StdPyrExp::v_GetCoords(), Nektar::StdRegions::StdHexExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetEdgeNumPoints(), Nektar::StdRegions::StdTriExp::v_GetEdgeNumPoints(), Nektar::LocalRegions::SegExp::v_GetNumPoints(), Nektar::LocalRegions::TriExp::v_GetNumPoints(), and Nektar::LocalRegions::QuadExp::v_GetNumPoints().

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

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

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

Returns
returns the number of vertices of the expansion domain

Definition at line 259 of file StdExpansion.h.

References v_GetNverts().

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

260  {
261  return v_GetNverts();
262  }
virtual int v_GetNverts() const =0
const Array<OneD, const NekDouble>& Nektar::StdRegions::StdExpansion::GetPhysNormals ( void  )
inline

Definition at line 721 of file StdExpansion.h.

References v_GetPhysNormals().

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

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

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

Definition at line 243 of file StdExpansion.h.

References m_base.

244  {
245  return m_base[dir]->GetZ();
246  }
Array< OneD, LibUtilities::BasisSharedPtr > m_base
const LibUtilities::PointsKeyVector Nektar::StdRegions::StdExpansion::GetPointsKeys ( ) const
inline

Definition at line 1323 of file StdExpansion.h.

References m_base, and CellMLToNektar.cellml_metadata::p.

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

1324  {
1326  p.reserve(m_base.num_elements());
1327  for (int i = 0; i < m_base.num_elements(); ++i)
1328  {
1329  p.push_back(m_base[i]->GetPointsKey());
1330  }
1331  return p;
1332  }
std::vector< PointsKey > PointsKeyVector
Definition: Points.h:242
Array< OneD, LibUtilities::BasisSharedPtr > m_base
LibUtilities::PointsType Nektar::StdRegions::StdExpansion::GetPointsType ( const int  dir) const
inline

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

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

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

Definition at line 216 of file StdExpansion.h.

References ASSERTL1, and m_base.

Referenced by Nektar::LocalRegions::QuadExp::v_ComputeEdgeNormal(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::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::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

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

Definition at line 773 of file StdExpansion.h.

References v_GetPorient().

774  {
775  return v_GetPorient(point);
776  }
bg::model::point< double, 3, bg::cs::cartesian > point
Definition: BLMesh.cpp:53
virtual StdRegions::Orientation v_GetPorient(int point)
int Nektar::StdRegions::StdExpansion::GetShapeDimension ( ) const
inline

Definition at line 487 of file StdExpansion.h.

References v_GetShapeDimension().

488  {
489  return v_GetShapeDimension();
490  }
virtual int v_GetShapeDimension() const
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 1377 of file StdExpansion.h.

References v_GetSimplexEquiSpacedConnectivity().

1380  {
1381  v_GetSimplexEquiSpacedConnectivity(conn,standard);
1382  }
virtual void v_GetSimplexEquiSpacedConnectivity(Array< OneD, int > &conn, bool standard=true)
boost::shared_ptr<StdExpansion> Nektar::StdRegions::StdExpansion::GetStdExp ( void  ) const
inline

Definition at line 475 of file StdExpansion.h.

References v_GetStdExp().

476  {
477  return v_GetStdExp();
478  }
virtual boost::shared_ptr< StdExpansion > v_GetStdExp(void) const
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::GetStdMatrix ( const StdMatrixKey mkey)
inline

Definition at line 706 of file StdExpansion.h.

References m_stdMatrixManager.

Referenced by BwdTrans_MatOp(), CreateGeneralMatrix(), Nektar::LocalRegions::PyrExp::CreateMatrix(), Nektar::LocalRegions::NodalTriExp::CreateMatrix(), Nektar::LocalRegions::TetExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::HexExp::CreateMatrix(), CreateStdStaticCondMatrix(), EquiSpacedToCoeffs(), 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::StdTriExp::v_FwdTrans(), Nektar::StdRegions::StdSegExp::v_FwdTrans(), Nektar::StdRegions::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdQuadExp::v_FwdTrans(), Nektar::StdRegions::StdPrismExp::v_FwdTrans(), Nektar::StdRegions::StdTetExp::v_FwdTrans(), Nektar::StdRegions::StdPyrExp::v_FwdTrans(), Nektar::StdRegions::StdPointExp::v_GenMatrix(), Nektar::StdRegions::StdQuadExp::v_GenMatrix(), Nektar::StdRegions::StdSegExp::v_GenMatrix(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_MatOp(), and Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_MatOp().

707  {
708  return m_stdMatrixManager[mkey];
709  }
LibUtilities::NekManager< StdMatrixKey, DNekMat, StdMatrixKey::opLess > m_stdMatrixManager
DNekBlkMatSharedPtr Nektar::StdRegions::StdExpansion::GetStdStaticCondMatrix ( const StdMatrixKey mkey)
inline
const NormalVector& Nektar::StdRegions::StdExpansion::GetSurfaceNormal ( const int  id) const
inline

Definition at line 1318 of file StdExpansion.h.

References v_GetSurfaceNormal().

1319  {
1320  return v_GetSurfaceNormal(id);
1321  }
virtual const NormalVector & v_GetSurfaceNormal(const int id) const
int Nektar::StdRegions::StdExpansion::GetTotalEdgeIntNcoeffs ( ) const
inline

Definition at line 293 of file StdExpansion.h.

References v_GetTotalEdgeIntNcoeffs().

294  {
295  return v_GetTotalEdgeIntNcoeffs();
296  }
virtual int v_GetTotalEdgeIntNcoeffs() const
int Nektar::StdRegions::StdExpansion::GetTotalFaceIntNcoeffs ( ) const
inline

Definition at line 364 of file StdExpansion.h.

References v_GetTotalFaceIntNcoeffs().

365  {
366  return v_GetTotalFaceIntNcoeffs();
367  }
virtual int v_GetTotalFaceIntNcoeffs() const
int Nektar::StdRegions::StdExpansion::GetTotPoints ( ) const
inline

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

Returns
returns the total number of quadrature points

Definition at line 141 of file StdExpansion.h.

References m_base.

Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzTraceTerms(), BwdTrans_MatOp(), Nektar::LocalRegions::Expansion::ComputeQuadratureMetric(), CreateGeneralMatrix(), Nektar::StdRegions::StdNodalPrismExp::GenNBasisTransMatrix(), Nektar::StdRegions::StdNodalTetExp::GenNBasisTransMatrix(), Nektar::StdRegions::StdNodalTriExp::GenNBasisTransMatrix(), Nektar::CFLtester::GetStdVelocity(), H1(), Nektar::LocalRegions::NodalTriExp::IProductWRTBase_MatOp(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_MatOp(), L2(), LaplacianMatrixOp_MatFree(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), Linf(), main(), MassMatrixOp_MatFree(), PhysInterpToSimplexEquiSpaced(), Nektar::StdRegions::StdExpansion0D::PhysTensorDeriv(), Nektar::StdRegions::StdExpansion1D::PhysTensorDeriv(), Nektar::FieldUtils::ProcessScalGrad::Process(), Nektar::StdRegions::StdMatrixKey::StdMatrixKey(), Nektar::FilterMovingBody::UpdateForce(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::HexExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_ComputeLaplacianMetric(), 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::LocalRegions::QuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdExpansion3D::v_LaplacianMatrixOp_MatFree(), Nektar::LocalRegions::Expansion::v_MultiplyByQuadratureMetric(), Nektar::LocalRegions::PrismExp::v_PhysDeriv(), Nektar::StdRegions::StdExpansion0D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion1D::v_PhysEvaluate(), Nektar::LocalRegions::TetExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::PrismExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::HexExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::TriExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::QuadExp::v_SVVLaplacianFilter(), WeakDerivMatrixOp_MatFree(), and WeakDirectionalDerivMatrixOp_MatFree().

142  {
143  int i;
144  int nqtot = 1;
145 
146  for(i=0; i < m_base.num_elements(); ++i)
147  {
148  nqtot *= m_base[i]->GetNumPoints();
149  }
150 
151  return nqtot;
152  }
Array< OneD, LibUtilities::BasisSharedPtr > m_base
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 379 of file StdExpansion.h.

References v_GetTraceNcoeffs().

380  {
381  return v_GetTraceNcoeffs(i);
382  }
virtual int v_GetTraceNcoeffs(const int i) const
void Nektar::StdRegions::StdExpansion::GetTracePhysVals ( const int  edge,
const boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 891 of file StdExpansion.h.

References v_GetTracePhysVals().

892  {
893  v_GetTracePhysVals(edge,EdgeExp,inarray,outarray);
894  }
virtual void v_GetTracePhysVals(const int edge, const boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient=eNoOrientation)
int Nektar::StdRegions::StdExpansion::GetVertexMap ( const int  localVertexId,
bool  useCoeffPacking = false 
)
inline
const NormalVector& Nektar::StdRegions::StdExpansion::GetVertexNormal ( const int  vertex) const
inline

Definition at line 1313 of file StdExpansion.h.

References v_GetVertexNormal().

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

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

Definition at line 896 of file StdExpansion.h.

References v_GetVertexPhysVals().

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

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

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

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

Definition at line 158 of file StdExpansion.cpp.

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

160  {
161  int i;
162  NekDouble val;
163  int ntot = GetTotPoints();
164  int coordim = v_GetCoordim();
165  Array<OneD, NekDouble> wsp(3*ntot);
166  Array<OneD, NekDouble> wsp_deriv = wsp + ntot;
167  Array<OneD, NekDouble> sum = wsp_deriv + ntot;
168 
169  if(sol == NullNekDouble1DArray)
170  {
171  Vmath::Vcopy(ntot,phys, 1, wsp, 1);
172  Vmath::Vmul(ntot, phys, 1, phys, 1, sum, 1);
173  }
174  else
175  {
176  Vmath::Vsub(ntot, sol, 1, phys, 1, wsp, 1);
177  Vmath::Vmul(ntot, wsp, 1, wsp, 1, sum, 1);
178  }
179 
180 
181  for(i = 0; i < coordim; ++i)
182  {
183  v_PhysDeriv(i,wsp,wsp_deriv);
184  Vmath::Vvtvp(ntot,wsp_deriv,1,wsp_deriv,1,sum,1,sum,1);
185  }
186 
187  val = sqrt(v_Integral(sum));
188 
189  return val;
190  }
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:442
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 GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:141
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:343
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Definition: Vmath.cpp:1061
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:183
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 1047 of file StdExpansion.h.

References v_HelmholtzMatrixOp().

Referenced by GeneralMatrixOp().

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

Definition at line 1527 of file StdExpansion.h.

References v_HelmholtzMatrixOp_MatFree().

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

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

Definition at line 935 of file StdExpansion.cpp.

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

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

938  {
939  NekDouble lambda = mkey.GetConstFactor(eFactorLambda);
940  Array<OneD,NekDouble> tmp(m_ncoeffs);
941  StdMatrixKey mkeymass(eMass,DetShapeType(),*this);
942  StdMatrixKey mkeylap(eLaplacian,DetShapeType(),*this);
943 
944  MassMatrixOp(inarray,tmp,mkeymass);
945  LaplacianMatrixOp(inarray,outarray,mkeylap);
946 
947  Blas::Daxpy(m_ncoeffs, lambda, tmp, 1, outarray, 1);
948  }
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
Definition: StdExpansion.h:470
void MassMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
Definition: StdExpansion.h:976
double NekDouble
void LaplacianMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
Definition: StdExpansion.h:983
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 580 of file StdExpansion.h.

References v_Integral().

581  {
582  return v_Integral(inarray);
583  }
virtual NekDouble v_Integral(const Array< OneD, const NekDouble > &inarray)
Integrates the specified function over the domain.
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 635 of file StdExpansion.h.

References v_IProductWRTBase().

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

637  {
638  v_IProductWRTBase(inarray, outarray);
639  }
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 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 641 of file StdExpansion.h.

References v_IProductWRTBase().

646  {
647  v_IProductWRTBase(base, inarray, outarray, coll_check);
648  }
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 Nektar::StdRegions::StdExpansion::IProductWRTBase_SumFac ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
bool  multiplybyweights = true 
)
inline

Definition at line 1410 of file StdExpansion.h.

References v_IProductWRTBase_SumFac().

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

1413  {
1414  v_IProductWRTBase_SumFac(inarray,outarray,multiplybyweights);
1415  }
virtual void v_IProductWRTBase_SumFac(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool multiplybyweights=true)
void Nektar::StdRegions::StdExpansion::IProductWRTDerivBase ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 651 of file StdExpansion.h.

References v_IProductWRTDerivBase().

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)
void Nektar::StdRegions::StdExpansion::IProductWRTDerivBase_SumFac ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inlineprotected

Definition at line 1463 of file StdExpansion.h.

References v_IProductWRTDerivBase_SumFac().

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

1466  {
1467  v_IProductWRTDerivBase_SumFac(dir,inarray,outarray);
1468  }
virtual void v_IProductWRTDerivBase_SumFac(const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
bool Nektar::StdRegions::StdExpansion::IsBoundaryInteriorExpansion ( )
inline
bool Nektar::StdRegions::StdExpansion::IsNodalNonTensorialExp ( )
inline

Definition at line 498 of file StdExpansion.h.

References v_IsNodalNonTensorialExp().

499  {
500  return v_IsNodalNonTensorialExp();
501  }
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 128 of file StdExpansion.cpp.

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

130  {
131  NekDouble val;
132  int ntot = GetTotPoints();
133  Array<OneD, NekDouble> wsp(ntot);
134 
135  if (sol.num_elements() == 0)
136  {
137  Vmath::Vmul(ntot, phys, 1, phys, 1, wsp, 1);
138  }
139  else
140  {
141  Vmath::Vsub(ntot, sol, 1, phys, 1, wsp, 1);
142  Vmath::Vmul(ntot, wsp, 1, wsp, 1, wsp, 1);
143  }
144 
145  val = v_Integral(wsp);
146 
147  // if val too small, sqrt returns nan.
149  {
150  return 0.0;
151  }
152  else
153  {
154  return sqrt(val);
155  }
156  }
static const NekDouble kNekSqrtTol
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:141
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:343
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:183
void Nektar::StdRegions::StdExpansion::LaplacianMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inline

Definition at line 983 of file StdExpansion.h.

References v_LaplacianMatrixOp().

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

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

Definition at line 1003 of file StdExpansion.h.

References v_LaplacianMatrixOp().

1007  {
1008  v_LaplacianMatrixOp(k1,k2,inarray,outarray,mkey);
1009  }
virtual void v_LaplacianMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
void Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inlineprotected
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 684 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().

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

Definition at line 742 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().

745  {
746  const int dim = GetCoordim();
747 
748  int i,j;
749 
750  Array<OneD,NekDouble> store(m_ncoeffs);
751  Array<OneD,NekDouble> store2(m_ncoeffs,0.0);
752 
753  if(mkey.GetNVarCoeff() == 0||mkey.ConstFactorExists(eFactorSVVDiffCoeff))
754  {
755  // just call diagonal matrix form of laplcian operator
756  for(i = 0; i < dim; ++i)
757  {
758  LaplacianMatrixOp(i,i,inarray,store,mkey);
759  Vmath::Vadd(m_ncoeffs, store, 1, store2, 1, store2, 1);
760  }
761  }
762  else
763  {
764  const MatrixType mtype[3][3]
768  StdMatrixKeySharedPtr mkeyij;
769 
770  for(i = 0; i < dim; i++)
771  {
772  for(j = 0; j < dim; j++)
773  {
774  mkeyij = MemoryManager<StdMatrixKey>::AllocateSharedPtr(mkey,mtype[i][j]);
775  LaplacianMatrixOp(i,j,inarray,store,*mkeyij);
776  Vmath::Vadd(m_ncoeffs, store, 1, store2, 1, store2, 1);
777  }
778  }
779  }
780 
781  Vmath::Vcopy(m_ncoeffs,store2.get(),1,outarray.get(),1);
782  }
static boost::shared_ptr< DataType > AllocateSharedPtr()
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:983
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Definition: Vmath.cpp:1061
boost::shared_ptr< StdMatrixKey > StdMatrixKeySharedPtr
Definition: StdMatrixKey.h:196
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:299
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 1492 of file StdExpansion.h.

References v_LaplacianMatrixOp_MatFree_Kernel().

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

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

Definition at line 1033 of file StdExpansion.h.

References v_LinearAdvectionDiffusionReactionMatrixOp().

Referenced by GeneralMatrixOp().

1037  {
1038  v_LinearAdvectionDiffusionReactionMatrixOp(inarray,outarray,mkey,addDiffusionTerm);
1039  }
virtual void v_LinearAdvectionDiffusionReactionMatrixOp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true)
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 879 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().

883  {
884 
885  int i;
886  int ndir = mkey.GetNVarCoeff(); // assume num.r consts corresponds to directions
887  ASSERTL0(ndir,"Must define at least one advection velocity");
888 
889  NekDouble lambda = mkey.GetConstFactor(eFactorLambda);
890  int totpts = GetTotPoints();
891  Array<OneD, NekDouble> tmp(3*totpts);
892  Array<OneD, NekDouble> tmp_deriv = tmp + totpts;
893  Array<OneD, NekDouble> tmp_adv = tmp_deriv + totpts;
894 
895 
896  ASSERTL1(ndir <= GetCoordim(),"Number of constants is larger than coordinate dimensions");
897 
898  v_BwdTrans(inarray,tmp);
899 
901 
902  //calculate u dx + v dy + ..
903  Vmath::Zero(totpts,tmp_adv,1);
904  for(i = 0; i < ndir; ++i)
905  {
906  v_PhysDeriv(i,tmp,tmp_deriv);
907  Vmath::Vvtvp(totpts,mkey.GetVarCoeff(varcoefftypes[i]),1,tmp_deriv,1,tmp_adv,1,tmp_adv,1);
908  }
909 
910  if(lambda) // add -lambda*u
911  {
912  Vmath::Svtvp(totpts,-lambda,tmp,1,tmp_adv,1,tmp_adv,1);
913  }
914 
915 
916  if(addDiffusionTerm)
917  {
918  Array<OneD, NekDouble> lap(m_ncoeffs);
919  StdMatrixKey mkeylap(eLaplacian,DetShapeType(),*this);
920  LaplacianMatrixOp(inarray,lap,mkeylap);
921 
922  v_IProductWRTBase(tmp_adv, outarray);
923  // Lap v - u.grad v + lambda*u
924  // => (grad u, grad v) + u.grad v - lambda*u
925  Vmath::Vadd(m_ncoeffs,lap,1,outarray,1,outarray,1);
926  }
927  else
928  {
929  v_IProductWRTBase(tmp_adv, outarray);
930  }
931 
932  }
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
Definition: StdExpansion.h:470
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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:485
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:442
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 GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:141
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:983
void Zero(int n, T *x, const int incx)
Zero vector.
Definition: Vmath.cpp:373
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
Definition: ErrorUtil.hpp:228
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:299
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 106 of file StdExpansion.cpp.

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

108  {
109  NekDouble val;
110  int ntot = GetTotPoints();
111  Array<OneD, NekDouble> wsp(ntot);
112 
113  if(sol == NullNekDouble1DArray)
114  {
115  Vmath::Vabs(ntot, phys, 1, wsp, 1);
116  }
117  else
118  {
119  Vmath::Vsub(ntot, sol, 1, phys, 1, wsp, 1);
120  Vmath::Vabs(ntot, wsp, 1, wsp, 1);
121  }
122 
123  val = Vmath::Vamax(ntot, wsp, 1);
124 
125  return val;
126  }
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:424
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:141
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:825
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:343
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 1178 of file StdExpansion.h.

References v_LocCoordToLocCollapsed().

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

1180  {
1181  v_LocCoordToLocCollapsed(xi,eta);
1182  }
virtual void v_LocCoordToLocCollapsed(const Array< OneD, const NekDouble > &xi, Array< OneD, NekDouble > &eta)
void Nektar::StdRegions::StdExpansion::MassLevelCurvatureMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inline

Definition at line 1026 of file StdExpansion.h.

References v_MassLevelCurvatureMatrixOp().

Referenced by GeneralMatrixOp().

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

Definition at line 828 of file StdExpansion.cpp.

Referenced by GeneralMatrixOp_MatFree(), and v_MassLevelCurvatureMatrixOp().

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

Definition at line 667 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().

670  {
671  int nq = GetTotPoints();
672  Array<OneD, NekDouble> tmp(nq);
673 
674  v_BwdTrans(inarray,tmp);
675 
676  if(mkey.HasVarCoeff(eVarCoeffMass))
677  {
678  Vmath::Vmul(nq, mkey.GetVarCoeff(eVarCoeffMass), 1, tmp, 1, tmp, 1);
679  }
680 
681  v_IProductWRTBase(tmp, outarray);
682  }
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:141
virtual void v_IProductWRTBase(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
Calculates the inner product of a given function f with the different modes of the expansion...
virtual void v_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:183
void Nektar::StdRegions::StdExpansion::MultiplyByQuadratureMetric ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 947 of file StdExpansion.h.

References v_MultiplyByQuadratureMetric().

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

950  {
951  v_MultiplyByQuadratureMetric(inarray, outarray);
952  }
virtual void v_MultiplyByQuadratureMetric(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void Nektar::StdRegions::StdExpansion::MultiplyByStdQuadratureMetric ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline
void Nektar::StdRegions::StdExpansion::NegateEdgeNormal ( const int  edge)
inline

Definition at line 1278 of file StdExpansion.h.

References v_NegateEdgeNormal().

1279  {
1280  v_NegateEdgeNormal(edge);
1281  }
virtual void v_NegateEdgeNormal(const int edge)
void Nektar::StdRegions::StdExpansion::NegateFaceNormal ( const int  face)
inline

Definition at line 1293 of file StdExpansion.h.

References v_NegateFaceNormal().

1294  {
1295  v_NegateFaceNormal(face);
1296  }
virtual void v_NegateFaceNormal(const int face)
void Nektar::StdRegions::StdExpansion::NormVectorIProductWRTBase ( const Array< OneD, const NekDouble > &  Fx,
Array< OneD, NekDouble > &  outarray 
)
inline
void Nektar::StdRegions::StdExpansion::NormVectorIProductWRTBase ( const Array< OneD, const NekDouble > &  Fx,
const Array< OneD, NekDouble > &  Fy,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 738 of file StdExpansion.h.

References v_NormVectorIProductWRTBase().

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

Definition at line 743 of file StdExpansion.h.

References v_NormVectorIProductWRTBase().

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

Definition at line 748 of file StdExpansion.h.

References v_NormVectorIProductWRTBase().

749  {
750  v_NormVectorIProductWRTBase(Fvec, outarray);
751  }
virtual void v_NormVectorIProductWRTBase(const Array< OneD, const NekDouble > &Fx, Array< OneD, NekDouble > &outarray)
int Nektar::StdRegions::StdExpansion::NumBndryCoeffs ( void  ) const
inline

Definition at line 390 of file StdExpansion.h.

References v_NumBndryCoeffs().

Referenced by Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::LocalRegions::PyrExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::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::StdSegExp::v_GetBoundaryMap(), Nektar::StdRegions::StdQuadExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTriExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPrismExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTetExp::v_GetBoundaryMap(), Nektar::StdRegions::StdHexExp::v_GetBoundaryMap(), Nektar::LocalRegions::Expansion2D::v_GetEdgeInverseBoundaryMap(), Nektar::StdRegions::StdNodalTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdNodalPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdNodalTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdSegExp::v_GetInteriorMap(), Nektar::StdRegions::StdQuadExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetInteriorMap(), and Nektar::StdRegions::StdPyrExp::v_GetInteriorMap().

391  {
392  return v_NumBndryCoeffs();
393  }
virtual int v_NumBndryCoeffs() const
int Nektar::StdRegions::StdExpansion::NumDGBndryCoeffs ( void  ) const
inline
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 1059 of file StdExpansion.h.

References v_PhysDeriv().

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

1063  {
1064  v_PhysDeriv (inarray, out_d0, out_d1, out_d2);
1065  }
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.
void Nektar::StdRegions::StdExpansion::PhysDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 1067 of file StdExpansion.h.

References v_PhysDeriv().

1070  {
1071  v_PhysDeriv (dir, inarray, outarray);
1072  }
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.
void Nektar::StdRegions::StdExpansion::PhysDeriv_n ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  out_dn 
)
inline

Definition at line 1080 of file StdExpansion.h.

References v_PhysDeriv_n().

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

Definition at line 1074 of file StdExpansion.h.

References v_PhysDeriv_s().

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

Definition at line 1086 of file StdExpansion.h.

References v_PhysDirectionalDeriv().

1089  {
1090  v_PhysDirectionalDeriv (inarray, direction, outarray);
1091  }
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.
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 1140 of file StdExpansion.h.

References v_PhysEvaluate().

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

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

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

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

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

Definition at line 1167 of file StdExpansion.h.

References v_PhysEvaluate().

1169  {
1170  return v_PhysEvaluate(I,physvals);
1171  }
virtual NekDouble v_PhysEvaluate(const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &physvals)
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 1769 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().

1773  {
1775  DNekMatSharedPtr intmat;
1776 
1777  int nqtot = GetTotPoints();
1778  int np = 0;
1779  if(npset == -1) // use values from basis num points()
1780  {
1781  int nqbase;
1782  for(int i = 0; i < m_base.num_elements(); ++i)
1783  {
1784  nqbase = m_base[i]->GetNumPoints();
1785  np = std::max(np,nqbase);
1786  }
1787 
1788  StdMatrixKey Ikey(ePhysInterpToEquiSpaced, shape, *this);
1789  intmat = GetStdMatrix(Ikey);
1790  }
1791  else
1792  {
1793  np = npset;
1794 
1795  ConstFactorMap cmap;
1796  cmap[eFactorConst] = np;
1797  StdMatrixKey Ikey(ePhysInterpToEquiSpaced, shape, *this, cmap);
1798  intmat = GetStdMatrix(Ikey);
1799 
1800  }
1801 
1802  NekVector<NekDouble> in (nqtot,inarray,eWrapper);
1803  NekVector<NekDouble> out(LibUtilities::GetNumberOfCoefficients(shape,np,np,np),outarray,eWrapper);
1804  out = (*intmat) * in;
1805  }
LibUtilities::ShapeType DetShapeType() const
This function returns the shape of the expansion domain.
Definition: StdExpansion.h:470
std::map< ConstFactorType, NekDouble > ConstFactorMap
Definition: StdRegions.hpp:252
boost::shared_ptr< DNekMat > DNekMatSharedPtr
Definition: NekTypeDefs.hpp:70
DNekMatSharedPtr GetStdMatrix(const StdMatrixKey &mkey)
Definition: StdExpansion.h:706
int GetNumberOfCoefficients(ShapeType shape, std::vector< unsigned int > &modes, int offset)
Definition: ShapeType.hpp:312
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:141
Array< OneD, LibUtilities::BasisSharedPtr > m_base
void Nektar::StdRegions::StdExpansion::ReduceOrderCoeffs ( int  numMin,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 990 of file StdExpansion.h.

References v_ReduceOrderCoeffs().

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

Definition at line 783 of file StdExpansion.h.

References v_SetCoeffsToOrientation().

786  {
787  v_SetCoeffsToOrientation(coeffs, dir);
788  }
virtual void v_SetCoeffsToOrientation(StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void Nektar::StdRegions::StdExpansion::SetCoeffsToOrientation ( StdRegions::Orientation  dir,
Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 790 of file StdExpansion.h.

References v_SetCoeffsToOrientation().

794  {
795  v_SetCoeffsToOrientation(dir,inarray,outarray);
796  }
virtual void v_SetCoeffsToOrientation(StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
void Nektar::StdRegions::StdExpansion::SetElmtId ( const int  id)
inline

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

Definition at line 668 of file StdExpansion.h.

References m_elmt_id.

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

Definition at line 726 of file StdExpansion.h.

References v_SetPhysNormals().

727  {
728  v_SetPhysNormals(normal);
729  }
virtual void v_SetPhysNormals(Array< OneD, const NekDouble > &normal)
void Nektar::StdRegions::StdExpansion::SetUpPhysNormals ( const int  edge)
virtual

Definition at line 962 of file StdExpansion.cpp.

References v_SetUpPhysNormals().

963  {
964  v_SetUpPhysNormals(edge);
965  }
virtual void v_SetUpPhysNormals(const int edge)
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 1093 of file StdExpansion.h.

References v_StdPhysDeriv().

1097  {
1098  v_StdPhysDeriv(inarray, out_d0, out_d1, out_d2);
1099  }
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)
void Nektar::StdRegions::StdExpansion::StdPhysDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
inline

Definition at line 1101 of file StdExpansion.h.

References v_StdPhysDeriv().

1104  {
1105  v_StdPhysDeriv(dir,inarray,outarray);
1106  }
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)
NekDouble Nektar::StdRegions::StdExpansion::StdPhysEvaluate ( const Array< OneD, const NekDouble > &  Lcoord,
const Array< OneD, const NekDouble > &  physvals 
)

Definition at line 967 of file StdExpansion.cpp.

References v_StdPhysEvaluate().

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

Definition at line 997 of file StdExpansion.h.

References v_SVVLaplacianFilter().

Referenced by LaplacianMatrixOp_MatFree().

999  {
1000  v_SVVLaplacianFilter(array,mkey);
1001  }
virtual void v_SVVLaplacianFilter(Array< OneD, NekDouble > &array, const StdMatrixKey &mkey)
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 1277 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by AddRobinEdgeContribution().

1278  {
1279  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1280  "specific element types");
1281  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1271 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by AddRobinMassMatrix().

1272  {
1273  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1274  "specific element types");
1275  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::v_BuildInverseTransformationMatrix ( const DNekScalMatSharedPtr m_transformationmatrix)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion3D.

Definition at line 1762 of file StdExpansion.cpp.

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

Referenced by BuildInverseTransformationMatrix().

1764  {
1765  NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
1766  return NullDNekMatSharedPtr;
1767  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
static DNekMatSharedPtr NullDNekMatSharedPtr
Definition: NekTypeDefs.hpp:79
virtual void Nektar::StdRegions::StdExpansion::v_BwdTrans ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatepure virtual
void Nektar::StdRegions::StdExpansion::v_BwdTrans_SumFac ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual
int Nektar::StdRegions::StdExpansion::v_CalcNumberOfCoefficients ( const std::vector< unsigned int > &  nummodes,
int &  modes_offset 
)
virtual

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

Definition at line 995 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CalcNumberOfCoefficients().

996  {
997  NEKERROR(ErrorUtil::efatal, "This function is not defined for this class");
998  return 0;
999  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1686 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by ComputeEdgeNormal().

1687  {
1688  ASSERTL0(false, "Cannot compute edge normal for this expansion.");
1689  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
void Nektar::StdRegions::StdExpansion::v_ComputeFaceNormal ( const int  face)
privatevirtual

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

Definition at line 1702 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by ComputeFaceNormal().

1703  {
1704  ASSERTL0(false, "Cannot compute face normal for this expansion.");
1705  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
void Nektar::StdRegions::StdExpansion::v_ComputeVertexNormal ( const int  vertex)
privatevirtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1718 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by ComputeVertexNormal().

1719  {
1720  ASSERTL0(false, "Cannot compute vertex normal for this expansion.");
1721  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::v_CreateStdMatrix ( const StdMatrixKey mkey)
privatevirtual
int Nektar::StdRegions::StdExpansion::v_DetCartesianDirOfEdge ( const int  edge)
privatevirtual

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

Definition at line 1133 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by DetCartesianDirOfEdge().

1134  {
1135  ASSERTL0(false, "This function is not valid or not defined");
1136  return 0;
1137  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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 1139 of file StdExpansion.cpp.

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

Referenced by DetEdgeBasisKey().

1140  {
1141  ASSERTL0(false, "This function is not valid or not defined");
1143  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
static const BasisKey NullBasisKey(eNoBasisType, 0, NullPointsKey)
Defines a null basis with no type or points.
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::StdHexExp, and Nektar::StdRegions::StdPrismExp.

Definition at line 1145 of file StdExpansion.cpp.

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

Referenced by DetFaceBasisKey().

1146  {
1147  ASSERTL0(false, "This function is not valid or not defined");
1149  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
static const BasisKey NullBasisKey(eNoBasisType, 0, NullPointsKey)
Defines a null basis with no type or points.
LibUtilities::ShapeType Nektar::StdRegions::StdExpansion::v_DetShapeType ( ) const
privatevirtual
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 1031 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by DropLocStaticCondMatrix().

1032  {
1033  NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
1034  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
bool Nektar::StdRegions::StdExpansion::v_EdgeNormalNegated ( const int  edge)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 1696 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by EdgeNormalNegated().

1697  {
1698  ASSERTL0(false, "Not implemented.");
1699  return false;
1700  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
bool Nektar::StdRegions::StdExpansion::v_FaceNormalNegated ( const int  face)
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D.

Definition at line 1712 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by FaceNormalNegated().

1713  {
1714  ASSERTL0(false, "Not implemented.");
1715  return false;
1716  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
void Nektar::StdRegions::StdExpansion::v_FillMode ( const int  mode,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

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

Definition at line 1365 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by FillMode().

1366  {
1367  NEKERROR(ErrorUtil::efatal, "This function has not "
1368  "been defined for this shape");
1369  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
virtual void Nektar::StdRegions::StdExpansion::v_FwdTrans ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatepure virtual
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 1252 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by FwdTrans_BndConstrained().

1254  {
1255  NEKERROR(ErrorUtil::efatal, "This method has not been defined");
1256  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
DNekMatSharedPtr Nektar::StdRegions::StdExpansion::v_GenMatrix ( const StdMatrixKey mkey)
privatevirtual
void Nektar::StdRegions::StdExpansion::v_GetBoundaryMap ( Array< OneD, unsigned int > &  outarray)
privatevirtual

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

Definition at line 1406 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetBoundaryMap().

1407  {
1408  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1409  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
StdRegions::Orientation Nektar::StdRegions::StdExpansion::v_GetCartesianEorient ( int  edge)
virtual

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

Definition at line 1056 of file StdExpansion.cpp.

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

Referenced by GetCartesianEorient().

1057  {
1058  NEKERROR(ErrorUtil::efatal, "This function is only valid for two-dimensional LocalRegions");
1059  return eForwards;
1060  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_GetCoord ( const Array< OneD, const NekDouble > &  Lcoord,
Array< OneD, NekDouble > &  coord 
)
privatevirtual

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

Definition at line 1394 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetCoord().

1396  {
1397  NEKERROR(ErrorUtil::efatal, "Write coordinate definition method");
1398  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
int Nektar::StdRegions::StdExpansion::v_GetCoordim ( void  )
privatevirtual

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

Definition at line 1400 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetCoordim(), and H1().

1401  {
1402  NEKERROR(ErrorUtil::efatal, "Write method");
1403  return -1;
1404  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_GetCoords ( Array< OneD, NekDouble > &  coords_0,
Array< OneD, NekDouble > &  coords_1,
Array< OneD, NekDouble > &  coords_2 
)
privatevirtual
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 1188 of file StdExpansion.cpp.

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

Referenced by GetEdgeBasisType().

1189  {
1190  ASSERTL0(false, "This function is not valid or not defined");
1191 
1193  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
void Nektar::StdRegions::StdExpansion::v_GetEdgeInteriorMap ( const int  eid,
const Orientation  edgeOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray 
)
privatevirtual

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

Definition at line 1423 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CreateIndexMap(), and GetEdgeInteriorMap().

1426  {
1427  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1428  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1484 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdgeInterpVals().

1485  {
1486  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1487  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
Array< OneD, unsigned int > Nektar::StdRegions::StdExpansion::v_GetEdgeInverseBoundaryMap ( int  eid)
privatevirtual

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

Definition at line 1745 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetEdgeInverseBoundaryMap().

1746  {
1747  ASSERTL0(false, "Not implemented.");
1748  Array<OneD, unsigned int> noinversemap(1);
1749  return noinversemap;
1750  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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 1115 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetEdgeNcoeffs().

1116  {
1117  ASSERTL0(false, "This function is not valid or not defined");
1118  return 0;
1119  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
const NormalVector & Nektar::StdRegions::StdExpansion::v_GetEdgeNormal ( const int  edge) const
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 1679 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetEdgeNormal().

1680  {
1681  ASSERTL0(false, "Cannot get edge normals for this expansion.");
1682  static NormalVector result;
1683  return result;
1684  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
Array< OneD, Array< OneD, NekDouble > > NormalVector
Definition: StdExpansion.h:59
int Nektar::StdRegions::StdExpansion::v_GetEdgeNumPoints ( const int  i) const
privatevirtual

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

Definition at line 1127 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetEdgeNumPoints().

1128  {
1129  ASSERTL0(false, "This function is not valid or not defined");
1130  return 0;
1131  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
void Nektar::StdRegions::StdExpansion::v_GetEdgePhysMap ( const int  edge,
Array< OneD, int > &  outarray 
)
privatevirtual

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

Definition at line 1506 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdgePhysMap().

1509  {
1511  "Method does not exist for this shape or library" );
1512  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1464 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdgePhysVals().

1465  {
1466  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1467  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_GetEdgePhysVals ( const int  edge,
const boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Definition at line 1469 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

1470  {
1471  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1472  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1489 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdgeQFactors().

1492  {
1494  "Method does not exist for this shape or library");
1495  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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::StdQuadExp, Nektar::StdRegions::StdTriExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1446 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CreateIndexMap(), and GetEdgeToElementMap().

1452  {
1453  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
1454  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 973 of file StdExpansion.cpp.

References m_elmt_id.

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

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

Definition at line 1043 of file StdExpansion.cpp.

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

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

1044  {
1045  NEKERROR(ErrorUtil::efatal, "This function is only valid for two-dimensional LocalRegions");
1046  return eForwards;
1047  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_GetFaceInteriorMap ( const int  fid,
const Orientation  faceOrient,
Array< OneD, unsigned int > &  maparray,
Array< OneD, int > &  signarray 
)
privatevirtual

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

Definition at line 1439 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CreateIndexMap(), and GetFaceInteriorMap().

1442  {
1443  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1444  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1163 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetFaceIntNcoeffs().

1164  {
1165  ASSERTL0(false, "This function is not valid or not defined");
1166  return 0;
1167  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
Array< OneD, unsigned int > Nektar::StdRegions::StdExpansion::v_GetFaceInverseBoundaryMap ( int  fid,
StdRegions::Orientation  faceOrient = eNoOrientation 
)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion3D.

Definition at line 1753 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetFaceInverseBoundaryMap().

1755  {
1756  ASSERTL0(false, "Not implemented.");
1757  Array<OneD, unsigned int> noinversemap(1);
1758  return noinversemap;
1759  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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 1157 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetFaceNcoeffs().

1158  {
1159  ASSERTL0(false, "This function is not valid or not defined");
1160  return 0;
1161  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
const NormalVector & Nektar::StdRegions::StdExpansion::v_GetFaceNormal ( const int  face) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D.

Definition at line 1723 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetFaceNormal().

1724  {
1725  ASSERTL0(false, "Cannot get face normals for this expansion.");
1726  static NormalVector result;
1727  return result;
1728  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
Array< OneD, Array< OneD, NekDouble > > NormalVector
Definition: StdExpansion.h:59
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 1430 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetFaceNumModes().

1435  {
1436  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1437  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
int Nektar::StdRegions::StdExpansion::v_GetFaceNumPoints ( const int  i) const
privatevirtual

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

Definition at line 1151 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetFaceNumPoints().

1152  {
1153  ASSERTL0(false, "This function is not valid or not defined");
1154  return 0;
1155  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
void Nektar::StdRegions::StdExpansion::v_GetFacePhysMap ( const int  face,
Array< OneD, int > &  outarray 
)
privatevirtual

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

Definition at line 1514 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetFacePhysMap().

1516  {
1517  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1518  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_GetFacePhysVals ( const int  face,
const boost::shared_ptr< StdExpansion > &  FaceExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
StdRegions::Orientation  orient 
)
privatevirtual

Definition at line 1497 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetFacePhysVals().

1502  {
1503  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1504  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
LibUtilities::PointsKey Nektar::StdRegions::StdExpansion::v_GetFacePointsKey ( const int  i,
const int  j 
) const
privatevirtual

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

Definition at line 1182 of file StdExpansion.cpp.

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

Referenced by GetFacePointsKey().

1183  {
1184  ASSERTL0(false, "This function is not valid or not defined");
1186  }
static const PointsKey NullPointsKey(0, eNoPointsType)
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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 1456 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by CreateIndexMap(), and GetFaceToElementMap().

1460  {
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:191
StdRegions::Orientation Nektar::StdRegions::StdExpansion::v_GetForient ( int  face)
virtual

Reimplemented in Nektar::LocalRegions::Expansion3D.

Definition at line 1036 of file StdExpansion.cpp.

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

Referenced by GetForient().

1038  {
1039  NEKERROR(ErrorUtil::efatal, "This function is only valid for three-dimensional LocalRegions");
1040  return eDir1FwdDir1_Dir2FwdDir2;
1041  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_GetInteriorMap ( Array< OneD, unsigned int > &  outarray)
privatevirtual

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

Definition at line 1411 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetInteriorMap().

1412  {
1413  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1414  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
boost::shared_ptr< StdExpansion > Nektar::StdRegions::StdExpansion::v_GetLinStdExp ( void  ) const
privatevirtual

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

Definition at line 1217 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetLinStdExp().

1218  {
1219  ASSERTL0(false,"This method is not defined for this expansion");
1220  StdExpansionSharedPtr returnval;
1221  return returnval;
1222  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
boost::shared_ptr< StdExpansion > StdExpansionSharedPtr
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 1025 of file StdExpansion.cpp.

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

Referenced by GetLocStaticCondMatrix().

1026  {
1027  NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
1029  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
static DNekScalBlkMatSharedPtr NullDNekScalBlkMatSharedPtr
Definition: NekTypeDefs.hpp:81
const boost::shared_ptr< SpatialDomains::GeomFactors > & Nektar::StdRegions::StdExpansion::v_GetMetricInfo ( ) const
privatevirtual

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

Definition at line 1534 of file StdExpansion.cpp.

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

Referenced by GetMetricInfo().

1535  {
1536  NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
1538 
1539  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
static boost::shared_ptr< GeomFactors > NullGeomFactorsSharedPtr
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 1091 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetNedges().

1092  {
1093  ASSERTL0(false, "This function is needs defining for this shape");
1094  return 0;
1095  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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 1097 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetNfaces().

1098  {
1099  ASSERTL0(false, "This function is needs defining for this shape");
1100  return 0;
1101  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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 1195 of file StdExpansion.cpp.

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

Referenced by GetNodalPointsKey().

1196  {
1197  ASSERTL0(false, "This function is not valid or not defined");
1198 
1200  }
static const PointsKey NullPointsKey(0, eNoPointsType)
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
virtual int Nektar::StdRegions::StdExpansion::v_GetNverts ( ) const
privatepure virtual
const Array< OneD, const NekDouble > & Nektar::StdRegions::StdExpansion::v_GetPhysNormals ( void  )
virtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 978 of file StdExpansion.cpp.

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

Referenced by GetPhysNormals().

979  {
980  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
981  return NullNekDouble1DArray;
982  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
static Array< OneD, NekDouble > NullNekDouble1DArray
StdRegions::Orientation Nektar::StdRegions::StdExpansion::v_GetPorient ( int  point)
virtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1049 of file StdExpansion.cpp.

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

Referenced by GetPorient().

1050  {
1051  NEKERROR(ErrorUtil::efatal, "This function is only valid for one-dimensional LocalRegions");
1052  return eFwd;
1053  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1224 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetShapeDimension().

1225  {
1226  ASSERTL0(false, "This function is not valid or not defined");
1227  return 0;
1228  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
void Nektar::StdRegions::StdExpansion::v_GetSimplexEquiSpacedConnectivity ( Array< OneD, int > &  conn,
bool  standard = true 
)
privatevirtual

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

Definition at line 1807 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetSimplexEquiSpacedConnectivity().

1810  {
1811  ASSERTL0(false, "Not implemented.");
1812  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
boost::shared_ptr< StdExpansion > Nektar::StdRegions::StdExpansion::v_GetStdExp ( void  ) const
privatevirtual

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

Definition at line 1209 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetStdExp().

1210  {
1211  ASSERTL0(false,"This method is not defined for this expansion");
1212  StdExpansionSharedPtr returnval;
1213  return returnval;
1214  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
boost::shared_ptr< StdExpansion > StdExpansionSharedPtr
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 1737 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetSurfaceNormal().

1738  {
1739  ASSERTL0(false, "Cannot get face normals for this expansion.");
1740  static NormalVector result;
1741  return result;
1742  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
Array< OneD, Array< OneD, NekDouble > > NormalVector
Definition: StdExpansion.h:59
int Nektar::StdRegions::StdExpansion::v_GetTotalEdgeIntNcoeffs ( ) const
privatevirtual

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

Definition at line 1121 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetTotalEdgeIntNcoeffs().

1122  {
1123  ASSERTL0(false, "This function is not valid or not defined");
1124  return 0;
1125  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
int Nektar::StdRegions::StdExpansion::v_GetTotalFaceIntNcoeffs ( ) const
privatevirtual

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

Definition at line 1169 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetTotalFaceIntNcoeffs().

1170  {
1171  ASSERTL0(false, "This function is not valid or not defined");
1172  return 0;
1173  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
int Nektar::StdRegions::StdExpansion::v_GetTraceNcoeffs ( const int  i) const
privatevirtual

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

Definition at line 1175 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetTraceNcoeffs().

1176  {
1177  ASSERTL0(false, "This function is not valid or not defined");
1178  return 0;
1179  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
void Nektar::StdRegions::StdExpansion::v_GetTracePhysVals ( const int  edge,
const boost::shared_ptr< StdExpansion > &  EdgeExp,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
StdRegions::Orientation  orient = eNoOrientation 
)
privatevirtual

Definition at line 1474 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetTracePhysVals().

1475  {
1476  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1477  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
int Nektar::StdRegions::StdExpansion::v_GetVertexMap ( int  localVertexId,
bool  useCoeffPacking = false 
)
privatevirtual

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

Definition at line 1416 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetVertexMap().

1418  {
1419  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape" );
1420  return 0;
1421  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
const NormalVector & Nektar::StdRegions::StdExpansion::v_GetVertexNormal ( const int  vertex) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion1D.

Definition at line 1730 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by GetVertexNormal().

1731  {
1732  ASSERTL0(false, "Cannot get vertex normals for this expansion.");
1733  static NormalVector result;
1734  return result;
1735  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
Array< OneD, Array< OneD, NekDouble > > NormalVector
Definition: StdExpansion.h:59
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 1479 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetVertexPhysVals().

1480  {
1481  NEKERROR(ErrorUtil::efatal,"Method does not exist for this shape or library" );
1482  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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::StdRegions::StdHexExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::HexExp, Nektar::StdRegions::StdNodalTriExp, Nektar::LocalRegions::PrismExp, Nektar::StdRegions::StdSegExp, and Nektar::LocalRegions::TetExp.

Definition at line 1644 of file StdExpansion.cpp.

References HelmholtzMatrixOp_MatFree().

Referenced by HelmholtzMatrixOp().

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

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

Definition at line 1670 of file StdExpansion.cpp.

References HelmholtzMatrixOp_MatFree_GenericImpl().

Referenced by HelmholtzMatrixOp_MatFree().

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

Integrates the specified function over the domain.

See also
StdRegions::StdExpansion::Integral.

Reimplemented in Nektar::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 1263 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

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

1264  {
1265  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1266  "local expansions");
1267  return 0;
1268  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
virtual void Nektar::StdRegions::StdExpansion::v_IProductWRTBase ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatepure virtual
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 1624 of file StdExpansion.h.

References ASSERTL0.

1629  {
1630  ASSERTL0(false, "StdExpansion::v_IProductWRTBase has no (and should have no) implementation");
1631  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
void Nektar::StdRegions::StdExpansion::v_IProductWRTBase_SumFac ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
bool  multiplybyweights = true 
)
privatevirtual
void Nektar::StdRegions::StdExpansion::v_IProductWRTDerivBase ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual
void Nektar::StdRegions::StdExpansion::v_IProductWRTDerivBase_SumFac ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual
bool Nektar::StdRegions::StdExpansion::v_IsBoundaryInteriorExpansion ( )
privatevirtual

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

Definition at line 1230 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by IsBoundaryInteriorExpansion().

1231  {
1232  ASSERTL0(false,"This function has not been defined for this expansion");
1233  return false;
1234  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
bool Nektar::StdRegions::StdExpansion::v_IsNodalNonTensorialExp ( )
privatevirtual

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

Definition at line 1237 of file StdExpansion.cpp.

Referenced by IsNodalNonTensorialExp().

1238  {
1239  return false;
1240  }
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::StdRegions::StdHexExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, 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 1570 of file StdExpansion.cpp.

References LaplacianMatrixOp_MatFree().

Referenced by LaplacianMatrixOp().

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

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

Definition at line 1593 of file StdExpansion.cpp.

References LaplacianMatrixOp_MatFree().

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

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

Definition at line 1653 of file StdExpansion.cpp.

References LaplacianMatrixOp_MatFree_GenericImpl().

Referenced by LaplacianMatrixOp_MatFree().

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

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

Definition at line 1662 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by LaplacianMatrixOp_MatFree_Kernel().

1666  {
1667  ASSERTL0(false, "Not implemented.");
1668  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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 1633 of file StdExpansion.cpp.

References LinearAdvectionDiffusionReactionMatrixOp_MatFree().

Referenced by LinearAdvectionDiffusionReactionMatrixOp().

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

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

Definition at line 1086 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by LocCoordToLocCollapsed().

1087  {
1088  NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
1089  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_MassLevelCurvatureMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
privatevirtual

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

Definition at line 1624 of file StdExpansion.cpp.

References MassLevelCurvatureMatrixOp_MatFree().

Referenced by MassLevelCurvatureMatrixOp().

1627  {
1628  // If this function is not reimplemented on shape level, the function
1629  // below will be called
1630  MassLevelCurvatureMatrixOp_MatFree(inarray,outarray,mkey);
1631  }
void MassLevelCurvatureMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
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::StdRegions::StdHexExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::HexExp, Nektar::StdRegions::StdNodalTriExp, and Nektar::LocalRegions::PrismExp.

Definition at line 1561 of file StdExpansion.cpp.

References MassMatrixOp_MatFree().

Referenced by MassMatrixOp().

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

Reimplemented in Nektar::LocalRegions::Expansion.

Definition at line 1520 of file StdExpansion.cpp.

References v_MultiplyByStdQuadratureMetric().

Referenced by MultiplyByQuadratureMetric().

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

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

Definition at line 1527 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by MultiplyByStdQuadratureMetric(), and v_MultiplyByQuadratureMetric().

1530  {
1531  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape or library");
1532  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_NegateEdgeNormal ( const int  edge)
privatevirtual

Reimplemented in Nektar::LocalRegions::Expansion2D.

Definition at line 1691 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by NegateEdgeNormal().

1692  {
1693  ASSERTL0(false, "Not implemented.");
1694  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
void Nektar::StdRegions::StdExpansion::v_NegateFaceNormal ( const int  face)
privatevirtual

Reimplemented in Nektar::StdRegions::StdExpansion3D.

Definition at line 1707 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by NegateFaceNormal().

1708  {
1709  ASSERTL0(false, "Not implemented.");
1710  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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 1001 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by NormVectorIProductWRTBase().

1002  {
1003  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
1004  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1006 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

1007  {
1008  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
1009  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_NormVectorIProductWRTBase ( const Array< OneD, const NekDouble > &  Fx,
const Array< OneD, const NekDouble > &  Fy,
const Array< OneD, const NekDouble > &  Fz,
Array< OneD, NekDouble > &  outarray 
)
virtual

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

Definition at line 1011 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

1015  {
1016  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
1017  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_NormVectorIProductWRTBase ( const Array< OneD, const Array< OneD, NekDouble > > &  Fvec,
Array< OneD, NekDouble > &  outarray 
)
virtual

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

Definition at line 1019 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

1020  {
1021  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
1022  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
int Nektar::StdRegions::StdExpansion::v_NumBndryCoeffs ( ) const
privatevirtual

Reimplemented in Nektar::StdRegions::StdPyrExp, Nektar::StdRegions::StdSegExp, 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 1103 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by NumBndryCoeffs().

1104  {
1105  ASSERTL0(false, "This function is needs defining for this shape");
1106  return 0;
1107  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
int Nektar::StdRegions::StdExpansion::v_NumDGBndryCoeffs ( ) const
privatevirtual

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

Definition at line 1109 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by NumDGBndryCoeffs().

1110  {
1111  ASSERTL0(false, "This function is needs defining for this shape");
1112  return 0;
1113  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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
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::StdHexExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1314 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

1318  {
1319  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1320  "specific element types");
1321  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1302 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by PhysDeriv_n().

1304  {
1305  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1306  "local expansions");
1307  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1296 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by PhysDeriv_s().

1298  {
1299  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1300  "local expansions");
1301  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_PhysDirectionalDeriv ( const Array< OneD, const NekDouble > &  inarray,
const Array< OneD, const NekDouble > &  direction,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

Physical derivative along a direction vector.

See also
StdRegions::StdExpansion::PhysDirectionalDeriv

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

Definition at line 1327 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by PhysDirectionalDeriv().

1330  {
1331  NEKERROR(ErrorUtil::efatal, "This function is only valid for "
1332  "specific element types");
1333  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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::QuadExp, Nektar::StdRegions::StdSegExp, Nektar::StdRegions::StdExpansion3D, Nektar::StdRegions::StdExpansion2D, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::TetExp, Nektar::StdRegions::StdExpansion1D, and Nektar::StdRegions::StdExpansion0D.

Definition at line 1351 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by PhysEvaluate().

1352  {
1353  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
1354  return 0;
1355  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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 1358 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

1359  {
1360  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
1361  return 0;
1362  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_ReduceOrderCoeffs ( int  numMin,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

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

Definition at line 1586 of file StdExpansion.cpp.

References ASSERTL0.

Referenced by ReduceOrderCoeffs().

1589  {
1590  ASSERTL0(false, "This function is not defined in StdExpansion.");
1591  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:198
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 1063 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by SetCoeffsToOrientation().

1066  {
1067  NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
1068  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_SetCoeffsToOrientation ( Array< OneD, NekDouble > &  coeffs,
StdRegions::Orientation  dir 
)
protectedvirtual

Reimplemented in Nektar::LocalRegions::SegExp.

Definition at line 1070 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

1073  {
1074  NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
1075  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_SetPhysNormals ( Array< OneD, const NekDouble > &  normal)
virtual

Definition at line 985 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by SetPhysNormals().

986  {
987  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
988  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_SetUpPhysNormals ( const int  edge)
virtual

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

Definition at line 990 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by SetUpPhysNormals().

991  {
992  NEKERROR(ErrorUtil::efatal, "This function is not valid for this class");
993  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
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::StdHexExp, and Nektar::StdRegions::StdTriExp.

Definition at line 1335 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by StdPhysDeriv().

1339  {
1340  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
1341  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_StdPhysDeriv ( const int  dir,
const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray 
)
privatevirtual

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

Definition at line 1343 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

1346  {
1347  NEKERROR(ErrorUtil::efatal, "Method does not exist for this shape");
1348  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
NekDouble Nektar::StdRegions::StdExpansion::v_StdPhysEvaluate ( const Array< OneD, const NekDouble > &  Lcoord,
const Array< OneD, const NekDouble > &  physvals 
)
protectedvirtual

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

Definition at line 1078 of file StdExpansion.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by StdPhysEvaluate().

1081  {
1082  NEKERROR(ErrorUtil::efatal, "This function is not defined for this shape");
1083  return 0;
1084  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:191
void Nektar::StdRegions::StdExpansion::v_SVVLaplacianFilter ( Array< OneD, NekDouble > &  array,
const StdMatrixKey mkey 
)
privatevirtual
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::QuadExp, Nektar::LocalRegions::TriExp, Nektar::StdRegions::StdTriExp, Nektar::StdRegions::StdQuadExp, Nektar::LocalRegions::HexExp, and Nektar::StdRegions::StdNodalTriExp.

Definition at line 1603 of file StdExpansion.cpp.

References WeakDerivMatrixOp_MatFree().

Referenced by WeakDerivMatrixOp().

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

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

Definition at line 1614 of file StdExpansion.cpp.

References WeakDirectionalDerivMatrixOp_MatFree().

Referenced by WeakDirectionalDerivMatrixOp().

1617  {
1618  // If this function is not reimplemented on shape level, the function
1619  // below will be called
1620  WeakDirectionalDerivMatrixOp_MatFree(inarray,outarray,mkey);
1621 
1622  }
void WeakDirectionalDerivMatrixOp_MatFree(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey)
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 1011 of file StdExpansion.h.

References v_WeakDerivMatrixOp().

Referenced by GeneralMatrixOp().

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

Definition at line 784 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().

788  {
789  Array<OneD, NekDouble> tmp(GetTotPoints());
790  int nq = GetTotPoints();
791 
792  v_BwdTrans(inarray,tmp);
793  v_PhysDeriv(k1,tmp,tmp);
794 
796  if(mkey.HasVarCoeff(keys[k1]))
797  {
798  Vmath::Vmul(nq, &(mkey.GetVarCoeff(keys[k1]))[0], 1, &tmp[0], 1, &tmp[0], 1);
799  }
800 
801  v_IProductWRTBase(tmp, outarray);
802  }
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 GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:141
virtual void v_IProductWRTBase(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
Calculates the inner product of a given function f with the different modes of the expansion...
virtual void v_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:183
void Nektar::StdRegions::StdExpansion::WeakDirectionalDerivMatrixOp ( const Array< OneD, const NekDouble > &  inarray,
Array< OneD, NekDouble > &  outarray,
const StdMatrixKey mkey 
)
inline

Definition at line 1019 of file StdExpansion.h.

References v_WeakDirectionalDerivMatrixOp().

Referenced by GeneralMatrixOp().

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

Definition at line 804 of file StdExpansion.cpp.

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

Referenced by GeneralMatrixOp_MatFree(), and v_WeakDirectionalDerivMatrixOp().

807  {
808  int nq = GetTotPoints();
809  // int varsize = ((mkey.GetVariableCoefficient(0)).num_elements())/dim;
810  Array<OneD, NekDouble> tmp(nq);
811 
812  v_BwdTrans(inarray,tmp);
813  // For Deformed mesh ==============
814  // if (varsize==nq)
815  // {
816  // v_PhysDirectionalDeriv(tmp,mkey.GetVariableCoefficient(0),tmp);
817  // }
818  //
819  // // For Regular mesh ==========
820  // else
821  // {
822  // ASSERTL0(false, "Wrong route");
823  // }
824 
825  v_IProductWRTBase(tmp, outarray);
826  }
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
Definition: StdExpansion.h:141
virtual void v_IProductWRTBase(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0
Calculates the inner product of a given function f with the different modes of the expansion...
virtual void v_BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)=0

Member Data Documentation

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

Bases needed for the expansion

Definition at line 1418 of file StdExpansion.h.

Referenced by CreateGeneralMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStdMatrix(), EquiSpacedToCoeffs(), EvalBasisNumModesMax(), Nektar::LocalRegions::Expansion::Expansion(), GetBase(), GetBasis(), GetBasisNumModes(), GetBasisType(), Nektar::StdRegions::StdPrismExp::GetMode(), Nektar::StdRegions::StdTetExp::GetMode(), GetNtrace(), GetNumBases(), GetNumPoints(), GetPoints(), GetPointsKeys(), GetPointsType(), Nektar::StdRegions::StdPyrExp::GetTetMode(), GetTotPoints(), Nektar::LocalRegions::NodalTriExp::Integral(), Nektar::StdRegions::StdExpansion2D::Integral(), Nektar::LocalRegions::NodalTriExp::IProductWRTBase_SumFac(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::PhysDeriv(), 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::StdTriExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdHexExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdPrismExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdQuadExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdPyrExp::v_BwdTrans_SumFac(), Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdHexExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_BwdTrans_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_BwdTrans_SumFacKernel(), Nektar::LocalRegions::QuadExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::TriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::NodalTriExp::v_ComputeEdgeNormal(), Nektar::LocalRegions::HexExp::v_ComputeFaceNormal(), 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::TriExp::v_CreateStdMatrix(), Nektar::LocalRegions::QuadExp::v_CreateStdMatrix(), Nektar::LocalRegions::SegExp::v_CreateStdMatrix(), Nektar::LocalRegions::HexExp::v_CreateStdMatrix(), Nektar::StdRegions::StdTriExp::v_DetEdgeBasisKey(), Nektar::StdRegions::StdPrismExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdHexExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdTetExp::v_DetFaceBasisKey(), Nektar::StdRegions::StdPyrExp::v_DetFaceBasisKey(), Nektar::LocalRegions::TetExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::PrismExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TriExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::SegExp::v_ExtractDataToCoeffs(), Nektar::StdRegions::StdTriExp::v_FillMode(), Nektar::StdRegions::StdQuadExp::v_FillMode(), Nektar::StdRegions::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::StdSegExp::v_FwdTrans(), Nektar::StdRegions::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdQuadExp::v_FwdTrans(), Nektar::StdRegions::StdPointExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdSegExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::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::TriExp::v_GetBasis(), Nektar::LocalRegions::QuadExp::v_GetBasis(), Nektar::StdRegions::StdSegExp::v_GetBoundaryMap(), Nektar::StdRegions::StdQuadExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTriExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPrismExp::v_GetBoundaryMap(), Nektar::StdRegions::StdTetExp::v_GetBoundaryMap(), Nektar::StdRegions::StdHexExp::v_GetBoundaryMap(), Nektar::StdRegions::StdPointExp::v_GetCoords(), Nektar::LocalRegions::Expansion::v_GetCoords(), Nektar::StdRegions::StdPrismExp::v_GetCoords(), Nektar::StdRegions::StdTetExp::v_GetCoords(), Nektar::StdRegions::StdSegExp::v_GetCoords(), Nektar::StdRegions::StdTriExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetCoords(), Nektar::StdRegions::StdPyrExp::v_GetCoords(), Nektar::StdRegions::StdHexExp::v_GetCoords(), Nektar::StdRegions::StdQuadExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetEdgeInteriorMap(), Nektar::StdRegions::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::TriExp::v_GetEdgePhysMap(), Nektar::LocalRegions::QuadExp::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::StdTetExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdPyrExp::v_GetFaceInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetFaceIntNcoeffs(), Nektar::StdRegions::StdPyrExp::v_GetFaceIntNcoeffs(), Nektar::StdRegions::StdPrismExp::v_GetFaceNumModes(), Nektar::StdRegions::StdTetExp::v_GetFaceNumModes(), Nektar::StdRegions::StdPyrExp::v_GetFaceNumModes(), Nektar::StdRegions::StdHexExp::v_GetFaceNumModes(), Nektar::StdRegions::StdPrismExp::v_GetFaceNumPoints(), Nektar::StdRegions::StdHexExp::v_GetFaceNumPoints(), Nektar::StdRegions::StdTetExp::v_GetFaceNumPoints(), Nektar::StdRegions::StdPyrExp::v_GetFaceNumPoints(), Nektar::LocalRegions::PyrExp::v_GetFacePhysMap(), Nektar::LocalRegions::TetExp::v_GetFacePhysMap(), Nektar::LocalRegions::PrismExp::v_GetFacePhysMap(), Nektar::LocalRegions::HexExp::v_GetFacePhysMap(), Nektar::StdRegions::StdPrismExp::v_GetFacePointsKey(), Nektar::StdRegions::StdHexExp::v_GetFacePointsKey(), Nektar::StdRegions::StdTetExp::v_GetFacePointsKey(), Nektar::StdRegions::StdPrismExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdHexExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdTetExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdPyrExp::v_GetFaceToElementMap(), Nektar::StdRegions::StdQuadExp::v_GetInteriorMap(), Nektar::StdRegions::StdTriExp::v_GetInteriorMap(), Nektar::StdRegions::StdPrismExp::v_GetInteriorMap(), Nektar::StdRegions::StdTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetInteriorMap(), Nektar::LocalRegions::PyrExp::v_GetLinStdExp(), Nektar::LocalRegions::TetExp::v_GetLinStdExp(), Nektar::LocalRegions::PrismExp::v_GetLinStdExp(), Nektar::LocalRegions::TriExp::v_GetLinStdExp(), Nektar::LocalRegions::QuadExp::v_GetLinStdExp(), Nektar::LocalRegions::HexExp::v_GetLinStdExp(), Nektar::LocalRegions::SegExp::v_GetLinStdExp(), Nektar::LocalRegions::NodalTriExp::v_GetLinStdExp(), Nektar::LocalRegions::PrismExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::StdRegions::StdSegExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::StdRegions::StdQuadExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::StdRegions::StdTetExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::StdRegions::StdTriExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::LocalRegions::PyrExp::v_GetStdExp(), Nektar::LocalRegions::TetExp::v_GetStdExp(), Nektar::LocalRegions::PrismExp::v_GetStdExp(), Nektar::LocalRegions::TriExp::v_GetStdExp(), Nektar::LocalRegions::QuadExp::v_GetStdExp(), Nektar::LocalRegions::HexExp::v_GetStdExp(), Nektar::LocalRegions::SegExp::v_GetStdExp(), Nektar::LocalRegions::NodalTriExp::v_GetStdExp(), Nektar::StdRegions::StdTetExp::v_GetTotalEdgeIntNcoeffs(), Nektar::StdRegions::StdTetExp::v_GetTotalFaceIntNcoeffs(), Nektar::StdRegions::StdSegExp::v_GetVertexMap(), Nektar::StdRegions::StdQuadExp::v_GetVertexMap(), Nektar::StdRegions::StdTriExp::v_GetVertexMap(), Nektar::StdRegions::StdHexExp::v_GetVertexMap(), Nektar::LocalRegions::SegExp::v_GetVertexPhysVals(), Nektar::StdRegions::StdSegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::StdRegions::StdExpansion2D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdTriExp::v_Integral(), Nektar::StdRegions::StdQuadExp::v_Integral(), Nektar::LocalRegions::SegExp::v_Integral(), Nektar::LocalRegions::PrismExp::v_Integral(), Nektar::LocalRegions::TetExp::v_Integral(), Nektar::LocalRegions::PyrExp::v_Integral(), Nektar::LocalRegions::TriExp::v_Integral(), Nektar::LocalRegions::QuadExp::v_Integral(), Nektar::StdRegions::StdSegExp::v_Integral(), Nektar::LocalRegions::HexExp::v_Integral(), Nektar::StdRegions::StdPointExp::v_IProductWRTBase(), Nektar::LocalRegions::PyrExp::v_IProductWRTBase(), Nektar::LocalRegions::SegExp::v_IProductWRTBase(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase(), Nektar::LocalRegions::TetExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::PrismExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPointExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::HexExp::v_IProductWRTBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdPyrExp::v_IProductWRTBase_SumFacKernel(), Nektar::LocalRegions::TetExp::v_IProductWRTDerivBase(), Nektar::StdRegions::StdPointExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::SegExp::v_IProductWRTDerivBase(), Nektar::StdRegions::StdSegExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::PrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPyrExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdTriExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdHexExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdPrismExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdSegExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdTetExp::v_IsBoundaryInteriorExpansion(), Nektar::StdRegions::StdSegExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), Nektar::StdRegions::StdExpansion2D::v_LaplacianMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_LaplacianMatrixOp_MatFree(), Nektar::LocalRegions::PyrExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::PrismExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TetExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::HexExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TriExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::QuadExp::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::StdQuadExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdTriExp::v_MultiplyByStdQuadratureMetric(), Nektar::StdRegions::StdHexExp::v_MultiplyByStdQuadratureMetric(), Nektar::LocalRegions::SegExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::TriExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::QuadExp::v_NormVectorIProductWRTBase(), Nektar::StdRegions::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::StdTriExp::v_PhysDeriv(), Nektar::StdRegions::StdPrismExp::v_PhysDeriv(), Nektar::LocalRegions::SegExp::v_PhysDeriv(), Nektar::LocalRegions::TetExp::v_PhysDeriv(), Nektar::LocalRegions::PyrExp::v_PhysDeriv(), Nektar::LocalRegions::TriExp::v_PhysDeriv(), Nektar::LocalRegions::QuadExp::v_PhysDeriv(), Nektar::StdRegions::StdTetExp::v_PhysDeriv(), Nektar::LocalRegions::HexExp::v_PhysDeriv(), Nektar::StdRegions::StdPyrExp::v_PhysDeriv(), Nektar::LocalRegions::SegExp::v_PhysDeriv_n(), Nektar::LocalRegions::SegExp::v_PhysDeriv_s(), Nektar::LocalRegions::TriExp::v_PhysDirectionalDeriv(), Nektar::LocalRegions::QuadExp::v_PhysDirectionalDeriv(), Nektar::StdRegions::StdExpansion0D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion1D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion2D::v_PhysEvaluate(), Nektar::StdRegions::StdExpansion3D::v_PhysEvaluate(), Nektar::LocalRegions::HexExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdSegExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTriExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdQuadExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdPrismExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTetExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::TriExp::v_ReduceOrderCoeffs(), Nektar::LocalRegions::QuadExp::v_ReduceOrderCoeffs(), Nektar::StdRegions::StdTriExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdQuadExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdPrismExp::v_SVVLaplacianFilter(), Nektar::StdRegions::StdTetExp::v_SVVLaplacianFilter(), and Nektar::StdRegions::StdHexExp::v_SVVLaplacianFilter().

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

Definition at line 1419 of file StdExpansion.h.

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

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

Definition at line 1423 of file StdExpansion.h.

Referenced by GetIndexMap().

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

Total number of coefficients used in the expansion

Definition at line 1420 of file StdExpansion.h.

Referenced by BwdTrans_MatOp(), CreateGeneralMatrix(), Nektar::LocalRegions::PyrExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TetExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PrismExp::CreateStaticCondMatrix(), Nektar::LocalRegions::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(), GetNcoeffs(), HelmholtzMatrixOp_MatFree_GenericImpl(), Nektar::LocalRegions::NodalTriExp::IProductWRTBase_MatOp(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::HexExp::IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_SumFac(), LaplacianMatrixOp_MatFree_GenericImpl(), LinearAdvectionDiffusionReactionMatrixOp_MatFree(), Nektar::StdRegions::StdNodalTetExp::ModalToNodal(), Nektar::StdRegions::StdNodalPrismExp::ModalToNodal(), Nektar::StdRegions::StdNodalTriExp::ModalToNodal(), Nektar::LocalRegions::SegExp::MultiplyByElmtInvMass(), Nektar::StdRegions::StdNodalTetExp::NodalToModal(), Nektar::StdRegions::StdNodalPrismExp::NodalToModal(), Nektar::StdRegions::StdNodalTriExp::NodalToModal(), Nektar::StdRegions::StdNodalTetExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalPrismExp::NodalToModalTranspose(), Nektar::StdRegions::StdNodalTriExp::NodalToModalTranspose(), Nektar::LocalRegions::PointExp::PointExp(), Nektar::LocalRegions::SegExp::ReverseCoeffsAndSign(), Nektar::StdRegions::StdPyrExp::StdPyrExp(), Nektar::StdRegions::StdPointExp::v_BwdTrans(), Nektar::StdRegions::StdSegExp::v_BwdTrans(), Nektar::StdRegions::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::TetExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::PrismExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TriExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::SegExp::v_ExtractDataToCoeffs(), Nektar::StdRegions::StdNodalTetExp::v_FillMode(), Nektar::StdRegions::StdNodalPrismExp::v_FillMode(), Nektar::StdRegions::StdNodalTriExp::v_FillMode(), Nektar::StdRegions::StdTriExp::v_FillMode(), Nektar::StdRegions::StdQuadExp::v_FillMode(), Nektar::StdRegions::StdPrismExp::v_FillMode(), Nektar::StdRegions::StdHexExp::v_FillMode(), Nektar::StdRegions::StdSegExp::v_FillMode(), Nektar::StdRegions::StdTetExp::v_FillMode(), Nektar::StdRegions::StdPyrExp::v_FillMode(), Nektar::StdRegions::StdPointExp::v_FwdTrans(), Nektar::LocalRegions::TetExp::v_FwdTrans(), Nektar::LocalRegions::PrismExp::v_FwdTrans(), Nektar::LocalRegions::PyrExp::v_FwdTrans(), Nektar::StdRegions::StdNodalTetExp::v_FwdTrans(), Nektar::LocalRegions::SegExp::v_FwdTrans(), Nektar::StdRegions::StdNodalTriExp::v_FwdTrans(), Nektar::StdRegions::StdNodalPrismExp::v_FwdTrans(), Nektar::LocalRegions::TriExp::v_FwdTrans(), Nektar::LocalRegions::QuadExp::v_FwdTrans(), Nektar::LocalRegions::HexExp::v_FwdTrans(), Nektar::StdRegions::StdTriExp::v_FwdTrans(), Nektar::StdRegions::StdSegExp::v_FwdTrans(), Nektar::StdRegions::StdHexExp::v_FwdTrans(), Nektar::StdRegions::StdPrismExp::v_FwdTrans(), Nektar::StdRegions::StdQuadExp::v_FwdTrans(), Nektar::StdRegions::StdTetExp::v_FwdTrans(), Nektar::StdRegions::StdPyrExp::v_FwdTrans(), Nektar::StdRegions::StdPointExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdQuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::SegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::TriExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdTriExp::v_FwdTrans_BndConstrained(), Nektar::StdRegions::StdSegExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::PrismExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::HexExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdQuadExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdTriExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::TriExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::QuadExp::v_GeneralMatrixOp_MatOp(), Nektar::StdRegions::StdHexExp::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::StdTetExp::v_GetInteriorMap(), Nektar::StdRegions::StdHexExp::v_GetInteriorMap(), Nektar::StdRegions::StdPyrExp::v_GetInteriorMap(), Nektar::LocalRegions::SegExp::v_GetNcoeffs(), Nektar::StdRegions::StdSegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::StdRegions::StdExpansion2D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdExpansion3D::v_HelmholtzMatrixOp_MatFree(), Nektar::StdRegions::StdPointExp::v_IProductWRTBase(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase(), Nektar::LocalRegions::TriExp::v_IProductWRTBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTBase_MatOp(), Nektar::StdRegions::StdSegExp::v_IProductWRTBase_SumFac(), Nektar::StdRegions::StdQuadExp::v_IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdHexExp::v_IProductWRTBase_SumFacKernel(), Nektar::LocalRegions::TetExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdQuadExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdHexExp::v_IProductWRTDerivBase_MatOp(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_MatOp(), Nektar::LocalRegions::PrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPrismExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdTetExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdPyrExp::v_IProductWRTDerivBase_SumFac(), Nektar::StdRegions::StdExpansion2D::v_LaplacianMatrixOp_MatFree(), Nektar::LocalRegions::PyrExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::PrismExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TetExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::HexExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TriExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::QuadExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::StdRegions::StdPrismExp::v_ReduceOrderCoeffs(), and Nektar::StdRegions::StdTetExp::v_ReduceOrderCoeffs().

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