Nektar++
|
#include <StdNodalTriExp.h>
Public Member Functions | |
StdNodalTriExp () | |
StdNodalTriExp (const LibUtilities::BasisKey &Ba, const LibUtilities::BasisKey &Bb, const LibUtilities::PointsType Ntype) | |
StdNodalTriExp (const StdNodalTriExp &T) | |
~StdNodalTriExp () | |
void | NodalToModal (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | NodalToModalTranspose (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | ModalToNodal (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | GetNodalPoints (Array< OneD, const NekDouble > &x, Array< OneD, const NekDouble > &y) |
DNekMatSharedPtr | GenNBasisTransMatrix () |
Public Member Functions inherited from Nektar::StdRegions::StdTriExp | |
StdTriExp () | |
StdTriExp (const LibUtilities::BasisKey &Ba, const LibUtilities::BasisKey &Bb) | |
StdTriExp (const StdTriExp &T) | |
~StdTriExp () | |
Public Member Functions inherited from Nektar::StdRegions::StdExpansion2D | |
StdExpansion2D () | |
StdExpansion2D (int numcoeffs, const LibUtilities::BasisKey &Ba, const LibUtilities::BasisKey &Bb) | |
StdExpansion2D (const StdExpansion2D &T) | |
virtual | ~StdExpansion2D () |
void | PhysTensorDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray_d0, Array< OneD, NekDouble > &outarray_d1) |
Calculate the 2D derivative in the local tensor/collapsed coordinate at the physical points. More... | |
NekDouble | Integral (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &w0, const Array< OneD, const NekDouble > &w1) |
void | BwdTrans_SumFacKernel (const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp, bool doCheckCollDir0=true, bool doCheckCollDir1=true) |
void | IProductWRTBase_SumFacKernel (const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp, bool doCheckCollDir0=true, bool doCheckCollDir1=true) |
Public Member Functions inherited from Nektar::StdRegions::StdExpansion | |
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< StdExpansion > | GetStdExp (void) const |
boost::shared_ptr< StdExpansion > | GetLinStdExp (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 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 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 error where 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 error, where 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 error, where is given by the array sol. More... | |
const NormalVector & | GetEdgeNormal (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 NormalVector & | GetFaceNormal (const int face) const |
const NormalVector & | GetVertexNormal (const int vertex) const |
const NormalVector & | GetSurfaceNormal (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 | |
virtual const LibUtilities::PointsKey | v_GetNodalPointsKey () const |
virtual bool | v_IsNodalNonTensorialExp () |
virtual void | v_BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Backward tranform for triangular elements. More... | |
virtual void | v_BwdTrans_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
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) |
Calculate the inner product of inarray with respect to the basis B=base0[p]*base1[pq] and put into outarray. More... | |
virtual void | v_IProductWRTBase_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool multiplybyweights=true) |
virtual void | v_IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_IProductWRTDerivBase_SumFac (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_FillMode (const int mode, Array< OneD, NekDouble > &outarray) |
virtual int | v_NumBndryCoeffs () const |
virtual void | v_GetEdgeToElementMap (const int eid, const Orientation edgeOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray, int P) |
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_GetInteriorMap (Array< OneD, unsigned int > &outarray) |
virtual void | v_GetBoundaryMap (Array< OneD, unsigned int > &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_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_HelmholtzMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
virtual DNekMatSharedPtr | v_GenMatrix (const StdMatrixKey &mkey) |
virtual DNekMatSharedPtr | v_CreateStdMatrix (const StdMatrixKey &mkey) |
Protected Member Functions inherited from Nektar::StdRegions::StdTriExp | |
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_d0, Array< OneD, NekDouble > &out_d1, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray) |
Calculate the derivative of the physical points. More... | |
virtual void | v_PhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Calculate the derivative of the physical points in a given direction. More... | |
virtual void | v_StdPhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray) |
virtual void | v_StdPhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_BwdTrans_SumFacKernel (const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp, bool doCheckCollDir0, bool doCheckCollDir1) |
virtual void | v_FwdTrans_BndConstrained (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_IProductWRTBase_MatOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_IProductWRTBase_SumFacKernel (const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp, bool doCheckCollDir0, bool doCheckCollDir1) |
virtual void | v_IProductWRTDerivBase_MatOp (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_LocCoordToLocCollapsed (const Array< OneD, const NekDouble > &xi, Array< OneD, NekDouble > &eta) |
virtual int | v_GetNverts () const |
virtual int | v_GetNedges () const |
virtual LibUtilities::ShapeType | v_DetShapeType () const |
virtual int | v_NumDGBndryCoeffs () const |
virtual int | v_GetEdgeNcoeffs (const int i) const |
virtual int | v_GetEdgeNumPoints (const int i) const |
virtual int | v_CalcNumberOfCoefficients (const std::vector< unsigned int > &nummodes, int &modes_offset) |
virtual LibUtilities::BasisType | v_GetEdgeBasisType (const int i) const |
virtual void | v_GetCoords (Array< OneD, NekDouble > &coords_x, Array< OneD, NekDouble > &coords_y, Array< OneD, NekDouble > &coords_z) |
virtual bool | v_IsBoundaryInteriorExpansion () |
virtual int | v_DetCartesianDirOfEdge (const int edge) |
virtual const LibUtilities::BasisKey | v_DetEdgeBasisKey (const int edge) const |
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_GeneralMatrixOp_MatOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
virtual void | v_MultiplyByStdQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_GetSimplexEquiSpacedConnectivity (Array< OneD, int > &conn, bool standard=true) |
Protected Member Functions inherited from Nektar::StdRegions::StdExpansion2D | |
virtual NekDouble | v_PhysEvaluate (const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &physvals) |
This function evaluates the expansion at a single (arbitrary) point of the domain. More... | |
virtual NekDouble | v_PhysEvaluate (const Array< OneD, DNekMatSharedPtr > &I, const Array< OneD, const NekDouble > &physvals) |
virtual void | v_LaplacianMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) |
virtual void | v_HelmholtzMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) |
virtual int | v_GetTraceNcoeffs (const int i) const |
Protected Member Functions inherited from Nektar::StdRegions::StdExpansion | |
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 | |
LibUtilities::PointsKey | m_nodalPointsKey |
Protected Attributes inherited from Nektar::StdRegions::StdExpansion | |
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 |
Definition at line 48 of file StdNodalTriExp.h.
Nektar::StdRegions::StdNodalTriExp::StdNodalTriExp | ( | ) |
Definition at line 45 of file StdNodalTriExp.cpp.
Nektar::StdRegions::StdNodalTriExp::StdNodalTriExp | ( | const LibUtilities::BasisKey & | Ba, |
const LibUtilities::BasisKey & | Bb, | ||
const LibUtilities::PointsType | Ntype | ||
) |
Definition at line 51 of file StdNodalTriExp.cpp.
References ASSERTL0, and Nektar::StdRegions::StdExpansion::m_base.
Nektar::StdRegions::StdNodalTriExp::StdNodalTriExp | ( | const StdNodalTriExp & | T | ) |
Definition at line 71 of file StdNodalTriExp.cpp.
Nektar::StdRegions::StdNodalTriExp::~StdNodalTriExp | ( | ) |
Definition at line 79 of file StdNodalTriExp.cpp.
DNekMatSharedPtr Nektar::StdRegions::StdNodalTriExp::GenNBasisTransMatrix | ( | ) |
Definition at line 143 of file StdNodalTriExp.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), GetNodalPoints(), Nektar::StdRegions::StdExpansion::GetTotPoints(), Nektar::StdRegions::StdExpansion::m_ncoeffs, Nektar::StdRegions::StdTriExp::v_FillMode(), and Nektar::StdRegions::StdExpansion2D::v_PhysEvaluate().
Referenced by v_GenMatrix().
void Nektar::StdRegions::StdNodalTriExp::GetNodalPoints | ( | Array< OneD, const NekDouble > & | x, |
Array< OneD, const NekDouble > & | y | ||
) |
Definition at line 136 of file StdNodalTriExp.cpp.
References m_nodalPointsKey, and Nektar::LibUtilities::PointsManager().
Referenced by GenNBasisTransMatrix().
void Nektar::StdRegions::StdNodalTriExp::ModalToNodal | ( | const Array< OneD, const NekDouble > & | inarray, |
Array< OneD, NekDouble > & | outarray | ||
) |
Definition at line 121 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::StdRegions::eNBasisTrans, Nektar::eWrapper, Nektar::LibUtilities::PointsKey::GetPointsType(), Nektar::StdRegions::StdExpansion::GetStdMatrix(), Nektar::StdRegions::StdExpansion::m_ncoeffs, m_nodalPointsKey, Nektar::StdRegions::NullConstFactorMap, and Nektar::StdRegions::NullVarCoeffMap.
Referenced by Nektar::GlobalMapping::UpdateGeometry().
void Nektar::StdRegions::StdNodalTriExp::NodalToModal | ( | const Array< OneD, const NekDouble > & | inarray, |
Array< OneD, NekDouble > & | outarray | ||
) |
Definition at line 92 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::StdRegions::eInvNBasisTrans, Nektar::eWrapper, Nektar::LibUtilities::PointsKey::GetPointsType(), Nektar::StdRegions::StdExpansion::GetStdMatrix(), Nektar::StdRegions::StdExpansion::m_ncoeffs, m_nodalPointsKey, Nektar::StdRegions::NullConstFactorMap, and Nektar::StdRegions::NullVarCoeffMap.
Referenced by v_BwdTrans_SumFac().
void Nektar::StdRegions::StdNodalTriExp::NodalToModalTranspose | ( | const Array< OneD, const NekDouble > & | inarray, |
Array< OneD, NekDouble > & | outarray | ||
) |
Definition at line 107 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::eCopy, Nektar::StdRegions::eInvNBasisTrans, Nektar::eWrapper, Nektar::LibUtilities::PointsKey::GetPointsType(), Nektar::StdRegions::StdExpansion::GetStdMatrix(), Nektar::StdRegions::StdExpansion::m_ncoeffs, m_nodalPointsKey, Nektar::StdRegions::NullConstFactorMap, Nektar::StdRegions::NullVarCoeffMap, and Nektar::Transpose().
Referenced by Nektar::LocalRegions::NodalTriExp::IProductWRTBase_SumFac(), Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_SumFac(), v_IProductWRTBase_SumFac(), and v_IProductWRTDerivBase_SumFac().
|
protectedvirtual |
Backward tranform for triangular elements.
Reimplemented from Nektar::StdRegions::StdTriExp.
Definition at line 180 of file StdNodalTriExp.cpp.
References v_BwdTrans_SumFac().
Referenced by v_FillMode().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 187 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::m_ncoeffs, NodalToModal(), and Nektar::StdRegions::StdTriExp::v_BwdTrans_SumFac().
Referenced by v_BwdTrans().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 421 of file StdNodalTriExp.cpp.
References v_GenMatrix().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Definition at line 257 of file StdNodalTriExp.cpp.
References ASSERTL2, Nektar::StdRegions::StdExpansion::m_ncoeffs, v_BwdTrans(), and Vmath::Zero().
|
protectedvirtual |
Transform a given function from physical quadrature space to coefficient space.
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 196 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::eCopy, Nektar::StdRegions::eInvMass, Nektar::eWrapper, Nektar::LibUtilities::PointsKey::GetPointsType(), Nektar::StdRegions::StdExpansion::GetStdMatrix(), Nektar::StdRegions::StdExpansion::m_ncoeffs, m_nodalPointsKey, Nektar::StdRegions::NullConstFactorMap, Nektar::StdRegions::NullVarCoeffMap, and v_IProductWRTBase().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 404 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::CreateGeneralMatrix(), Nektar::StdRegions::eNBasisTrans, GenNBasisTransMatrix(), and Nektar::StdRegions::StdMatrixKey::GetMatrixType().
Referenced by v_CreateStdMatrix().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Definition at line 384 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::NumBndryCoeffs().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Definition at line 332 of file StdNodalTriExp.cpp.
References ASSERTL0, Nektar::StdRegions::eBackwards, and Nektar::StdRegions::StdExpansion::GetEdgeNcoeffs().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Definition at line 283 of file StdNodalTriExp.cpp.
References ASSERTL0, Nektar::StdRegions::eBackwards, and Nektar::StdRegions::StdExpansion::GetEdgeNcoeffs().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Definition at line 368 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::GetNcoeffs(), and Nektar::StdRegions::StdExpansion::NumBndryCoeffs().
|
inlineprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 80 of file StdNodalTriExp.h.
References m_nodalPointsKey.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Definition at line 324 of file StdNodalTriExp.cpp.
References ASSERTL0.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 470 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::HelmholtzMatrixOp_MatFree_GenericImpl().
|
protectedvirtual |
Calculate the inner product of inarray with respect to the basis B=base0[p]*base1[pq] and put into outarray.
where
which can be implemented as
Recall:
Note: For the orthgonality of this expansion to be realised the 'q' ordering must run fastest in contrast to the Quad and Hex ordering where 'p' index runs fastest to be consistent with the quadrature ordering.
In the triangular space the i (i.e. direction) ordering still runs fastest by convention.
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 220 of file StdNodalTriExp.cpp.
References v_IProductWRTBase_SumFac().
Referenced by v_FwdTrans().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 227 of file StdNodalTriExp.cpp.
References NodalToModalTranspose(), and Nektar::StdRegions::StdTriExp::v_IProductWRTBase_SumFac().
Referenced by v_IProductWRTBase().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 236 of file StdNodalTriExp.cpp.
References v_IProductWRTDerivBase_SumFac().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 244 of file StdNodalTriExp.cpp.
References NodalToModalTranspose(), and Nektar::StdRegions::StdTriExp::v_IProductWRTDerivBase_SumFac().
Referenced by v_IProductWRTDerivBase().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 83 of file StdNodalTriExp.cpp.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 440 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree_GenericImpl().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 449 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 432 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::MassMatrixOp_MatFree().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Definition at line 274 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::GetBasisNumModes().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdTriExp.
Reimplemented in Nektar::LocalRegions::NodalTriExp.
Definition at line 461 of file StdNodalTriExp.cpp.
References Nektar::StdRegions::StdExpansion::WeakDerivMatrixOp_MatFree().
|
protected |
Definition at line 78 of file StdNodalTriExp.h.
Referenced by Nektar::LocalRegions::NodalTriExp::CreateStdMatrix(), Nektar::LocalRegions::NodalTriExp::FwdTrans(), GetNodalPoints(), ModalToNodal(), NodalToModal(), NodalToModalTranspose(), v_FwdTrans(), Nektar::LocalRegions::NodalTriExp::v_GetLinStdExp(), v_GetNodalPointsKey(), and Nektar::LocalRegions::NodalTriExp::v_GetStdExp().