Nektar++
|
#include <Expansion.h>
Public Member Functions | |
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) |
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) |
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) |
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) const |
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) |
virtual 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 |
![]() | |
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 (void) const |
std::shared_ptr< StdExpansion > | GetLinStdExp (void) const |
int | GetShapeDimension () const |
bool | IsBoundaryInteriorExpansion () |
bool | IsNodalNonTensorialExp () |
void | BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function performs the Backward transformation from coefficient space to physical space. More... | |
void | FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function performs the Forward transformation from physical space to coefficient space. More... | |
void | FwdTrans_BndConstrained (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
NekDouble | Integral (const Array< OneD, const NekDouble > &inarray) |
This function integrates the specified function over the domain. More... | |
void | FillMode (const int mode, Array< OneD, NekDouble > &outarray) |
This function fills the array outarray with the mode-th mode of the expansion. More... | |
void | IProductWRTBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
this function calculates the inner product of a given function f with the different modes of the expansion More... | |
void | IProductWRTBase (const Array< OneD, const NekDouble > &base, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, int coll_check) |
void | IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
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 | 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, 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 int | v_CalcNumberOfCoefficients (const std::vector< unsigned int > &nummodes, int &modes_offset) |
virtual void | v_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, Array< OneD, NekDouble > &outarray) |
virtual void | v_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
virtual void | v_NormVectorIProductWRTBase (const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, const Array< OneD, const NekDouble > &Fz, Array< OneD, NekDouble > &outarray) |
virtual void | v_NormVectorIProductWRTBase (const Array< OneD, const Array< OneD, NekDouble > > &Fvec, Array< OneD, NekDouble > &outarray) |
virtual DNekScalBlkMatSharedPtr | v_GetLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey) |
virtual void | v_DropLocStaticCondMatrix (const LocalRegions::MatrixKey &mkey) |
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) |
Protected Member Functions | |
void | ComputeLaplacianMetric () |
void | ComputeQuadratureMetric () |
void | ComputeGmatcdotMF (const Array< TwoD, const NekDouble > &df, const Array< OneD, const NekDouble > &direction, Array< OneD, Array< OneD, NekDouble > > &dfdir) |
virtual void | v_MultiplyByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_DivideByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_ComputeLaplacianMetric () |
virtual void | v_GetCoords (Array< OneD, NekDouble > &coords_1, Array< OneD, NekDouble > &coords_2, Array< OneD, NekDouble > &coords_3) |
Array< OneD, NekDouble > | v_GetMF (const int dir, const int shapedim, const StdRegions::VarCoeffMap &varcoeffs) |
Array< OneD, NekDouble > | v_GetMFDiv (const int dir, const StdRegions::VarCoeffMap &varcoeffs) |
Array< OneD, NekDouble > | v_GetMFMag (const int dir, const StdRegions::VarCoeffMap &varcoeffs) |
virtual DNekScalMatSharedPtr | v_GetLocMatrix (const LocalRegions::MatrixKey &mkey) |
virtual DNekMatSharedPtr | v_BuildTransformationMatrix (const DNekScalMatSharedPtr &r_bnd, const StdRegions::MatrixType matrixType) |
virtual DNekMatSharedPtr | v_BuildVertexMatrix (const DNekScalMatSharedPtr &r_bnd) |
virtual void | v_ExtractDataToCoeffs (const NekDouble *data, const std::vector< unsigned int > &nummodes, const int nmodes_offset, NekDouble *coeffs, std::vector< LibUtilities::BasisType > &fromType) |
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_DGDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, ExpansionSharedPtr > &EdgeExp, Array< OneD, Array< OneD, NekDouble > > &coeffs, Array< OneD, NekDouble > &outarray) |
virtual NekDouble | v_VectorFlux (const Array< OneD, Array< OneD, NekDouble > > &vec) |
virtual void | v_AlignVectorToCollapsedDir (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) |
virtual StdRegions::Orientation | v_GetTraceOrient (int trace) |
virtual void | v_SetCoeffsToOrientation (StdRegions::Orientation dir, Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_GetTraceQFactors (const int trace, Array< OneD, NekDouble > &outarray) |
virtual void | v_GetTracePhysVals (const int trace, const StdRegions::StdExpansionSharedPtr &TraceExp, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, StdRegions::Orientation orient) |
virtual void | v_GetTracePhysMap (const int edge, Array< OneD, int > &outarray) |
virtual void | v_ReOrientTracePhysMap (const StdRegions::Orientation orient, Array< OneD, int > &idmap, const int nq0, const int nq1=-1) |
virtual const NormalVector & | v_GetTraceNormal (const int id) const |
virtual void | v_ComputeTraceNormal (const int id) |
virtual const Array< OneD, const NekDouble > & | v_GetPhysNormals (void) |
virtual void | v_SetPhysNormals (Array< OneD, const NekDouble > &normal) |
virtual void | v_SetUpPhysNormals (const int id) |
virtual void | v_AddRobinMassMatrix (const int face, const Array< OneD, const NekDouble > &primCoeffs, DNekMatSharedPtr &inoutmat) |
virtual void | v_AddRobinTraceContribution (const int traceid, const Array< OneD, const NekDouble > &primCoeffs, const Array< OneD, NekDouble > &incoeffs, Array< OneD, NekDouble > &coeffs) |
![]() | |
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_MatOp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | BwdTrans_SumFac (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | IProductWRTDerivBase_SumFac (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | 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) |
virtual NekDouble | v_StdPhysEvaluate (const Array< OneD, const NekDouble > &Lcoord, const Array< OneD, const NekDouble > &physvals) |
virtual void | v_GenStdMatBwdDeriv (const int dir, DNekMatSharedPtr &mat) |
virtual void | v_MultiplyByStdQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
template<int DIR> | |
NekDouble | BaryEvaluate (const NekDouble &coord, const NekDouble *physvals) |
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) |
Protected Attributes | |
LibUtilities::NekManager< IndexMapKey, IndexMapValues, IndexMapKey::opLess > | m_indexMapManager |
std::vector< ExpansionWeakPtr > | m_traceExp |
SpatialDomains::GeometrySharedPtr | m_geom |
SpatialDomains::GeomFactorsSharedPtr | m_metricinfo |
MetricMap | m_metrics |
ExpansionWeakPtr | m_elementLeft |
ExpansionWeakPtr | m_elementRight |
int | m_elementTraceLeft = -1 |
int | m_elementTraceRight = -1 |
std::map< int, Array< OneD, NekDouble > > | m_elmtBndNormDirElmtLen |
the element length in each element boundary(Vertex, edge or face) normal direction calculated based on the local m_metricinfo times the standard element length (which is 2.0) More... | |
![]() | |
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 |
Definition at line 73 of file Expansion.h.
Nektar::LocalRegions::Expansion::Expansion | ( | SpatialDomains::GeometrySharedPtr | pGeom | ) |
Definition at line 47 of file Expansion.cpp.
References Nektar::SpatialDomains::eDeformed, Nektar::ErrorUtil::ewarning, Nektar::StdRegions::StdExpansion::m_base, m_geom, m_metricinfo, and NEKERROR.
Nektar::LocalRegions::Expansion::Expansion | ( | const Expansion & | pSrc | ) |
Definition at line 78 of file Expansion.cpp.
|
virtual |
Definition at line 86 of file Expansion.cpp.
void Nektar::LocalRegions::Expansion::AddEdgeNormBoundaryInt | ( | const int | edge, |
const std::shared_ptr< Expansion > & | EdgeExp, | ||
const Array< OneD, const NekDouble > & | Fn, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
Definition at line 130 of file Expansion.cpp.
References v_AddEdgeNormBoundaryInt().
void Nektar::LocalRegions::Expansion::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 | ||
) |
Definition at line 120 of file Expansion.cpp.
References v_AddEdgeNormBoundaryInt().
Referenced by Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt().
void Nektar::LocalRegions::Expansion::AddFaceNormBoundaryInt | ( | const int | face, |
const std::shared_ptr< Expansion > & | FaceExp, | ||
const Array< OneD, const NekDouble > & | Fn, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
Definition at line 139 of file Expansion.cpp.
References v_AddFaceNormBoundaryInt().
|
inline |
Definition at line 247 of file Expansion.h.
References v_AddRobinMassMatrix().
|
inlinevirtual |
Definition at line 255 of file Expansion.h.
References v_AddRobinTraceContribution().
|
inline |
Definition at line 144 of file Expansion.h.
References v_AlignVectorToCollapsedDir().
Referenced by Nektar::LocalRegions::NodalTriExp::IProductWRTDerivBase_SumFac().
DNekMatSharedPtr Nektar::LocalRegions::Expansion::BuildTransformationMatrix | ( | const DNekScalMatSharedPtr & | r_bnd, |
const StdRegions::MatrixType | matrixType | ||
) |
Definition at line 95 of file Expansion.cpp.
References v_BuildTransformationMatrix().
Referenced by Nektar::LocalRegions::HexExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), and Nektar::LocalRegions::TetExp::CreateMatrix().
DNekMatSharedPtr Nektar::LocalRegions::Expansion::BuildVertexMatrix | ( | const DNekScalMatSharedPtr & | r_bnd | ) |
Definition at line 103 of file Expansion.cpp.
References v_BuildVertexMatrix().
Referenced by Nektar::LocalRegions::HexExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::PyrExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::TetExp::CreateMatrix(), and Nektar::LocalRegions::TriExp::CreateMatrix().
|
protected |
Definition at line 399 of file Expansion.cpp.
References Nektar::SpatialDomains::eDeformed, Nektar::StdRegions::StdExpansion::GetCoordim(), m_metricinfo, Vmath::Svtvp(), and Vmath::Vvtvp().
Referenced by Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::HexExp::IProductWRTDirectionalDerivBase_SumFac(), Nektar::LocalRegions::TriExp::v_IProductWRTDirectionalDerivBase_SumFac(), and Nektar::LocalRegions::HexExp::v_PhysDirectionalDeriv().
|
protected |
Definition at line 294 of file Expansion.cpp.
References v_ComputeLaplacianMetric().
Referenced by Nektar::LocalRegions::HexExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::PyrExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::QuadExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TetExp::v_LaplacianMatrixOp_MatFree_Kernel(), and Nektar::LocalRegions::TriExp::v_LaplacianMatrixOp_MatFree_Kernel().
|
protected |
Definition at line 299 of file Expansion.cpp.
References Nektar::LocalRegions::eMetricQuadrature, Nektar::SpatialDomains::eMovingRegular, Nektar::SpatialDomains::eRegular, Nektar::StdRegions::StdExpansion::GetPointsKeys(), Nektar::StdRegions::StdExpansion::GetTotPoints(), m_metricinfo, m_metrics, CellMLToNektar.cellml_metadata::p, and Nektar::StdRegions::StdExpansion::v_MultiplyByStdQuadratureMetric().
Referenced by Nektar::LocalRegions::HexExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), v_DivideByQuadratureMetric(), and v_MultiplyByQuadratureMetric().
|
inline |
Definition at line 227 of file Expansion.h.
References v_ComputeTraceNormal().
IndexMapValuesSharedPtr Nektar::LocalRegions::Expansion::CreateIndexMap | ( | const IndexMapKey & | ikey | ) |
Definition at line 186 of file Expansion.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::LocalRegions::eBoundary, Nektar::LocalRegions::eEdgeInterior, Nektar::LocalRegions::eEdgeToElement, Nektar::LocalRegions::eFaceInterior, Nektar::LocalRegions::eFaceToElement, Nektar::LocalRegions::eVertex, Nektar::LocalRegions::IndexMapKey::GetIndexEntity(), Nektar::LocalRegions::IndexMapKey::GetIndexMapType(), Nektar::LocalRegions::IndexMapKey::GetIndexOrientation(), Nektar::StdRegions::StdExpansion::GetTraceToElementMap(), and sign.
void Nektar::LocalRegions::Expansion::DGDeriv | ( | const int | dir, |
const Array< OneD, const NekDouble > & | inarray, | ||
Array< OneD, ExpansionSharedPtr > & | EdgeExp, | ||
Array< OneD, Array< OneD, NekDouble > > & | coeffs, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
Definition at line 148 of file Expansion.cpp.
References v_DGDeriv().
|
inline |
Divided by the metric jacobi and quadrature weights.
Definition at line 178 of file Expansion.h.
References v_DivideByQuadratureMetric().
void Nektar::LocalRegions::Expansion::ExtractDataToCoeffs | ( | const NekDouble * | data, |
const std::vector< unsigned int > & | nummodes, | ||
const int | nmodes_offset, | ||
NekDouble * | coeffs, | ||
std::vector< LibUtilities::BasisType > & | fromType | ||
) |
Definition at line 110 of file Expansion.cpp.
References v_ExtractDataToCoeffs().
const Array< OneD, const NekDouble > & Nektar::LocalRegions::Expansion::GetElmtBndNormDirElmtLen | ( | const int | nbnd | ) | const |
Definition at line 746 of file Expansion.cpp.
References ASSERTL0, and m_elmtBndNormDirElmtLen.
SpatialDomains::GeometrySharedPtr Nektar::LocalRegions::Expansion::GetGeom | ( | ) | const |
Definition at line 172 of file Expansion.cpp.
References m_geom.
Referenced by Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner(), Nektar::LocalRegions::NodalTriExp::v_ComputeTraceNormal(), Nektar::LocalRegions::QuadExp::v_ComputeTraceNormal(), Nektar::LocalRegions::TriExp::v_ComputeTraceNormal(), Nektar::LocalRegions::HexExp::v_ComputeTraceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeTraceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeTraceNormal(), Nektar::LocalRegions::TetExp::v_ComputeTraceNormal(), and Nektar::LocalRegions::SegExp::v_ComputeTraceNormal().
|
inline |
Definition at line 138 of file Expansion.h.
References m_indexMapManager.
Referenced by Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt().
|
inline |
Definition at line 437 of file Expansion.h.
References ASSERTL1, and m_elementLeft.
Referenced by Nektar::LocalRegions::PointExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::SegExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::QuadExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::TriExp::v_NormVectorIProductWRTBase(), and Nektar::LocalRegions::Expansion2D::v_VectorFlux().
|
inline |
Definition at line 454 of file Expansion.h.
References m_elementTraceLeft.
Referenced by Nektar::LocalRegions::PointExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::SegExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::QuadExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::TriExp::v_NormVectorIProductWRTBase(), and Nektar::LocalRegions::Expansion2D::v_VectorFlux().
DNekScalMatSharedPtr Nektar::LocalRegions::Expansion::GetLocMatrix | ( | const LocalRegions::MatrixKey & | mkey | ) |
Definition at line 90 of file Expansion.cpp.
References v_GetLocMatrix().
Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::LocalRegions::HexExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PrismExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PyrExp::CreateStaticCondMatrix(), Nektar::LocalRegions::QuadExp::CreateStaticCondMatrix(), Nektar::LocalRegions::SegExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TetExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::GeneralMatrixOp_MatOp(), Nektar::LocalRegions::TetExp::GeneralMatrixOp_MatOp(), GetLocMatrix(), Nektar::LocalRegions::Expansion2D::v_DGDeriv(), Nektar::LocalRegions::HexExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::PrismExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::QuadExp::v_GeneralMatrixOp_MatOp(), Nektar::LocalRegions::TriExp::v_GeneralMatrixOp_MatOp(), and Nektar::LocalRegions::Expansion2D::v_GenMatrix().
DNekScalMatSharedPtr Nektar::LocalRegions::Expansion::GetLocMatrix | ( | const StdRegions::MatrixType | mtype, |
const StdRegions::ConstFactorMap & | factors = StdRegions::NullConstFactorMap , |
||
const StdRegions::VarCoeffMap & | varcoeffs = StdRegions::NullVarCoeffMap |
||
) |
Definition at line 164 of file Expansion.cpp.
References Nektar::StdRegions::StdExpansion::DetShapeType(), and GetLocMatrix().
const SpatialDomains::GeomFactorsSharedPtr & Nektar::LocalRegions::Expansion::GetMetricInfo | ( | ) | const |
Definition at line 251 of file Expansion.cpp.
References m_metricinfo.
Referenced by Nektar::Collections::CoalescedGeomData::GetDerivFactors(), Nektar::Collections::CoalescedGeomData::GetJac(), Nektar::Collections::CoalescedGeomData::GetJacWithStdWeights(), Nektar::Collections::CoalescedGeomData::IsDeformed(), Nektar::FieldUtils::ProcessJacobianEnergy::Process(), Nektar::FieldUtils::ProcessScalGrad::Process(), Nektar::SolverUtils::DiffusionLFR::v_DerCFlux_1D(), Nektar::SolverUtils::DiffusionLFRNS::v_DerCFlux_1D(), Nektar::SolverUtils::DiffusionLFR::v_DerCFlux_2D(), Nektar::SolverUtils::DiffusionLFRNS::v_DerCFlux_2D(), Nektar::SolverUtils::AdvectionFR::v_SetupMetrics(), Nektar::SolverUtils::DiffusionLFR::v_SetupMetrics(), and Nektar::SolverUtils::DiffusionLFRNS::v_SetupMetrics().
Definition at line 232 of file Expansion.h.
References v_GetPhysNormals().
|
inline |
Definition at line 445 of file Expansion.h.
References ASSERTL1, m_elementLeft, and m_elementRight.
|
inline |
Definition at line 459 of file Expansion.h.
References m_elementTraceRight.
|
inline |
Definition at line 417 of file Expansion.h.
References ASSERTL1, Nektar::StdRegions::StdExpansion::GetNtraces(), and m_traceExp.
Referenced by Nektar::LocalRegions::Expansion2D::v_GenMatrix().
|
inline |
Definition at line 222 of file Expansion.h.
References v_GetTraceNormal().
Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::LocalRegions::Expansion2D::AddNormTraceInt(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::LocalRegions::PointExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::SegExp::v_NormVectorIProductWRTBase(), and Nektar::LocalRegions::Expansion2D::v_VectorFlux().
|
inline |
Definition at line 164 of file Expansion.h.
References v_GetTraceOrient().
Referenced by Nektar::LocalRegions::Expansion2D::AddHDGHelmholtzEdgeTerms(), Nektar::LocalRegions::Expansion2D::GetPhysEdgeVarCoeffsFromElement(), Nektar::LocalRegions::Expansion2D::SetTraceToGeomOrientation(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), Nektar::LocalRegions::QuadExp::v_FwdTrans_BndConstrained(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::LocalRegions::QuadExp::v_GetEdgePhysVals(), Nektar::LocalRegions::QuadExp::v_GetTracePhysVals(), and Nektar::LocalRegions::TriExp::v_GetTracePhysVals().
|
inline |
Definition at line 206 of file Expansion.h.
References v_GetTracePhysMap().
|
inline |
Definition at line 197 of file Expansion.h.
References v_GetTracePhysVals().
Referenced by Nektar::MultiRegions::DisContField3DHomogeneous1D::GetBCValues().
|
inline |
Extract the metric factors to compute the contravariant fluxes along edge edge and stores them into outarray following the local edge orientation (i.e. anticlockwise convention).
Definition at line 191 of file Expansion.h.
References v_GetTraceQFactors().
|
inline |
Definition at line 213 of file Expansion.h.
References v_ReOrientTracePhysMap().
void Nektar::LocalRegions::Expansion::Reset | ( | ) |
|
inline |
Definition at line 464 of file Expansion.h.
References m_elementLeft, m_elementRight, m_elementTraceLeft, and m_elementTraceRight.
|
inline |
Definition at line 169 of file Expansion.h.
References v_SetCoeffsToOrientation().
|
inline |
Definition at line 237 of file Expansion.h.
References v_SetPhysNormals().
|
inline |
Definition at line 423 of file Expansion.h.
References ASSERTL1, Nektar::StdRegions::StdExpansion::GetNtraces(), and m_traceExp.
|
inline |
Definition at line 242 of file Expansion.h.
References v_SetUpPhysNormals().
|
protectedvirtual |
|
protectedvirtual |
Definition at line 592 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddEdgeNormBoundaryInt().
|
protectedvirtual |
Definition at line 613 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddFaceNormBoundaryInt().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion1D, Nektar::LocalRegions::Expansion3D, and Nektar::LocalRegions::Expansion2D.
Definition at line 727 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddRobinMassMatrix().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion2D.
Definition at line 736 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddRobinTraceContribution().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::TriExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::NodalTriExp, and Nektar::LocalRegions::HexExp.
Definition at line 755 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AlignVectorToCollapsedDir().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion3D.
Definition at line 563 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::NullDNekMatSharedPtr.
Referenced by BuildTransformationMatrix().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion3D, and Nektar::LocalRegions::Expansion2D.
Definition at line 572 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::NullDNekMatSharedPtr.
Referenced by BuildVertexMatrix().
|
inlineprotectedvirtual |
Reimplemented in Nektar::LocalRegions::TriExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::PyrExp, and Nektar::LocalRegions::HexExp.
Definition at line 301 of file Expansion.h.
Referenced by ComputeLaplacianMetric().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::QuadExp, and Nektar::LocalRegions::NodalTriExp.
Definition at line 702 of file Expansion.cpp.
References ASSERTL0.
Referenced by ComputeTraceNormal(), and Nektar::LocalRegions::Expansion2D::v_SetUpPhysNormals().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion3D, and Nektar::LocalRegions::Expansion2D.
Definition at line 623 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by DGDeriv().
|
protectedvirtual |
Definition at line 277 of file Expansion.cpp.
References ComputeQuadratureMetric(), Nektar::LocalRegions::eMetricQuadrature, Nektar::StdRegions::StdExpansion::GetTotPoints(), m_metrics, and Vmath::Vdiv().
Referenced by DivideByQuadratureMetric().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::PrismExp, and Nektar::LocalRegions::HexExp.
Definition at line 580 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by ExtractDataToCoeffs().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::NodalTriExp, and Nektar::LocalRegions::PointExp.
Definition at line 318 of file Expansion.cpp.
References ASSERTL1, Nektar::LibUtilities::Interp1D(), Nektar::LibUtilities::Interp2D(), Nektar::LibUtilities::Interp3D(), Nektar::StdRegions::StdExpansion::m_base, and m_geom.
Referenced by Nektar::LocalRegions::NodalTriExp::GetCoords(), Nektar::LocalRegions::HexExp::v_GetCoords(), Nektar::LocalRegions::PrismExp::v_GetCoords(), Nektar::LocalRegions::PyrExp::v_GetCoords(), Nektar::LocalRegions::QuadExp::v_GetCoords(), Nektar::LocalRegions::TetExp::v_GetCoords(), Nektar::LocalRegions::TriExp::v_GetCoords(), and Nektar::LocalRegions::SegExp::v_GetCoords().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TriExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::QuadExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::NodalTriExp, and Nektar::LocalRegions::HexExp.
Definition at line 257 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::NullDNekScalMatSharedPtr.
Referenced by GetLocMatrix().
|
protected |
Definition at line 434 of file Expansion.cpp.
References Nektar::StdRegions::eVarCoeffMF1Div, Nektar::StdRegions::eVarCoeffMF1Mag, Nektar::StdRegions::eVarCoeffMF1x, Nektar::StdRegions::eVarCoeffMF1y, Nektar::StdRegions::eVarCoeffMF1z, Nektar::StdRegions::eVarCoeffMF2Div, Nektar::StdRegions::eVarCoeffMF2Mag, Nektar::StdRegions::eVarCoeffMF2x, Nektar::StdRegions::eVarCoeffMF2y, Nektar::StdRegions::eVarCoeffMF2z, Nektar::StdRegions::eVarCoeffMF3Div, Nektar::StdRegions::eVarCoeffMF3Mag, Nektar::StdRegions::eVarCoeffMF3x, Nektar::StdRegions::eVarCoeffMF3y, Nektar::StdRegions::eVarCoeffMF3z, Nektar::StdRegions::StdExpansion::GetCoordim(), Nektar::StdRegions::StdExpansion::m_base, and Vmath::Vcopy().
Referenced by Nektar::LocalRegions::Expansion2D::v_GetMF().
|
protected |
Definition at line 498 of file Expansion.cpp.
References Nektar::StdRegions::eVarCoeffMF1Div, Nektar::StdRegions::eVarCoeffMF1Mag, Nektar::StdRegions::eVarCoeffMF1x, Nektar::StdRegions::eVarCoeffMF1y, Nektar::StdRegions::eVarCoeffMF1z, Nektar::StdRegions::eVarCoeffMF2Div, Nektar::StdRegions::eVarCoeffMF2Mag, Nektar::StdRegions::eVarCoeffMF2x, Nektar::StdRegions::eVarCoeffMF2y, Nektar::StdRegions::eVarCoeffMF2z, Nektar::StdRegions::eVarCoeffMF3Div, Nektar::StdRegions::eVarCoeffMF3Mag, Nektar::StdRegions::eVarCoeffMF3x, Nektar::StdRegions::eVarCoeffMF3y, and Nektar::StdRegions::eVarCoeffMF3z.
Referenced by Nektar::LocalRegions::Expansion2D::v_GetMFDiv().
|
protected |
Definition at line 531 of file Expansion.cpp.
References Nektar::StdRegions::eVarCoeffMF1Div, Nektar::StdRegions::eVarCoeffMF1Mag, Nektar::StdRegions::eVarCoeffMF1x, Nektar::StdRegions::eVarCoeffMF1y, Nektar::StdRegions::eVarCoeffMF1z, Nektar::StdRegions::eVarCoeffMF2Div, Nektar::StdRegions::eVarCoeffMF2Mag, Nektar::StdRegions::eVarCoeffMF2x, Nektar::StdRegions::eVarCoeffMF2y, Nektar::StdRegions::eVarCoeffMF2z, Nektar::StdRegions::eVarCoeffMF3Div, Nektar::StdRegions::eVarCoeffMF3Mag, Nektar::StdRegions::eVarCoeffMF3x, Nektar::StdRegions::eVarCoeffMF3y, and Nektar::StdRegions::eVarCoeffMF3z.
Referenced by Nektar::LocalRegions::Expansion2D::v_GetMFMag().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 708 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::NullNekDouble1DArray.
Referenced by GetPhysNormals().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion3D, Nektar::LocalRegions::Expansion1D, and Nektar::LocalRegions::Expansion2D.
Definition at line 694 of file Expansion.cpp.
References ASSERTL0.
Referenced by GetTraceNormal().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion3D, Nektar::LocalRegions::TriExp, and Nektar::LocalRegions::QuadExp.
Definition at line 642 of file Expansion.cpp.
References Nektar::StdRegions::eForwards.
Referenced by Nektar::LocalRegions::Expansion2D::AddEdgeBoundaryInt(), GetTraceOrient(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), and Nektar::LocalRegions::Expansion2D::v_AddRobinTraceContribution().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TetExp, Nektar::LocalRegions::PyrExp, Nektar::LocalRegions::PrismExp, Nektar::LocalRegions::HexExp, Nektar::LocalRegions::TriExp, and Nektar::LocalRegions::QuadExp.
Definition at line 676 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTracePhysMap().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion3D, Nektar::LocalRegions::SegExp, Nektar::LocalRegions::TriExp, and Nektar::LocalRegions::QuadExp.
Definition at line 664 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTracePhysVals().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::TriExp, and Nektar::LocalRegions::QuadExp.
Definition at line 656 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTraceQFactors().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Definition at line 264 of file Expansion.cpp.
References ComputeQuadratureMetric(), Nektar::LocalRegions::eMetricQuadrature, Nektar::StdRegions::StdExpansion::GetTotPoints(), m_metrics, and Vmath::Vmul().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion3D, Nektar::LocalRegions::Expansion2D, and Nektar::LocalRegions::Expansion1D.
Definition at line 684 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by ReOrientTracePhysMap().
|
protectedvirtual |
Reimplemented from Nektar::StdRegions::StdExpansion.
Reimplemented in Nektar::LocalRegions::SegExp.
Definition at line 648 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetCoeffsToOrientation().
|
protectedvirtual |
Definition at line 715 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetPhysNormals().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion2D.
Definition at line 721 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetUpPhysNormals().
|
protectedvirtual |
Reimplemented in Nektar::LocalRegions::Expansion2D, and Nektar::LocalRegions::Expansion1D.
Definition at line 634 of file Expansion.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by VectorFlux().
NekDouble Nektar::LocalRegions::Expansion::VectorFlux | ( | const Array< OneD, Array< OneD, NekDouble > > & | vec | ) |
Definition at line 158 of file Expansion.cpp.
References v_VectorFlux().
|
protected |
Definition at line 275 of file Expansion.h.
Referenced by GetLeftAdjacentElementExp(), GetRightAdjacentElementExp(), and SetAdjacentElementExp().
|
protected |
Definition at line 276 of file Expansion.h.
Referenced by GetRightAdjacentElementExp(), and SetAdjacentElementExp().
|
protected |
Definition at line 277 of file Expansion.h.
Referenced by GetLeftAdjacentElementTrace(), and SetAdjacentElementExp().
|
protected |
Definition at line 278 of file Expansion.h.
Referenced by GetRightAdjacentElementTrace(), and SetAdjacentElementExp().
|
protected |
the element length in each element boundary(Vertex, edge or face) normal direction calculated based on the local m_metricinfo times the standard element length (which is 2.0)
Definition at line 284 of file Expansion.h.
Referenced by GetElmtBndNormDirElmtLen(), Nektar::LocalRegions::NodalTriExp::v_ComputeTraceNormal(), Nektar::LocalRegions::QuadExp::v_ComputeTraceNormal(), Nektar::LocalRegions::TriExp::v_ComputeTraceNormal(), Nektar::LocalRegions::HexExp::v_ComputeTraceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeTraceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeTraceNormal(), Nektar::LocalRegions::TetExp::v_ComputeTraceNormal(), and Nektar::LocalRegions::SegExp::v_ComputeTraceNormal().
|
protected |
Definition at line 272 of file Expansion.h.
Referenced by Nektar::LocalRegions::NodalTriExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Expansion(), Nektar::LocalRegions::NodalTriExp::GetCoord(), Nektar::LocalRegions::PointExp::GetCoords(), GetGeom(), Nektar::LocalRegions::PointExp::GetGeom(), Nektar::LocalRegions::Expansion0D::GetGeom0D(), Nektar::LocalRegions::Expansion2D::GetGeom2D(), Nektar::LocalRegions::Expansion3D::GetGeom3D(), Nektar::LocalRegions::NodalTriExp::PhysEvaluate(), Reset(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::NodalTriExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::QuadExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::TriExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::HexExp::v_GetCoord(), Nektar::LocalRegions::PrismExp::v_GetCoord(), Nektar::LocalRegions::PyrExp::v_GetCoord(), Nektar::LocalRegions::QuadExp::v_GetCoord(), Nektar::LocalRegions::TetExp::v_GetCoord(), Nektar::LocalRegions::TriExp::v_GetCoord(), Nektar::LocalRegions::SegExp::v_GetCoord(), Nektar::LocalRegions::PrismExp::v_GetCoordim(), Nektar::LocalRegions::PyrExp::v_GetCoordim(), Nektar::LocalRegions::QuadExp::v_GetCoordim(), Nektar::LocalRegions::TetExp::v_GetCoordim(), Nektar::LocalRegions::TriExp::v_GetCoordim(), Nektar::LocalRegions::SegExp::v_GetCoordim(), Nektar::LocalRegions::PointExp::v_GetCoords(), v_GetCoords(), Nektar::LocalRegions::PrismExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::LocalRegions::QuadExp::v_GetTraceOrient(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::SegExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase_SumFac(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::SegExp::v_PhysDeriv_n(), Nektar::LocalRegions::SegExp::v_PhysDeriv_s(), Nektar::LocalRegions::QuadExp::v_PhysDirectionalDeriv(), Nektar::LocalRegions::TriExp::v_PhysDirectionalDeriv(), Nektar::LocalRegions::PrismExp::v_PhysEvaluate(), Nektar::LocalRegions::PyrExp::v_PhysEvaluate(), Nektar::LocalRegions::QuadExp::v_PhysEvaluate(), Nektar::LocalRegions::TriExp::v_PhysEvaluate(), Nektar::LocalRegions::SegExp::v_PhysEvaluate(), Nektar::LocalRegions::HexExp::v_PhysEvaluate(), and Nektar::LocalRegions::TetExp::v_PhysEvaluate().
|
protected |
Definition at line 269 of file Expansion.h.
Referenced by GetIndexMap().
|
protected |
Definition at line 273 of file Expansion.h.
Referenced by ComputeGmatcdotMF(), ComputeQuadratureMetric(), Nektar::LocalRegions::HexExp::CreateMatrix(), Nektar::LocalRegions::NodalTriExp::CreateMatrix(), Nektar::LocalRegions::PrismExp::CreateMatrix(), Nektar::LocalRegions::PyrExp::CreateMatrix(), Nektar::LocalRegions::QuadExp::CreateMatrix(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::LocalRegions::TetExp::CreateMatrix(), Nektar::LocalRegions::TriExp::CreateMatrix(), Nektar::LocalRegions::HexExp::CreateStaticCondMatrix(), Nektar::LocalRegions::NodalTriExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PrismExp::CreateStaticCondMatrix(), Nektar::LocalRegions::PyrExp::CreateStaticCondMatrix(), Nektar::LocalRegions::QuadExp::CreateStaticCondMatrix(), Nektar::LocalRegions::SegExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TetExp::CreateStaticCondMatrix(), Nektar::LocalRegions::TriExp::CreateStaticCondMatrix(), Expansion(), GetMetricInfo(), Nektar::LocalRegions::NodalTriExp::Integral(), Nektar::LocalRegions::HexExp::IProductWRTDirectionalDerivBase_SumFac(), Nektar::LocalRegions::NodalTriExp::PhysDeriv(), Reset(), Nektar::LocalRegions::HexExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::NodalTriExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::PrismExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::PyrExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::QuadExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::TetExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::TriExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::HexExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_GetMetricInfo(), Nektar::LocalRegions::QuadExp::v_GetTraceQFactors(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::HexExp::v_Integral(), Nektar::LocalRegions::PrismExp::v_Integral(), Nektar::LocalRegions::PyrExp::v_Integral(), Nektar::LocalRegions::QuadExp::v_Integral(), Nektar::LocalRegions::TetExp::v_Integral(), Nektar::LocalRegions::TriExp::v_Integral(), Nektar::LocalRegions::SegExp::v_Integral(), Nektar::LocalRegions::SegExp::v_IProductWRTBase(), Nektar::LocalRegions::SegExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::TriExp::v_IProductWRTDirectionalDerivBase_SumFac(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), Nektar::LocalRegions::PrismExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::SegExp::v_MetricInfoType(), Nektar::LocalRegions::QuadExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::TriExp::v_NormVectorIProductWRTBase(), Nektar::LocalRegions::HexExp::v_PhysDeriv(), Nektar::LocalRegions::PrismExp::v_PhysDeriv(), Nektar::LocalRegions::PyrExp::v_PhysDeriv(), Nektar::LocalRegions::TetExp::v_PhysDeriv(), Nektar::LocalRegions::QuadExp::v_PhysDeriv(), Nektar::LocalRegions::TriExp::v_PhysDeriv(), Nektar::LocalRegions::SegExp::v_PhysDeriv(), Nektar::LocalRegions::SegExp::v_PhysDeriv_n(), Nektar::LocalRegions::SegExp::v_PhysDeriv_s(), Nektar::LocalRegions::HexExp::v_PhysDirectionalDeriv(), Nektar::LocalRegions::QuadExp::v_PhysDirectionalDeriv(), Nektar::LocalRegions::TriExp::v_PhysDirectionalDeriv(), Nektar::LocalRegions::HexExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::PrismExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::PyrExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::QuadExp::v_SVVLaplacianFilter(), Nektar::LocalRegions::TetExp::v_SVVLaplacianFilter(), and Nektar::LocalRegions::TriExp::v_SVVLaplacianFilter().
|
protected |
Definition at line 274 of file Expansion.h.
Referenced by ComputeQuadratureMetric(), Reset(), Nektar::LocalRegions::HexExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::PyrExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::QuadExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TetExp::v_ComputeLaplacianMetric(), Nektar::LocalRegions::TriExp::v_ComputeLaplacianMetric(), v_DivideByQuadratureMetric(), Nektar::LocalRegions::HexExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::PyrExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::QuadExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TetExp::v_LaplacianMatrixOp_MatFree_Kernel(), Nektar::LocalRegions::TriExp::v_LaplacianMatrixOp_MatFree_Kernel(), and v_MultiplyByQuadratureMetric().
|
protected |
Definition at line 271 of file Expansion.h.
Referenced by GetTraceExp(), SetTraceExp(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion2D::v_AddRobinMassMatrix(), and Nektar::LocalRegions::Expansion2D::v_AddRobinTraceContribution().