35 #ifndef FOURIERPOINTS_H
36 #define FOURIERPOINTS_H
45 namespace LibUtilities
61 namespace pl = std::placeholders;
#define LIB_UTILITIES_EXPORT
std::shared_ptr< NekMatrix< NekDouble > > MatrixSharedPtrType
virtual void v_CalculatePoints() override
std::shared_ptr< NekMatrix< NekDouble > > CreateMatrix(const PointsKey &pkey)
virtual const MatrixSharedPtrType v_GetI(const PointsKey &pkey) override
static std::shared_ptr< PointsBaseType > Create(const PointsKey &key)
FourierPoints(const PointsKey &key)
FourierPoints(const FourierPoints &points)
Copy constructor should not be called.
FourierPoints()
Default constructor should not be called except by Create method.
void CalculateInterpMatrix(unsigned int npts, const Array< OneD, const NekDouble > &xpoints, Array< OneD, NekDouble > &interp)
virtual void v_CalculateWeights() override
NekDouble PeriodicSincFunction(const NekDouble x, const NekDouble h)
static bool initPointsManager[]
virtual void v_CalculateDerivMatrix() override
Stores a set of points of datatype DataT, defined by a PointKey.
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > m_InterpManager
Defines a specification for a set of points.
@ eGaussRadauMLegendre
1D Gauss-Radau-Legendre quadrature points, pinned at x=-1
@ eGaussRadauMAlpha0Beta1
Gauss Radau pinned at x=-1,.
@ eGaussLobattoChebyshev
1D Gauss-Lobatto-Legendre quadrature points
@ eFourierEvenlySpaced
1D Evenly-spaced points using Fourier Fit
@ eGaussRadauPChebyshev
1D Gauss-Radau-Chebyshev quadrature points, pinned at x=1
@ eGaussRadauMChebyshev
1D Gauss-Radau-Chebyshev quadrature points, pinned at x=-1
@ eGaussLobattoLegendre
1D Gauss-Lobatto-Legendre quadrature points
@ eGaussGaussChebyshev
1D Gauss-Gauss-Chebyshev quadrature points
@ ePolyEvenlySpaced
1D Evenly-spaced points using Lagrange polynomial
@ eGaussGaussLegendre
1D Gauss-Gauss-Legendre quadrature points
@ eGaussRadauPLegendre
1D Gauss-Radau-Legendre quadrature points, pinned at x=1
The above copyright notice and this permission notice shall be included.