Nektar++
|
#include <QuadExp.h>
Public Member Functions | |
QuadExp (const LibUtilities::BasisKey &Ba, const LibUtilities::BasisKey &Bb, const SpatialDomains::QuadGeomSharedPtr &geom) | |
Constructor using BasisKey class for quadrature points and order definition. | |
QuadExp (const QuadExp &T) | |
virtual | ~QuadExp () |
Public Member Functions inherited from Nektar::StdRegions::StdQuadExp | |
StdQuadExp () | |
StdQuadExp (const LibUtilities::BasisKey &Ba, const LibUtilities::BasisKey &Bb) | |
Constructor using BasisKey class for quadrature points and order definition. | |
StdQuadExp (const StdQuadExp &T) | |
Copy Constructor. | |
~StdQuadExp () | |
Destructor. | |
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. | |
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. | |
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. | |
int | GetNtrace () const |
Returns the number of trace elements connected to this element. | |
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 | 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) |
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) |
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) |
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_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
virtual StdRegions::Orientation | v_GetForient (int face) |
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) |
void | PhysInterpToSimplexEquiSpaced (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
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. | |
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. | |
template<class T > | |
boost::shared_ptr< T > | as () |
Public Member Functions inherited from Nektar::LocalRegions::Expansion2D | |
Expansion2D (SpatialDomains::Geometry2DSharedPtr pGeom) | |
virtual | ~Expansion2D () |
void | SetTraceToGeomOrientation (Array< OneD, ExpansionSharedPtr > &EdgeExp, Array< OneD, NekDouble > &inout) |
ExpansionSharedPtr | GetEdgeExp (int edge, bool SetUpNormal=true) |
void | SetEdgeExp (const int edge, ExpansionSharedPtr &e) |
void | AddNormTraceInt (const int dir, Array< OneD, ExpansionSharedPtr > &EdgeExp, Array< OneD, Array< OneD, NekDouble > > &edgeCoeffs, Array< OneD, NekDouble > &outarray) |
void | AddNormTraceInt (const int dir, Array< OneD, const NekDouble > &inarray, Array< OneD, ExpansionSharedPtr > &EdgeExp, Array< OneD, NekDouble > &outarray, const StdRegions::VarCoeffMap &varcoeffs) |
void | AddEdgeBoundaryInt (const int edge, ExpansionSharedPtr &EdgeExp, Array< OneD, NekDouble > &edgePhys, Array< OneD, NekDouble > &outarray, const StdRegions::VarCoeffMap &varcoeffs=StdRegions::NullVarCoeffMap) |
void | AddHDGHelmholtzEdgeTerms (const NekDouble tau, const int edge, Array< OneD, ExpansionSharedPtr > &EdgeExp, Array< OneD, NekDouble > &edgePhys, const StdRegions::VarCoeffMap &dirForcing, Array< OneD, NekDouble > &outarray) |
void | AddHDGHelmholtzTraceTerms (const NekDouble tau, const Array< OneD, const NekDouble > &inarray, Array< OneD, ExpansionSharedPtr > &EdgeExp, const StdRegions::VarCoeffMap &dirForcing, Array< OneD, NekDouble > &outarray) |
Expansion3DSharedPtr | GetLeftAdjacentElementExp () const |
Expansion3DSharedPtr | GetRightAdjacentElementExp () const |
int | GetLeftAdjacentElementFace () const |
int | GetRightAdjacentElementFace () const |
void | SetAdjacentElementExp (int face, Expansion3DSharedPtr &f) |
SpatialDomains::Geometry2DSharedPtr | GetGeom2D () const |
Public Member Functions inherited from Nektar::LocalRegions::Expansion | |
Expansion (SpatialDomains::GeometrySharedPtr pGeom) | |
Expansion (const Expansion &pSrc) | |
virtual | ~Expansion () |
DNekScalMatSharedPtr | GetLocMatrix (const LocalRegions::MatrixKey &mkey) |
DNekScalMatSharedPtr | GetLocMatrix (const StdRegions::MatrixType mtype, const StdRegions::ConstFactorMap &factors=StdRegions::NullConstFactorMap, const StdRegions::VarCoeffMap &varcoeffs=StdRegions::NullVarCoeffMap) |
SpatialDomains::GeometrySharedPtr | GetGeom () const |
DNekMatSharedPtr | BuildTransformationMatrix (const DNekScalMatSharedPtr &r_bnd, const StdRegions::MatrixType matrixType) |
DNekMatSharedPtr | BuildVertexMatrix (const DNekScalMatSharedPtr &r_bnd) |
void | AddEdgeNormBoundaryInt (const int edge, const boost::shared_ptr< Expansion > &EdgeExp, const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
void | AddEdgeNormBoundaryInt (const int edge, const boost::shared_ptr< Expansion > &EdgeExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
void | AddFaceNormBoundaryInt (const int face, const boost::shared_ptr< Expansion > &FaceExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
void | DGDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, ExpansionSharedPtr > &EdgeExp, Array< OneD, Array< OneD, NekDouble > > &coeffs, Array< OneD, NekDouble > &outarray) |
Protected Member Functions | |
virtual NekDouble | v_Integral (const Array< OneD, const NekDouble > &inarray) |
Integrates the specified function over the domain. | |
virtual NekDouble | v_StdPhysEvaluate (const Array< OneD, const NekDouble > &Lcoord, const Array< OneD, const NekDouble > &physvals) |
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. | |
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_PhysDirectionalDeriv (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &direction, Array< OneD, NekDouble > &out) |
Physical derivative along a direction vector. | |
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. | |
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) |
Calculate the inner product of inarray with respect to the basis B=base0*base1 and put into outarray. | |
virtual void | v_IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_IProductWRTBase_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_IProductWRTBase_MatOp (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_IProductWRTDerivBase_MatOp (const int dir, const Array< OneD, const NekDouble > &inarray, 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_GetCoord (const Array< OneD, const NekDouble > &Lcoords, Array< OneD, NekDouble > &coords) |
virtual void | v_GetCoords (Array< OneD, NekDouble > &coords_1, Array< OneD, NekDouble > &coords_2, Array< OneD, NekDouble > &coords_3) |
virtual NekDouble | v_PhysEvaluate (const Array< OneD, const NekDouble > &coord, const Array< OneD, const NekDouble > &physvals) |
This function evaluates the expansion at a single (arbitrary) point of the domain. | |
virtual void | v_GetEdgePhysVals (const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Extract the physical values along edge edge from inarray into outarray following the local edge orientation and point distribution defined by defined in EdgeExp. | |
virtual void | v_GetEdgePhysVals (const int edge, const StdRegions::StdExpansionSharedPtr &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_GetTracePhysVals (const int edge, const StdRegions::StdExpansionSharedPtr &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient) |
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_ComputeEdgeNormal (const int edge) |
virtual const SpatialDomains::GeomFactorsSharedPtr & | v_GetMetricInfo () const |
virtual int | v_GetCoordim () |
virtual void | v_ExtractDataToCoeffs (const NekDouble *data, const std::vector< unsigned int > &nummodes, const int mode_offset, NekDouble *coeffs) |
Unpack data from input file assuming it comes from the same expansion type. | |
virtual StdRegions::Orientation | v_GetEorient (int edge) |
virtual StdRegions::Orientation | v_GetCartesianEorient (int edge) |
virtual const LibUtilities::BasisSharedPtr & | v_GetBasis (int dir) const |
virtual int | v_GetNumPoints (const int dir) const |
virtual DNekMatSharedPtr | v_GenMatrix (const StdRegions::StdMatrixKey &mkey) |
virtual DNekMatSharedPtr | v_CreateStdMatrix (const StdRegions::StdMatrixKey &mkey) |
DNekScalMatSharedPtr | CreateMatrix (const MatrixKey &mkey) |
DNekScalBlkMatSharedPtr | CreateStaticCondMatrix (const MatrixKey &mkey) |
virtual DNekScalMatSharedPtr | v_GetLocMatrix (const MatrixKey &mkey) |
virtual DNekScalBlkMatSharedPtr | v_GetLocStaticCondMatrix (const MatrixKey &mkey) |
void | v_DropLocStaticCondMatrix (const MatrixKey &mkey) |
virtual void | v_MassMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) |
virtual void | v_LaplacianMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) |
virtual void | v_LaplacianMatrixOp (const int k1, const int k2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) |
virtual void | v_WeakDerivMatrixOp (const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) |
virtual void | v_WeakDirectionalDerivMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) |
virtual void | v_MassLevelCurvatureMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) |
virtual void | v_HelmholtzMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) |
virtual void | v_GeneralMatrixOp_MatOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::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_ReduceOrderCoeffs (int numMin, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_ComputeLaplacianMetric () |
Protected Member Functions inherited from Nektar::StdRegions::StdQuadExp | |
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 (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_BwdTrans_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_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_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_LocCoordToLocCollapsed (const Array< OneD, const NekDouble > &xi, Array< OneD, NekDouble > &eta) |
virtual void | v_FillMode (const int mode, Array< OneD, NekDouble > &array) |
Fill outarray with mode mode of expansion. | |
virtual int | v_GetNverts () const |
virtual int | v_GetNedges () const |
virtual int | v_GetEdgeNcoeffs (const int i) const |
virtual int | v_GetEdgeNumPoints (const int i) const |
virtual int | v_NumBndryCoeffs () const |
virtual int | v_NumDGBndryCoeffs () const |
virtual LibUtilities::BasisType | v_GetEdgeBasisType (const int i) const |
virtual int | v_DetCartesianDirOfEdge (const int edge) |
virtual int | v_CalcNumberOfCoefficients (const std::vector< unsigned int > &nummodes, int &modes_offset) |
virtual const LibUtilities::BasisKey | v_DetEdgeBasisKey (const int i) const |
virtual LibUtilities::ShapeType | v_DetShapeType () const |
virtual bool | v_IsBoundaryInteriorExpansion () |
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) |
void | v_GetEdgeToElementMap (const int eid, const Orientation edgeOrient, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray) |
virtual void | v_SVVLaplacianFilter (Array< OneD, NekDouble > &array, const StdMatrixKey &mkey) |
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, 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) |
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. | |
IndexMapValuesSharedPtr | CreateIndexMap (const IndexMapKey &ikey) |
Create an IndexMap which contains mapping information linking any specific element shape with either its boundaries, edges, faces, verteces, etc. | |
void | BwdTrans_MatOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | BwdTrans_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | IProductWRTBase_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | IProductWRTDerivBase_SumFac (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | GeneralMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | MassMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LaplacianMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LaplacianMatrixOp_MatFree_Kernel (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp) |
void | LaplacianMatrixOp_MatFree_GenericImpl (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LaplacianMatrixOp_MatFree (const int k1, const int k2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | WeakDerivMatrixOp_MatFree (const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | WeakDirectionalDerivMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | MassLevelCurvatureMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LinearAdvectionDiffusionReactionMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true) |
void | HelmholtzMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | HelmholtzMatrixOp_MatFree_GenericImpl (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
virtual void | v_SetCoeffsToOrientation (StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_SetCoeffsToOrientation (Array< OneD, NekDouble > &coeffs, StdRegions::Orientation dir) |
Protected Member Functions inherited from Nektar::LocalRegions::Expansion2D | |
virtual void | v_DGDeriv (const int dir, const Array< OneD, const NekDouble > &incoeffs, Array< OneD, ExpansionSharedPtr > &EdgeExp, Array< OneD, Array< OneD, NekDouble > > &edgeCoeffs, Array< OneD, NekDouble > &out_d) |
virtual void | v_AddEdgeNormBoundaryInt (const int edge, const ExpansionSharedPtr &EdgeExp, const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
virtual void | v_AddEdgeNormBoundaryInt (const int edge, const ExpansionSharedPtr &EdgeExp, const Array< OneD, const NekDouble > &Fn, 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 DNekMatSharedPtr | v_BuildVertexMatrix (const DNekScalMatSharedPtr &r_bnd) |
void | GetPhysEdgeVarCoeffsFromElement (const int edge, ExpansionSharedPtr &EdgeExp, const Array< OneD, const NekDouble > &varcoeff, Array< OneD, NekDouble > &outarray) |
Array< OneD, unsigned int > | v_GetEdgeInverseBoundaryMap (int eid) |
virtual void | v_NegateEdgeNormal (const int edge) |
virtual bool | v_EdgeNormalNegated (const int edge) |
virtual void | v_SetUpPhysNormals (const int edge) |
const StdRegions::NormalVector & | v_GetEdgeNormal (const int edge) const |
const StdRegions::NormalVector & | v_GetSurfaceNormal (const int id) const |
Protected Member Functions inherited from Nektar::LocalRegions::Expansion | |
void | ComputeLaplacianMetric () |
void | ComputeQuadratureMetric () |
virtual void | v_MultiplyByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual DNekMatSharedPtr | v_BuildTransformationMatrix (const DNekScalMatSharedPtr &r_bnd, const StdRegions::MatrixType matrixType) |
virtual void | v_AddEdgeNormBoundaryInt (const int edge, const boost::shared_ptr< Expansion > &EdgeExp, const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
virtual void | v_AddEdgeNormBoundaryInt (const int edge, const boost::shared_ptr< Expansion > &EdgeExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
virtual void | v_AddFaceNormBoundaryInt (const int face, const boost::shared_ptr< Expansion > &FaceExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
Private Member Functions | |
QuadExp () |
Additional Inherited Members | |
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 |
Protected Attributes inherited from Nektar::LocalRegions::Expansion2D | |
std::vector< ExpansionWeakPtr > | m_edgeExp |
std::vector< bool > | m_requireNeg |
std::map< int, StdRegions::NormalVector > | m_edgeNormals |
std::map< int, bool > | m_negatedNormals |
Expansion3DWeakPtr | m_elementLeft |
Expansion3DWeakPtr | m_elementRight |
int | m_elementFaceLeft |
int | m_elementFaceRight |
Nektar::LocalRegions::QuadExp::QuadExp | ( | const LibUtilities::BasisKey & | Ba, |
const LibUtilities::BasisKey & | Bb, | ||
const SpatialDomains::QuadGeomSharedPtr & | geom | ||
) |
Constructor using BasisKey class for quadrature points and order definition.
Definition at line 48 of file QuadExp.cpp.
Nektar::LocalRegions::QuadExp::QuadExp | ( | const QuadExp & | T | ) |
Definition at line 66 of file QuadExp.cpp.
|
virtual |
Definition at line 78 of file QuadExp.cpp.
|
private |
|
protected |
Definition at line 1533 of file QuadExp.cpp.
References ASSERTL2, Nektar::LocalRegions::Expansion::BuildVertexMatrix(), Nektar::StdRegions::StdMatrixKey::ConstFactorExists(), Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::SpatialDomains::eDeformed, Nektar::StdRegions::eFactorGaussEdge, Nektar::StdRegions::eFactorLambda, Nektar::StdRegions::eFactorSVVCutoffRatio, Nektar::StdRegions::eHelmholtz, Nektar::StdRegions::eHybridDGHelmholtz, Nektar::StdRegions::eInterpGauss, Nektar::StdRegions::eInvHybridDGHelmholtz, Nektar::StdRegions::eInvLaplacianWithUnityMean, Nektar::StdRegions::eInvMass, Nektar::StdRegions::eIProductWRTBase, Nektar::StdRegions::eIProductWRTDerivBase0, Nektar::StdRegions::eIProductWRTDerivBase1, Nektar::StdRegions::eIProductWRTDerivBase2, Nektar::StdRegions::eLaplacian, Nektar::StdRegions::eLaplacian00, Nektar::StdRegions::eLaplacian01, Nektar::StdRegions::eLaplacian11, Nektar::StdRegions::eMass, Nektar::SpatialDomains::eNoGeomType, Nektar::StdRegions::ePreconLinearSpace, Nektar::StdRegions::eWeakDeriv0, Nektar::StdRegions::eWeakDeriv1, Nektar::StdRegions::eWeakDeriv2, Nektar::StdRegions::StdExpansion::GenMatrix(), Nektar::StdRegions::StdMatrixKey::GetConstFactor(), Nektar::StdRegions::StdMatrixKey::GetConstFactors(), Nektar::StdRegions::StdExpansion::GetLocStaticCondMatrix(), Nektar::StdRegions::StdMatrixKey::GetMatrixType(), Nektar::StdRegions::StdMatrixKey::GetNVarCoeff(), Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdMatrixKey::GetShapeType(), Nektar::StdRegions::StdExpansion::GetStdMatrix(), Nektar::StdRegions::StdMatrixKey::GetVarCoeffs(), Nektar::StdRegions::StdExpansion::m_base, m_matrixManager, Nektar::LocalRegions::Expansion::m_metricinfo, and Nektar::Transpose().
|
protected |
Definition at line 1847 of file QuadExp.cpp.
References ASSERTL2, Nektar::SpatialDomains::eDeformed, Nektar::StdRegions::eMass, Nektar::SpatialDomains::eNoGeomType, Nektar::StdRegions::StdExpansion::GetBoundaryMap(), Nektar::StdRegions::StdExpansion::GetInteriorMap(), Nektar::LocalRegions::Expansion::GetLocMatrix(), Nektar::StdRegions::StdMatrixKey::GetMatrixType(), Nektar::StdRegions::StdMatrixKey::GetNVarCoeff(), Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::GetStdStaticCondMatrix(), Nektar::LocalRegions::Expansion::m_metricinfo, Nektar::StdRegions::StdExpansion::m_ncoeffs, and Nektar::StdRegions::StdExpansion::NumBndryCoeffs().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1116 of file QuadExp.cpp.
References ASSERTL0, Nektar::StdRegions::eBackwards, Nektar::SpatialDomains::eDeformed, Nektar::LibUtilities::eGaussGaussLegendre, Nektar::SpatialDomains::eMovingRegular, Nektar::SpatialDomains::eRegular, Vmath::Fill(), Nektar::StdRegions::StdExpansion::GetCoordim(), Nektar::StdRegions::StdExpansion::GetEorient(), Nektar::LocalRegions::Expansion::GetGeom(), Nektar::LibUtilities::PointsKey::GetNumPoints(), Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::GetPointsType(), Nektar::LibUtilities::Interp1D(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion2D::m_edgeNormals, Vmath::Reverse(), Vmath::Sdiv(), Vmath::Smul(), v_GetEdgeInterpVals(), Vmath::Vmul(), Vmath::Vsqrt(), Vmath::Vvtvp(), and Vmath::Zero().
|
protectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 2191 of file QuadExp.cpp.
References Nektar::LocalRegions::Expansion::ComputeQuadratureMetric(), Nektar::SpatialDomains::eDeformed, Vmath::Fill(), Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::GetTotPoints(), Nektar::LocalRegions::Expansion::m_metricinfo, Nektar::LocalRegions::Expansion::m_metrics, Nektar::LocalRegions::MetricLaplacian00, Nektar::LocalRegions::MetricLaplacian01, Nektar::LocalRegions::MetricLaplacian02, Nektar::LocalRegions::MetricLaplacian11, Nektar::LocalRegions::MetricLaplacian12, Nektar::LocalRegions::MetricLaplacian22, Nektar::LocalRegions::MetricQuadrature, Nektar::StdRegions::StdExpansion::MultiplyByQuadratureMetric(), and Vmath::Vcopy().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1522 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::m_base.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1989 of file QuadExp.cpp.
References Nektar::LibUtilities::NekManager< KeyType, ValueT, opLessCreator >::DeleteObject(), and m_staticCondMatrixManager.
|
protectedvirtual |
Unpack data from input file assuming it comes from the same expansion type.
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1410 of file QuadExp.cpp.
References ASSERTL0, ASSERTL1, Nektar::LibUtilities::eGauss_Lagrange, Nektar::LibUtilities::eGaussGaussLegendre, Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eGLL_Lagrange, Nektar::LibUtilities::eModified_A, Nektar::StdRegions::StdExpansion::GetBasisType(), Nektar::LibUtilities::Interp2D(), Nektar::StdRegions::StdExpansion::m_base, Nektar::StdRegions::StdExpansion::m_ncoeffs, Vmath::Vcopy(), and Vmath::Zero().
|
protectedvirtual |
Transform a given function from physical quadrature space to coefficient space.
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 260 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::eCopy, Nektar::StdRegions::eInvMass, Nektar::eWrapper, Nektar::StdRegions::StdExpansion::IProductWRTBase(), Nektar::StdRegions::StdExpansion::m_base, m_matrixManager, Nektar::StdRegions::StdExpansion::m_ncoeffs, and Vmath::Vcopy().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 286 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::StdRegions::eBackwards, Nektar::StdRegions::eMass, GetEdge(), Nektar::StdRegions::StdExpansion::GetEdgeToElementMap(), Nektar::StdRegions::StdExpansion::GetEorient(), Nektar::LocalRegions::Expansion2D::GetGeom2D(), Nektar::StdRegions::StdExpansion::GetInteriorMap(), Nektar::StdRegions::StdExpansion::IProductWRTBase(), Nektar::StdRegions::StdExpansion::m_base, Nektar::StdRegions::StdExpansion::m_ncoeffs, m_staticCondMatrixManager, Nektar::StdRegions::StdExpansion::MassMatrixOp(), Nektar::StdRegions::StdExpansion::NumBndryCoeffs(), sign, Vmath::Vcopy(), and Vmath::Vsub().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 2064 of file QuadExp.cpp.
References Nektar::LocalRegions::Expansion::GetLocMatrix(), Nektar::StdRegions::StdExpansion::m_ncoeffs, and Vmath::Vcopy().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1501 of file QuadExp.cpp.
References Nektar::StdRegions::eHybridDGHelmBndLam, Nektar::StdRegions::eHybridDGHelmholtz, Nektar::StdRegions::eHybridDGLamToQ0, Nektar::StdRegions::eHybridDGLamToQ1, Nektar::StdRegions::eHybridDGLamToQ2, Nektar::StdRegions::eHybridDGLamToU, Nektar::StdRegions::eInvLaplacianWithUnityMean, and Nektar::StdRegions::StdMatrixKey::GetMatrixType().
|
protectedvirtual |
Definition at line 1489 of file QuadExp.cpp.
References ASSERTL1, and Nektar::StdRegions::StdExpansion::m_base.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1483 of file QuadExp.cpp.
References Nektar::LocalRegions::Expansion2D::GetGeom2D().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 604 of file QuadExp.cpp.
References ASSERTL1, and Nektar::LocalRegions::Expansion::m_geom.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion2D.
Definition at line 1404 of file QuadExp.cpp.
References Nektar::LocalRegions::Expansion::m_geom.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 595 of file QuadExp.cpp.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 791 of file QuadExp.cpp.
References ASSERTL0, Vmath::Ddot(), Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::StdRegions::eFactorGaussEdge, Nektar::StdRegions::eInterpGauss, Nektar::StdRegions::StdExpansion::m_base, and m_matrixManager.
Referenced by v_ComputeEdgeNormal(), v_GetEdgePhysVals(), and v_GetEdgeQFactors().
|
protectedvirtual |
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 from Nektar::StdRegions::StdExpansion.
Definition at line 651 of file QuadExp.cpp.
References ASSERTL0, Nektar::StdRegions::eForwards, Nektar::StdRegions::StdExpansion::GetEorient(), Nektar::StdRegions::StdExpansion::m_base, and Vmath::Vcopy().
Referenced by v_GetTracePhysVals().
|
protectedvirtual |
Definition at line 727 of file QuadExp.cpp.
References ASSERTL0, Nektar::StdRegions::eBackwards, Nektar::LibUtilities::eGaussGaussLegendre, Nektar::StdRegions::StdExpansion::GetCartesianEorient(), Nektar::StdRegions::StdExpansion::GetPointsType(), Nektar::LibUtilities::Interp1D(), Nektar::StdRegions::StdExpansion::m_base, Vmath::Reverse(), v_GetEdgeInterpVals(), and Vmath::Vcopy().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 856 of file QuadExp.cpp.
References ASSERTL0, Nektar::SpatialDomains::eDeformed, Nektar::LibUtilities::eGaussGaussLegendre, Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::GetPointsType(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_metricinfo, Vmath::Reverse(), v_GetEdgeInterpVals(), Vmath::Vcopy(), and Vmath::Vmul().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1477 of file QuadExp.cpp.
References Nektar::LocalRegions::Expansion::m_geom.
|
protectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 1977 of file QuadExp.cpp.
References m_matrixManager.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1983 of file QuadExp.cpp.
References m_staticCondMatrixManager.
|
protectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 1398 of file QuadExp.cpp.
References Nektar::LocalRegions::Expansion::m_metricinfo.
|
protectedvirtual |
Definition at line 1496 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::GetNumPoints().
|
protectedvirtual |
Definition at line 716 of file QuadExp.cpp.
References v_GetEdgePhysVals().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 2055 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::HelmholtzMatrixOp_MatFree().
|
protectedvirtual |
Integrates the specified function over the domain.
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 83 of file QuadExp.cpp.
References Nektar::SpatialDomains::eDeformed, Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_metricinfo, Vmath::Smul(), and Vmath::Vmul().
|
protectedvirtual |
Calculate the inner product of inarray with respect to the basis B=base0*base1 and put into outarray.
where
which can be implemented as
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 409 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::IProductWRTBase_SumFac(), Nektar::StdRegions::StdExpansion::m_base, and Nektar::StdRegions::StdExpansion::MultiplyByQuadratureMetric().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 452 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::StdRegions::eIProductWRTBase, Nektar::StdRegions::StdExpansion::GetTotPoints(), m_matrixManager, and Nektar::StdRegions::StdExpansion::m_ncoeffs.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 433 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion2D::IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdExpansion::m_base, and Nektar::StdRegions::StdExpansion::MultiplyByQuadratureMetric().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 424 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::IProductWRTDerivBase_SumFac().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 524 of file QuadExp.cpp.
References ASSERTL1, Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::StdRegions::eIProductWRTDerivBase0, Nektar::StdRegions::eIProductWRTDerivBase1, Nektar::StdRegions::eIProductWRTDerivBase2, Nektar::StdRegions::StdExpansion::GetTotPoints(), m_matrixManager, and Nektar::StdRegions::StdExpansion::m_ncoeffs.
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 468 of file QuadExp.cpp.
References ASSERTL1, Nektar::SpatialDomains::eDeformed, Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion2D::IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_geom, Nektar::LocalRegions::Expansion::m_metricinfo, Nektar::StdRegions::StdExpansion::m_ncoeffs, Nektar::StdRegions::StdExpansion::MultiplyByQuadratureMetric(), Vmath::Smul(), Vmath::Vadd(), and Vmath::Vmul().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 2004 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 2013 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 2139 of file QuadExp.cpp.
References ASSERTL1, Nektar::LocalRegions::Expansion::ComputeLaplacianMetric(), Nektar::StdRegions::StdExpansion2D::IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_metrics, Nektar::StdRegions::StdExpansion::m_ncoeffs, Nektar::LocalRegions::MetricLaplacian00, Nektar::LocalRegions::MetricLaplacian01, Nektar::LocalRegions::MetricLaplacian11, Nektar::StdRegions::StdExpansion2D::PhysTensorDeriv(), Vmath::Vadd(), and Vmath::Vvtvvtp().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 2045 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::MassLevelCurvatureMatrixOp_MatFree().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1995 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::MassMatrixOp_MatFree().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 565 of file QuadExp.cpp.
References Nektar::SpatialDomains::eDeformed, Nektar::LocalRegions::Expansion2D::GetLeftAdjacentElementExp(), Nektar::LocalRegions::Expansion2D::GetLeftAdjacentElementFace(), Nektar::StdRegions::StdExpansion::IProductWRTBase(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_metricinfo, Vmath::Svtsvtp(), Vmath::Svtvp(), Vmath::Vvtvp(), and Vmath::Vvtvvtp().
|
protectedvirtual |
Calculate the derivative of the physical points.
For quadrilateral region can use the Tensor_Deriv function defined under StdExpansion.
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 110 of file QuadExp.cpp.
References Nektar::SpatialDomains::eDeformed, Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_metricinfo, Vmath::Smul(), Vmath::Vmul(), and Vmath::Vvtvp().
Referenced by v_PhysDeriv(), and v_PhysDirectionalDeriv().
|
protectedvirtual |
Calculate the derivative of the physical points in a given direction.
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 169 of file QuadExp.cpp.
References ASSERTL1, Nektar::NullNekDouble1DArray, and v_PhysDeriv().
|
protectedvirtual |
Physical derivative along a direction vector.
D_v = d/dx_v^s + d/dx_v^r
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 203 of file QuadExp.cpp.
References ASSERTL1, Nektar::SpatialDomains::eDeformed, Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_geom, Nektar::LocalRegions::Expansion::m_metricinfo, v_PhysDeriv(), Vmath::Vmul(), and Vmath::Vvtvp().
|
protectedvirtual |
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, this function calculates the value of the expansion at an arbitrary single points (with coordinates given by the pointer coords). This operation, equivalent to
is evaluated using Lagrangian interpolants through the quadrature points:
This function requires that the physical value array (implemented as the attribute #m_phys) is set.
coords | the coordinates of the single point |
Reimplemented from Nektar::StdRegions::StdExpansion2D.
Definition at line 635 of file QuadExp.cpp.
References ASSERTL0, and Nektar::LocalRegions::Expansion::m_geom.
Referenced by v_StdPhysEvaluate().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 2089 of file QuadExp.cpp.
References Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eOrtho_A, Nektar::StdRegions::StdExpansion::GetBasisType(), Nektar::LibUtilities::InterpCoeff2D(), Nektar::StdRegions::StdExpansion::m_base, Vmath::Vcopy(), and Vmath::Zero().
|
protectedvirtual |
Given the local cartesian coordinate Lcoord evaluate the value of physvals at this point by calling through to the StdExpansion method
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 627 of file QuadExp.cpp.
References v_PhysEvaluate().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 2025 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::WeakDerivMatrixOp_MatFree().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 2035 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::WeakDirectionalDerivMatrixOp_MatFree().
|
private |
Definition at line 268 of file QuadExp.h.
Referenced by CreateMatrix(), v_FwdTrans(), v_GetEdgeInterpVals(), v_GetLocMatrix(), v_IProductWRTBase_MatOp(), and v_IProductWRTDerivBase_MatOp().
|
private |
Definition at line 269 of file QuadExp.h.
Referenced by v_DropLocStaticCondMatrix(), v_FwdTrans_BndConstrained(), and v_GetLocStaticCondMatrix().