Nektar++
|
#include <QuadExp.h>
Public Member Functions | |
QuadExp (const LibUtilities::BasisKey &Ba, const LibUtilities::BasisKey &Bb, const SpatialDomains::Geometry2DSharedPtr &geom) | |
Constructor using BasisKey class for quadrature points and order definition. More... | |
QuadExp (const QuadExp &T) | |
virtual | ~QuadExp () override=default |
![]() | |
StdQuadExp () | |
StdQuadExp (const LibUtilities::BasisKey &Ba, const LibUtilities::BasisKey &Bb) | |
Constructor using BasisKey class for quadrature points and order definition. More... | |
StdQuadExp (const StdQuadExp &T) | |
Copy Constructor. More... | |
virtual | ~StdQuadExp () override |
Destructor. More... | |
![]() | |
StdExpansion2D () | |
StdExpansion2D (int numcoeffs, const LibUtilities::BasisKey &Ba, const LibUtilities::BasisKey &Bb) | |
StdExpansion2D (const StdExpansion2D &T) | |
virtual | ~StdExpansion2D () override |
void | PhysTensorDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray_d0, Array< OneD, NekDouble > &outarray_d1) |
Calculate the 2D derivative in the local tensor/collapsed coordinate at the physical points. More... | |
NekDouble | Integral (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &w0, const Array< OneD, const NekDouble > &w1) |
NekDouble | BaryTensorDeriv (const Array< OneD, NekDouble > &coord, const Array< OneD, const NekDouble > &inarray, std::array< NekDouble, 3 > &firstOrderDerivs) |
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) |
![]() | |
StdExpansion () | |
Default Constructor. More... | |
StdExpansion (const int numcoeffs, const int numbases, const LibUtilities::BasisKey &Ba=LibUtilities::NullBasisKey, const LibUtilities::BasisKey &Bb=LibUtilities::NullBasisKey, const LibUtilities::BasisKey &Bc=LibUtilities::NullBasisKey) | |
Constructor. More... | |
StdExpansion (const StdExpansion &T) | |
Copy Constructor. More... | |
virtual | ~StdExpansion () |
Destructor. More... | |
int | GetNumBases () const |
This function returns the number of 1D bases used in the expansion. More... | |
const Array< OneD, const LibUtilities::BasisSharedPtr > & | GetBase () const |
This function gets the shared point to basis. More... | |
const LibUtilities::BasisSharedPtr & | GetBasis (int dir) const |
This function gets the shared point to basis in the dir direction. More... | |
int | GetNcoeffs (void) const |
This function returns the total number of coefficients used in the expansion. More... | |
int | GetTotPoints () const |
This function returns the total number of quadrature points used in the element. More... | |
LibUtilities::BasisType | GetBasisType (const int dir) const |
This function returns the type of basis used in the dir direction. More... | |
int | GetBasisNumModes (const int dir) const |
This function returns the number of expansion modes in the dir direction. More... | |
int | EvalBasisNumModesMax (void) const |
This function returns the maximum number of expansion modes over all local directions. More... | |
LibUtilities::PointsType | GetPointsType (const int dir) const |
This function returns the type of quadrature points used in the dir direction. More... | |
int | GetNumPoints (const int dir) const |
This function returns the number of quadrature points in the dir direction. More... | |
const Array< OneD, const NekDouble > & | GetPoints (const int dir) const |
This function returns a pointer to the array containing the quadrature points in dir direction. More... | |
int | GetNverts () const |
This function returns the number of vertices of the expansion domain. More... | |
int | GetTraceNcoeffs (const int i) const |
This function returns the number of expansion coefficients belonging to the i-th trace. More... | |
int | GetTraceIntNcoeffs (const int i) const |
int | GetTraceNumPoints (const int i) const |
This function returns the number of quadrature points belonging to the i-th trace. More... | |
const LibUtilities::BasisKey | GetTraceBasisKey (const int i, int k=-1) const |
This function returns the basis key belonging to the i-th trace. More... | |
LibUtilities::PointsKey | GetTracePointsKey (const int i, int k=-1) const |
This function returns the basis key belonging to the i-th trace. More... | |
int | NumBndryCoeffs (void) const |
int | NumDGBndryCoeffs (void) const |
const LibUtilities::PointsKey | GetNodalPointsKey () const |
This function returns the type of expansion Nodal point type if defined. More... | |
int | GetNtraces () const |
Returns the number of trace elements connected to this element. More... | |
LibUtilities::ShapeType | DetShapeType () const |
This function returns the shape of the expansion domain. More... | |
std::shared_ptr< StdExpansion > | GetStdExp () const |
std::shared_ptr< StdExpansion > | GetLinStdExp (void) const |
int | GetShapeDimension () const |
bool | IsBoundaryInteriorExpansion () const |
bool | IsNodalNonTensorialExp () |
void | BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function performs the Backward transformation from coefficient space to physical space. More... | |
void | FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function performs the Forward transformation from physical space to coefficient space. More... | |
void | FwdTransBndConstrained (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
NekDouble | Integral (const Array< OneD, const NekDouble > &inarray) |
This function integrates the specified function over the domain. More... | |
void | FillMode (const int mode, Array< OneD, NekDouble > &outarray) |
This function fills the array outarray with the mode-th mode of the expansion. More... | |
void | IProductWRTBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
this function calculates the inner product of a given function f with the different modes of the expansion More... | |
void | IProductWRTBase (const Array< OneD, const NekDouble > &base, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, int coll_check) |
void | IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | IProductWRTDirectionalDerivBase (const Array< OneD, const NekDouble > &direction, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
int | GetElmtId () |
Get the element id of this expansion when used in a list by returning value of m_elmt_id. More... | |
void | SetElmtId (const int id) |
Set the element id of this expansion when used in a list by returning value of m_elmt_id. More... | |
void | GetCoords (Array< OneD, NekDouble > &coords_1, Array< OneD, NekDouble > &coords_2=NullNekDouble1DArray, Array< OneD, NekDouble > &coords_3=NullNekDouble1DArray) |
this function returns the physical coordinates of the quadrature points of the expansion More... | |
void | GetCoord (const Array< OneD, const NekDouble > &Lcoord, Array< OneD, NekDouble > &coord) |
given the coordinates of a point of the element in the local collapsed coordinate system, this function calculates the physical coordinates of the point More... | |
DNekMatSharedPtr | GetStdMatrix (const StdMatrixKey &mkey) |
DNekBlkMatSharedPtr | GetStdStaticCondMatrix (const StdMatrixKey &mkey) |
void | NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, Array< OneD, NekDouble > &outarray) |
void | NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
void | NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, const Array< OneD, const NekDouble > &Fz, Array< OneD, NekDouble > &outarray) |
void | NormVectorIProductWRTBase (const Array< OneD, const Array< OneD, NekDouble >> &Fvec, Array< OneD, NekDouble > &outarray) |
DNekScalBlkMatSharedPtr | GetLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey) |
void | DropLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey) |
int | CalcNumberOfCoefficients (const std::vector< unsigned int > &nummodes, int &modes_offset) |
NekDouble | StdPhysEvaluate (const Array< OneD, const NekDouble > &Lcoord, const Array< OneD, const NekDouble > &physvals) |
int | GetCoordim () |
void | GetBoundaryMap (Array< OneD, unsigned int > &outarray) |
void | GetInteriorMap (Array< OneD, unsigned int > &outarray) |
int | GetVertexMap (const int localVertexId, bool useCoeffPacking=false) |
void | GetTraceToElementMap (const int tid, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray, Orientation traceOrient=eForwards, int P=-1, int Q=-1) |
void | GetTraceCoeffMap (const unsigned int traceid, Array< OneD, unsigned int > &maparray) |
void | GetElmtTraceToTraceMap (const unsigned int tid, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray, Orientation traceOrient=eForwards, int P=-1, int Q=-1) |
void | GetTraceInteriorToElementMap (const int tid, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray, const Orientation traceOrient=eForwards) |
void | GetTraceNumModes (const int tid, int &numModes0, int &numModes1, const Orientation traceOrient=eDir1FwdDir1_Dir2FwdDir2) |
void | MultiplyByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | MultiplyByStdQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
DNekMatSharedPtr | CreateGeneralMatrix (const StdMatrixKey &mkey) |
this function generates the mass matrix \(\mathbf{M}[i][j] = \int \phi_i(\mathbf{x}) \phi_j(\mathbf{x}) d\mathbf{x}\) More... | |
void | GeneralMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | MassMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LaplacianMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | ReduceOrderCoeffs (int numMin, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | SVVLaplacianFilter (Array< OneD, NekDouble > &array, const StdMatrixKey &mkey) |
void | ExponentialFilter (Array< OneD, NekDouble > &array, const NekDouble alpha, const NekDouble exponent, const NekDouble cutoff) |
void | LaplacianMatrixOp (const int k1, const int k2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | WeakDerivMatrixOp (const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | WeakDirectionalDerivMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | MassLevelCurvatureMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LinearAdvectionDiffusionReactionMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true) |
void | HelmholtzMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
DNekMatSharedPtr | GenMatrix (const StdMatrixKey &mkey) |
void | PhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1=NullNekDouble1DArray, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray) |
void | PhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | PhysDeriv_s (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_ds) |
void | PhysDeriv_n (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_dn) |
void | PhysDirectionalDeriv (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &direction, Array< OneD, NekDouble > &outarray) |
void | StdPhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1=NullNekDouble1DArray, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray) |
void | StdPhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
NekDouble | PhysEvaluate (const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &physvals) |
This function evaluates the expansion at a single (arbitrary) point of the domain. More... | |
NekDouble | PhysEvaluate (const Array< OneD, NekDouble > &coord, const Array< OneD, const NekDouble > &inarray, std::array< NekDouble, 3 > &firstOrderDerivs) |
This function evaluates the first derivative of the expansion at a single (arbitrary) point of the domain. More... | |
NekDouble | PhysEvaluate (const Array< OneD, NekDouble > &coord, const Array< OneD, const NekDouble > &inarray, std::array< NekDouble, 3 > &firstOrderDerivs, std::array< NekDouble, 6 > &secondOrderDerivs) |
NekDouble | PhysEvaluate (const Array< OneD, DNekMatSharedPtr > &I, const Array< OneD, const NekDouble > &physvals) |
This function evaluates the expansion at a single (arbitrary) point of the domain. More... | |
NekDouble | PhysEvaluateBasis (const Array< OneD, const NekDouble > &coords, int mode) |
This function evaluates the basis function mode mode at a point coords of the domain. More... | |
void | LocCoordToLocCollapsed (const Array< OneD, const NekDouble > &xi, Array< OneD, NekDouble > &eta) |
Convert local cartesian coordinate xi into local collapsed coordinates eta. More... | |
void | LocCollapsedToLocCoord (const Array< OneD, const NekDouble > &eta, Array< OneD, NekDouble > &xi) |
Convert local collapsed coordinates eta into local cartesian coordinate xi. More... | |
virtual void | v_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, Array< OneD, NekDouble > &outarray) |
virtual void | v_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
NekDouble | Linf (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &sol=NullNekDouble1DArray) |
Function to evaluate the discrete \( L_\infty\) error \( |\epsilon|_\infty = \max |u - u_{exact}|\) where \( u_{exact}\) is given by the array sol. More... | |
NekDouble | L2 (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &sol=NullNekDouble1DArray) |
Function to evaluate the discrete \( L_2\) error, \( | \epsilon |_{2} = \left [ \int^1_{-1} [u - u_{exact}]^2 dx \right]^{1/2} d\xi_1 \) where \( u_{exact}\) is given by the array sol. More... | |
NekDouble | H1 (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &sol=NullNekDouble1DArray) |
Function to evaluate the discrete \( H^1\) error, \( | \epsilon |^1_{2} = \left [ \int^1_{-1} [u - u_{exact}]^2 + \nabla(u - u_{exact})\cdot\nabla(u - u_{exact})\cdot dx \right]^{1/2} d\xi_1 \) where \( u_{exact}\) is given by the array sol. More... | |
const LibUtilities::PointsKeyVector | GetPointsKeys () const |
DNekMatSharedPtr | BuildInverseTransformationMatrix (const DNekScalMatSharedPtr &m_transformationmatrix) |
void | PhysInterpToSimplexEquiSpaced (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, int npset=-1) |
This function performs an interpolation from the physical space points provided at input into an array of equispaced points which are not the collapsed coordinate. So for a tetrahedron you will only get a tetrahedral number of values. More... | |
void | GetSimplexEquiSpacedConnectivity (Array< OneD, int > &conn, bool standard=true) |
This function provides the connectivity of local simplices (triangles or tets) to connect the equispaced data points provided by PhysInterpToSimplexEquiSpaced. More... | |
void | EquiSpacedToCoeffs (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function performs a projection/interpolation from the equispaced points sometimes used in post-processing onto the coefficient space. More... | |
template<class T > | |
std::shared_ptr< T > | as () |
void | IProductWRTBase_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool multiplybyweights=true) |
void | GenStdMatBwdDeriv (const int dir, DNekMatSharedPtr &mat) |
![]() | |
Expansion2D (SpatialDomains::Geometry2DSharedPtr pGeom) | |
virtual | ~Expansion2D () override=default |
DNekScalMatSharedPtr | CreateMatrix (const MatrixKey &mkey) |
void | SetTraceToGeomOrientation (Array< OneD, ExpansionSharedPtr > &EdgeExp, Array< OneD, NekDouble > &inout) |
Array< OneD, unsigned int > | GetTraceInverseBoundaryMap (int eid) |
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) |
SpatialDomains::Geometry2DSharedPtr | GetGeom2D () const |
void | ReOrientEdgePhysMap (const int nvert, const StdRegions::Orientation orient, const int nq0, Array< OneD, int > &idmap) |
virtual void | v_GenTraceExp (const int traceid, ExpansionSharedPtr &exp) override |
![]() | |
Expansion (SpatialDomains::GeometrySharedPtr pGeom) | |
Expansion (const Expansion &pSrc) | |
virtual | ~Expansion () |
void | SetTraceExp (const int traceid, ExpansionSharedPtr &f) |
ExpansionSharedPtr | GetTraceExp (const int traceid) |
DNekScalMatSharedPtr | GetLocMatrix (const LocalRegions::MatrixKey &mkey) |
void | DropLocMatrix (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 |
void | Reset () |
IndexMapValuesSharedPtr | CreateIndexMap (const IndexMapKey &ikey) |
DNekScalBlkMatSharedPtr | CreateStaticCondMatrix (const MatrixKey &mkey) |
const SpatialDomains::GeomFactorsSharedPtr & | GetMetricInfo () const |
DNekMatSharedPtr | BuildTransformationMatrix (const DNekScalMatSharedPtr &r_bnd, const StdRegions::MatrixType matrixType) |
DNekMatSharedPtr | BuildVertexMatrix (const DNekScalMatSharedPtr &r_bnd) |
void | ExtractDataToCoeffs (const NekDouble *data, const std::vector< unsigned int > &nummodes, const int nmodes_offset, NekDouble *coeffs, std::vector< LibUtilities::BasisType > &fromType) |
void | AddEdgeNormBoundaryInt (const int edge, const std::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 std::shared_ptr< Expansion > &EdgeExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
void | AddFaceNormBoundaryInt (const int face, const std::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) |
NekDouble | VectorFlux (const Array< OneD, Array< OneD, NekDouble >> &vec) |
void | NormalTraceDerivFactors (Array< OneD, Array< OneD, NekDouble >> &factors, Array< OneD, Array< OneD, NekDouble >> &d0factors, Array< OneD, Array< OneD, NekDouble >> &d1factors) |
IndexMapValuesSharedPtr | GetIndexMap (const IndexMapKey &ikey) |
void | AlignVectorToCollapsedDir (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, Array< OneD, NekDouble >> &outarray) |
ExpansionSharedPtr | GetLeftAdjacentElementExp () const |
ExpansionSharedPtr | GetRightAdjacentElementExp () const |
int | GetLeftAdjacentElementTrace () const |
int | GetRightAdjacentElementTrace () const |
void | SetAdjacentElementExp (int traceid, ExpansionSharedPtr &e) |
StdRegions::Orientation | GetTraceOrient (int trace) |
void | SetCoeffsToOrientation (StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | DivideByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Divided by the metric jacobi and quadrature weights. More... | |
void | GetTraceQFactors (const int trace, Array< OneD, NekDouble > &outarray) |
Extract the metric factors to compute the contravariant fluxes along edge edge and stores them into outarray following the local edge orientation (i.e. anticlockwise convention). More... | |
void | GetTracePhysVals (const int trace, const StdRegions::StdExpansionSharedPtr &TraceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient=StdRegions::eNoOrientation) |
void | GetTracePhysMap (const int edge, Array< OneD, int > &outarray) |
void | ReOrientTracePhysMap (const StdRegions::Orientation orient, Array< OneD, int > &idmap, const int nq0, const int nq1) |
const NormalVector & | GetTraceNormal (const int id) |
void | ComputeTraceNormal (const int id) |
const Array< OneD, const NekDouble > & | GetPhysNormals (void) |
void | SetPhysNormals (Array< OneD, const NekDouble > &normal) |
void | SetUpPhysNormals (const int trace) |
void | AddRobinMassMatrix (const int traceid, const Array< OneD, const NekDouble > &primCoeffs, DNekMatSharedPtr &inoutmat) |
void | TraceNormLen (const int traceid, NekDouble &h, NekDouble &p) |
void | AddRobinTraceContribution (const int traceid, const Array< OneD, const NekDouble > &primCoeffs, const Array< OneD, NekDouble > &incoeffs, Array< OneD, NekDouble > &coeffs) |
const Array< OneD, const NekDouble > & | GetElmtBndNormDirElmtLen (const int nbnd) const |
void | StdDerivBaseOnTraceMat (Array< OneD, DNekMatSharedPtr > &DerivMat) |
Protected Member Functions | |
virtual NekDouble | v_Integral (const Array< OneD, const NekDouble > &inarray) override |
Integrates the specified function over the domain. More... | |
virtual NekDouble | v_StdPhysEvaluate (const Array< OneD, const NekDouble > &Lcoord, const Array< OneD, const NekDouble > &physvals) override |
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) override |
Calculate the derivative of the physical points. More... | |
virtual void | v_PhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
Calculate the derivative of the physical points in a given direction. More... | |
virtual void | v_PhysDirectionalDeriv (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &direction, Array< OneD, NekDouble > &out) override |
Physical derivative along a direction vector. More... | |
virtual void | v_FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
Transform a given function from physical quadrature space to coefficient space. More... | |
virtual void | v_FwdTransBndConstrained (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
virtual void | v_IProductWRTBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
Calculate the inner product of inarray with respect to the basis B=base0*base1 and put into outarray. More... | |
virtual void | v_IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
virtual void | v_IProductWRTBase_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool multiplybyweights=true) override |
virtual void | v_IProductWRTDerivBase_SumFac (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
virtual void | v_AlignVectorToCollapsedDir (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, Array< OneD, NekDouble >> &outarray) override |
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) override |
virtual void | v_NormVectorIProductWRTBase (const Array< OneD, const Array< OneD, NekDouble >> &Fvec, Array< OneD, NekDouble > &outarray) override |
virtual StdRegions::StdExpansionSharedPtr | v_GetStdExp (void) const override |
virtual StdRegions::StdExpansionSharedPtr | v_GetLinStdExp (void) const override |
virtual void | v_GetCoord (const Array< OneD, const NekDouble > &Lcoords, Array< OneD, NekDouble > &coords) override |
virtual void | v_GetCoords (Array< OneD, NekDouble > &coords_1, Array< OneD, NekDouble > &coords_2, Array< OneD, NekDouble > &coords_3) override |
virtual NekDouble | v_PhysEvaluate (const Array< OneD, const NekDouble > &coord, const Array< OneD, const NekDouble > &physvals) override |
This function evaluates the expansion at a single (arbitrary) point of the domain. More... | |
virtual NekDouble | v_PhysEvaluate (const Array< OneD, NekDouble > &coord, const Array< OneD, const NekDouble > &inarray, std::array< NekDouble, 3 > &firstOrderDerivs) override |
virtual void | v_GetTracePhysVals (const int edge, const StdRegions::StdExpansionSharedPtr &EdgeExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient) override |
virtual void | v_GetTraceQFactors (const int edge, Array< OneD, NekDouble > &outarray) override |
virtual void | v_ComputeTraceNormal (const int edge) override |
virtual void | v_ExtractDataToCoeffs (const NekDouble *data, const std::vector< unsigned int > &nummodes, const int mode_offset, NekDouble *coeffs, std::vector< LibUtilities::BasisType > &fromType) override |
virtual StdRegions::Orientation | v_GetTraceOrient (int edge) override |
virtual void | v_GetTracePhysMap (const int edge, Array< OneD, int > &outarray) override |
virtual DNekMatSharedPtr | v_GenMatrix (const StdRegions::StdMatrixKey &mkey) override |
virtual DNekMatSharedPtr | v_CreateStdMatrix (const StdRegions::StdMatrixKey &mkey) override |
virtual DNekScalMatSharedPtr | v_GetLocMatrix (const MatrixKey &mkey) override |
void | v_DropLocMatrix (const MatrixKey &mkey) override |
virtual DNekScalBlkMatSharedPtr | v_GetLocStaticCondMatrix (const MatrixKey &mkey) override |
void | v_DropLocStaticCondMatrix (const MatrixKey &mkey) override |
virtual void | v_MassMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) override |
virtual void | v_LaplacianMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) override |
virtual void | v_LaplacianMatrixOp (const int k1, const int k2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) override |
virtual void | v_WeakDerivMatrixOp (const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) override |
virtual void | v_WeakDirectionalDerivMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) override |
virtual void | v_MassLevelCurvatureMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) override |
virtual void | v_HelmholtzMatrixOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) override |
virtual void | v_LaplacianMatrixOp_MatFree_Kernel (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp) override |
virtual void | v_ReduceOrderCoeffs (int numMin, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
virtual void | v_ComputeLaplacianMetric () override |
virtual void | v_SVVLaplacianFilter (Array< OneD, NekDouble > &array, const StdRegions::StdMatrixKey &mkey) override |
virtual void | v_NormalTraceDerivFactors (Array< OneD, Array< OneD, NekDouble >> &factors, Array< OneD, Array< OneD, NekDouble >> &d0factors, Array< OneD, Array< OneD, NekDouble >> &d1factors) override |
: This method gets all of the factors which are required as part of the Gradient Jump Penalty (GJP) stabilisation and involves the product of the normal and geometric factors along the element trace. More... | |
![]() | |
virtual void | v_StdPhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray) override |
virtual void | v_StdPhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
void | v_BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
virtual void | v_BwdTrans_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
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) override |
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) override |
virtual void | v_LocCoordToLocCollapsed (const Array< OneD, const NekDouble > &xi, Array< OneD, NekDouble > &eta) override |
virtual void | v_LocCollapsedToLocCoord (const Array< OneD, const NekDouble > &eta, Array< OneD, NekDouble > &xi) override |
virtual void | v_FillMode (const int mode, Array< OneD, NekDouble > &array) override |
Fill outarray with mode mode of expansion. More... | |
virtual int | v_GetNverts () const final override |
virtual int | v_GetNtraces () const final override |
virtual int | v_GetTraceNcoeffs (const int i) const final override |
virtual int | v_GetTraceIntNcoeffs (const int i) const final override |
virtual int | v_GetTraceNumPoints (const int i) const final override |
virtual int | v_NumBndryCoeffs () const final override |
virtual int | v_NumDGBndryCoeffs () const final override |
virtual int | v_CalcNumberOfCoefficients (const std::vector< unsigned int > &nummodes, int &modes_offset) override |
virtual const LibUtilities::BasisKey | v_GetTraceBasisKey (const int i, const int j) const final override |
virtual LibUtilities::ShapeType | v_DetShapeType () const final override |
virtual bool | v_IsBoundaryInteriorExpansion () const override |
virtual NekDouble | v_PhysEvaluateBasis (const Array< OneD, const NekDouble > &coords, int mode) override |
This function evaluates the basis function mode mode at a point coords of the domain. More... | |
virtual void | v_GetBoundaryMap (Array< OneD, unsigned int > &outarray) override |
virtual void | v_GetInteriorMap (Array< OneD, unsigned int > &outarray) override |
virtual int | v_GetVertexMap (int localVertexId, bool useCoeffPacking=false) override |
virtual void | v_GetTraceCoeffMap (const unsigned int traceid, Array< OneD, unsigned int > &maparray) override |
Get the map of the coefficient location to teh local trace coefficients. More... | |
void | v_GetTraceInteriorToElementMap (const int eid, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray, const Orientation edgeOrient=eForwards) override |
virtual void | v_ExponentialFilter (Array< OneD, NekDouble > &array, const NekDouble alpha, const NekDouble exponent, const NekDouble cutoff) override |
void | v_MultiplyByStdQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
virtual void | v_GetSimplexEquiSpacedConnectivity (Array< OneD, int > &conn, bool standard=true) override |
![]() | |
virtual NekDouble | v_PhysEvaluate (const Array< OneD, DNekMatSharedPtr > &I, const Array< OneD, const NekDouble > &physvals) override |
virtual void | v_LaplacianMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) override |
virtual void | v_HelmholtzMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::StdMatrixKey &mkey) override |
virtual void | v_GetElmtTraceToTraceMap (const unsigned int eid, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray, Orientation edgeOrient, int P, int Q) override |
Determine the mapping to re-orientate the coefficients along the element trace (assumed to align with the standard element) into the orientation of the local trace given by edgeOrient. More... | |
virtual void | v_GetTraceToElementMap (const int eid, Array< OneD, unsigned int > &maparray, Array< OneD, int > &signarray, Orientation edgeOrient=eForwards, int P=-1, int Q=-1) override |
virtual void | v_GenStdMatBwdDeriv (const int dir, DNekMatSharedPtr &mat) override |
![]() | |
DNekMatSharedPtr | CreateStdMatrix (const StdMatrixKey &mkey) |
DNekBlkMatSharedPtr | CreateStdStaticCondMatrix (const StdMatrixKey &mkey) |
Create the static condensation of a matrix when using a boundary interior decomposition. More... | |
void | BwdTrans_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | IProductWRTDerivBase_SumFac (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | IProductWRTDirectionalDerivBase_SumFac (const Array< OneD, const NekDouble > &direction, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | GeneralMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | MassMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LaplacianMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LaplacianMatrixOp_MatFree_Kernel (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wsp) |
void | LaplacianMatrixOp_MatFree_GenericImpl (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LaplacianMatrixOp_MatFree (const int k1, const int k2, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | WeakDerivMatrixOp_MatFree (const int i, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | WeakDirectionalDerivMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | MassLevelCurvatureMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | LinearAdvectionDiffusionReactionMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey, bool addDiffusionTerm=true) |
void | HelmholtzMatrixOp_MatFree (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
void | HelmholtzMatrixOp_MatFree_GenericImpl (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdMatrixKey &mkey) |
virtual void | v_SetCoeffsToOrientation (Array< OneD, NekDouble > &coeffs, StdRegions::Orientation dir) |
template<int DIR, bool DERIV = false, bool DERIV2 = false> | |
NekDouble | BaryEvaluate (const NekDouble &coord, const NekDouble *physvals, NekDouble &deriv, NekDouble &deriv2) |
This function performs the barycentric interpolation of the polynomial stored in coord at a point physvals using barycentric interpolation weights in direction. More... | |
template<int DIR> | |
NekDouble | BaryEvaluateBasis (const NekDouble &coord, const int &mode) |
template<int DIR, bool DERIV = false, bool DERIV2 = false> | |
NekDouble | BaryEvaluate (const NekDouble &coord, const NekDouble *physvals) |
Helper function to pass an unused value by reference into BaryEvaluate. More... | |
template<int DIR, bool DERIV = false, bool DERIV2 = false> | |
NekDouble | BaryEvaluate (const NekDouble &coord, const NekDouble *physvals, NekDouble &deriv) |
![]() | |
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) override |
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) override |
virtual void | v_AddEdgeNormBoundaryInt (const int edge, const ExpansionSharedPtr &EdgeExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) override |
virtual void | v_AddRobinMassMatrix (const int edgeid, const Array< OneD, const NekDouble > &primCoeffs, DNekMatSharedPtr &inoutmat) override |
virtual void | v_AddRobinTraceContribution (const int traceid, const Array< OneD, const NekDouble > &primCoeffs, const Array< OneD, NekDouble > &incoeffs, Array< OneD, NekDouble > &coeffs) override |
virtual DNekMatSharedPtr | v_BuildVertexMatrix (const DNekScalMatSharedPtr &r_bnd) override |
virtual void | v_ReOrientTracePhysMap (const StdRegions::Orientation orient, Array< OneD, int > &idmap, const int nq0, const int nq1) override |
virtual void | v_SetUpPhysNormals (const int edge) override |
virtual NekDouble | v_VectorFlux (const Array< OneD, Array< OneD, NekDouble >> &vec) override |
virtual void | v_TraceNormLen (const int traceid, NekDouble &h, NekDouble &p) override |
![]() | |
void | ComputeLaplacianMetric () |
void | ComputeQuadratureMetric () |
void | ComputeGmatcdotMF (const Array< TwoD, const NekDouble > &df, const Array< OneD, const NekDouble > &direction, Array< OneD, Array< OneD, NekDouble >> &dfdir) |
Array< OneD, NekDouble > | GetMF (const int dir, const int shapedim, const StdRegions::VarCoeffMap &varcoeffs) |
Array< OneD, NekDouble > | GetMFDiv (const int dir, const StdRegions::VarCoeffMap &varcoeffs) |
Array< OneD, NekDouble > | GetMFMag (const int dir, const StdRegions::VarCoeffMap &varcoeffs) |
virtual void | v_MultiplyByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
virtual void | v_DivideByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual int | v_GetCoordim () const override |
virtual DNekMatSharedPtr | v_BuildTransformationMatrix (const DNekScalMatSharedPtr &r_bnd, const StdRegions::MatrixType matrixType) |
virtual void | v_AddEdgeNormBoundaryInt (const int edge, const std::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 std::shared_ptr< Expansion > &EdgeExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
virtual void | v_AddFaceNormBoundaryInt (const int face, const std::shared_ptr< Expansion > &FaceExp, const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
virtual void | v_SetCoeffsToOrientation (StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) override |
virtual const Array< OneD, const NekDouble > & | v_GetPhysNormals () |
virtual void | v_SetPhysNormals (Array< OneD, const NekDouble > &normal) |
Private Member Functions | |
void | GetEdgeInterpVals (const int edge, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
QuadExp () | |
Nektar::LocalRegions::QuadExp::QuadExp | ( | const LibUtilities::BasisKey & | Ba, |
const LibUtilities::BasisKey & | Bb, | ||
const SpatialDomains::Geometry2DSharedPtr & | geom | ||
) |
Constructor using BasisKey class for quadrature points and order definition.
Definition at line 51 of file QuadExp.cpp.
Nektar::LocalRegions::QuadExp::QuadExp | ( | const QuadExp & | T | ) |
Definition at line 66 of file QuadExp.cpp.
|
overridevirtualdefault |
|
private |
|
private |
Definition at line 661 of file QuadExp.cpp.
References ASSERTL0, Blas::Ddot(), Nektar::StdRegions::StdExpansion::DetShapeType(), Nektar::StdRegions::eFactorGaussEdge, Nektar::StdRegions::eInterpGauss, Nektar::StdRegions::StdExpansion::m_base, and m_matrixManager.
Referenced by v_ComputeTraceNormal(), v_GetTracePhysVals(), and v_GetTraceQFactors().
|
overrideprotectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 456 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, Nektar::StdRegions::StdExpansion::m_ncoeffs, Vmath::Smul(), and Vmath::Vmul().
Referenced by v_IProductWRTDerivBase_SumFac().
|
overrideprotectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 1557 of file QuadExp.cpp.
References Nektar::LocalRegions::Expansion::ComputeQuadratureMetric(), Nektar::SpatialDomains::eDeformed, Nektar::LocalRegions::eMetricLaplacian00, Nektar::LocalRegions::eMetricLaplacian01, Nektar::LocalRegions::eMetricLaplacian02, Nektar::LocalRegions::eMetricLaplacian11, Nektar::LocalRegions::eMetricLaplacian12, Nektar::LocalRegions::eMetricLaplacian22, Nektar::LocalRegions::eMetricQuadrature, Vmath::Fill(), Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::GetTotPoints(), Nektar::LocalRegions::Expansion::m_metricinfo, Nektar::LocalRegions::Expansion::m_metrics, Nektar::StdRegions::StdExpansion::MultiplyByQuadratureMetric(), and Vmath::Vcopy().
|
overrideprotectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 981 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(), GetEdgeInterpVals(), Nektar::LocalRegions::Expansion::GetGeom(), Nektar::LibUtilities::PointsKey::GetNumPoints(), Nektar::StdRegions::StdExpansion::GetNumPoints(), Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::GetPointsType(), Nektar::LibUtilities::Interp1D(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_elmtBndNormDirElmtLen, Nektar::LocalRegions::Expansion::m_traceNormals, Vmath::Reverse(), Vmath::Sdiv(), Vmath::Smul(), tinysimd::sqrt(), Vmath::Vcopy(), Vmath::Vmul(), Vmath::Vsqrt(), Vmath::Vvtvp(), and Vmath::Zero().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1379 of file QuadExp.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and Nektar::StdRegions::StdExpansion::m_base.
|
overrideprotectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 1394 of file QuadExp.cpp.
References m_matrixManager.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1404 of file QuadExp.cpp.
References m_staticCondMatrixManager.
|
overrideprotectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 1264 of file QuadExp.cpp.
References ASSERTL0, ASSERTL1, Nektar::StdRegions::StdExpansion::BwdTrans(), Nektar::LibUtilities::eGauss_Lagrange, Nektar::LibUtilities::eGaussGaussLegendre, Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eGLL_Lagrange, Nektar::LibUtilities::eModified_A, Nektar::StdRegions::StdExpansion::FwdTrans(), Nektar::StdRegions::StdExpansion::GetBasisType(), Nektar::StdRegions::StdExpansion::GetNcoeffs(), Nektar::StdRegions::StdExpansion::GetTotPoints(), Nektar::LibUtilities::Interp2D(), Nektar::StdRegions::StdExpansion::m_base, Nektar::StdRegions::StdExpansion::m_ncoeffs, Vmath::Vcopy(), and Vmath::Zero().
|
overrideprotectedvirtual |
Transform a given function from physical quadrature space to coefficient space.
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 231 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().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 254 of file QuadExp.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::StdRegions::StdExpansion::DetShapeType(), Blas::Dgemv(), Nektar::StdRegions::eBackwards, Nektar::StdRegions::eMass, Nektar::LocalRegions::Expansion2D::GetGeom2D(), Nektar::StdRegions::StdExpansion::GetInteriorMap(), Nektar::LocalRegions::Expansion::GetTraceOrient(), Nektar::StdRegions::StdExpansion::GetTraceToElementMap(), 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().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1359 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, Nektar::StdRegions::StdMatrixKey::GetMatrixType(), and Nektar::LocalRegions::Expansion2D::v_GenMatrix().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 549 of file QuadExp.cpp.
References ASSERTL1, and Nektar::LocalRegions::Expansion::m_geom.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 542 of file QuadExp.cpp.
References Nektar::LocalRegions::Expansion::v_GetCoords().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 531 of file QuadExp.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::StdRegions::StdExpansion::GetBasisType(), and Nektar::StdRegions::StdExpansion::m_base.
|
overrideprotectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 1389 of file QuadExp.cpp.
References m_matrixManager.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1399 of file QuadExp.cpp.
References m_staticCondMatrixManager.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 525 of file QuadExp.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and Nektar::StdRegions::StdExpansion::m_base.
|
overrideprotectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 1354 of file QuadExp.cpp.
References Nektar::LocalRegions::Expansion::m_geom.
|
overrideprotectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 725 of file QuadExp.cpp.
References ASSERTL0, and Nektar::StdRegions::StdExpansion::m_base.
|
overrideprotectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 599 of file QuadExp.cpp.
References ASSERTL0, Nektar::StdRegions::eBackwards, Nektar::LibUtilities::eGaussGaussLegendre, Nektar::StdRegions::eNoOrientation, GetEdgeInterpVals(), Nektar::StdRegions::StdExpansion::GetPointsType(), Nektar::LocalRegions::Expansion::GetTraceOrient(), Nektar::LibUtilities::Interp1D(), Nektar::StdRegions::StdExpansion::m_base, Vmath::Reverse(), and Vmath::Vcopy().
|
overrideprotectedvirtual |
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 767 of file QuadExp.cpp.
References ASSERTL0, Nektar::SpatialDomains::eDeformed, Nektar::LibUtilities::eGaussGaussLegendre, GetEdgeInterpVals(), Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::GetPointsType(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_metricinfo, Vmath::Reverse(), tinysimd::sqrt(), Vmath::Vcopy(), and Vmath::Vmul().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1453 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::HelmholtzMatrixOp_MatFree().
|
overrideprotectedvirtual |
Integrates the specified function over the domain.
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 73 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().
|
overrideprotectedvirtual |
Calculate the inner product of inarray with respect to the basis B=base0*base1 and put into outarray.
\( \begin{array}{rcl} I_{pq} = (\phi_p \phi_q, u) & = & \sum_{i=0}^{nq_0} \sum_{j=0}^{nq_1} \phi_p(\xi_{0,i}) \phi_q(\xi_{1,j}) w^0_i w^1_j u(\xi_{0,i} \xi_{1,j}) \\ & = & \sum_{i=0}^{nq_0} \phi_p(\xi_{0,i}) \sum_{j=0}^{nq_1} \phi_q(\xi_{1,j}) \tilde{u}_{i,j} \end{array} \)
where
\( \tilde{u}_{i,j} = w^0_i w^1_j u(\xi_{0,i},\xi_{1,j}) \)
which can be implemented as
\( f_{qi} = \sum_{j=0}^{nq_1} \phi_q(\xi_{1,j}) \tilde{u}_{i,j} = {\bf B_1 U} \) \( I_{pq} = \sum_{i=0}^{nq_0} \phi_p(\xi_{0,i}) f_{qi} = {\bf B_0 F} \)
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 374 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::IProductWRTBase_SumFac(), Nektar::StdRegions::StdExpansion::m_base, and Nektar::StdRegions::StdExpansion::MultiplyByQuadratureMetric().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 394 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::m_base, and Nektar::StdRegions::StdExpansion::MultiplyByQuadratureMetric().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 387 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::IProductWRTDerivBase_SumFac().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 422 of file QuadExp.cpp.
References ASSERTL1, Nektar::StdRegions::StdExpansion2D::IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_geom, Nektar::StdRegions::StdExpansion::m_ncoeffs, Nektar::StdRegions::StdExpansion::MultiplyByQuadratureMetric(), v_AlignVectorToCollapsedDir(), and Vmath::Vadd().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1416 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::LaplacianMatrixOp_MatFree().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1423 of file QuadExp.cpp.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1500 of file QuadExp.cpp.
References ASSERTL1, Nektar::LocalRegions::Expansion::ComputeLaplacianMetric(), Nektar::LocalRegions::eMetricLaplacian00, Nektar::LocalRegions::eMetricLaplacian01, Nektar::LocalRegions::eMetricLaplacian11, Nektar::StdRegions::StdExpansion2D::IProductWRTBase_SumFacKernel(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_metrics, Nektar::StdRegions::StdExpansion::m_ncoeffs, Vmath::Vadd(), and Vmath::Vvtvvtp().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1446 of file QuadExp.cpp.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1409 of file QuadExp.cpp.
|
overrideprotectedvirtual |
: This method gets all of the factors which are required as part of the Gradient Jump Penalty (GJP) stabilisation and involves the product of the normal and geometric factors along the element trace.
Reimplemented from Nektar::LocalRegions::Expansion.
Definition at line 1626 of file QuadExp.cpp.
References Nektar::SpatialDomains::eDeformed, Nektar::StdRegions::StdExpansion::GetNumPoints(), Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::LocalRegions::Expansion::GetTraceNormal(), and Nektar::LocalRegions::Expansion::m_metricinfo.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 518 of file QuadExp.cpp.
References Nektar::StdRegions::StdExpansion::NormVectorIProductWRTBase().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 490 of file QuadExp.cpp.
References Nektar::SpatialDomains::eDeformed, Nektar::LocalRegions::Expansion::GetLeftAdjacentElementExp(), Nektar::LocalRegions::Expansion::GetLeftAdjacentElementTrace(), Nektar::StdRegions::StdExpansion::IProductWRTBase(), Nektar::StdRegions::StdExpansion::m_base, Nektar::LocalRegions::Expansion::m_metricinfo, Vmath::Svtsvtp(), Vmath::Svtvp(), Vmath::Vvtvp(), and Vmath::Vvtvvtp().
|
overrideprotectedvirtual |
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 96 of file QuadExp.cpp.
References Blas::Daxpy(), 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().
|
overrideprotectedvirtual |
Calculate the derivative of the physical points in a given direction.
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 153 of file QuadExp.cpp.
References ASSERTL1, Nektar::NullNekDouble1DArray, and v_PhysDeriv().
|
overrideprotectedvirtual |
Physical derivative along a direction vector.
D_v = d/dx_v^s + d/dx_v^r
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 185 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, Vmath::Vmul(), and Vmath::Vvtvp().
|
overrideprotectedvirtual |
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 \( \mathbf{x_c}\) given by the pointer coords). This operation, equivalent to
\[ u(\mathbf{x_c}) = \sum_p \phi_p(\mathbf{x_c}) \hat{u}_p \]
is evaluated using Lagrangian interpolants through the quadrature points:
\[ u(\mathbf{x_c}) = \sum_p h_p(\mathbf{x_c}) u_p\]
This function requires that the physical value array \(\mathbf{u}\) (implemented as the attribute #m_phys) is set.
coords | the coordinates of the single point |
Reimplemented from Nektar::StdRegions::StdExpansion2D.
Definition at line 578 of file QuadExp.cpp.
References ASSERTL0, and Nektar::LocalRegions::Expansion::m_geom.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 589 of file QuadExp.cpp.
References ASSERTL0, and Nektar::LocalRegions::Expansion::m_geom.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1460 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().
|
overrideprotectedvirtual |
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 570 of file QuadExp.cpp.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1594 of file QuadExp.cpp.
References Nektar::SpatialDomains::eDeformed, Vmath::Fill(), Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::GetTotPoints(), Nektar::LocalRegions::Expansion::m_metricinfo, tinysimd::sqrt(), Vmath::Vdiv(), Vmath::Vmul(), and Vmath::Vsqrt().
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdQuadExp.
Definition at line 1431 of file QuadExp.cpp.
|
overrideprotectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 1439 of file QuadExp.cpp.
|
private |
Definition at line 246 of file QuadExp.h.
Referenced by GetEdgeInterpVals(), v_DropLocMatrix(), v_FwdTrans(), and v_GetLocMatrix().
|
private |
Definition at line 248 of file QuadExp.h.
Referenced by v_DropLocStaticCondMatrix(), v_FwdTransBndConstrained(), and v_GetLocStaticCondMatrix().