45 namespace LibUtilities
57 ASSERTL0(!(npts%2),
"Fourier points need to be of even order");
66 for(
unsigned int i=0;i<npts;++i)
85 for(
unsigned int i=0; i<npts; ++i)
99 for(
unsigned int i=1;i<npts;++i)
104 for(
unsigned int i=1;i<npts;++i)
109 for(
unsigned int i=1;i<npts;++i)
111 for(
unsigned int j=0;j<npts;++j)
122 returnval->Initialize();
136 return GetI(numpoints, xpoints);
141 ASSERTL0(pkey.
GetPointsDim()==1,
"Fourier Points can only interp to other 1d point distributions");
151 return GetI(numpoints, x);
170 for(
unsigned int i=0;i<npts;++i)
189 y = sin(M_PI*x/(M_PI*h))/((2.0/h)*tan(0.5*x));
#define ASSERTL0(condition, msg)
Array< OneD, DataType > m_weights
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
unsigned int GetPointsDim() const
virtual void CalculatePoints()
void CalculateInterpMatrix(unsigned int npts, const Array< OneD, const NekDouble > &xpoints, Array< OneD, NekDouble > &interp)
1D Evenly-spaced points using Fourier Fit
const MatrixSharedPtrType GetI(const PointsKey &pkey)
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > m_InterpManager
void CalculateDerivMatrix()
PointsManagerT & PointsManager(void)
Defines a specification for a set of points.
virtual void CalculateDerivMatrix()
Array< OneD, DataType > m_points[3]
static std::shared_ptr< PointsBaseType > Create(const PointsKey &key)
bool RegisterCreator(const KeyType &key, const CreateFuncType &createFunc)
Register the given function and associate it with the key. The return value is just to facilitate cal...
std::shared_ptr< NekMatrix< NekDouble > > CreateMatrix(const PointsKey &pkey)
virtual void CalculateWeights()
NekDouble PeriodicSincFunction(const NekDouble x, const NekDouble h)
MatrixSharedPtrType m_derivmatrix[3]
unsigned int GetNumPoints() const
static bool initPointsManager[]
unsigned int GetNumPoints() const