Nektar++
|
Class representing a segment element in reference space. More...
#include <StdSegExp.h>
Public Member Functions | |
StdSegExp () | |
Default constructor. | |
StdSegExp (const LibUtilities::BasisKey &Ba) | |
Constructor using BasisKey class for quadrature points and order definition. | |
StdSegExp (const StdSegExp &T) | |
Copy Constructor. | |
~StdSegExp () | |
Public Member Functions inherited from Nektar::StdRegions::StdExpansion1D | |
StdExpansion1D () | |
StdExpansion1D (int numcoeffs, const LibUtilities::BasisKey &Ba) | |
StdExpansion1D (const StdExpansion1D &T) | |
virtual | ~StdExpansion1D () |
void | PhysTensorDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Evaluate the derivative at the physical quadrature points given by inarray and return in outarray. | |
Public Member Functions inherited from Nektar::StdRegions::StdExpansion | |
StdExpansion () | |
Default Constructor. | |
StdExpansion (const int numcoeffs, const int numbases, const LibUtilities::BasisKey &Ba=LibUtilities::NullBasisKey, const LibUtilities::BasisKey &Bb=LibUtilities::NullBasisKey, const LibUtilities::BasisKey &Bc=LibUtilities::NullBasisKey) | |
Constructor. | |
StdExpansion (const StdExpansion &T) | |
Copy Constructor. | |
virtual | ~StdExpansion () |
Destructor. | |
int | GetNumBases () const |
This function returns the number of 1D bases used in the expansion. | |
const Array< OneD, const LibUtilities::BasisSharedPtr > & | GetBase () const |
This function gets the shared point to basis. | |
const LibUtilities::BasisSharedPtr & | GetBasis (int dir) const |
This function gets the shared point to basis in the dir direction. | |
int | GetNcoeffs (void) const |
This function returns the total number of coefficients used in the expansion. | |
int | GetTotPoints () const |
This function returns the total number of quadrature points used in the element. | |
LibUtilities::BasisType | GetBasisType (const int dir) const |
This function returns the type of basis used in the dir direction. | |
int | GetBasisNumModes (const int dir) const |
This function returns the number of expansion modes in the dir direction. | |
int | EvalBasisNumModesMax (void) const |
This function returns the maximum number of expansion modes over all local directions. | |
LibUtilities::PointsType | GetPointsType (const int dir) const |
This function returns the type of quadrature points used in the dir direction. | |
int | GetNumPoints (const int dir) const |
This function returns the number of quadrature points in the dir direction. | |
const Array< OneD, const NekDouble > & | GetPoints (const int dir) const |
This function returns a pointer to the array containing the quadrature points in dir direction. | |
int | GetNverts () const |
This function returns the number of vertices of the expansion domain. | |
int | GetNedges () const |
This function returns the number of edges of the expansion domain. | |
int | GetEdgeNcoeffs (const int i) const |
This function returns the number of expansion coefficients belonging to the i-th edge. | |
int | GetTotalEdgeIntNcoeffs () const |
int | GetEdgeNumPoints (const int i) const |
This function returns the number of quadrature points belonging to the i-th edge. | |
int | DetCartesianDirOfEdge (const int edge) |
const LibUtilities::BasisKey | DetEdgeBasisKey (const int i) const |
const LibUtilities::BasisKey | DetFaceBasisKey (const int i, const int k) const |
int | GetFaceNumPoints (const int i) const |
This function returns the number of quadrature points belonging to the i-th face. | |
int | GetFaceNcoeffs (const int i) const |
This function returns the number of expansion coefficients belonging to the i-th face. | |
int | GetFaceIntNcoeffs (const int i) const |
int | GetTotalFaceIntNcoeffs () const |
LibUtilities::PointsKey | GetFacePointsKey (const int i, const int j) const |
int | NumBndryCoeffs (void) const |
int | NumDGBndryCoeffs (void) const |
LibUtilities::BasisType | GetEdgeBasisType (const int i) const |
This function returns the type of expansion basis on the i-th edge. | |
int | GetNfaces () const |
This function returns the number of faces of the expansion domain. | |
LibUtilities::ShapeType | DetShapeType () const |
This function returns the shape of the expansion domain. | |
int | GetShapeDimension () const |
bool | IsBoundaryInteriorExpansion () |
void | BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function performs the Backward transformation from coefficient space to physical space. | |
void | FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function performs the Forward transformation from physical space to coefficient space. | |
void | FwdTrans_BndConstrained (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
NekDouble | Integral (const Array< OneD, const NekDouble > &inarray) |
This function integrates the specified function over the domain. | |
void | FillMode (const int mode, Array< OneD, NekDouble > &outarray) |
This function fills the array outarray with the mode-th mode of the expansion. | |
void | IProductWRTBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
this function calculates the inner product of a given function f with the different modes of the expansion | |
void | IProductWRTBase (const Array< OneD, const NekDouble > &base, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, int coll_check) |
void | IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
int | GetElmtId () |
Get the element id of this expansion when used in a list by returning value of m_elmt_id. | |
void | SetElmtId (const int id) |
Set the element id of this expansion when used in a list by returning value of m_elmt_id. | |
void | GetCoords (Array< OneD, NekDouble > &coords_1, Array< OneD, NekDouble > &coords_2=NullNekDouble1DArray, Array< OneD, NekDouble > &coords_3=NullNekDouble1DArray) |
this function returns the physical coordinates of the quadrature points of the expansion | |
void | GetCoord (const Array< OneD, const NekDouble > &Lcoord, Array< OneD, NekDouble > &coord) |
given the coordinates of a point of the element in the local collapsed coordinate system, this function calculates the physical coordinates of the point | |
DNekMatSharedPtr | GetStdMatrix (const StdMatrixKey &mkey) |
DNekBlkMatSharedPtr | GetStdStaticCondMatrix (const StdMatrixKey &mkey) |
IndexMapValuesSharedPtr | GetIndexMap (const IndexMapKey &ikey) |
const Array< OneD, const NekDouble > & | GetPhysNormals (void) |
void | SetPhysNormals (Array< OneD, const NekDouble > &normal) |
virtual void | SetUpPhysNormals (const int edge) |
void | NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
void | NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, const Array< OneD, const NekDouble > &Fz, Array< OneD, NekDouble > &outarray) |
DNekScalBlkMatSharedPtr | GetLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey) |
void | DropLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey) |
StdRegions::Orientation | GetFaceOrient (int face) |
StdRegions::Orientation | GetEorient (int edge) |
StdRegions::Orientation | GetPorient (int point) |
StdRegions::Orientation | GetCartesianEorient (int edge) |
void | SetCoeffsToOrientation (Array< OneD, NekDouble > &coeffs, StdRegions::Orientation dir) |
void | SetCoeffsToOrientation (StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
int | CalcNumberOfCoefficients (const std::vector< unsigned int > &nummodes, int &modes_offset) |
void | ExtractDataToCoeffs (const NekDouble *data, const std::vector< unsigned int > &nummodes, const int nmodes_offset, NekDouble *coeffs) |
NekDouble | StdPhysEvaluate (const Array< OneD, const NekDouble > &Lcoord, const Array< OneD, const NekDouble > &physvals) |
void | AddEdgeNormBoundaryInt (const int edge, boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
void | AddEdgeNormBoundaryInt (const int edge, boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
void | AddEdgeNormBoundaryBiInt (const int edge, boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &outarray) |
void | AddFaceNormBoundaryInt (const int face, boost::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
int | GetCoordim () |
void | GetBoundaryMap (Array< OneD, unsigned int > &outarray) |
void | GetInteriorMap (Array< OneD, unsigned int > &outarray) |
int | GetVertexMap (const int localVertexId, bool useCoeffPacking=false) |
void | GetEdgeInteriorMap (const int eid, const Orientation edgeOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray) |
void | GetFaceInteriorMap (const int fid, const Orientation faceOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray) |
void | GetEdgeToElementMap (const int eid, const Orientation edgeOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray) |
void | GetFaceToElementMap (const int fid, const Orientation faceOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray, int nummodesA=-1, int nummodesB=-1) |
void | GetEdgePhysVals (const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Extract the physical values along edge edge from inarray into outarray following the local edge orientation and point distribution defined by defined in EdgeExp. | |
void | GetEdgePhysVals (const int edge, const boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | GetTracePhysVals (const int edge, const boost::shared_ptr< StdExpansion > &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | GetVertexPhysVals (const int vertex, const Array< OneD, const NekDouble > &inarray, NekDouble &outarray) |
void | GetEdgeInterpVals (const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | GetEdgeQFactors (const int edge, Array< OneD, NekDouble > &outarray) |
Extract the metric factors to compute the contravariant fluxes along edge edge and stores them into outarray following the local edge orientation (i.e. anticlockwise convention). | |
void | GetFacePhysVals (const int face, const boost::shared_ptr< StdExpansion > &FaceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient=eNoOrientation) |
void | MultiplyByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | MultiplyByStdQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
DNekMatSharedPtr | CreateGeneralMatrix (const StdMatrixKey &mkey) |
this function generates the mass matrix | |
void | GeneralMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | MassMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LaplacianMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | ReduceOrderCoeffs (int numMin, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | SVVLaplacianFilter (Array< OneD, NekDouble > &array, const StdMatrixKey &mkey) |
void | LaplacianMatrixOp (const int k1, const int k2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | WeakDerivMatrixOp (const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | WeakDirectionalDerivMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | MassLevelCurvatureMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LinearAdvectionDiffusionReactionMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true) |
void | HelmholtzMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
DNekMatSharedPtr | GenMatrix (const StdMatrixKey &mkey) |
void | PhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1=NullNekDouble1DArray, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray) |
void | PhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | PhysDeriv_s (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_ds) |
void | PhysDeriv_n (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_dn) |
void | PhysDirectionalDeriv (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &direction, Array< OneD, NekDouble > &outarray) |
void | StdPhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1=NullNekDouble1DArray, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray) |
void | StdPhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | AddRobinMassMatrix (const int edgeid, const Array< OneD, const NekDouble > &primCoeffs, DNekMatSharedPtr &inoutmat) |
void | AddRobinEdgeContribution (const int edgeid, const Array< OneD, const NekDouble > &primCoeffs, Array< OneD, NekDouble > &coeffs) |
void | DGDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, boost::shared_ptr< StdExpansion > > &EdgeExp, Array< OneD, Array< OneD, NekDouble > > &coeffs, Array< OneD, NekDouble > &outarray) |
NekDouble | PhysEvaluate (const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &physvals) |
This function evaluates the expansion at a single (arbitrary) point of the domain. | |
NekDouble | PhysEvaluate (const Array< OneD, DNekMatSharedPtr > &I, const Array< OneD, const NekDouble > &physvals) |
This function evaluates the expansion at a single (arbitrary) point of the domain. | |
void | LocCoordToLocCollapsed (const Array< OneD, const NekDouble > &xi, Array< OneD, NekDouble > &eta) |
Convert local cartesian coordinate xi into local collapsed coordinates eta. | |
const boost::shared_ptr < SpatialDomains::GeomFactors > & | GetMetricInfo (void) const |
virtual int | v_GetElmtId () |
Get the element id of this expansion when used in a list by returning value of m_elmt_id. | |
virtual const Array< OneD, const NekDouble > & | v_GetPhysNormals (void) |
virtual void | v_SetPhysNormals (Array< OneD, const NekDouble > &normal) |
virtual void | v_SetUpPhysNormals (const int edge) |
virtual void | v_ExtractDataToCoeffs (const NekDouble *data, const std::vector< unsigned int > &nummodes, const int nmode_offset, NekDouble *coeffs) |
Unpack data from input file assuming it comes from the same expansion type. | |
virtual void | v_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
virtual void | v_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, const Array< OneD, const NekDouble > &Fz, Array< OneD, NekDouble > &outarray) |
virtual DNekScalBlkMatSharedPtr | v_GetLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey) |
virtual void | v_DropLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey) |
virtual StdRegions::Orientation | v_GetFaceOrient (int face) |
virtual StdRegions::Orientation | v_GetEorient (int edge) |
virtual StdRegions::Orientation | v_GetCartesianEorient (int edge) |
virtual StdRegions::Orientation | v_GetPorient (int point) |
NekDouble | Linf (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &sol=NullNekDouble1DArray) |
Function to evaluate the discrete error where is given by the array sol. | |
NekDouble | L2 (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &sol=NullNekDouble1DArray) |
Function to evaluate the discrete error, where is given by the array sol. | |
NekDouble | H1 (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &sol=NullNekDouble1DArray) |
Function to evaluate the discrete error, where is given by the array sol. | |
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) |
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) |
template<class T > | |
boost::shared_ptr< T > | as () |
Protected Member Functions | |
virtual NekDouble | v_Integral (const Array< OneD, const NekDouble > &inarray) |
Integrate the physical point list inarray over region and return the value. | |
virtual void | v_PhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1=NullNekDouble1DArray, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray) |
Evaluate the derivative at the physical quadrature points given by inarray and return in outarray. | |
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. | |
virtual void | v_StdPhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1=NullNekDouble1DArray, 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 (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Backward transform from coefficient space given in inarray and evaluate at the physical quadrature points outarray. | |
virtual void | v_FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Forward transform from physical quadrature space stored in inarray and evaluate the expansion coefficients and store in outarray. | |
virtual void | v_BwdTrans_SumFac (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 void | v_IProductWRTBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Inner product of inarray over region with respect to the expansion basis (this)->m_base[0] and return in outarray. | |
virtual void | v_IProductWRTBase (const Array< OneD, const NekDouble > &base, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, int coll_check) |
Inner product of inarray over region with respect to expansion basis base and return in outarray. | |
virtual void | v_IProductWRTBase_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual NekDouble | v_PhysEvaluate (const Array< OneD, const NekDouble > &Lcoords, const Array< OneD, const NekDouble > &physvals) |
virtual void | v_LaplacianMatrixOp (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 void | v_FillMode (const int mode, Array< OneD, NekDouble > &outarray) |
virtual void | v_GetCoords (Array< OneD, NekDouble > &coords_0, Array< OneD, NekDouble > &coords_1, Array< OneD, NekDouble > &coords_2) |
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 int | v_GetNverts () const |
virtual int | v_NumBndryCoeffs () const |
virtual int | v_NumDGBndryCoeffs () const |
virtual bool | v_IsBoundaryInteriorExpansion () |
virtual int | v_CalcNumberOfCoefficients (const std::vector< unsigned int > &nummodes, int &modes_offset) |
virtual LibUtilities::ShapeType | v_DetShapeType () const |
Return Shape of region, using ShapeType enum list. i.e. Segment. | |
virtual DNekMatSharedPtr | v_GenMatrix (const StdMatrixKey &mkey) |
virtual DNekMatSharedPtr | v_CreateStdMatrix (const StdMatrixKey &mkey) |
Additional Inherited Members | |
Protected Attributes inherited from Nektar::StdRegions::StdExpansion1D | |
std::map< int, NormalVector > | m_vertexNormals |
Class representing a segment element in reference space.
All interface of this class sits in StdExpansion class
Definition at line 54 of file StdSegExp.h.
Nektar::StdRegions::StdSegExp::StdSegExp | ( | ) |
Nektar::StdRegions::StdSegExp::StdSegExp | ( | const LibUtilities::BasisKey & | Ba | ) |
Constructor using BasisKey class for quadrature points and order definition.
Ba | BasisKey class definition containing order and quadrature points. |
Definition at line 57 of file StdSegExp.cpp.
Nektar::StdRegions::StdSegExp::StdSegExp | ( | const StdSegExp & | T | ) |
Copy Constructor.
Definition at line 66 of file StdSegExp.cpp.
Nektar::StdRegions::StdSegExp::~StdSegExp | ( | ) |
Definition at line 73 of file StdSegExp.cpp.
|
protectedvirtual |
Backward transform from coefficient space given in inarray and evaluate at the physical quadrature points outarray.
Operation can be evaluated as or equivalently where
The function takes the coefficient array inarray as input for the transformation
inarray,: | the coeffficients of the expansion |
outarray,: | the resulting array of the values of the function at the physical quadrature points will be stored in the array outarray |
Implements Nektar::StdRegions::StdExpansion.
Definition at line 214 of file StdSegExp.cpp.
References Nektar::eWrapper, Nektar::StdRegions::StdExpansion::m_base, Nektar::StdRegions::StdExpansion::m_ncoeffs, and Vmath::Vcopy().
Referenced by v_BwdTrans_SumFac(), v_HelmholtzMatrixOp(), and v_LaplacianMatrixOp().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 359 of file StdSegExp.cpp.
References v_BwdTrans().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 555 of file StdSegExp.cpp.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 609 of file StdSegExp.cpp.
References v_GenMatrix().
|
protectedvirtual |
Return Shape of region, using ShapeType enum list. i.e. Segment.
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 80 of file StdSegExp.cpp.
References Nektar::LibUtilities::eSegment.
Referenced by v_FwdTrans(), v_FwdTrans_BndConstrained(), and v_GenMatrix().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 463 of file StdSegExp.cpp.
References ASSERTL2, Nektar::StdRegions::StdExpansion::m_base, Nektar::StdRegions::StdExpansion::m_ncoeffs, and Vmath::Vcopy().
|
protectedvirtual |
Forward transform from physical quadrature space stored in inarray and evaluate the expansion coefficients and store in outarray.
Perform a forward transform using a Galerkin projection by taking the inner product of the physical points and multiplying by the inverse of the mass matrix using the Solve method of the standard matrix container holding the local mass matrix, i.e. where
This function stores the expansion coefficients calculated by the transformation in the coefficient space array outarray
inarray,: | array of physical quadrature points to be transformed |
outarray,: | the coeffficients of the expansion |
Implements Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 263 of file StdSegExp.cpp.
References Nektar::eCopy, Nektar::StdRegions::eInvMass, Nektar::eWrapper, Nektar::StdRegions::StdExpansion::GetStdMatrix(), Nektar::StdRegions::StdExpansion::m_base, Nektar::StdRegions::StdExpansion::m_ncoeffs, v_DetShapeType(), v_IProductWRTBase(), and Vmath::Vcopy().
Referenced by v_FwdTrans_BndConstrained().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 285 of file StdSegExp.cpp.
References ASSERTL0, Nektar::LibUtilities::eGauss_Lagrange, Nektar::LibUtilities::eGLL_Lagrange, Nektar::StdRegions::eMass, Nektar::LibUtilities::eModified_A, Nektar::LibUtilities::eModified_B, Nektar::StdRegions::StdExpansion::GetBasisType(), Nektar::StdRegions::StdExpansion::GetVertexMap(), Nektar::StdRegions::StdExpansion::m_base, Nektar::StdRegions::StdExpansion::m_ncoeffs, Nektar::StdRegions::StdExpansion::m_stdStaticCondMatrixManager, Nektar::StdRegions::StdExpansion::MassMatrixOp(), v_DetShapeType(), v_FwdTrans(), v_IProductWRTBase(), Vmath::Vcopy(), and Vmath::Vsub().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 569 of file StdSegExp.cpp.
References Nektar::StdRegions::StdExpansion::CreateGeneralMatrix(), Nektar::LibUtilities::eFourier, Nektar::StdRegions::eFwdTrans, Nektar::StdRegions::eInvMass, Nektar::StdRegions::eIProductWRTBase, Nektar::StdRegions::eMass, Nektar::StdRegions::StdExpansion::GetBasisType(), Nektar::StdRegions::StdMatrixKey::GetMatrixType(), Nektar::StdRegions::StdExpansion::GetStdMatrix(), Nektar::StdRegions::StdExpansion::m_base, Nektar::StdRegions::StdExpansion::m_ncoeffs, and v_DetShapeType().
Referenced by v_CreateStdMatrix().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 619 of file StdSegExp.cpp.
References ASSERTL0, Nektar::LibUtilities::eChebyshev, Nektar::LibUtilities::eFourier, Nektar::LibUtilities::eGauss_Lagrange, Nektar::LibUtilities::eGLL_Lagrange, Nektar::LibUtilities::eModified_A, Nektar::LibUtilities::eModified_B, Nektar::StdRegions::StdExpansion::GetBasisType(), Nektar::StdRegions::StdExpansion::m_base, and Nektar::StdRegions::StdExpansion::NumBndryCoeffs().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 523 of file StdSegExp.cpp.
References Nektar::StdRegions::StdExpansion::GetNumPoints(), and Nektar::StdRegions::StdExpansion::m_base.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 648 of file StdSegExp.cpp.
References ASSERTL0, Nektar::LibUtilities::eChebyshev, Nektar::LibUtilities::eFourier, Nektar::LibUtilities::eGauss_Lagrange, Nektar::LibUtilities::eGLL_Lagrange, Nektar::LibUtilities::eModified_A, Nektar::LibUtilities::eModified_B, Nektar::StdRegions::StdExpansion::GetBasisType(), Nektar::StdRegions::StdExpansion::GetNcoeffs(), and Nektar::StdRegions::StdExpansion::NumBndryCoeffs().
|
protectedvirtual |
Implements Nektar::StdRegions::StdExpansion.
Definition at line 540 of file StdSegExp.cpp.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 681 of file StdSegExp.cpp.
References ASSERTL0, Nektar::LibUtilities::eGLL_Lagrange, Nektar::StdRegions::StdExpansion::GetBasisType(), and Nektar::StdRegions::StdExpansion::m_base.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 500 of file StdSegExp.cpp.
References Nektar::StdRegions::eFactorLambda, Nektar::StdRegions::StdMatrixKey::GetConstFactor(), Nektar::StdRegions::StdExpansion::m_base, Nektar::StdRegions::StdExpansion::m_ncoeffs, v_BwdTrans(), v_IProductWRTBase(), and v_PhysDeriv().
|
protectedvirtual |
Integrate the physical point list inarray over region and return the value.
inarray | definition of function to be integrated evauluated at quadrature point of expansion. |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 118 of file StdSegExp.cpp.
References Nektar::StdRegions::StdExpansion::m_base, Vmath::Vmul(), and Vmath::Vsum().
|
protectedvirtual |
Inner product of inarray over region with respect to the expansion basis (this)->m_base[0] and return in outarray.
Wrapper call to StdSegExp::IProductWRTBase
inarray | array of function values evaluated at the physical collocation points |
outarray | the values of the inner product with respect to each basis over region will be stored in the array outarray as output of the function |
Implements Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 433 of file StdSegExp.cpp.
References Nektar::StdRegions::StdExpansion::m_base.
Referenced by v_FwdTrans(), v_FwdTrans_BndConstrained(), v_HelmholtzMatrixOp(), v_IProductWRTBase_SumFac(), v_IProductWRTDerivBase(), and v_LaplacianMatrixOp().
|
protectedvirtual |
Inner product of inarray over region with respect to expansion basis base and return in outarray.
Calculate where .
base | an array defining the local basis for the inner product usually passed from Basis->GetBdata() or Basis->GetDbdata() |
inarray,: | physical point array of function to be integrated |
coll_check | flag to identify when a Basis->Collocation() call should be performed to see if this is a GLL_Lagrange basis with a collocation property. (should be set to 0 if taking the inner product with respect to the derivative of basis) |
outarray | the values of the inner product with respect to each basis over region will be stored in the array outarray as output of the function |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 394 of file StdSegExp.cpp.
References Nektar::StdRegions::StdExpansion::m_base, Nektar::StdRegions::StdExpansion::m_ncoeffs, and Vmath::Vmul().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 448 of file StdSegExp.cpp.
References Nektar::StdRegions::StdExpansion::m_base, and v_IProductWRTBase().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 439 of file StdSegExp.cpp.
References ASSERTL1, Nektar::StdRegions::StdExpansion::m_base, and v_IProductWRTBase().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 85 of file StdSegExp.cpp.
References Nektar::LibUtilities::eGLL_Lagrange, Nektar::LibUtilities::eModified_A, Nektar::StdRegions::StdExpansion::GetBasisType(), and Nektar::StdRegions::StdExpansion::m_base.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 482 of file StdSegExp.cpp.
References Nektar::StdRegions::StdExpansion::m_base, v_BwdTrans(), v_IProductWRTBase(), and v_PhysDeriv().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 545 of file StdSegExp.cpp.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 550 of file StdSegExp.cpp.
|
protectedvirtual |
Evaluate the derivative at the physical quadrature points given by inarray and return in outarray.
This is a wrapper around StdExpansion1D::Tensor_Deriv
inarray | array of a function evaluated at the quadrature points |
outarray | the resulting array of the derivative will be stored in the array outarra |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 151 of file StdSegExp.cpp.
References Nektar::StdRegions::StdExpansion1D::PhysTensorDeriv().
Referenced by v_HelmholtzMatrixOp(), and v_LaplacianMatrixOp().
|
protectedvirtual |
Calculate the derivative of the physical points in a given direction.
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 160 of file StdSegExp.cpp.
References ASSERTL1, and Nektar::StdRegions::StdExpansion1D::PhysTensorDeriv().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion1D.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 475 of file StdSegExp.cpp.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 169 of file StdSegExp.cpp.
References Nektar::StdRegions::StdExpansion1D::PhysTensorDeriv().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 179 of file StdSegExp.cpp.
References ASSERTL1, and Nektar::StdRegions::StdExpansion1D::PhysTensorDeriv().