46 namespace LibUtilities
55 ASSERTL0(!(npts%2),
"Fourier points need to be of even order");
64 for(
unsigned int i=0;i<
npts;++i)
83 for(
unsigned int i=0; i<
npts; ++i)
97 for(
unsigned int i=1;i<
npts;++i)
102 for(
unsigned int i=1;i<
npts;++i)
107 for(
unsigned int i=1;i<
npts;++i)
109 for(
unsigned int j=0;j<
npts;++j)
120 returnval->Initialize();
134 return GetI(numpoints, xpoints);
139 ASSERTL0(pkey.
GetPointsDim()==1,
"Fourier Points can only interp to other 1d point distributions");
149 return GetI(numpoints, x);
168 for(
unsigned int i=0;i<
npts;++i)
187 y = sin(M_PI*x/(M_PI*h))/((2.0/h)*tan(0.5*x));
#define ASSERTL0(condition, msg)
virtual void CalculatePoints()
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
MatrixSharedPtrType m_derivmatrix[3]
Array< OneD, DataType > m_points[3]
boost::shared_ptr< NekMatrix< NekDouble > > CreateMatrix(const PointsKey &pkey)
void CalculateInterpMatrix(unsigned int npts, const Array< OneD, const NekDouble > &xpoints, Array< OneD, NekDouble > &interp)
unsigned int GetNumPoints() const
void CalculateDerivMatrix()
unsigned int GetPointsDim() const
PointsManagerT & PointsManager(void)
Array< OneD, DataType > m_weights
Defines a specification for a set of points.
static boost::shared_ptr< PointsBaseType > Create(const PointsKey &key)
virtual void CalculateDerivMatrix()
const MatrixSharedPtrType GetI(const PointsKey &pkey)
unsigned int GetNumPoints() const
NekDouble PeriodicSincFunction(const NekDouble x, const NekDouble h)
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > m_InterpManager
virtual void CalculateWeights()